// JavaScript Document

	var sAjaxModul_IdPrefix = "";
	var AjaxModul_waitingObjectState = new Array();
	var AjaxModul_iMsieVersion = 0;
	var sAjaxModul_otherReceiver = new Array();
	var aAjaxModul_specialFinisher = new Array();
	
	ua = window.navigator.userAgent;
	msie = ua.indexOf("MSIE ");
	if(msie>0) AjaxModul_iMsieVersion = parseInt (ua.substring (msie+5, ua.indexOf (".", msie )));
	else AjaxModul_iMsieVersion = 0;

//---------------------------------------------------------------------------------------
	function AjaxModul_init(sReceiverFunctionName) {
		var oAjax = null;
		try { oAjax = new XMLHttpRequest(); }
		catch(e) { 
  		try { oAjax = new ActiveXObject("Msxml2.XMLHTTP"); }
  		catch(e) {
    		try { oAjax = new ActiveXObject("Microsoft.XMLHTTP"); }
    		catch(e) {
      		alert("Your browser does not support AJAX!");
      		return false;
      	}
    	}
  	}
  	
  	var bFunctionExists = false;
  	
  	eval("var bFunctionExistsInWindowObject = window." + sReceiverFunctionName + " ? true : false;");
  	if(bFunctionExistsInWindowObject) {
  		eval("var sTypeofFunction = typeof window." + sReceiverFunctionName + ";");
  		if(sTypeofFunction=="function") bFunctionExists = true; 
  	}
  	
  	if(bFunctionExists) {
			oAjax.onreadystatechange = function() {
				if(oAjax.readyState==4) {
					var sText = oAjax.responseText;
					eval(sReceiverFunctionName + "(sText);");
				}
			}
		}
  	else {
  		alert("Ajax error: can't attach function '"+sReceiverFunctionName+"' to Ajax object.\nFunction '"+sReceiverFunctionName+"' not exists.");
  		return false;
    }
  	
  	return oAjax;
  }
//---------------------------------------------------------------------------------------
  function AjaxModul_call(sUrl, sReceiverFunctionName, sIdPrefix) {
  	if(!sUrl) {
  		alert("No URL defined during the calling the AjaxModul_call() function.");
  		return false;
  	}
  	sAjaxModul_IdPrefix = sIdPrefix;
  	var sInter = "&";
  	if(sUrl.search(/\?/)==-1) sInter = "?"; 
  	sUrl += sInter + "ajaxCounter=" + Math.random();
  	var oAjax = AjaxModul_init(sReceiverFunctionName);
  	if(!oAjax) {
  		alert("Error in function AjaxModul_call().\nVariable \"oAjax\" is not set.\nreceiver function's name is: " + sReceiverFunctionName);
			return false;
		}
  	oAjax.open("GET", sUrl, true);
  	oAjax.send(null);
  	return true;
  }
//---------------------------------------------------------------------------------------
  function AjaxModul_receiverForSelectBox(sReturnValue) {
  
  	if(!sReturnValue || sReturnValue=="") {
	  	return;
		}
		
  	var sSeparator0 = "¨˙¨";
  	var sSeparator1 = "˘§˘";
  	var sSeparator2 = "´¨`";
  	var sSeparator3 = "˙°˙";
  	var sSeparator4 = "`°´";
		var sSeparator5 = "^˘^";
		var sSeparator6beg = "xVoooIIIxxxIIIoooVx";
		var sSeparator6end = "°^°";
		var sSeparator7 = "~˘~";

		var aX = sReturnValue.split(sSeparator0);
		var sItemID = sAjaxModul_IdPrefix + aX[0];
		
		if(sAjaxModul_otherReceiver && sAjaxModul_otherReceiver[sItemID]) {
  		eval(sAjaxModul_otherReceiver[sItemID] + "(sReturnValue)");
  		if(AjaxModul_waitingObjectState && AjaxModul_waitingObjectState[sItemID]) {
				AjaxModul_waitingObjectState[sItemID] = "finished";
	  	}
	  	return;
  	}
		
		var aY = aX[1] ? aX[1].split(sSeparator1) : new Array();
		var bSaveNullOption = aY[0] ? parseInt(aY[0]) : "";
		var aZ = aY[1] ? aY[1].split(sSeparator2) : new Array();
		var bSelectNull = aZ[0] ? parseInt(aZ[0]) : "";
		var aV = aZ[1] ? aZ[1].split(sSeparator3) : new Array();
		var sNullText = aV[0];
		sReturnValue = aV[1];
		
		if(!sReturnValue || sReturnValue=="") {
	  	return;
		}

  	oChangeInput = document.getElementById(sItemID);
  	if(!oChangeInput) { alert("OCMS JavaScript error\n\n   oChangeInput==null if id = '" + sItemID + "'"); return false; }
  	
		for(i=oChangeInput.childNodes.length-1; i>1; i--) oChangeInput.removeChild(oChangeInput.childNodes[i]);
		if(!bSaveNullOption && oChangeInput.childNodes[1]) oChangeInput.removeChild(oChangeInput.childNodes[1]);
		if(bSelectNull) {
			oChangeInput.options[0].text = sNullText;
			oChangeInput.selectedIndex = 0;
		}
		eval("var bGrouped = sReturnValue.search(/" + sSeparator6beg+ "/);");
		if(bGrouped>-1) {
			var aOptGroups = sReturnValue.split(sSeparator6beg);
			if(aOptGroups && aOptGroups.length) for(j=0; j<aOptGroups.length; j++) {
				if(!aOptGroups[j]) continue;
				a = aOptGroups[j].split(sSeparator6end);
				oGroup = document.createElement("OPTGROUP");
				oGroup.label = a[0];
				oGroup.style.fontWeight = "bold";
				oGroup.style.color = "black";
				oGroup.style.fontStyle = "normal";
				aOptions = a[1].split(sSeparator4);
				AjaxModul_constructSelect(oGroup, aOptions, sSeparator5, sSeparator7);
				oChangeInput.appendChild(oGroup);
			}
		}
		else {
  		var aOptions = sReturnValue.split(sSeparator4);
  		AjaxModul_constructSelect(oChangeInput, aOptions, sSeparator5, sSeparator7);
  	}
  	
		if(AjaxModul_waitingObjectState && AjaxModul_waitingObjectState[sItemID]) {
			AjaxModul_waitingObjectState[sItemID] = "finished";
  	}
  	
  	if(aAjaxModul_specialFinisher && aAjaxModul_specialFinisher[sItemID]) {
  		eval(aAjaxModul_specialFinisher[sItemID] + "(sReturnValue)");
  	}
  }
