//select filter type for listing drugs
function sortDrugs() {
	$('#selectSearchType').live('change', function () {
		var option = $('#selectSearchType option:selected').attr('value');
		var languageId = $('input[name="hiddenId"]').attr('value');
		if (option == 0) {
			$('#listLetters').addClass('hidden');
			$('#listDrugsByLetter').addClass('hidden');
			$('#listATK').addClass('hidden');
			$('#listDrugsByATK').addClass('hidden');
			$('#listGenericTerms').addClass('hidden');
			$('#listDrugsByGenericTerms').addClass('hidden');
			$('#listDiseases').addClass('hidden');
			$('#listDrugsByDisease').addClass('hidden');
		}
		if (option == 1) {
			listLetters(option, languageId);
			$('#listATK').addClass('hidden');
			$('#listDrugsByATK').addClass('hidden');
			$('#listGenericTerms').addClass('hidden');
			$('#listDrugsByGenericTerms').addClass('hidden');
			$('#listDiseases').addClass('hidden');
			$('#listDrugsByDisease').addClass('hidden');
			$('#listLetters').removeClass('hidden');
		}
		if (option == 2) {
			listATK(option, languageId);
			$('#listLetters').addClass('hidden');
			$('#listDrugsByLetter').addClass('hidden');
			$('#listGenericTerms').addClass('hidden');
			$('#listDrugsByGenericTerms').addClass('hidden');
			$('#listDiseases').addClass('hidden');
			$('#listDrugsByDisease').addClass('hidden');
			$('#listATK').removeClass('hidden');
		}
		if (option == 3) {
			listGenericTerms(option, languageId);
			$('#listLetters').addClass('hidden');
			$('#listDrugsByLetter').addClass('hidden');
			$('#listATK').addClass('hidden');
			$('#listDrugsByATK').addClass('hidden');
			$('#listDiseases').addClass('hidden');
			$('#listDrugsByDisease').addClass('hidden');
			$('#listGenericTerms').removeClass('hidden');
		}
		if (option == 4) {
			listDiseases(option, languageId);
			$('#listLetters').addClass('hidden');
			$('#listDrugsByLetter').addClass('hidden');
			$('#listATK').addClass('hidden');
			$('#listDrugsByATK').addClass('hidden');
			$('#listGenericTerms').addClass('hidden');
			$('#listDrugsByGenericTerms').addClass('hidden');
			$('#listDiseases').removeClass('hidden');
		}

	});
}

//list letters for drugs
function listLetters(event, langId) {
	var index, rel, links = $('#selectSearchType'), path = event, ajaxInProgress = false;
	var productsNodeId = langId;

	if (ajaxInProgress == true) {
		return;
	}

	ajaxInProgress = true;

	$.ajax({
		url: '/naslovna/listletters',
		data: {
			source: path,
			nodeId: productsNodeId
		},
		type: 'GET',
		timeout: '5000',
		beforeSend: function () {
			ajaxInProgress = true;
		},

		complete: function () {
			ajaxInProgress = false;
		},

		success: function (data) {
			ajaxInProgress = false;
			$('#listLetters').html(data);
			//selects first letter for displaying all drugs that begin with that letter
			var option = $('#listLetters option:first-child').attr('value')
			//calls function for displaying all drugs beginning with first letter
			listDrugsByLetter(option, productsNodeId);
			$('#listDrugsByLetter').removeClass('hidden');
		},

		error: function (XMLHttpRequest, textStatus, errorThrown) {
			ajaxInProgress = false;
		}
	});
}

//calls function for displaying all drugs that begin with selected letter
function selectLetter() {
	$('#listLetters').live('change', function () {
		//selects letter for displaying all drugs that begin with that letter
		var option = $('#listLetters option:selected').attr('value');
		var productsNodeId = $('input[name="hiddenId"]').attr('value');
		$('#listDrugsByLetter').removeClass('hidden');
		listDrugsByLetter(option, productsNodeId);
	});
}

//lists all drugs that begins with selected letter
function listDrugsByLetter(event, langId) {
	var index, rel, links = $('#listLetters'), path = event, ajaxInProgress = false;
	var productsNodeId = langId;

	if (ajaxInProgress == true) {
		return;
	}

	ajaxInProgress = true;

	$.ajax({
		url: '/naslovna/listdrugsbyletter',
		data: {
			source: path,
			nodeId: productsNodeId
		},
		type: 'GET',
		timeout: '5000',
		beforeSend: function () {
			ajaxInProgress = true;
		},

		complete: function () {
			ajaxInProgress = false;
		},

		success: function (data) {
			ajaxInProgress = false;
			$('#listDrugsByLetter').html(data);
		},

		error: function (XMLHttpRequest, textStatus, errorThrown) {
			ajaxInProgress = false;
		}
	});
}

