if (navigator.appName.search("Microsoft") > -1)
	resObject = new ActiveXObject("MSXML2.XMLHTTP");
else
	resObject = new XMLHttpRequest();

var lastelementh = 0;
var lastelementw = 0;
	
function rrw_testenv()
{
	resObject.open('get', 'index.php?state=testenviroment', true);
	resObject.onreadystatechange = handlerrw_testenv;
	resObject.send(null);
}

function handlerrw_testenv()
{
	null;
}		

function gotoUrl(url)
{
	location.href = url;
}

function openSubmenu(Id)
{
		document.getElementById('submenu_'+ Id).style.visibility = 'visible';
}

function closeSubmenu(Id)
{
		document.getElementById('submenu_'+ Id).style.visibility = 'hidden';
}

function reloadPage(url)
{
	location.href=url;
}

function strright(str, len)
{
	var result = str;	
	if (str.length > len)
		result = str.substr(str.length-len,len);
	return result;
}

function strbefore(haystack,needle)
{
	var pos = haystack.indexOf(needle);
	var len = needle.length;
	var result = haystack;
	
	if (pos != -1)
		result = haystack.substr(0,pos);
	return result;
}

function strafter(haystack,needle)
{
	var pos = haystack.indexOf(needle);
	var len = needle.length;
	var result = '';
	
	if (pos != -1)
		var result = haystack.substr(pos + len);

	return result;
}

function getArrayIndex(arr, item)
{
	var result = -1;
	
	for (i=0; i<arr.length;i++)
	{
		if (arr[i].indexOf(item) == 0)
		{
			result = i;
			break;
		}	
	}
	return result;
}

function replaceimage(imgid, newimage)
{
	document.getElementById(imgid).src = document.getElementById(newimage).src;
	document.getElementById(imgid).name = String(imgid) + '=' + String(newimage); 
}

function reloadPagebySubId(url,newparam,newvalue)
{
	var params 		= new Array();
	
	if (url == '')
	{
		var uriparams 	= location.search;
		var uri			= strbefore(location.href,uriparams);
	}
	else
	{
		var uriparams 	= '?' + strafter(url,'?');
		var uri			= strbefore(url,uriparams);
	}

	if (uriparams.length > 0)
		uriparams		= uriparams + '&' + newparam + '=' + newvalue;
	else
		uriparams		= uriparams + '?' + newparam + '=' + newvalue;
	
	var param = '';
	
	while (uriparams.length > 0)
	{
		if (uriparams.indexOf('?') == 0)
		{
			param = strbefore(strafter(uriparams,'?'),'&');
			uriparams = strafter(uriparams,'&');
		}
		else
		{
			param = strbefore(uriparams,'&');
			uriparams = strafter(uriparams,'&');
		}
		
		if (param != '=')
		{
			i = getArrayIndex(params,strbefore(param,'='));

			if (i == -1)
				params.push(param);
			else
				params[i] = param;
		}
	}
	
	var separator = '';
	
	for (i=0; i<params.length;i++)
	{
		if (separator == '')
			separator = '?';
		else
			separator = '&';
			
		if (params[i].search(/(newparam + '=')/) == 0)
			uriparams = uriparams + separator + newparam + '=' + newvalue;
		else
			uriparams = uriparams + separator + params[i];
	}
	
	uri = uri + uriparams;	
	location.href=uri;
}

function reloadPagebyComboValue(url,subCtrl)
{
	var subid 		= subCtrl.options[subCtrl.options.selectedIndex].value;
	var nam			= subCtrl.name;
	reloadPagebySubId(url,subCtrl.name,subid);
}

function reloadPagebyInputValue(url,subCtrl)
{
	var subid 		= subCtrl.value;
	reloadPagebySubId(url,subCtrl.name,subid);
}

function reloadPagebyImage(url,subCtrl)
{
	subCtrl = document.getElementById(subCtrl);
	reloadPagebySubId(url, strbefore(subCtrl.name,'='),strafter(subCtrl.name,'='));
}
	
function imageSendReq(imgid)
{
	resObject.open('get', 'index.php?getimage='+imgid, true);
	resObject.onreadystatechange = imageHandleResponse;
	resObject.send(null);
}

function imageHandleResponse()
{
	var id = "headselector";
	if (resObject.readyState == 4)
		document.getElementById(id).innerHTML = resObject.responseText;
}


function setOpacity(value) 
{
	obj.style.opacity = value/10;
	obj.style.filter = 'alpha(opacity=' + value*10 + ')';
}

function washingmachine()
{
	
	if (resObject.readyState != 4)
	{
		if (myopacity == 10)
			myopacity = 0;
		myopacity++;
		
		setOpacity(myopacity);
			
		document.getElementsByName('debug')[0].innerHTML = 'myopacity; ' + myopacity;
		setTimeout("washingmachine()", 10);
	}
}