//---------------------------------------------------------------------------------------
	function AjaxModul_constructSelect(oSelectBox, aOptions, sSeparator, sSeparatorInName) {
		var bIsOptGroup = false;
  	var bDoLeftIndent = false;
  	var a = null;
		if(aOptions && aOptions.length) for(i=0; i<aOptions.length; i++) {
			if(!aOptions[i]) continue;
  		aOption = aOptions[i].split(sSeparator);
  		if(aOption[1]==undefined || aOption[1]==null) continue;
  		
			bIsOptGroup = false;
  		bDoLeftIndent = false;
  		if(aOption[1].search(/^\#/)!=-1) { // optgroup (selectable)
				bIsOptGroup = true;
				aOption[1] = aOption[1].replace(/^#/, "");
			}
			else if(aOption[1].search(/^\=/)!=-1) { // option inter optgroup
				bDoLeftIndent = true;
				aOption[1] = aOption[1].replace(/^=/, "");
			}
  		if(document.all) {
  			oNewOption = document.createElement("OPTION");
	  		oNewOption.setAttribute("value", aOption[0]);
	  		if(AjaxModul_iMsieVersion<=6 && bDoLeftIndent) aOption[1] = "    " + aOption[1];
	  		a = null;
	  		a = aOption[1].split(sSeparatorInName);
	  		if(AjaxModul_iMsieVersion<8) {
		  		if(a && a.length>=2 && a[1]>"") {
		  			aOption[1] = a[0];
		  			oNewOption.setAttribute("id", a[1]);
		  		}
	  			oNewOption.setAttribute("innerText", ""+aOption[1]);
  			}
	  		if(bIsOptGroup) oNewOption.style.fontWeight = "bold";
	  		if(bDoLeftIndent) oNewOption.style.paddingLeft = "20px";
	      oElement = oSelectBox.insertBefore(oNewOption);
	      if(AjaxModul_iMsieVersion>=8) {
		      if(oElement) {
		      	if(sSeparatorInName=="~˘~") {
		      		a = aOption[1].split(/\~\˘\~/);
		      	}
		      	oElement.id = a[1];
		      	oElement.text = ""+a[0];
		      }
		    }
  		}
  		else {
  			var sSpecOptionId = "";
  			a = null;
  			a = aOption[1].split(sSeparatorInName);
	  		if(a && a.length>=2 && a[1]>"") {
	  			aOption[1] = a[0];
	  			sSpecOptionId = a[1];
	  		}
  			oNewOption = new Option(aOption[1], aOption[0]);
  			if(bIsOptGroup) oNewOption.style.fontWeight = "bolder";
	  		if(bDoLeftIndent) oNewOption.style.paddingLeft = "20px";
	  		if(sSpecOptionId) oNewOption.id = sSpecOptionId;
	      oSelectBox.appendChild(oNewOption);
	    }
  	}
	}
//---------------------------------------------------------------------------------------