/*
** EVG-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 xmlhttp;

function getEVGQueryString() {
var fm = document.forms['quick_find_evg'];
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;
}

function resetEVGForm() {
var url = 'extensions/evg/evg_selections.php';
getXMLData(url);
 
}

function writeEVGCount(anz) {

var txt = 'Passende Produkte: '+anz;
if (document.all) {
	document.all.evgcount.innerHTML=txt;
	}
else {
	var div = document.getElementById("evgcount");
	if (div) {
 		div.innerHTML=txt;
		}
	}
}

function reload_evg_lists()
{
var url = 'extensions/evg/evg_selections.php?' + getEVGQueryString();
getXMLData(url);
}


function getXMLData(url)
{
	
	if(xmlhhtp = getXMLHttpObject() == false) {
		alert("Fehler beim Anlegen des XMLHttpObject");
		return;
	}
	xmlhttp.open("GET", url , true);
	xmlhttp.onreadystatechange = handleHttpState;
	xmlhttp.send(null);
}
 
function getXMLHttpObject()
{
	try 
	{ 
	 xmlhttp = new XMLHttpRequest(); 
	} 
	catch (error) 
	{ 
	 try 
	 { 
	   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
	 } 
	 catch (error) 
	 { 
	   return false; 
	 } 
	}
}


function handleHttpState()
{
	if (xmlhttp.readyState == 4)
	{ 
		if ( xmlhttp.status == 200) {
			// daten erfolgreich geladen: starte Verarbeitung
			parseData();
		} else {
			// fehler
			alert("Fehler beim Abrufen der XML Daten");
		}
	} 
	
}

function 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 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_evg'].elements[objName];

if (selBox) {
	clearSelect(selBox);
	//alert("Nodename: " + node.getElementsByTagName("list")[0].getElementsByTagName("option");
	var objList = node.getElementsByTagName("list")[0].getElementsByTagName("option");
	add_element(selBox, "", "Alle");
	for (var i=0; i< objList.length; i++) {
		var opt = objList[i];
		if (opt) {
			if (objName != 'leistung') {
				add_element(selBox, opt.firstChild.nodeValue, opt.firstChild.nodeValue);
				} else {
				add_element(selBox, opt.firstChild.nodeValue, opt.firstChild.nodeValue + ' W');
				}
			
			sList[cnt++]=opt.firstChild.nodeValue;
			}
		} // next i
		if (objValue) {
			
			selBox.selectedIndex = findIndexOf(selBox, objValue);;
			//selBox.selectedIndex = 2;
			}
	} // if sel

}

function getCountHits(doc) {

return doc.getElementsByTagName("count")[0].firstChild.nodeValue;
}

function parseData()
{
	var xmlDocument = xmlhttp.responseXML;
	tx = xmlDocument.getElementsByTagName("select");
	//var cnt = getCounthits(xmlDocument);
	for (var i=0; i< tx.length; i++) {
	var sel = tx[i];
	nodeToSelectionBox(sel);
	}
	writeEVGCount(getCountHits(xmlDocument));
	
}

function clearSelect(obj) {
	while(	obj.length > 0) {
		obj.remove(0);
	}
}

function 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);
}