//lists all ATK groups
function listATK(event, langId) {
	var index, rel, links = $('#selectSearchType'), path = event, ajaxInProgress = false;
	var productsNodeId = langId;

	if (ajaxInProgress == true) {
		return;
	}

	ajaxInProgress = true;

	$.ajax({
		url: '/naslovna/listATK',
		data: {
			source: path,
			nodeId: productsNodeId
		},
		type: 'GET',
		timeout: '5000',
		beforeSend: function () {
			ajaxInProgress = true;
		},

		complete: function () {
			ajaxInProgress = false;
		},

		success: function (data) {
			ajaxInProgress = false;
			$('#listATK').html(data);
			//selects first ATK group for displaying all drugs in that group
			var option = $('#listATK option:first-child').attr('value')
			listDrugsByATK(option, productsNodeId);
			$('#listDrugsByATK').removeClass('hidden');
		},

		error: function (XMLHttpRequest, textStatus, errorThrown) {
			ajaxInProgress = false;
		}
	});
}

//calls function for displaying all drugs that have selected ATK group
function selectATK() {
	$('#listATK').live('change', function () {
		//selects ATK group for displaying drugs
		var option = $('#listATK option:selected').attr('value');
		var productsNodeId = $('input[name="hiddenId"]').attr('value');
		$('#listDrugsByATK').removeClass('hidden');
		listDrugsByATK(option, productsNodeId);
	});
}

//lists all drugs that have selected ATK group
function listDrugsByATK(event, langId) {
	var index, rel, links = $('#listLetters'), path = event, ajaxInProgress = false;
	var productsNodeId = langId;

	if (ajaxInProgress == true) {
		return;
	}

	ajaxInProgress = true;

	$.ajax({
		url: '/naslovna/listdrugsbyATK',
		data: {
			source: path,
			nodeId: productsNodeId
		},
		type: 'GET',
		timeout: '5000',
		beforeSend: function () {
			ajaxInProgress = true;
		},

		complete: function () {
			ajaxInProgress = false;
		},

		success: function (data) {
			ajaxInProgress = false;
			$('#listDrugsByATK').html(data);
		},

		error: function (XMLHttpRequest, textStatus, errorThrown) {
			ajaxInProgress = false;
		}
	});
}

//lists generic terms of all drugs 
function listGenericTerms(event, langId) {
	var index, rel, links = $('#selectSearchType'), path = event, ajaxInProgress = false;
	var productsNodeId = langId;

	if (ajaxInProgress == true) {
		return;
	}

	ajaxInProgress = true;

	$.ajax({
		url: '/naslovna/ListGenericTerms',
		data: {
			source: path,
			nodeId: productsNodeId
		},
		type: 'GET',
		timeout: '5000',
		beforeSend: function () {
			ajaxInProgress = true;
		},

		complete: function () {
			ajaxInProgress = false;
		},

		success: function (data) {
			ajaxInProgress = false;
			$('#listGenericTerms').html(data);
			//selects first generic term to display all drugs with that term
			var option = $('#listGenericTerms option:first-child').attr('value')
			listDrugsByGenericTerm(option, productsNodeId);
			$('#listDrugsByGenericTerms').removeClass('hidden');
		},

		error: function (XMLHttpRequest, textStatus, errorThrown) {
			ajaxInProgress = false;
		}
	});
}

//calls function for displaying all drugs with selected generic term
function selectGenericTerm() {
	$('#listGenericTerms').live('change', function () {
		//selects generic term for displaying all drugs with that term
		var option = $('#listGenericTerms option:selected').attr('value');
		var languageId = $('input[name="hiddenId"]').attr('value');
		$('#listDrugsByGenericTerms').removeClass('hidden');
		listDrugsByGenericTerm(option, languageId);
	});
}

//lists all drugs with selected generic term
function listDrugsByGenericTerm(event, langId) {
	var index, rel, links = $('#listGenericTerms'), path = event, ajaxInProgress = false;
	var productsNodeId = langId;

	if (ajaxInProgress == true) {
		return;
	}

	ajaxInProgress = true;

	$.ajax({
		url: '/naslovna/ListDrugsByGenericTerm',
		data: {
			source: path,
			nodeId: productsNodeId
		},
		type: 'GET',
		timeout: '5000',
		beforeSend: function () {
			ajaxInProgress = true;
		},

		complete: function () {
			ajaxInProgress = false;
		},

		success: function (data) {
			ajaxInProgress = false;
			$('#listDrugsByGenericTerms').html(data);
		},

		error: function (XMLHttpRequest, textStatus, errorThrown) {
			ajaxInProgress = false;
		}
	});
}

