var httpreq_manufactors = false;
var httpreq_devices = false;

function ajax_handledevicexml ()
{
	if (httpreq_devices.readyState == 4 && httpreq_devices.status == 200)
	{
		xmldoc = httpreq_devices.responseXML;
		xmlTags = xmldoc.getElementsByTagName('device');
		
		intLen = xmlTags.length;
		if (!intLen)
		{
			return null;
		}
		else
		{
			objSelect = document.getElementById ('list_devices');
			objSelect.options.length = 0;
			for (n=0; n < intLen; n++)
			{
				objSelect.options[n] = new Option (xmlTags[n].getAttribute('name'), xmlTags[n].getAttribute('id'), false, false);
			}
		}
	}
}

function ajax_handlealldevicexml ()
{
	if (httpreq_devices.readyState == 4 && httpreq_devices.status == 200)
	{
		objSelect = document.getElementById ('list_devices');
		objSelect.options.length = 0;
		objSelect.options[0] = new Option ('Bitte Gerät wählen', 0, true, false);
		
		devxml = httpreq_devices.responseXML;
		xmlManufactors = devxml.getElementsByTagName ('manufactor');
		
		c = 1;
		for (n=0; n < xmlManufactors.length; n++)
		{
		    objSelect.options[c] = new Option (xmlManufactors[n].getAttribute('name'), 0, false, false);
		    objSelect.options[c].style.backgroundColor = '#DDDDDD';
		    objSelect.options[c].style.fontWeight = 'bold';
		    xmlDevices = xmlManufactors[n].getElementsByTagName ('device');
		    for (m=0; m<xmlDevices.length; m++)
		    {
			c++;
			objSelect.options[c] = new Option (xmlDevices[m].getAttribute('name'), xmlDevices[m].getAttribute('id'), false, false);
			objSelect.options[c].style.paddingLeft = '10px';
		    }
		    c++;
		}
	}
}

function ajax_getdevices (manufactor)
{	
	httpreq_devices = ajax_init ();
	
	if (manufactor != 'YWxs')
	{
		httpreq_devices.onreadystatechange = ajax_handledevicexml;
	}
	else
	{
		httpreq_devices.onreadystatechange = ajax_handlealldevicexml;
	}
	httpreq_devices.open ('GET', '/ajax/get_devices.php?manufactor='+manufactor, true);
	httpreq_devices.send (null);
}

function ajax_handlemanufactorxml ()
{
	if (httpreq_manufactors.readyState == 4 && httpreq_manufactors.status == 200)
	{
		xmldoc = httpreq_manufactors.responseXML;
		xmlTags = xmldoc.getElementsByTagName('manufactor');
		
		intLen = xmlTags.length;
		if (!intLen)
		{
			return null;
		}
		else
		{
			objSelect = document.getElementById ('list_manufactors');
			objSelect.options.length = 0;
			for (var i=0; i < intLen; i++)
			{
				objSelect.options[i] = new Option (xmlTags[i].firstChild.nodeValue, xmlTags[i].getAttribute('param'), false, false);
			}
		}
	}
}

function ajax_getmanufactors ()
{	
	httpreq_manufactors = ajax_init ();

	httpreq_manufactors.onreadystatechange = ajax_handlemanufactorxml;
	httpreq_manufactors.open ('GET', '/ajax/get_manufactors.php', true);
	httpreq_manufactors.send (null);
}

function setManufactor ()
{
	objSelect = document.getElementById('list_manufactors');
	ajax_getdevices (objSelect.value);
}