function GlobalSendReq(selector, ctrl)
{
	var subid = ctrl.options[ctrl.options.selectedIndex].value
	resObject.open('get', 'index.php?'+ selector + '=' + ctrl.name + '&' + ctrl.name + '=' + subid, true);
	resObject.onreadystatechange = GlobalHandleResponse;
	resObject.send(null);
	switchbutton(document.getElementById('logo'));
//	obj = document.getElementById('logo')
//	washingmachine();
}

function GlobalHandleResponse()
{
	if (resObject.readyState == 4)
	{
		id = strbefore(resObject.responseText,';');
		val	= strafter(resObject.responseText,';');
		if (val.indexOf('<;>') > -1)
		{
			sel = strafter(val,'<;>');
			val = strbefore(val,'<;>');
		}
		else
			sel = '';
			
		if (id.charCodeAt(0) == 13)
			id = id.substring(1);
		if (id.charCodeAt(0) == 10)
			id = id.substring(1);
		document.getElementById(id).innerHTML = val;
//		setOpacity(10);
		switchbutton(document.getElementById('logo'));
	}
}

function switchbutton(ctrl)
{
	btn_suff = strright(ctrl.src,4);
	btn_name = strbefore(ctrl.src,btn_suff);
	
	if (btn_name.indexOf('_on') > -1)
		btn_name = strbefore(btn_name,'_on');
	else
		btn_name = btn_name + '_on';
	
	ctrl.src = btn_name + btn_suff;
}

function switchimagesm(ctrl)
{
	btn_suff = strafter(ctrl.src,'_');
	btn_name = strbefore(ctrl.src,'_');
	
	if (btn_suff.indexOf('m.jpg') > -1)
		btn_name = btn_name + '_s.jpg';
	else
		btn_name = btn_name + '_m.jpg';
	
	ctrl.src = btn_name;
}

function openblabox()
{
	document.getElementById("langselect_box").size=2;
}
function closebox()
{
	document.getElementById("langselect_box").size=1;
}

function openbox(boxname)
{
	if (document.getElementById(boxname).style.visibility == 'visible')
	{
		document.getElementById(boxname).style.visibility='hidden';
	}
	else
	{
		document.getElementById(boxname).style.visibility='visible';
	}
}

function sendfeedback(boxname, divid)
{
	init 		= 'div_'+divid;
	myid		= document.getElementById('feedbackfileid').value;
	dispid		= divid;
	myval		= '';
	for (i=0;i<12;i++)
	{
		try
		{
			if (document.feedbackform.feedbackstatus[i].checked)
				myval = myval + document.feedbackform.feedbackstatus[i].value;
		}
		catch (e)
		{
			null;
		}
			
	}
	
	if (myval == '')
		alert('Sie müssen ein Bearbeitungskennzeichen setzen');
	else		
	{
		myval		= myval + ';' + document.feedbackform.feedbackremark.value + ';';
		if (document.feedbackform.feedbackcallback.checked)
			myval		= myval + '1';
		else
			myval		= myval + '0';
		ftransAction(init, myid ,myval, dispid);
		openbox(boxname);
	}
}
	
function openFeedback(boxname, id, filename, filesubject)
{
	myobj = document.getElementById(boxname);
	
	if (myobj.style.visibility == 'visible')
		myobj.style.visibility='hidden';
	else
	{
		myobj.style.visibility='visible';
		document.getElementById('feedbackfilename').innerHTML = filename;
		document.getElementById('feedbackfilesubject').innerHTML = filesubject;
		document.getElementById('feedbackfileid').value = id;
	}
}


function CheckSingleRequired(ctrlid,imgreq,imgok)
{
	my_img = ctrlid+'_imgreq';
	if (! document.getElementById(ctrlid).value == '')				
		document.getElementById(my_img).src='reqimg.gif';
	else
		document.getElementById(my_img).src='reqimgok.gif';
}

function getNavigator()
{
	if (navigator.appName.search("Microsoft") > -1)
		resObject = new ActiveXObject("MSXML2.XMLHTTP");
	else
		resObject = new XMLHttpRequest();
}

function requestDiv(divid, ident)
{
	resObject.open('get', 'index.php?requestdivdata='+divid+'&value='+ident, true);
	resObject.onreadystatechange = handleDataRequest;
	resObject.send(null);
}


function requestZoom(ident, val)
{
	resObject.open('get', 'index.php?requestzoomimage='+ident+'&value='+val, true);
	resObject.onreadystatechange = handleZoomRequest;
	resObject.send(null);
}

