//main.js - alle grunds\u00E4tzlichen Funktionen der Anwendungvar isdocbeingsaved = false;var SubmitInProgress='';		// Wird von JSSubmit gesetzt, verhindert Doppelte Submitsvar ThisDBurl = GetThisDBurl();var ThisDBdir = GetThisDBdir();var ThisDBurlRel = GetThisDBurlRel();function sb( key ) {	// Grafik in Slimbox darstellen//	alert("sb: key=" + key );			 //var Shadowbox = window.parent.Shadowbox;	var Shadowbox = window.Shadowbox;	//alert("Shadowbox: " + Shadowbox);		var myurl = ThisDBurl + "/sgv/" + key + "/$file/" + key + "?open" ;	//alert("main.js - sb: myurl= " + myurl);			//jQuery.slimbox(myurl, "My beautiful tree");	jQuery.slimbox(myurl);		return;		//          height:600,       width: 800,          Shadowbox.open({         content: myurl ,        player: 'iframe',        handleOversize: "none",        animate:false             });    }function xsb( key ) {	// Grafik in Shadowbox darstellen//	alert("showSB: key=" + key );	//showSB("mittelmeer4.jpg");			 //var Shadowbox = window.parent.Shadowbox;	var Shadowbox = window.Shadowbox;	//alert("Shadowbox: " + Shadowbox);		var myurl = ThisDBurl + "/sgv/" + key + "/$file/" + key + "?open" ;	//alert("main.js - sb: myurl= " + myurl);	//          height:600,       width: 800,          Shadowbox.open({         content: myurl ,        player: 'iframe',        handleOversize: "none",        animate:false             });    }function go(url,target) { 	//alert('go target=' + target + '\nurl=' + url);	if ( target == "2") {			// Neuer Browser		var winName = "NewBrowser";		openPopupMax( url,winName );		return;			}	else {							// Selber Browser		//alert('top.location=' + top.location);		top.location = url;	}}function openmy(id) {	//alert("kommt iod= " + id);	var url = ThisDBurl + "/" + id + "form?open"	//alert("url= " + url);	window.location.href = url ;}function openPB(nr) {	// openProduktBreich		//if( !isoktoload() ) return; 	//alert("hier");	var url = ThisDBurl + "/sbvnavid/" + nr + "?open"	//window.location.href = url ;		// isoktoload( targurl, fallbackurl ) 	var res = isoktoload(url) ;	//alert("res= " + res);	if ( res ) {		window.location.href = url ;	}	}// wg. Firefox / IE Inkompatibilit\u00E4t ++++++++++++++++++ Startfunction getInnerText (id ) { 	//alert("getObjInnerText");	var o = document.getElementById(id);	if(o) { 		return getObjInnerText( o );	}	else {		return ""	}}function getObjInnerText (obj) { 	// Passt f\u00FCr IE + FF	return (obj.innerText) ? obj.innerText : (obj.textContent) ? obj.textContent : "" ;  }function setInnerText (id, valu ) { 	//alert("setInnerText");	var o = document.getElementById(id);	if(o) { 		//alert('valu=' + valu);		setObjInnerText(o,valu );	}}function setObjInnerText (obj, valu ) { 	//alert("setObjInnerText");	if (obj.innerText) { 				// IE		//alert("setObjInnerText IE");		obj.innerText = valu ;	} 	else if (obj.textContent) { 		// FF		//alert("setObjInnerText FF");			obj.textContent = valu ; 	}}function setInnerHTML(id, valu ) { 	//alert("setInnerText");	var o = document.getElementById(id);	if(o) { 		//alert('valu=' + valu);		o.innerHTML = valu ;	}}// wg. Firefox / IE Inkompatibilit\u00E4t ++++++++++++++++++ Endefunction setSessionID() {	//alert("setSessionID");	var CookieName = "SessionID" ;		var CookieVal = getCookie(CookieName) ;	//var path = "/";	var path = ThisDBdir ;	var domain = "";	var secure = "";		var remAddr = 'Remote_Addr' ;	remAddr = replaceSubstring(remAddr,'.','');		//	Zahl zwischen 1 und 10000 generieren	var rand = Math.random();	rand = 9999*rand+1;	rand = parseInt(rand);	rand = rand.toString() ;			var dat = new Date();	 var timePart = Date.parse(dat);	 	var id = remAddr + "x" + rand + "x" + timePart;	//alert( id );			if ( CookieVal == "" ) {				// Bisher kein Cookie gesetzt		// alert("SessionID setzen");			status = "SessionID setzen" ;		var never = new Date()		never.setTime(never.getTime() + 2000*24*60*60*1000);		var expString = never.toGMTString();		var expires = expString;		CookieVal = id ;				//window.status = "Setze: " + CookieName + " = " + CookieVal;		setCookie(CookieName,CookieVal,expires,path,domain,secure);		window.location = window.location;			}	else {		//alert(  CookieName + " = " + CookieVal );			status = "SessionID=" + CookieVal ;	}}function showSessionID() {	var val = getCookie('SessionID'); 		alert('SessionID=' + val );}function delSessionID() {	var CookieName = "SessionID" ;		var CookieVal = getCookie(CookieName) ;	//alert("delSessionID: " + CookieVal );		//var path = "/";	var path = ThisDBdir ;	var domain = "";	var secure = "";		if ( CookieVal != "" ) {														// Es ist ein Cookie gesetzt 		setCookie(CookieName,"","",path,domain,secure)	; 		// Cookie l\u00F6schen//		window.location = window.location;		}}/****************************** Einbabefelder auslesen + schreiben ***********************************/function getFldValu(id) {	return getValuByFldID(id);}// Einbabefelder auslesen - ANFANGfunction getValuByFldID(id) {	//alert("getValuByFldID id= " + id);            var valu = "";            var fld = document.getElementById(id);                      if (fld) {            	var ThisForm = fld.form ;            	//alert("ThisForm: " + ThisForm)            	                  var fldtype = fld.type.toLowerCase() ;                  if ( strLeft(fldtype,"-") == "select" ){                        fldtype = "select" ;                  }                  fld = eval('ThisForm.' + id ) ;                       // fld neu holen, wegen evtl. Multivalues bzw. Radiobuttons                    if ( fldtype == "checkbox") {                        //alert( id + " - fldtype=" + fldtype);                        if( fld.length ) {                              //alert("checkbox-length: " + fld.length);                              fldtype = "checkbox_multi"                        }                  }                  //alert( id + " - fldtype=" + fldtype);                  switch(fldtype) {                        case "text":                                                       valu = fld.value;                        break;                        case "hidden":                                                       valu = fld.value;                        break;                         case "checkbox":                              valu = ReadBit(fld);                              if ( ReadBit(fld) == true ) {                                    valu = fld.value;                              }                              else {                                    valu = "";                              }                        break;                         case "checkbox_multi":                              valu = ReadCheckbox(fld);                        break;                         case "radio":                                //fld = eval('ThisForm.' + id ) ;  // wg.Radiobutton                              valu = ReadRadio(fld);                        break;                         case "select":                              valu = ReadSelect(fld);                        break;                        default:                              alert("Unbekannter Feldtyp: " + fldtype);                        break;                  }                  // Aktuellen Valu anzeigen                  //alert( id + "\nfldtype=" + fldtype + "\nValue=" + valu)            }             return valu;}function ReadRadio(radio) {	var ReturnValue = "";	var radioLength = radio.length;	if(radioLength == undefined) {		ReturnValue = radio.value;		return ReturnValue;	}	for (var i=0; i<radio.length; i++) {		if (radio[i].checked ) {			ReturnValue = radio[i].value;		}	} 		return ReturnValue;}function ReadSelect(select) {//alert(select);//alert("ReadSelect " + select.name);var ReturnValue = "";if (select) { 	for (var i=0; i<select.length; i++) {		if (select.options[i].selected) {			if ( ReturnValue == '' ) {				ReturnValue = select.options[i].value;			}			else {				ReturnValue = ReturnValue + ";" + select.options[i].value;			}		}	}}return ReturnValue;}function ReadSelectText(select) {//alert(select);var ReturnValue = "";if (select) { 	//alert("ReadSelectText " + select.name);	for (var i=0; i<select.length; i++) {		if (select.options[i].selected) {			if ( ReturnValue == '' ) {				ReturnValue = select.options[i].text;			}			else {				ReturnValue = ReturnValue + ";" + select.options[i].text;			}		}	}}return ReturnValue;}function ReadCheckbox(checkbox) {var ReturnValue = "";for (var i=0; i<checkbox.length; i++) {	if (checkbox[i].checked ) {		if ( ReturnValue == '' ) {			ReturnValue = checkbox[i].value;		}		else {			ReturnValue = ReturnValue + ";" + checkbox[i].value;		}	}}return ReturnValue;}function ReadBit(checkbox) {// F\u00FCr einzelne Checkboxen 1 oder leer// alert("ReadBit")return checkbox.checked;}// Eingabefelder auslesen - ENDE// Eingabefelder schreiben - Startfunction setSelect(select, val ) {var ReturnValue = "";for (var i=0; i<select.length; i++) {	if (select.options[i].value == val ) {		// Dieser soll gesetzt werden		select.options[i].selected=true ;	}	else {		select.options[i].selected=false ;	}}return ReturnValue;}function setSelectText(select, val ) {var ReturnValue = "";for (var i=0; i<select.length; i++) {	if (select.options[i].text == val ) {		// Dieser soll gesetzt werden		select.options[i].selected=true ;;	}	else {		select.options[i].selected=false ;	}}return ReturnValue;}function setCheckbox(cbox, valArr ) {	//alert("setCheckbox " + cbox.id);	var i = 0 ;	var n = 0 ;	for( i = 0; i < cbox.length; ++i) {		//alert(cbox[i].value);		cbox[i].checked = false;	}	for( n = 0; n < valArr.length; ++n) {		var val = valArr[n] ;		for( i = 0; i < cbox.length; ++i) {			if ( cbox[i].value == val ) {				cbox[i].checked = true;			}		}				}}function setTextField(fldID,valu) {	fld = document.getElementById(fldID);	if( fld) { fld.value=valu; }}// Eingabefelder schreiben - ENDE// *** DatePicker-Start - benutzt DateTimePickerRainforest function PickDate(fldid) {	// f\u00FCr NewCssCal('KalDate','ddMMyyyy','arrow' )"	//alert("PickDate");		// Globale f\u00FCr den DatePicker l\u00F6schen, normal das Datum zur\u00FCckschreiben	callbackAction = "none" ; 	//alert("callbackAction: " + callbackAction );		var pFormat = "ddMMyyyy";	// DatePicker \u00F6ffnen	NewCssCal(fldid, pFormat, "arrow") ;	}function PickAndSaveDate(fldid) {	// Pickt ein Datum und speichert den Wert sofort in das BackendDoc (f\u00FCr StamkundenMaske)	// Braucht DateTimePickerRainforest.js	// f\u00FCr NewCssCal('KalDate','ddMMyyyy','arrow' )"	//alert("PickAndSaveDate");		// Globale f\u00FCr den DatePicker l\u00F6schen, normal das Datum zur\u00FCckschreiben	callbackAction = "SaveThisFieldToDoc" ; 	//alert("callbackAction: " + callbackAction );		var pFormat = "ddMMyyyy";	// DatePicker \u00F6ffnen	NewCssCal(fldid, pFormat, "arrow") ;	}// *** DatePicker-Ende function LoadMonth() {	//alert("LoadMonth");	var frm = getThisForm() ;	var cb = frm.Jahr		var jahr = ReadSelectText(cb);	var cb = frm.Monat	var monat = ReadSelect(cb);		var url = ThisDBurl + "?open&goto=" + jahr + "-" + monat ;		//alert(url);		showLoadMsg(300,300);	window.location.href = url ;}function formatThisDateField(id, dtStr ) {	//alert("formatThisDateField");	var valu = formatThisDate(dtStr);		var o = document.getElementById(id);	if(o) {		o.value = valu;	}} function formatThisDate(dtStr) {//alert( "KonfiBestell.js -  formatThisDate ");//	alert( "KonfiBestell.js -  formatThisDate dtStr= " + "dtStr" );	var s = "";	if ( dtStr == "" ) {return s}	//alert( "KonfiBestell.js -  formatThisDate dtStr= " + dtStr );		var dtCh= ".";	var pos1=dtStr.indexOf(dtCh);	var pos2=dtStr.indexOf(dtCh,pos1+1);	//alert("pos1=" + pos1 + "  -  pos2=" + pos2);			if( pos1 > 0 && pos2 < 0 ) {		dtStr = dtStr + "." ;		var pos2=dtStr.indexOf(dtCh,pos1+1);	} 	//alert("pos1=" + pos1 + "  -  pos2=" + pos2);	var strDay=dtStr.substring(0,pos1);	var strMonth=dtStr.substring(pos1+1,pos2);	var strYear=dtStr.substring(pos2+1);	if( strYear == "") {		var Zeit = new Date();		var Jahr = Zeit.getFullYear();		strYear = String(Jahr) ;		//alert("strYear=" + strYear );	}				if ( strDay.length == 1) {strDay = "0" + strDay }	if ( strMonth.length == 1) { strMonth = "0" + strMonth ;}	if ( strYear.length == 2) { strYear = "20" + strYear;}		s = strDay + '.' + strMonth + '.' + strYear;		//alert(s);		return s ;}function formatThisTimeField(id, dtStr ) {		var valu = formatThisTime(dtStr);	//alert("valu= " + valu );	if( valu == "") return ;		var o = document.getElementById(id);	if(o) {		o.value = valu;	}}function formatThisTimeField15(id, dtStr ) {	// Rundet immer auf die n\u00E4chste Viertelstunde auf	var valu = formatThisTime(dtStr);	//alert("valu= " + valu );	if( valu == "") return ;		// Aufrunden		var minuteStr = strRight(valu,":");	var minutes = parseInt(minuteStr);	var hourStr = strLeft(valu,":");	var hours = parseInt(hourStr);		//alert("minuteStr= " + minuteStr );			if( minuteStr != "00" && minuteStr != "15" &&  minuteStr != "30" && minuteStr != "45" ) {		if( minutes < 15 ) {			minuteStr = "15";		}		else if( minutes < 30 ) {			minuteStr = "30";		}		else if( minutes < 45 ) {			minuteStr = "45";		}		else if( minutes > 45 ) {			minuteStr = "00";			var newHour = hours + 1 ;						if( newHour >= 24 ) {				newHour = newHour - 24 ;			}				hourStr = right( "00" + String(newHour),2) ;		}				valu = hourStr + ":" + minuteStr ;	}		//alert("hourStr= " + hourStr + " - minuteStr= " + minuteStr );	//alert("valu= " + valu );	var o = document.getElementById(id);	if(o) {		o.value = valu;	}}function formatThisTime(dtStr) {	//alert( "KonfiBestell.js -  formatThisDate" );	var s = "";			if ( dtStr == "" ) {return s }	if (dtStr.length == 1) dtStr = "0" + dtStr ;		var dtCh= ":";	var strHour = "" ;	var strMin = "" ;		var pos =dtStr.indexOf(dtCh);		//alert("pos= " + pos );		if(pos > 0 ) {		// : gefunden		strHour = strLeft(dtStr,dtCh);		if ( strHour.length == 1) {strHour = "0" + strHour};		strMin = strRight(dtStr,dtCh);		if ( strMin.length == 1) {strMin = "0" + strMin};	}	else {		// kein : gefunden			if ( dtStr.length == 4 && isAllNumbers(dtStr)) {			strHour = left(dtStr,2);			strMin = right(dtStr,2);		}		else if (dtStr.length == 3 && isAllNumbers(dtStr) ) {			strHour = "0" + left(dtStr,1);			strMin = right(dtStr,2);		 		 	}	 	else if (dtStr.length == 2 && isAllNumbers(dtStr) ) {			strHour = dtStr ;			strMin = "00";		 		 	}	 	else {	 		return s ;	 	}	}			s = strHour + ':' + strMin ;		//alert(s);		return s ;}// Datums- und Zeitformatierungen **** ENDE function isAllNumbers(s){    var i;    for (var i = 0; i < s.length; i++){           // Check that current character is number.        var c = s.charAt(i);        if (((c < "0") || (c > "9"))) return false;    }    // All characters are numbers.    return true;}function getThisForm() {	// Such-Felder ignorieren	var ThisForm = document.forms[0];if ( document.forms[4] && document.forms[4].name == "dummy" ) { 	ThisForm = document.forms[4];}else if ( document.forms[2] && document.forms[2].name == "dummy" ) {		ThisForm = document.forms[2];}		return ThisForm ;}//split a string s with the delimeter delfunction split(s,del){		 var arrS= new Array();		 var i=0;		 var j=0;		 var k=0;		 var delim=new String(del);		 //Is the delimeter in the string		 if(s.indexOf(delim)!=-1){		 		 for (i=0; i<s.length;i++){		 		 		 if(s.charAt(i)==delim){		 		 		 		 if(k==0){		 		 		 		 		 arrS[j]=s.substring(k,i);		 		 		 		 }else{		 		 		 		 		 arrS[j]=s.substring(k+1,i);		 		 		 		 }		 		 		 		 k=i;		 		 		 		 j++;		 		 		 }		 		 }		 		 arrS[j]=s.substring(k+1,s.length);		 }else{		 		 arrS[0]=s;		 }		 return arrS;}function checkKey(e,pattern) {	//alert("checkKey");	var kcode = (e.keyCode)? e.keyCode : e.charCode;	var result = pattern.test(String.fromCharCode(kcode)); 	return(result);}function GoToComeBack(url) {	//alert("GoToComeBack");	// Cookie f\u00FCr TargetURL setzen	var targurl = window.location.href ;	//setLoginCookie("SRCURL",targurl,-1 );	setLoginCookie("SRCURL",targurl,15 );	//alert("targurl= " + targurl);//var tmp = getLoginCookie("SRCURL");//alert("GoBackToSrc tmp= " + tmp );	// Scrolling im Gesamtfenser merken	var t =  top.f_scrollTop() ;	setLoginCookie("TOPSCROLL_V",t ,15 );	// Scrolling im Frame merken	var t =  f_scrollTop() ;	setLoginCookie("FRAMESCROLL_V",t ,15 );		//alert("TOPSCROLL_V= " + t);			window.location.href = url;	}function GoBackToSrc(fallbackurl) { 	//alert("GoBackToSrc");	// Zur\u00FCck zum Ausgangsort	if( fallbackurl == null ) fallbackurl = "";		var srcurl = getLoginCookie("SRCURL");	//alert("GoBackToSrc srcurl= " + srcurl );	if( srcurl != "" ) {		delLoginCookie("SRCURL");				// Cookie l\u00F6schen	 	//alert( "GoBackToSrc - srcurl=" + srcurl );		window.location.href = srcurl ;					/***		var TOPSCROLL_V = getLoginCookie("TOPSCROLL_V");		delLoginCookie("TOPSCROLL_V");				top.scroll(0,TOPSCROLL_V);			//alert("TOPSCROLL_V= " + TOPSCROLL_V);		****/		return;	}	else {		if( fallbackurl != "" ) {			window.location.href = fallbackurl ;		}				}}function GoBackToPos() {	// Zur\u00FCck zur Scroll-Position	//alert("GoBackToPos");		var TOPSCROLL_V = getLoginCookie("TOPSCROLL_V");	//alert("TOPSCROLL_V= " + TOPSCROLL_V);	if( TOPSCROLL_V != "" ) {				delLoginCookie("TOPSCROLL_V");				top.scroll(0,TOPSCROLL_V);			//alert("TOPSCROLL_V= " + TOPSCROLL_V);				return;	}	else {		top.scroll(0,0);	}		var FRAMESCROLL_V = getLoginCookie("FRAMESCROLL_V");	//alert("FRAMESCROLL_V= " + FRAMECROLL_V);	if( FRAMESCROLL_V != "" ) {				delLoginCookie("FRAMESCROLL_V");				window.scroll(0,FRAMESCROLL_V);			//alert("FRAMESCROLL_V= " + FRAMESCROLL_V);				return;	}	}function f_clientWidth() {	return f_filterResults (		window.innerWidth ? window.innerWidth : 0,		document.documentElement ? document.documentElement.clientWidth : 0,		document.body ? document.body.clientWidth : 0	)}function f_clientHeight() {	return f_filterResults (		window.innerHeight ? window.innerHeight : 0,		document.documentElement ? document.documentElement.clientHeight : 0,		document.body ? document.body.clientHeight : 0	)}function f_scrollLeft() {	return f_filterResults (		window.pageXOffset ? window.pageXOffset : 0,		document.documentElement ? document.documentElement.scrollLeft : 0,		document.body ? document.body.scrollLeft : 0	)}function f_scrollTop() {	return f_filterResults (		window.pageYOffset ? window.pageYOffset : 0,		document.documentElement ? document.documentElement.scrollTop : 0,		document.body ? document.body.scrollTop : 0	)}function f_filterResults(n_win, n_docel, n_body) {	var n_result = n_win ? n_win : 0;	if (n_docel && (!n_result || (n_result > n_docel)))		n_result = n_docel;	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;}function toggleObject(id) {// Toggles object specified by id//alert("toggleObject " + id);  var o = document.getElementById(id);  if (o ) {  	if( o.style.display == "none" ) { 		o.style.display = "block";   		//o.style.display = "run-in";  	} 	else { 		o.style.display = "none"; 	}   }		}function hideObject(id) {// Hides object specified by id//alert("hideObject " + id);  var o = document.getElementById(id);  if (o ) {  o.style.display = "none";  }		}function showObject(id) {// Shows object specified by id//alert("showObject " + id);  var o = document.getElementById(id);  if (o ) {  o.style.display = "block";  }		 //if (o ) {  o.style.display = "run-in";  }  }function showObjectInline(id) {// Shows object specified by id inline//alert("showObject " + id);  var o = document.getElementById(id);  if (o ) {  o.style.display = "inline";  }		}// ********** IFRAME *************************** STARTfunction ReSizeMyFrame() {	var iframeid = getMyFrameID();	//alert("ReSizeMyFrame - iframeid= " + iframeid );		if( iframeid != "" ) {		ReSizeThisFrame(iframeid);	}	}function ReSizeThisFrame(id) {	// Wird vom IFrame onload aufgerufen	//alert("ReSizeThisFrame id=" + id );		try { 		if(document.height) {			//alert("FF id=" + id );				    	var docHt = window.document.getElementById(id).contentDocument.height;    		if( docHt == 0 ) docHt = docHt + 10 ;	    	window.document.getElementById(id).style.height = docHt + 'px';		}  		else {    	    		//alert("IE id= " + id);    		    		var iframeWin = window.frames[id];  			var iframeEl = window.document.getElementById? window.document.getElementById(id): document.all? document.all['ifrm']: null;			var docHt = getDocHeight(iframeWin.document);			//alert('docHt in ReSizeFrame: ' + docHt );    		if( docHt == 0 ) docHt = docHt + 10 ;    			    		if (docHt != iframeEl.style.height) iframeEl.style.height = docHt + 'px';    		}	}	catch(e) {		// alert( "ReSizeThisFrame\n" + e.message);		//alert("Fehler");		// weiter machen	}}function getMyFrameID() {	//alert("getMyFrameID");			var frameid = "";	try {		if( top.location.href != window.location.href) {			//alert("Wir sind in einem IFrame");			var thisdocurl = document.location.href ; 					 			var allframes = parent.frames;			//alert(allframes[1]);			for (var i = 0; i < allframes.length; i++){				var thisframe = allframes[i];				frameid = thisframe.name;				var framedoc = parent.getFrameDoc(frameid);				var framedocurl = framedoc.location.href ; 				//alert("frameid= " + frameid + "\thisdocurl= " + thisdocurl + "\nframedocurl= " + framedocurl ) ;								if( thisdocurl == framedocurl ) {					break;				}		    	}	    //alert("nach break")		} 			return frameid	}	catch(e) {		alert( "getMyFrameID\n" + e.message);	}	}function getFrameDoc(frameid) {    var oIframe = document.getElementById(frameid);    if( !oIframe ) return null ;        var oDoc = oIframe.contentWindow || oIframe.contentDocument;    if (oDoc.document) {        oDoc = oDoc.document;    }    return oDoc;}function getDocHeight(doc) {  var docHt = 0, sh, oh;  //alert("getDocHeight " + doc.body)  if (doc.height)  {    docHt = doc.height;  }  else if (doc.body)  {    if (doc.body.scrollHeight) docHt = sh = doc.body.scrollHeight;    if (doc.body.offsetHeight) oh = doc.body.offsetHeight;  }  return docHt;}// ********** IFRAME *************************** ENDE// ************** DATE ************************ START// Datums- und Zeitformatierungen **** Startfunction isVonVorBis(von,bis) {	// format von, bis = 00:00	//alert( "IsVonVorBis von - bis: " + von + " - " + bis);	var vonStd = strLeft(von,":");	var vonMin = strRight(von,":");		var bisStd = strLeft(bis,":");	var bisMin = strRight(bis,":");	//alert("Number(bisStd):" + Number(bisStd));	//alert("Number(bisMin):" + Number(bisMin));		var vonValu = Number(vonMin) +  (Number(vonStd) * 60);	var bisValu = Number(bisMin) +  (Number(bisStd) * 60);		//alert( "IsVonVorBis: " + vonValu + " - " + bisValu);	if( vonValu < bisValu ) {		return true;	}	else {		return false ;	}	}function checkDateNotInPast(str) {	var datestr = formatThisDate(str)	//alert("checkDateNotInPast2 datestr= " + datestr);				var vDate = getDateObj(datestr);	//Date.parse(datestr);	//alert( "vDate= " + vDate)	var today = new Date().getTime();	//alert( "today= " + today)	//alert(vDate - today);	if(vDate < today){		//alert("Bitte w\u00E4hlen Sie ein Datum in der Zukunft");		return false;	}	else {		//alert("ok");		return true;	}}function getDateObj(dtstr) {	//alert("dtstr= " + dtstr.length);	try {		var datestr = strLeft(dtstr," ");		var timestr = strRight(dtstr," ");				if( datestr == "") {			datestr = dtstr ;			timestr = "00:00:00"		}		else {			if( timestr.length == 5 ) timestr = timestr + ":00";		}				//alert("datestr= " + datestr);		//alert("timestr= " + timestr);			var y = strRightBack(datestr,".");		var m = strLeft(strRight(datestr,"."),".");		m = parseInt(m) - 1 ;		var d = strLeft(datestr,".");			var h = strLeft(timestr,":");		var min = strLeft(strRight(timestr,":"),":");		var s = strRightBack(timestr,":");			var d = new Date(y,m,d,h,min,s);				return d ;			}	catch(e) {		alert( "manager.js - getDateObj:\n" + e.message ); 		return;	}}function isWeekend(dtstr) {	//alert("dtstr= " + dtstr.length);	var datestr = strLeft(dtstr," ");	var timestr = strRight(dtstr," ");		if( datestr == "") {		datestr = dtstr ;		timestr = "00:00:00"	}	else {		if( timestr.length == 5 ) timestr = timestr + ":00";	}		//alert("datestr= " + datestr); 	//alert("timestr= " + timestr);	var y = strRightBack(datestr,".");	var m = strLeft(strRight(datestr,"."),".");	m = parseInt(m) - 1 ;	var d = strLeft(datestr,".");		var h = strLeft(timestr,":");	var min = strLeft(strRight(timestr,":"),":");	var s = strRightBack(timestr,":");		var d = new Date(y,m,d,h,min,s);		var day = d.getDay() ;	if( day == 0 || day == 6 ) {		return true	}	else {		return false ;		}	}function getNextWorkday(dateStr, direction){	// direction: -1=r\u00FCckw\u00E4rts, 1=vorw\u00E4rts		if( isWeekend(dateStr)) {			dateStr = adjustDate(dateStr, 0, 0, direction, 0, 0, 0 );			if( isWeekend(dateStr)) {				dateStr = adjustDate(dateStr, 0, 0, direction, 0, 0, 0 );			}		}		//alert("final dateStr= " + dateStr);		return dateStr ;}function adjustDate(dtstr, years, months, days, hours, minutes, seconds ) {	// Format DD.MM.YYYY hh:mm:ss	//alert("dtstr= " + dtstr.length);	//dtstr = dtstr + " 10:15" ;		var datestr = strLeft(dtstr," ");	var timestr = strRight(dtstr," ");		if( datestr == "") {		datestr = dtstr ;		timestr = "00:00:00"	}	else {		if( timestr.length == 5 ) timestr = timestr + ":00";	}		//alert("datestr= " + datestr);	//alert("timestr= " + timestr);	var y = strRightBack(datestr,".");	var m = strLeft(strRight(datestr,"."),".");	m = parseInt(m) - 1 ;	var d = strLeft(datestr,".");		var h = strLeft(timestr,":");	var min = strLeft(strRight(timestr,":"),":");	var s = strRightBack(timestr,":");		var d = new Date(y,m,d,h,min,s);	d.adjust(years, months, days, hours, minutes, seconds);	//alert("d= " + d );	//alert("d.getDay= " + d.getDay() ); 	var Y = d.getFullYear();	var M = 1 + d.getMonth();	M = right(("0" + M),2);	var D = d.getDate();	D = right(("0" + D),2);		var hh = d.getHours() ;	hh = right(("0" + hh),2);	var mm = d.getMinutes() ;	mm = right(("0" + mm),2);	var ss = d.getSeconds() ;	ss = right(("0" + ss),2);		var retstr = D + "." + M + "." + Y + " " + hh + ":" + mm + ":" + ss ;	//alert("Y - M - D = " + Y + " - " + M + " - " + D );	//alert("retstr= " + retstr ) ;	return retstr	}Date.prototype.adjust = function(yr,mn,dy,hr,mi,se) {var m,t;this.setYear(this.getFullYear() + yr);m = this.getMonth() + mn;if(m != 0) this.setYear(this.getFullYear() + Math.floor(m/12));if(m < 0) {this.setMonth(12 + (m%12));} else if(m > 0) {this.setMonth(m%12);}t = this.getTime();t += (dy * 86400000);t += (hr * 3600000);t += (mi * 60000);t += (se * 1000);this.setTime(t);}function KalenderWoche(j,m,t) {  var Datum = new Date();  if (!t) {    j = Datum.getYear(); if (1900 > j) j +=1900;    m = Datum.getMonth(); t = Datum.getDate();  }  else m--;  Datum = new Date(j,m,t,0,0,1);  var tag = Datum.getDay(); if (tag == 0) tag = 7;  var d = new Date(2004,0,1).getTimezoneOffset();  var Sommerzeit = (Date.UTC(j,m,t,0,d,1) - Number(Datum)) /3600000;  Datum.setTime(Number(Datum) + Sommerzeit*3600000 - (tag-1)*86400000);  var Jahr = Datum.getYear(); if (1900 > Jahr) Jahr +=1900;  var kw = 1;  if (new Date(Jahr,11,29) > Datum) {    var Start = new Date(Jahr,0,1);    Start = new Date(Number(Start) + 86400000*(8-Start.getDay()));    if(Start.getDate() > 4) Start.setTime(Number(Start) - 604800000);    kw = Math.ceil((Datum.getTime() - Start) /604800000);  }  return kw;}// ************** DATE ************************ ENDEfunction HideBrokenImages() {	//alert("HideBrokenImages");    for (var i = 0; i < document.images.length; i++) {        if (!IsImageOk(document.images[i])) {            document.images[i].style.visibility = "hidden";            //document.images[i].style.display = "none";        }    }}function IsImageOk(img) {    // During the onload event, IE correctly identifies any images that    // weren't downloaded as not complete. Others should too. Gecko-based    // browsers act like NS4 in that they report this incorrectly.    if (!img.complete) {        return false;    }    // However, they do have two very useful properties: naturalWidth and    // naturalHeight. These give the true size of the image. If it failed    // to load, either of these should be zero.    if (typeof img.naturalWidth != "undefined" && img.naturalWidth == 0) {        return false;    }    // No other way of checking: assume it's ok.    return true;}/*********** MouseOver \u00E4ndert die Hintergrundgrafik **********************/function navbgOVER( id, curImgID )   {return;	//alert("navbgOVER id=" + id + " - curImgID= " + curImgID ) ;	if (id == curImgID) return ; 	var o = document.getElementById(id);	if(o) {		o.style.backgroundColor = SubnavOver ;	}}function navbgOUT( id, curImgID )   {return;	if (id == curImgID) return ; 	var o = document.getElementById(id);	if(o) {		o.style.backgroundColor = SubnavOut ;	}}/*********** MouseOver \u00E4ndert die Hintergrundfarbe **********************/function navOVER( id, curImgID )   {	//alert("navOVER id=" + id + " - curImgID= " + curImgID ) ;	if (id == curImgID) return ; 	var o = document.getElementById(id);	if(o) {		o.style.backgroundColor = SubnavOver ;	}}function navOUT( id, curImgID )   {	if (id == curImgID) return ; 	var o = document.getElementById(id);	if(o) {		o.style.backgroundColor = SubnavOut ;	}}/*********** Verk\u00FCrzter Aufruf von imgOVER + imgOUT **********************/function rOVER( imgName )   {//alert(imgName);	imgOVER( '', imgName, "" , '' ) ;}function rOUT( imgName )   {	imgOUT( '', imgName, '', '' ) ;}function imgOVER( lyrname, imgName, resName, curImgName )   {if (imgName == curImgName) return ; if (imgName == "" ) return ;// Je nach Browser den ImageContainer definierenvar tmpdoc = document;		for( var i=0; i<tmpdoc.images.length ; i++) {			if( (tmpdoc.images[i].name.indexOf( imgName ) != -1))  { 				//var ssrc = ThisDBurl + "/" + resName + "H.gif" ;				//alert(tmpdoc.images[i].src);				var ssrc = replacestring( tmpdoc.images[i].src, "L.gif","H.gif", false);				tmpdoc.images[i].src= ssrc;				return			}; 		}}function imgOUT( lyrname, imgName, resName, curImgName )   {if (imgName == curImgName) return ; if (imgName == "" ) return ;// Je nach Browser den ImageContainer definierenvar tmpdoc = document;		for(var i=0;i<tmpdoc.images.length ;i++) {			if( (tmpdoc.images[i].name.indexOf( imgName ) != -1))  { 				//var ssrc = ThisDBurl + "/" + resName + "L.gif" ;				var ssrc = replacestring( tmpdoc.images[i].src, "H.gif","L.gif", false);								tmpdoc.images[i].src= ssrc;				return			}; 		}}function strLeft(inpStr, divider ) {var inp = inpStr;i = inp.indexOf( divider )if (i < 0 ) {				// Divider nicht gefunden//	return inpStr ;	return "" ;}else {					// Divider gefunden	return inp.substring(0,i);		 // von Anfang bis Divider}}function strLeftBack(inpStr, divider ) {var inp = inpStr;i = inp.lastIndexOf( divider )if (i < 0 ) {				// Divider nicht gefunden//	return inpStr ;	return "" ;}else {					// Divider gefunden	return inp.substring(0,i);		 // von Anfang bis Divider}}function strRight(inpStr, divider ) {var inp = inpStr;i = inp.indexOf( divider )if (i < 0 ) {				// Divider nicht gefunden//	return inpStr ;	return "" ;}else {					// Divider gefunden	return inp.substring(i+divider.length);		 // von Divider bis Ende}}function strRightBack(inpStr, divider ) {var inp = inpStr;i = inp.lastIndexOf( divider )if (i < 0 ) {				// Divider nicht gefunden//	return inpStr ;	return "" ;}else {					// Divider gefunden	return inp.substring(i+1);		 // von Divider bis Ende}}function right(inpStr, pos ) {var inp = inpStr;if (pos >= inp.length ) {	return inpStr ;}else {	startpos = inp.length - pos ;	return inp.substring(startpos );		 // von Divider bis Ende}}function left(inpStr, pos ) {var inp = inpStr;if (pos >= inp.length ) {	return inpStr ;}else {	return inp.substring(0,pos);		 // von Anfang bis Divider}}function replacestring(str_normal,str_find,str_replace,int_case_insensitive) {	return replaceSubstring(str_normal,str_find,str_replace,int_case_insensitive);	}function replaceSubstring(str_normal,str_find,str_replace,int_case_insensitive) {	if (arguments.length<3 || str_find=="" || str_normal=="" || typeof("".split)!="function")		return(str_normal);	//no parm means default, "case INSENSITIVE"...	if ( int_case_insensitive == null || int_case_insensitive == "" ) {int_case_insensitive =true}		if(!(int_case_insensitive))		return(str_normal.split(str_find)).join(str_replace);	str_find=str_find.toLowerCase();	var rv="";	var ix=str_normal.toLowerCase().indexOf(str_find);	while(ix>-1)	{		rv+=str_normal.substring(0,ix)+str_replace;		str_normal=str_normal.substring(ix+str_find.length);		ix=str_normal.toLowerCase().indexOf(str_find);	};	return(rv+str_normal);}function isDate(dtStr){//alert("isDate");	// Declaring valid date character, minimum year and maximum year	var thisDate = new Date();	var thisYear = thisDate.getFullYear();	//alert(thisDate);	//alert(thisYear);	var dtCh= ".";	var minYear=thisYear;	var maxYear=2200;	var daysInMonth = DaysArray(12)	var pos1=dtStr.indexOf(dtCh)	var pos2=dtStr.indexOf(dtCh,pos1+1)	var strDay=dtStr.substring(0,pos1)	var strMonth=dtStr.substring(pos1+1,pos2)	var strYear=dtStr.substring(pos2+1)	if ( strYear.length == 2) { strYear = "20" + strYear;}		strYr=strYear	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)	for (var i = 1; i <= 3; i++) {		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)	}	month=parseInt(strMonth)	day=parseInt(strDay)	year=parseInt(strYr)	if (pos1==-1 || pos2==-1){//		alert("Bitte beachten Sie das Datumsformat: dd.mm.yyyy")		return false	}	if (month<1 || month>12){//		alert("Please enter a valid month")		return false	}		if (day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){//		alert("Please enter a valid day")		return false	}		if (strYear.length != 4 || year==0 || year<minYear){		//alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)		alert("Bitte geben Sie ein Datum nach dem 01.01." + minYear + " ein.\n" + "-" + dtStr + "-")		return false	}	if ( year>maxYear){		alert("Bitte geben Sie ein Datum vor dem 01.01." + maxYear + " ein.\n" + "-" + dtStr + "-")		return false	}		if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){//		alert("Please enter a valid date")		return false	}return true}function isInteger(s){	var i;    for (var i = 0; i < s.length; i++){           // Check that current character is number.        var c = s.charAt(i);        if (((c < "0") || (c > "9"))) return false;    }    // All characters are numbers.    return true;}function isNumber(s){	var inp = replacestring( s,",",".");	if ( isNaN(Number(inp)) ) { return false;}	return true;}function daysInFebruary (year){	// February has 29 days in any year evenly divisible by four,    // EXCEPT for centurial years which are not also divisible by 400.    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );}function DaysArray(n) {	for (var i = 1; i <= n; i++) {		this[i] = 31		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}		if (i==2) {this[i] = 29}   }    return this}/*******************************************************************/function GetThisDBurl() {str = window.location.href;xstr = str.toLowerCase();x = xstr.indexOf( ".nsf" )if (x < 0 ) {	res = "/"}else {	res=str.substring(0,x+4)  	 // von Anfang bis .nsf	x = res.indexOf( "@" );				// Login-Info aus URL entfernen	if (x > 0 ) {		res = "http://" + res.substring(x+1,200)  	}}return res}function GetThisDBdir() {str = window.location.pathname ;xstr = str.toLowerCase();x = xstr.indexOf( ".nsf" )if (x < 0 ) {	res = "/"}else {	res=str.substring(0,x) ; 	 	// alles links von .nsf	x = res.lastIndexOf( "/" ) ;	res=res.substring(0,x+1) ; 	 // alles incl. letztem slash}return res}function GetThisDBurlRel() {var x = 0 ;var y = 0 ;str = window.location.pathname ;xstr = str.toLowerCase();x = xstr.indexOf( ".nsf" )if (x < 0 ) {	res = "/"}else {	res=str.substring(0,x+4) ; 	 	// alles incl .nsf	y = res.indexOf( "/" ) ;	res=res.substring(y,200) ; 	 // alles incl. letztem slash}return res}function GetDBdir(str) {xstr = str.toLowerCase();x = xstr.indexOf( ".nsf" )if (x < 0 ) {	res = "/"}else {	res=str.substring(0,x) ; 	 	// alles links von .nsf	x = res.lastIndexOf( "/" ) ;	res=res.substring(0,x+1) ; 	 // alles incl. letztem slash}return res}// COOKIES ######################################## ANFANGfunction setCookie(name, value, expires, path, domain, secure) {document.cookie = name + "=" + escape(value) +((expires) ? "; expires=" + expires : "") +((path) ? "; path=" + path : "") +((domain) ? "; domain=" + domain : "") +((secure) ? "; secure" : "");}function getCookie(Name) {//alert("document.cookie=" + document.cookie );var search = Name + "=";var RetStr = null;var offset = 0;var end = 0;offset = (document.cookie.indexOf(search));if (offset != -1) {offset += search.length;end = document.cookie.indexOf(";", offset);if (end == -1) {end = document.cookie.length;}RetStr = unescape(document.cookie.substring(offset, end));}if (RetStr == null) RetStr = "";return (RetStr);}function delCookie(Name) {expires = new Date();expires.setTime (expires.getTime());expDate = expires.toGMTString();		setCookie(Name,"", expDate, "/" );}function WriteUserData()  {var ThisForm = document.forms[0];var never = new Date()never.setTime(never.getTime() + 2000*24*60*60*1000);var expString = never.toGMTString();var expires = expString;var path = "/";var domain = "";var secure = "";// Felder im Array definierenvar Felder = new Array("ASP","EMail","Tel","Ressort","KSt","Title","FirstName","LastName", "PN");var CookieNames = new Array();	for (i=0; i < Felder.length; ++i) {CookieNames[i] = Felder[i]	;	// Namen der Cookies festlegen}var count = 0;for (var i=0; i < Felder.length; ++i)					// Durch die Felder schleifen{		if ( eval('ThisForm.' + Felder[i] ) ) 			// Gibt es das Feld auf der Form?	{		CookieVal = eval('ThisForm.' + Felder[i] + '.value');				// window.status = "Setze: " + CookieNames[i] + " = " + CookieVal;		setCookie(CookieNames[i],CookieVal,expires,path,domain,secure)	} ;} return }function ReadUserData(force)  {	//alert("ReadUserData");	if(force == null ) force = false ;		var ThisForm = document.forms[0];	// Felder im Array definieren	var Felder = new Array("ASP","EMail","Tel","Ressort","KSt","Title","FirstName","LastName","PN");	CookieNames = new Array();	for (i=0; i < Felder.length; ++i){		// Namen der Cookies festlegen		CookieNames[i] = Felder[i];		//alert(CookieNames[i]);	}	//alert("hier Felder.length: " + Felder.length);	for (var i=0; i < Felder.length; ++i){		// Durch die Felder schleifen		// alert("i= " + i + " - " + Felder[i]);		if ( eval('ThisForm.' + Felder[i] ) ) {				// Gibt es das Feld auf der Form?			//alert("i= " + i + " - " + Felder[i]);			CookieVal = getCookie(CookieNames[i] ) ;			ThisFeld = eval( 'ThisForm.' + Felder[i] ) ;						var fldtype = ThisFeld.type.toLowerCase() ;            if ( strLeft(fldtype,"-") == "select" ){            	fldtype = "select" ;			}			//alert(ThisFeld.id + " - " + fldtype );			if( fldtype == "select") {								setSelect(ThisFeld, CookieVal );			}			else {				ThisFeld.value = CookieVal ;			}		}	}}// COOKIES ######################################## ENDEfunction ValidateEmail (emailStr) {/* Pattern to check if the entered e-mail address fits the user@domain format. */var emailPat=/^(.+)@(.+)$//* Pattern to check for special characters we don't want, including ( ) < > @ , ; : \ " . [ ] */var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"/* The following string represents the range of characters allowed in a username or domainname */var validChars="\[^\\s" + specialChars + "\]"/* The following pattern applies if the "user" is a quoted string, E.g. "jiminy cricket"@disney.com */var quotedUser="(\"[^\"]*\")"/* Pattern for domains that are IP addresses, rather than symbolic names. E.g. joe@[123.124.233.4] is a legal e-mail address. NOTE: The square brackets are required. */var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$//* The following string represents an atom (basically a series of non-special characters.) */var atom=validChars + '+'/* The following string represents one word in the typical username. For example, in john.doe@themorgue.hell, john and doe are words */var word="(" + atom + "|" + quotedUser + ")"// The following pattern describes the structure of the uservar userPat=new RegExp("^" + word + "(\\." + word + ")*$")/* The following pattern describes the structure of a normal symbolic domain, as opposed to ipDomainPat, shown above. */var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")/* Finally, let's start trying to figure out if the supplied address is valid. *//* Begin with the coarse pattern to simply break up user@domain into different pieces that are easy to analyze. */var matchArray=emailStr.match(emailPat)if (matchArray==null) {/* Too many/few @'s or something; basically, this address doesn't even fit the general mould of a valid e-mail address. *///alert("Email address seems incorrect (check @ and .'s)")return false}var user=matchArray[1]var domain=matchArray[2]// See if "user" is valid if (user.match(userPat)==null) {// user is not valid// alert("The username doesn't seem to be valid.")return false}/* if the e-mail address is at an IP address make sure the IP address is valid. */var IPArray=domain.match(ipDomainPat)if (IPArray!=null) {// this is an IP addressfor (var i=1;i<=4;i++) {if (IPArray[i]>255) {// alert("Destination IP address is invalid!")return false}}return true}// Domain is symbolic namevar domainArray=domain.match(domainPat)if (domainArray==null) {// alert("The domain name doesn't seem to be valid.")return false}/* domain name seems valid, but now make sure that it ends in a four-letter word (like com, edu, gov, info, shop) or a two-letter word, representing country (uk, nl), and that there's a hostname preceding the domain or country. *//* Now we need to break up the domain to get a count of how many atoms it consists of. */var atomPat=new RegExp(atom,"g")var domArr=domain.match(atomPat)var len=domArr.lengthif (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>4) {// the address must end in a two letter or four letter word.// alert("The address must end in a three-letter domain, or two letter country.")return false}// Make sure there's a host name preceding the domain.if (len<2) {var errStr="This address is missing a hostname!"// alert(errStr)return false}// If we've gotten this far, everything's valid!// alert(emailStr + ' seems to be a valid address!');return true;}function checkKey(e,pattern) {	var kcode = (e.keyCode)? e.keyCode : e.charCode;	var result = pattern.test(String.fromCharCode(kcode)); 	return(result);}function urlParser( name ) {		name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");	var regexS = "[\\?&]"+name+"=([^&#]*)";	var regex = new RegExp( regexS );	var results = regex.exec( window.location.href );	if( results == null )		return "";	else		return results[1];}/*******************************Popups***********************************************************/function openPopupAll( url, width, height, winName ) {  var width = (width)? width : 560 ;var height = (height)? height : 560 ;var winname = (winName)? winName : 'NewPopup' ;var OptionString ='left=20,top=20,status,location=yes,menubar=yes,toolbar=yes, scrollbars=yes,resizable=yes,' + 'width=' + width + ',height=' + height   ;dlgwin = window.open(url, winName , OptionString ) ;window.setTimeout("dlgwin.focus()", 50);}function openPopup( url, width, height, winName ) {  var width = (width)? width : 560 ;var height = (height)? height : 560 ;var winname = (winName)? winName : 'NewPopup' ;var OptionString ='left=20,top=20,location=no,menubar=no,scrollbars=yes,resizable=yes,' + 'width=' + width + ',height=' + height   ;dlgwin = window.open(url, winName , OptionString ) ;window.setTimeout("dlgwin.focus()", 50);}function openPopup1( url, width, height, winName ) {  var width = (width)? width : 560 ;var height = (height)? height : 560 ;var winname = (winName)? winName : 'NewPopup' ;var OptionString ='left=20,top=20,location=no,menubar=yes,scrollbars=yes,resizable=yes,' + 'width=' + width + ',height=' + height   ;dlgwin = window.open(url, winName , OptionString ) ;window.setTimeout("dlgwin.focus()", 50);}function openPopup0( url, width, height, winName ) {  var width = (width)? width : 560 ;var height = (height)? height : 560 ;var winname = (winName)? winName : 'NewPopup' ;var OptionString ='left=200,top=200,location=no,menubar=no,scrollbars=no,resizable=no,' + 'width=' + width + ',height=' + height   ;dlgwin = window.open(url, winName , OptionString ) ;window.setTimeout("dlgwin.focus()", 50);}function openPopupMax( url, winName ) {  //alert("screen.width=" +  screen.width);//alert("screen.height=" +  screen.height);var width = screen.width -40 ;var height = screen.height - 200 ;//alert("height=" +  height);var winname = (winName)? winName : 'NewPopup' ;var OptionString ='left=0,top=0,status,location=yes,menubar=yes,toolbar=yes, scrollbars=yes,width=' + width + ',height=' + height  + ',resizable=yes' ;dlgwin = window.open(url, winname , OptionString ) ;window.setTimeout("dlgwin.focus()", 50);}
