var dyncmdload = 0;
var loaddatarec;

function loaddyndatacallback() {
 //       	alert('respons: ' + loaddatarec.readyState);
    if (loaddatarec.readyState == 4) {
        //	alert('respons: ' + loaddatarec.readyState);
        // only if "OK"
       if ((loaddatarec.status == 200) || (loaddatarec.status == 500)) {
			if (loaddatarec.responseXML.documentElement) {
				var xmlDoc=loaddatarec.responseXML.documentElement;

				targetdivvalue = xmlDoc.getElementsByTagName("targetdiv")[0].childNodes[0].nodeValue;
				divobj = document.getElementById(targetdivvalue);
				if (divobj) {
//					alert("Found target obj id: " + targetdivvalue);
					targetdatavalue = xmlDoc.getElementsByTagName("data")[0].childNodes[0].nodeValue;
					targetalertext = xmlDoc.getElementsByTagName("alert")[0].childNodes[0].nodeValue;
					targeterrorcode = xmlDoc.getElementsByTagName("error")[0].childNodes[0].nodeValue;
					if (targetalertext != 'OK') {
						alert(targetalertext);
					}
					if (targeterrorcode == 0) {
						if (targetdatavalue) {
//							alert("Found target obj data: " + Base64.decode(targetdatavalue));
							response = loaddatarec.responseText;
					
							start = response.search("<data>") + 6;
							end = response.search("</data>");
							inserttext = response.substring(start,end);
							divobj.innerHTML = Base64.decode(inserttext);
						} else {
						alert("Cant find target obj data");
						}
					}
				} else {
					alert("Cant find target obj id");
				}
			}
		}
 		dyncmdload = 0;
	}
}

// loaddyndata($dnode,'targetdiv',/templatest/intressetack.xml','dynloadcmd=savexmlformdata','optformdata')

function loaddyndata(dnode,divid,template,extraurl,optformdata) {

		formdata = null;
		if (optformdata) {
			formdata = loaddyndformtostringsdalarm(optformdata);
		}
		
		targetdiv = document.getElementById(divid);
		targetdiv.innerHTML = "<center><img style=\"\" vspace=\"0\" src=\"/disco/intranet/grafik/loading.gif\" alt=\"loading\" width=\"32\" height=\"32\"/></center>";
		prot = document.location.protocol;
		data = "?dnode=" + dnode + "&template=" + template + "&targetdiv=" + divid + "&" + extraurl;
		url = prot + "//" + window.location.hostname + "/disco/cmds/testalert.php";
		href = url+"?"+data;
//		alert(data);
		if (dyncmdload == 0) {
			dyncmdload = 1;
			if (formdata) {
				loaddyndXMLDocPost(href,formdata,loaddyndatacallback);
			} else {
				loaddyndXMLDoc(href,null,loaddyndatacallback);
			}
		} else {
			alert("loaddatarec inuse");
		}
};


function loaddyndXMLDoc(url,data,processReqChange) 
{
    if (window.XMLHttpRequest) {

        loaddatarec = new XMLHttpRequest();
        loaddatarec.open('get', url, true);
        loaddatarec.onreadystatechange = processReqChange;
//		loaddatarec.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		loaddatarec.send(data);
    } else if (window.ActiveXObject) {
        loaddatarec = new ActiveXObject("Microsoft.XMLHTTP");
        if (loaddatarec) {
            loaddatarec.open('get', url, true);
            loaddatarec.onreadystatechange = processReqChange;
//			loaddatarec.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			loaddatarec.send(data);
        } else {
			alert('Windows E Error: no req object');
        }
    } else {
		alert('Windows E Error: no req object at all');
    }
}

function loaddyndXMLDocPost(url,data,processReqChange) 
{
    if (window.XMLHttpRequest) {

        loaddatarec = new XMLHttpRequest();
        loaddatarec.open('POST', url, true);
        loaddatarec.onreadystatechange = processReqChange;
		loaddatarec.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
//		loaddatarec.setRequestHeader("Content-length", data.length);
		loaddatarec.send(data);
    } else if (window.ActiveXObject) {
        loaddatarec = new ActiveXObject("Microsoft.XMLHTTP");
        if (loaddatarec) {
            loaddatarec.open('POST', url, true);
            loaddatarec.onreadystatechange = processReqChange;
			loaddatarec.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
//			loaddatarec.setRequestHeader("Content-length", data.length);
			loaddatarec.send(data);
        } else {
			alert('Windows E Error: no req object');
        }
    } else {
		alert('Windows E Error: no req object at all');
    }
}

function loaddyndformtostringsdalarm(theform) {
	var str = "";
	var stdalarmstring = "<img style=\"margin-left: 4px; margin-top: 4px; display: inline; float:left;\" vspace=\"0\" src=\"/images/invaliddata.gif\" alt=\"invaliddata\" width=\"12\" height=\"12\"/>";
	var alarmed = 0;
	formobj = getObject(theform);
	if (formobj) {
		for (var j = 0; j < formobj.elements.length; j++) {
			if (j != 0) {
				str += "&";
			}
			if ((formobj.elements[j].type == 'radio') || (formobj.elements[j].type == 'checkbox')){
				if (formobj.elements[j].checked) {
					formobjalarm = getObject("alarm" + formobj.elements[j].name);
					formobjalarm.innerHTML = '';
				} else {
					formobjalarm = getObject("alarm" + formobj.elements[j].name);
					if (formobjalarm) {
						for (i = 0;i < formobjalarm.parentNode.childNodes.length; i++) {
							if ( (formobjalarm.parentNode.childNodes[i].className == 'alarm') && (formobjalarm.parentNode.childNodes[i].innerHTML.search('/images/invaliddata.gif'))) {
								formobjalarm.parentNode.childNodes[i].innerHTML = "";
							}
						}
						formobjalarm.innerHTML = stdalarmstring;
						alarmed = 1;
					}
				}
				str += formobj.elements[j].name + '=' + "1";
			} else {
//				alert('type: ' + formobj.elements[j].type + ' value: ' + formobj.elements[j].value);
				if ((formobj.elements[j].value == '') || (formobj.elements[j].value == '- -') || (!formfilter(formobj.elements[j],formobj))){
					formobjalarm = getObject("alarm" + formobj.elements[j].name);
					if (formobjalarm) {
						for (i = 0;i < formobjalarm.parentNode.childNodes.length; i++) {
							if ( (formobjalarm.parentNode.childNodes[i].className == 'alarm') && (formobjalarm.parentNode.childNodes[i].innerHTML.search('/images/invaliddata.gif'))) {
								formobjalarm.parentNode.childNodes[i].innerHTML = "";
							}
						}
						formobjalarm.innerHTML = stdalarmstring;
						alarmed = 1;
					}
				} else {
					formobjalarm = getObject("alarm" + formobj.elements[j].name);
					formobjalarm.innerHTML = '';
				}
				str +=  formobj.elements[j].name + "=" + DCMencodeURIComponent(formobj.elements[j].value);
			}
		}
	}
	
	if (alarmed == 0) {
		return str;
	} else {
		return '';
	}
}