function handleZoomRequest()
{
	if (resObject.readyState == 4)
	{
		xml = resObject.responseXML;
		arr = xml.documentElement.getElementsByTagName('*');
		
		if (arr.length == 1)
		{
			imgdata = xml.documentElement.getElementsByTagName( "*" ).item(0).firstChild.data;
			
			document.getElementById('page').style.opacity = '0.2';
			var zoomimage = document.getElementById('zoomimage');
			zoomimage.style.visibility = 'visible';
			openZoom('zoomimage', '1500', '700', imgdata);
		}
	}
}

function toNumber(instr)
{
	if (instr == '')
		result = 0
	else
	{
		if (isNaN(instr))
			result = 0;
		else
			result = parseInt(instr);
	}		
	return result;
}
	
function openZoom(id, iwidth, iheight, imgdata)
{
	done = false;
	var myElement = document.getElementById(id);
	
	cwidth 	= toNumber(strbefore(myElement.style.width, 'px'));
	cheight = toNumber(strbefore(myElement.style.height, 'px'));
	iwidth  = toNumber(iwidth);
	iheight = toNumber(iheight);
	
	if (cwidth < iwidth)
	{
		myElement.style.width = (cwidth + 50) + 'px';
		done = true;
	}
	else
	{
		if (cheight < iheight)
		{
			myElement.style.height = (cheight + 50) + 'px';
			done = true;
		}
	}
	
	if (done == true)
		setTimeout("openZoom('" + id + "','" + iwidth + "','" + iheight + "','" + imgdata + "')",10);
	else
		document.getElementById('the'+id).innerHTML = imgdata;
}

function closeZoom()
{
	var zoomimage = document.getElementById('zoomimage');
	zoomimage.style.width = '10px';
	zoomimage.style.height = '10px';
	zoomimage.style.visibility = 'hidden';
	document.getElementById('thezoomimage').innerHTML = '';
	document.getElementById('page').style.opacity = '1';
}

function ctrlCheckId(ctrl)
{
	var myid = ctrl.id;
	if (myid.indexOf('c') == 0)
		myid = strafter(myid, 'c');
	return myid;
}	

function requestData(ctrl)
{
	var myid = ctrlCheckId(ctrl);
	
	try
	{
		var myval = ctrl.value;
	}
	catch (e)
	{
		try
		{
			var myval = arguments[1];
		}
		catch (e)
		{
			var myval = '';
		}
		
	}
				
	resObject.open('get', 'index.php?requestdata='+ myid +'&value='+myval, true);
	resObject.onreadystatechange = handleDataRequest;
	screen.cursor
	resObject.send(null);
}
	
function requestvData(ctrl, divid)
{
	try
	{
		var myval = ctrl.value;
	}
	catch (e)
	{
		try
		{
			var myval = arguments[1];
		}
		catch (e)
		{
			var myval = '';
		}
		
	}
				
	resObject.open('get', 'index.php?requestidata='+myval+'&value='+divid, true);
	resObject.onreadystatechange = handleDataRequest;
	resObject.send(null);
}

function ftransAction(init, myid ,myval, dispid)
{
	resObject.open('get', 'index.php?requestftrans='+ init + '&fid=' + myid +'&faction='+myval + '&fdispid=' + dispid, true);
	resObject.onreadystatechange = handleDataRequest;
	document.body.style.cursor = "wait";
	resObject.send(null);
}


function requestiData(myid ,myval)
{
	resObject.open('get', 'index.php?requestidata='+ myid+'&value='+myval, true);
	resObject.onreadystatechange = handleDataRequest;
	resObject.send(null);
}

function requestcontent(id, ident)
{
	resObject.open('get', 'index.php?requestcontent='+ id + '&value=' + ident, true);
	resObject.onreadystatechange = handleDataRequest;
	resObject.send(null);
}

function requestmData(myid ,myval)
{
	resObject.open('get', 'index.php?requestmdata='+ myid+'&value='+myval, true);
	resObject.onreadystatechange = handleDataRequest;
	resObject.send(null);
}

function handleDataRequest()
{
	if (resObject.readyState == 4)
	{
		xml = resObject.responseXML;
		arr = xml.documentElement.getElementsByTagName('*');
		
   		for(var i=0; i < arr.length; i++)
    	{
        	var tagName = xml.documentElement.getElementsByTagName( "*" ).item(i).nodeName;
        	var tagData = xml.documentElement.getElementsByTagName( "*" ).item(i).firstChild.data;
//        	var tagAttr = xml.documentElement.getElementsByTagName( "*" ).Item(i).attributes;
        	
        	try
        	{
        		document.getElementById(tagName).innerHTML = tagData;
        		//document.getElementById(tagName)[0].attributes = tagAttr;
    			}
        	catch (e)
        	{
	        	try
	        	{
	        		document.getElementsByName(tagName)[0].innerHTML = tagData;
	    		}
	        	catch (e)
	        	{
		        	alert(tagName + ': ' + tagData);
	        	}
        	}
    	}
    	document.body.style.cursor = "default";
	}
}

