var DwnldApp  = {
	baseUrl : "/spectron_de/includes/ProduktDownloads_en.php",
	theForm : null,
	selects : new Array(),
	textInput : null,
	coContent : null,
	selectedBereich : "",
	selectedGruppe : "",
	produktQuery : "",
	selectedProdukt : "",
	init : function () {
		DwnldApp.theForm = $('DownloadApplication');
		if(DwnldApp.theForm) {
			$('da_submit').style.display = 'none';
			DwnldApp.coContent = $('produktDwnldContent');
			for(var i=0;i<DwnldApp.theForm.elements.length;i++) {
				if(DwnldApp.theForm.elements[i].nodeName == "SELECT") {
					DwnldApp.selects.push(DwnldApp.theForm.elements[i]);
				} else {
					if(DwnldApp.theForm.elements[i].nodeName == "INPUT") {
						DwnldApp.textInput = DwnldApp.theForm.elements[i];
						Event.observe(DwnldApp.textInput,"keyup",DwnldApp.query);
						Event.observe(DwnldApp.textInput,"click",DwnldApp.query);
						Event.observe(DwnldApp.textInput,"blur",DwnldApp.query);
					}
				}
			}
			DwnldApp._setSelectEvents();
		}
	},
	query : function (event) {
		var element = Event.element(event);
		var value = element.value;
		DwnldApp.produktQuery = value;
		DwnldApp.singleRequest('showInnerCoProdList','CoProdList');
	},
	singleRequest : function (action, target) {
		new Ajax.Updater(target, DwnldApp.baseUrl, {
		  parameters: {
		  		action: action,
		  		selectedBereich : DwnldApp.selectedBereich,
		  		selectedGruppe : DwnldApp.selectedGruppe,
		  		produktQuery : DwnldApp.produktQuery,
		  		selectProdukt: DwnldApp.selectedProdukt
		  	},
		  onComplete : DwnldApp._setSelectEvents
		});
	},
	_setSelectEvents : function() {
		Event.observe($('coBereich'),"change",DwnldApp.selectChanged);
		Event.observe($('coGruppe').getElementsByTagName('SELECT')[0],"change",DwnldApp.selectChanged);
		Event.observe($('CoProdList').getElementsByTagName('SELECT')[0],"change",DwnldApp.selectChanged);
	},
	selectChanged : function (event) {
		var element = Event.element(event);
		var value = element.options[element.selectedIndex].value;
		switch(element.name) {
			case "selectedBereich":
				DwnldApp.selectedBereich = value;
				DwnldApp.selectedGruppe = "";
				DwnldApp.singleRequest("showInnerCoGruppe","coGruppe");
				DwnldApp.singleRequest("showInnerCoProdList","CoProdList");
				break;
			case "selectedGruppe":
				DwnldApp.selectedGruppe = value;
				DwnldApp.singleRequest("showInnerCoProdList","CoProdList");
				DwnldApp.selectedProdukt = "";
				break;
			case "selectProdukt":
				DwnldApp.selectedProdukt = value;
				DwnldApp.singleRequest("showContent","produktDwnldContent");
				break;
		}
	}
}