/**
 *	Script for index page form
 *	@author Marcel Eichner // Ephigenia <love at ephigenia dot de>
 */
var axjUrl = "./?m=axjStart&action=";
var buttonurl = "production/programme/";

/**
 *	Called when an application is selected
 */
function selectApplication(applicationId) {
	if (applicationId != "-1" && applicationId != -1) {
		hideButton();
		Axj = new AjaxCallback();
		Axj.get(axjUrl + "selectApplication&applicationId=" + applicationId);
		Axj.get(axjUrl + "getNormsInApplication&applicationId=" + applicationId);
		Axj.onLoad = function (answer, i) {
			switch(i) {
				case 0:
					refillNorms(answer.split("#"));
					break;
				case 1:
					showNormsCount(answer);
					break;
			}
		}
		buttonurl = "production/programme/?applicationId=" + applicationId;
	}
}

/**
 *	Refills Norms Dropdown
 */
function refillNorms(norms) {
	DropDownEmpty(document.marketSearch.norms);
	document.marketSearch.norms.options[document.marketSearch.norms.length] = new Option("-",-1, false);
	DropDownRefill(document.marketSearch.norms, norms);
}

/**
 *	Called when a norm is selected
 */
function selectNorm(normId) {
	if (normId != "-1" && normId != -1) {
		buttonurl = "production/programme/?normId=" + normId;
	}
}

/**
 *	Returns selected Market
 */
function getSelectedMarkets() {
	var element = document.marketSearch["markets[]"];
	var selectedMarkets = new Array();
	for (var i = 0; i < element.length; i++) {
		if (element[i].checked) {
			selectedMarkets.push(element[i].value);
		}
	}
	return selectedMarkets;
}

function refillApplications(applications) {
	DropDownEmpty(document.marketSearch.applications);
	document.marketSearch.applications.options[document.marketSearch.applications.options.length] = new Option("-",-1,false,true);
	DropDownRefill(document.marketSearch.applications, applications);
}

/**
 *	Called upon click on one of the market checkboxes
 */
function marketclick() {
	var markets = "";
	var selectedMarkets = getSelectedMarkets();
	for (var index in selectedMarkets) {
		markets += "&markets[]=" + selectedMarkets[index];
	}
	Axj = new AjaxCallback();
	Axj.get(axjUrl + "getNormsInMarkets&" + markets);
	Axj.get(axjUrl + "getApplications&" + markets);
	Axj.onLoad = function (answer, i) {
		switch(i) {
			case 0:
				showNormsCount(answer);
				break;
			case 1:
				refillApplications(answer.split("#"));
				break;
		}
	}
	hideButton();
	DropDownEmpty(document.marketSearch.applications);
	buttonurl = "production/programme/?" + markets;
	return true;
}

function selectMetalGroup(metalGroupId) {
	if (metalGroupId == -1) return null;
	if (metalGroupId.length == 0) return null;
	Axj = new AjaxCallback();
	Axj.get(axjUrl + "selectMetalGroup&id=" + metalGroupId);
	Axj.get(axjUrl + "loadMetals&id=" + metalGroupId);
	Axj.onLoad = function(answer, i) {
		switch(i) {
			case 1:
				fillMetals(answer.split("#"));
				break;
			case 0:
				showNormsCount(answer);
				break;
		}
	}
	hideButton();
	buttonurl = "production/programme/" + metalGroupId + "/";
}
function fillMetals(metals) {
	DropDownEmpty(document.metalSearch.metal);
	document.metalSearch.metal.options[document.metalSearch.metal.options.length] = new Option("-",-1,false,true);
	DropDownRefill(document.metalSearch.metal,metals);
}
function selectMetal(metalId) {
	if (metalId > 0) {
		Axj = new AjaxCallback();
		Axj.get(axjUrl + "selectMetal&id=" + metalId);
		Axj.onLoad = function(answer, i) {
			showNormsCount(answer);
		}
		buttonurl = "production/programme/?metal="+metalId;
	} else {
		selectMetalGroup(document.metalSearch.mgroup.options[document.metalSearch.mgroup.options.selectedIndex].value);
	}
}
function searchNorm(norm) {
	Axj = new AjaxCallback();
	Axj.get(axjUrl + "searchNorm&norm=" + norm);
	Axj.onLoad = function(answer, i) {
		showNormsCount(answer);
	}
	buttonurl = "production/programme/?search=" + norm;
}
function marketsRefresh() {
	var checks = document.marketSearch["markets[]"];
	var reqUrl = "";
	for(var i = 0; i < checks.length; i++) {
		check = checks[i];
		reqUrl += "&markets[]=" + check.value;
	}
	Axj = new AjaxCallback();
	Axj.get(axjUrl + "selectMarket&" + reqUrl);
	Axj.onLoad = function(answer, i) {
		alert(answer);
	}
}
function showNormsCount(normsCount) {
	result = normsCount.split("#");
	if (Number(result[1]) > 0) {
		showButton();
	} else {
		hideButton();
	}
	document.getElementById("resultText").innerHTML = result[0];
}
function hideButton() {
	hideLayer("browseButton");
}
function showButton() {
	showLayer("browseButton");
}