function SendXMLRequest(ctrl)
{
	
	resObject.open('get', 'index.php?reqestdata='+ ctrl.id, true);
	resObject.onreadystatechange = HandleXMLRequest;
	resObject.send(null);
}

function HandleXMLRequest()
{
	if (resObject.readyState == 4)
	{
		arr = xml.documentElement.getElementsByTagName('*');
		
   		for(var i=0; i < arr.length; i++)
    	{
        	var tagName = xml.documentElement.getElementsByTagName( "*" ).item(i).nodeName;
        	var tagData = xml.documentElement.getElementsByTagName( "*" ).item(i).firstChild.data;
        	document.getElementById(tagName).innerHTML = tagData;
    	}
	}
}


function xmlTest(xml)
{
   
	arr = xml.documentElement.getElementsByTagName('*');
   alert("Total Number of HTML Elements Found: " + xml.documentElement.getElementsByTagName( "*" ).length);
   for(var i=0; i < arr.length; i++)
    {
        var tagName = xml.documentElement.getElementsByTagName( "*" ).item(i).nodeName;
        var tagObj = xml.documentElement.getElementsByTagName( "*" ).item(i).firstChild.data;
        var tagtype = xml.documentElement.getElementsByTagName( "*" ).item(i).nodeType;
        alert("TagName: " + tagName + ': ' + tagObj + ': ' + tagtype);             
    }
}

function selectrow(rowid, on)
{
	try
	{
		if (on == '0')
			document.getElementById(rowid).style.backgroundColor=document.getElementById(rowid).parentNode.style.backgroundColor;
		else
			document.getElementById(rowid).style.backgroundColor='silver';
	}
	catch (e)
	{
		alert(e);
	}
}

function requestChoiceContent(id, ident)
{
	resObject.open('get', 'index.php?requestcontent='+ id + '&value=' + ident, true);
	resObject.onreadystatechange = handleChoiceContent;
	resObject.send(null);
}

function handleChoiceContent()
{
	if (resObject.readyState == 4)
	{
		xml = resObject.responseXML;
		arr = xml.documentElement.getElementsByTagName('*');
		
   		for(var i=0; i < arr.length; i++)
    	{
        	var tagName = xml.documentElement.getElementsByTagName( "*" ).item(i).nodeName;
        	var tagData = xml.documentElement.getElementsByTagName( "*" ).item(i).firstChild.data;
        	
        	try
        	{
						var myElement =	document.getElementById(tagName);
        		myElement.innerHTML = tagData;
        		
        		if (tagData == '')
        			myElement.style.visibility='hidden';	
        		else
        			document.getElementById(tagName).style.visibility = 'visible';
						
    			}
        	catch (e)
        	{
	        	try
	        	{
	        		document.getElementsByName(tagName)[0].innerHTML = tagData;
	    		}
	        	catch (e)
	        	{
		        	alert(tagName + ': ' + tagData);
	        	}
        	}
    	}
    	document.body.style.cursor = "default";
	}
}

function setOpa(ident, value) 
{
	var obj = document.getElementById(ident);
	obj.style.opacity = String(value);
	obj.style.filter = 'alpha(opacity=' + String(value*100) + ')';
}

function	bringToFront(ident)
{
	var myElement = document.getElementById(ident);
	var myOpa = parseFloat(myElement.style.opacity);
	
	if (isNaN(myOpa))
		myOpa = 0;
	else
		myOpa = myOpa + 0.1;
	
	if  (myOpa <= 1)
	{
		setOpa(ident, myOpa);
		//myElement.style.opacity = String(myOpa);
		setTimeout("bringToFront('" + ident + "')",10);
	}
}
		
function	openChoice(ident, requestIdent, requestValue)
{
	var myElement = document.getElementById(ident);
	myElement.style.visibility = 'visible';
	requestiData(requestIdent, ident);
	bringToFront(ident);
}

function	closeChoice(ident)
{
	var myElement = document.getElementById(ident);
	myElement.style.visibility = 'hidden';
	setOpa(ident,0);
}

function requestChoiceData(id, val)
{
	resObject.open('get', 'index.php?requestdata='+ id +'&value='+val, true);
	resObject.onreadystatechange = handleDataRequest;
//	screen.cursor
	resObject.send(null);
}

function closeandrequestChoiceData(ident, id, val)
{
	requestChoiceData(id, val);
	closeChoice(ident);
}