//list all diseases for all drugs
function listDiseases(event, langId) {
	var index, rel, links = $('#selectSearchType'), path = event, ajaxInProgress = false;
	var productsNodeId = langId;

	if (ajaxInProgress == true) {
		return;
	}

	ajaxInProgress = true;

	$.ajax({
		url: '/naslovna/ListDiseases',
		data: {
			source: path,
			nodeId: productsNodeId
		},
		type: 'GET',
		timeout: '5000',
		beforeSend: function () {
			ajaxInProgress = true;
		},

		complete: function () {
			ajaxInProgress = false;
		},

		success: function (data) {
			ajaxInProgress = false;
			$('#listDiseases').html(data);
			//selects first disease for displaying all drugs with that disease
			var option = $('#listDiseases option:first-child').attr('value')
			listDrugsByDisease(option, productsNodeId);
			$('#listDrugsByDisease').removeClass('hidden');
		},

		error: function (XMLHttpRequest, textStatus, errorThrown) {
			ajaxInProgress = false;
		}
	});
}

//selects disease for displaying all drugs with that disease
function selectDisease() {
	$('#listDiseases').live('change', function () {
		//select disease for displaying all drugs with that disease
		var option = $('#listDiseases option:selected').attr('value');
		var languageId = $('input[name="hiddenId"]').attr('value');
		$('#listDrugsByDisease').removeClass('hidden');
		listDrugsByDisease(option, languageId);
	});
}

//lists all drugs with selected disease
function listDrugsByDisease(event, langId) {
	var index, rel, links = $('#listDiseases'), path = event, ajaxInProgress = false;
	var productsNodeId = langId;

	if (ajaxInProgress == true) {
		return;
	}

	ajaxInProgress = true;

	$.ajax({
		url: '/naslovna/ListDrugsByDisease',
		data: {
			source: path,
			nodeId: productsNodeId
		},
		type: 'GET',
		timeout: '5000',
		beforeSend: function () {
			ajaxInProgress = true;
		},

		complete: function () {
			ajaxInProgress = false;
		},

		success: function (data) {
			ajaxInProgress = false;
			$('#listDrugsByDisease').html(data);
		},

		error: function (XMLHttpRequest, textStatus, errorThrown) {
			ajaxInProgress = false;
		}
	});
}

//alphabeticaly sort drugs in table by atk type
function sortDrugsByATK(event, langId) {
	var index, rel, links = path = event, ajaxInProgress = false;
	var productsNodeId = langId;

	if (ajaxInProgress == true) {
		return;
	}

	ajaxInProgress = true;

	$.ajax({
		url: '/naslovna/SortDrugsInTablesByATK',
		data: {
			source: path,
			nodeId: productsNodeId
		},
		type: 'GET',
		timeout: '5000',
		beforeSend: function () {
			ajaxInProgress = true;
		},

		complete: function () {
			ajaxInProgress = false;
		},

		success: function (data) {
			ajaxInProgress = false;
			$('.subContent').html(data);
		},

		error: function (XMLHttpRequest, textStatus, errorThrown) {
			ajaxInProgress = false;
		}
	});
}

//alphabeticaly sort drugs in table by atk type
function sortDrugsByGenericTerm(event, langId) {
	var index, rel, links = path = event, ajaxInProgress = false;
	var productsNodeId = langId;

	if (ajaxInProgress == true) {
		return;
	}

	ajaxInProgress = true;

	$.ajax({
		url: '/naslovna/SortDrugsInTablesByGenericTerm',
		data: {
			source: path,
			nodeId: productsNodeId
		},
		type: 'GET',
		timeout: '5000',
		beforeSend: function () {
			ajaxInProgress = true;
		},

		complete: function () {
			ajaxInProgress = false;
		},

		success: function (data) {
			ajaxInProgress = false;
			$('.subContent').html(data);
		},

		error: function (XMLHttpRequest, textStatus, errorThrown) {
			ajaxInProgress = false;
		}
	});
}

//alphabeticaly sort drugs in table by productName
function sortDrugsByProductName(event, langId) {
	var index, rel, links = path = event, ajaxInProgress = false;
	var productsNodeId = langId;

	if (ajaxInProgress == true) {
		return;
	}

	ajaxInProgress = true;

	$.ajax({
		url: '/naslovna/SortDrugsInTablesByProduct',
		data: {
			source: path,
			nodeId: productsNodeId
		},
		type: 'GET',
		timeout: '5000',
		beforeSend: function () {
			ajaxInProgress = true;
		},

		complete: function () {
			ajaxInProgress = false;
		},

		success: function (data) {
			ajaxInProgress = false;
			$('.subContent').html(data);
		},

		error: function (XMLHttpRequest, textStatus, errorThrown) {
			ajaxInProgress = false;
		}
	});
}
