var oSMthHttp;
var CurrentWindowHeight = 0, CurrentWindowWidth = 0;
function GetWindowSize() {
  
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    CurrentWindowWidth = window.innerWidth;
    CurrentWindowHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    CurrentWindowWidth = document.documentElement.clientWidth;
    CurrentWindowHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    CurrentWindowWidth = document.body.clientWidth;
    CurrentWindowHeight = document.body.clientHeight;
  }  
}
function CenterElement(_id)
{
	GetWindowSize();
	var _element =getObj(_id);
	_element.style.position='absolute';
	_element.style.left=Math.max(0,(parseInt(CurrentWindowWidth)-parseInt(_element.offsetWidth))/2)+'px';
	_element.style.top=Math.max(0,(parseInt(CurrentWindowHeight)-parseInt(_element.offsetHeight))/2)+'px';
}
function fixFFUser3Menu()
{
	var _elements = document.getElementsByTagName('A');
	for (var i=0;i<_elements.length;i++)
	{
		if (_elements[i].className=='mainlevel-nav')
		{
			_elements[i].style.width='100px';
		}
	}
}
function getObj(name) 
{	
	var NS  = (document.layers) ? 1:0;
	var IE  = (document.all) ? 1:0;
	var DOM = (document.getElementById) ? 1:0;
	if (IE && document.all[name])  
	{
		return document.all.item(name);
	} 
	if (DOM && document.getElementById(eval("'"+name+"'"))) 
	{
		return document.getElementById(name);
	}  
	if (NS && document.layers[name]) 
	{
		return document.layers[name];
	}
	return 0;
}
function EditEntry(id)
{
	var sResult = gsCallServerMethod("setID.asp?ID="+id,"")
	window.open("edit.asp","_self");
	
}
function gsCallServerMethod(sURL,sParams,lFlags)
{
	var IE  = (document.all) ? 1:0;
	var oSMthHttp;
	var sResponse;	
	var sXml = '<?xml version="1.0"?><Call><Params>' + sParams + '</Params></Call>';
	
	if (IE && document.all)  
	{
		oSMthHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else
	{
		oSMthHttp = new XMLHttpRequest();
	}
	if (sParams>'' && sParams!='undefined')
	{
		oSMthHttp.open('POST',sURL,false);
		oSMthHttp.send(sXml);
	}
	else
	{
		oSMthHttp.open('GET',sURL,false);
		oSMthHttp.send(null);
	}	
	sResponse= oSMthHttp.responseText;
	oSMthHttp = null;
	
	sResponse = sResponse.replace(/(^\s*)|(\s*$)/g, "");
	return(sResponse);
}

function gsXMLEncode(sValue)
{
	var sXML;
			
	sXML = sValue;
	if (sXML != '')
	{
		sXML = sXML.replace(/&/gi,'&amp;');
		sXML = sXML.replace(/</gi,'&lt;');
		sXML = sXML.replace(/>/gi,'&gt;');
		sXML = sXML.replace(/'/gi,'&apos;');
		sXML = sXML.replace(/"/gi,'&quot;');
	}

	return(sXML);
}
function gsXMLEncodeEx(sValue)
{
	var sXML = gsXMLEncode(sValue)
	
	return(sXML);
}

function gsXMLDecode(sValue)
{
	var sXML;
			
	sXML = sValue;
	if (sXML != '')
	{
		sXML = sXML.replace(/\&amp;/gi,'&');
		sXML = sXML.replace(/\&lt;/gi,'<');
		sXML = sXML.replace(/\&gt;/gi,'>');
		sXML = sXML.replace(/\&apos;/gi,'\'');
		sXML = sXML.replace(/\&quot;/gi,'"');
	}

	return(sXML);
}
function gsXMLDecodeEx(sValue)
{
	var sXML = gsXMLDecode(sValue)
	
	return(sXML);
}
/* (c) Ihr Partner AG 2000 */

function gsXMLDlgParams(frm, sAdd, bAddEmptyValues)
{
	var sParams;
	var l,lCount;
	var ctl;
	var sType,sName,sValue;
	var sID;
			
	sParams = '';
	if (frm == null)
		return(sParams);
		
	sParams = sParams + '<DlgParams>\n';
	
	sParams = sParams + sAdd;
	
	lCount = frm.elements.length;
	for (l=0 ; l<lCount ; l++ )
	{
		ctl = frm.elements.item(l);
		sType = ctl.type;
		sName = ctl.name;

		if (sType=='text' || sType=='select-one' || sType=='textarea' || sType=='password' ||
		   (sType=='hidden' && sName.substr(0,10)!='txtPrivate'))
		{
			sValue = ctl.value;
			if (bAddEmptyValues || sValue != '')
			{
				if (sName.substr(0,6)!='txtXml')
				{
					sValue = sValue.replace(/&/gi,'&amp;')
					sValue = sValue.replace(/</gi,'&lt;')
					sValue = sValue.replace(/>/gi,'&gt;')
					sValue = sValue.replace(/'/gi,'&apos;')
					sValue = sValue.replace(/"/gi,'&quot;')
				}
				try
				{ 
					if (ctl.wfMultiRow) 
					{
						if (ctl.recordNumber>0)
							sName = sName + '_R' + ctl.recordNumber;
						else
						{
							for (var k=0 ; k<getObj(ctl.id).length ; k++)
								if (ctl == getObj(ctl.id).item(k))
								{
									sName = sName + '_R' + (k+1);
									break;						
								}
						}				
					}
				}
				catch(e){}
				
				sParams = sParams + '<' + sName + '>' + sValue + '</' + sName + '>\n'
			}
		}
 		if (sType == 'checkbox')
		{
			sValue = ctl.checked;
			if (bAddEmptyValues || sValue)
			{
				if (sValue)
					sParams = sParams + '<' + sName + '>-1</' + sName + '>\n'
				else
					sParams = sParams + '<' + sName + '>0</' + sName + '>\n'
			}
		}

		if (sType == 'radio')
		{
			sID = ctl.id;
			sValue = ctl.checked;
			if (bAddEmptyValues || sValue)
			{
				if (sValue)
					sParams = sParams + '<' + sName + '>' + sID + '</' + sName + '>\n'
			}
		}
	}

	sParams = sParams + '</DlgParams>\n';
	return(sParams);
}

function gSetCboValue(oCtl, sValue)
{
    var i;
	     
	if (sValue=='')
		for (i=0; i < oCtl.options.length; i++)
		{
		    if (oCtl.options(i).text == '' && oCtl.options(i).value == '')
			{
				oCtl.options(i).selected=true;
				return;
			}
		}
	else 
		for (i=0; i < oCtl.options.length; i++)
		{
		    if (oCtl.options(i).text == sValue || oCtl.options(i).value == sValue)
			{
				oCtl.options(i).selected=true;
				return;
			}
		}
		
	if (sValue=='0')
		for (i=0; i < oCtl.options.length; i++)
		{
		    if (oCtl.options(i).text == '' && oCtl.options(i).value == '')
			{
				oCtl.options(i).selected=true;
				return;
			}
		}
}

function gSetCboValueArray(oCtl, sValue, lIndex)
{
    var i;
    var sIntValue;
    var asValue;

	if (sValue=='')
		for (i=0; i < oCtl.options.length; i++)
		{
		    if (oCtl.options(i).text == '' && oCtl.options(i).value == '')
			{
				oCtl.options(i).selected=true;
				return;
			}
		}
	else 
		for (i=0; i < oCtl.options.length; i++)
		{
			sIntValue = oCtl.options(i).value;
			asValue = sIntValue.split("$;$");
		    if (oCtl.options(i).text == sValue || asValue[lIndex] == sValue)
			{
				oCtl.options(i).selected=true;
				return;
			}
		}
		
	if (sValue=='0')
		for (i=0; i < oCtl.options.length; i++)
		{
		    if (oCtl.options(i).text == '' && oCtl.options(i).value == '')
			{
				oCtl.options(i).selected=true;
				return;
			}
		}
}

function gsGetCboText(oCtl)
{
    var i;
     
	for (i=0; i < oCtl.options.length; i++)
	{
		if (oCtl.options(i).selected==true)
			return(oCtl.options(i).text);
	}
}

function gsGetCboValue(oCtl)
{
    var i;
     
	for (i=0; i < oCtl.options.length; i++)
	{
		if (oCtl.options(i).selected==true)
			return(oCtl.options(i).value);
	}
}
function gCreateNewCboOption(oCbo,sValue,sDesc,lPos,bSetToCurr)
{
	//add new option to cbo
	if (lPos=='' || lPos=='undefined') lPos=0;
	var oOption = document.createElement("OPTION");
	oCbo.options.add(oOption,lPos);
	oOption.value = sValue;
	oOption.innerText = sDesc;
	if (bSetToCurr)
	{oCbo.value=sValue;
	}
}

function gbSetDlgParamsURL(sDataSrc, sURL)
{
	var oHttp = new ActiveXObject("Microsoft.XMLHTTP");
	oHttp.open('GET', sURL, false);
	oHttp.send('');
 	var oXML = oHttp.responseXML;
 	if (oXML.documentElement)
 		return(mbSetDlgParamsDOM(sDataSrc, oXML));
 		
 	return(false);
}

function gbSetDlgParamsXML(sDataSrc, sXML)
{
	var oXML = new ActiveXObject("MSXML.DOMDocument");
	oXML.async = false;
	if (oXML.loadXML(sXML))
 		return(mbSetDlgParamsDOM(sDataSrc, oXML));
 		
 	return(false);
}

function mbSetDlgParamsDOM(sDataSrc, oXML)
{
	var oTable, oCtl, lLen2, sVal, oNode;

	var oRoot = oXML.documentElement;
	var oTables = document.all.tags('TABLE');
	var lLen = oTables.length;
	
	for (var l=0; l<lLen; l++)
		if (oTables(l).wfDataSrc==sDataSrc)
		{
			oTable = oTables(l)

			lLen2 = oTable.all.length;
			for (var i=0; i<lLen2; i++)
			{
				oCtl = oTable.all(i);
				if (oCtl && oCtl.wfDataFld)
				{
					oNode = oRoot.selectSingleNode(oCtl.wfDataFld);
					if (oNode)
						sVal = oNode.text;
					else
						sVal = '';

					if ((sVal=='') && (oCtl.type!='checkbox') && oCtl.wfDefault)
						sVal = oCtl.wfDefault;
						
					switch(oCtl.type)
					{
						case 'text':
						case 'textarea':
						case 'hidden':
							oCtl.value = sVal;
							break;
						case 'select-one':
							gSetCboValue(oCtl, sVal);
							break;
						case 'checkbox':
							oCtl.checked = (sVal>'' && parseInt(sVal)!=0);
							break;
					}
				}
			}

		}
}
