/*
** ET-Selektionslisten dynamisch nachladen
** Copyright (c) 2006 by Huvermann software engineering GmbH
** Huvermann software engineering GmbH
** Heiko Huvermann
** Lübbecker Str. 94
** 32479 Hille
** http://www.internetconcept.de
**
*/

var et_xmlhttp;

function getETQueryString() {
var fm = document.forms['quick_find_et'];
/*
var leuchtmittelzahl = encodeURI(fm.elements['lampenzahl'].value);
var leuchtmitteltyp = escape(fm.elements['leuchtmitteltyp'].value);
var leistung = escape(fm.elements['leistung'].value);
var schnittstelle = escape(fm.elements['schnittstelle'].value);
var gehaeusemasse = escape(fm.elements['gehaeusemasse'].value);
return 'lampenzahl='+leuchtmittelzahl+'&leuchtmitteltyp='+leuchtmitteltyp+'&leistung='+leistung+'&schnittstelle='+schnittstelle+'&gehaeusemasse='+gehaeusemasse;
*/
var last = escape(fm.elements['last'].value);
var phasen = escape(fm.elements['phasen'].value);
return 'last='+last+'&phasen='+phasen;

}

function resetETForm() {
var url = 'extensions/et/et_selections.php';
et_getXMLData(url);
 
}

function writeETCount(anz) {

var txt = 'Passende Produkte: '+anz;
if (document.all) {
	document.all.etcount.innerHTML=txt;
	}
else {
	var div = document.getElementById("etcount");
	if (div) {
 		div.innerHTML=txt;
		}
	}
}

function reload_et_lists()
{
var url = 'extensions/et/et_selections.php?' + getETQueryString();
et_getXMLData(url);
}


function et_getXMLData(url)
{
	
	if(et_xmlhhtp = et_getXMLHttpObject() == false) {
		alert("Fehler beim Anlegen des XMLHttpObject");
		return;
	}
	et_xmlhttp.open("GET", url , true);
	et_xmlhttp.onreadystatechange = et_handleHttpState;
	et_xmlhttp.send(null);
}
 
function et_getXMLHttpObject()
{
	try 
	{ 
	 et_xmlhttp = new XMLHttpRequest(); 
	} 
	catch (error) 
	{ 
	 try 
	 { 
	   et_xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
	 } 
	 catch (error) 
	 { 
	   return false; 
	 } 
	}
}


function et_handleHttpState()
{
	if (et_xmlhttp.readyState == 4)
	{ 
		if ( et_xmlhttp.status == 200) {
			// daten erfolgreich geladen: starte Verarbeitung
			et_parseData();
		} else {
			// fehler
			alert("Fehler beim Abrufen der XML Daten");
		}
	} 
	
}

function et_findIndexOf(obj, objValue) {
var res = 0;
var s = '';
for (var i=0;i<obj.options.length;i++) {
	if (obj[i].value == objValue) {
		res = i;
		break;
		}
	} // next i
return res;
}

function et_nodeToSelectionBox(node) {
var objName = node.getElementsByTagName("id")[0].firstChild.nodeValue;
var objValue = '';
var sList = Array();
var cnt = 1;
if (node.getElementsByTagName("value")[0].hasChildNodes()) {
	objValue = node.getElementsByTagName("value")[0].firstChild.nodeValue;
	}
	
var selBox = document.forms['quick_find_et'].elements[objName];

if (selBox) {
	et_clearSelect(selBox);
	//alert("Nodename: " + node.getElementsByTagName("list")[0].getElementsByTagName("option");
	var objList = node.getElementsByTagName("list")[0].getElementsByTagName("option");
	et_add_element(selBox, "", "Alle");
	for (var i=0; i< objList.length; i++) {
		var opt = objList[i];
		if (opt) {
			if (objName != 'leistung') {
				et_add_element(selBox, opt.firstChild.nodeValue, opt.firstChild.nodeValue);
				} else {
				et_add_element(selBox, opt.firstChild.nodeValue, opt.firstChild.nodeValue + ' W');
				}
			
			sList[cnt++]=opt.firstChild.nodeValue;
			}
		} // next i
		if (objValue) {
			
			selBox.selectedIndex = et_findIndexOf(selBox, objValue);;
			//selBox.selectedIndex = 2;
			}
	} // if sel

}

function et_getCountHits(doc) {

return doc.getElementsByTagName("count")[0].firstChild.nodeValue;
}

function et_parseData()
{
	var xmlDocument = et_xmlhttp.responseXML;
	tx = xmlDocument.getElementsByTagName("select");
	//var cnt = getCounthits(xmlDocument);
	for (var i=0; i< tx.length; i++) {
	var sel = tx[i];
	et_nodeToSelectionBox(sel);
	}
	writeETCount(et_getCountHits(xmlDocument));
	
}

function et_clearSelect(obj) {
	while(	obj.length > 0) {
		obj.remove(0);
	}
}

function et_add_element(obj, id, name)
{
	//now add new elements 
	var new_opt = document.createElement("option");
	new_opt.value = id;
	new_opt.text = name;
	obj.options.add(new_opt);
}
