function toggleLayerOld( whichLayer ) {
	var elem, vis;
	if( document.getElementById ) // this is the way the standards work
		elem = document.getElementById( whichLayer );
	else if( document.all ) // this is the way old msie versions work
		elem = document.all[whichLayer];
	else if( document.layers ) // this is the way nn4 works
		elem = document.layers[whichLayer];
	vis = elem.style;
	// if the style.display value is blank we try to figure it out here
	if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined)
		vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none';
	vis.display = (vis.display==''||vis.display=='block')?'none':'block';
}

function toggleLayer( whichLayer ) {
	var elem, vis;
	if( document.getElementById ) { // this is the way the standards work
		elem = document.getElementById( whichLayer );
	} else if( document.all ) // this is the way old msie versions work
		elem = document.all[whichLayer];
	else if( document.layers ) // this is the way nn4 works
		elem = document.layers[whichLayer];
	vis = elem.style;
	//alert('Display: ' + vis.display);
	// if the style.display value is blank we try to figure it out here
	if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined)
		vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none';
	vis.display = (vis.display==''||vis.display=='none')?'block':'none';
}


function toggleallcheckboxes(theform, cbname) {
	var state = "?";
	// return "yo!";
	
	frme = theform.elements;
	for (j = 0; j < frme.length; j++) {
		//s = s + ";" + frme[j].name + "/" + frme[j].type;
		if ((frme[j].type == "checkbox") && ((cbname=="") || (frme[j].name==cbname))) {
			if (state == "?")
				state = frme[j].checked ? "f" : "t";
			frme[j].checked = (state == "t");
		}
	}
	return (state=="t" ? "Uncheck all" : "Check all");
	
}

	function openFrameless() {
		var windowW=214 // wide
		var windowH=398 // high
		var windowX = 260 // from left
		var windowY = 100 // from top
		var urlPop = "/monitor-popup.php?refresh=77"
		var title =  "This Is A Frameless Popup Window"
		// set this to true if the popup should close
		// upon leaving the launching page; else, false
		var autoclose = false
		// do not edit below this line
		s = "width="+windowW+",height="+windowH;
		var beIE = document.all?true:false

		NFW = window.open(urlPop,"popFrameless","scrollbars,"+s);
		NFW.blur();
		window.focus();
		NFW.resizeTo(windowW,windowH);
		// NFW.moveTo(windowX,windowY);
		
		NFW.focus();
		if (autoclose) {
			window.onunload = function(){NFW.close();}
		}
	}





// Search Box Fix code

function detect() {
	// simplify things
	var agent 	= navigator.userAgent.toLowerCase();
	
	// detect platform
	this.isMac		= (agent.indexOf('mac') != -1);
	this.isWin		= (agent.indexOf('win') != -1);
	this.isWin2k	= (this.isWin && (
			agent.indexOf('nt 5') != -1));
	this.isWinSP2	= (this.isWin && (
			agent.indexOf('xp') != -1 || 
			agent.indexOf('sv1') != -1));
	this.isOther	= (
			agent.indexOf('unix') != -1 || 
			agent.indexOf('sunos') != -1 || 
			agent.indexOf('bsd') != -1 ||
			agent.indexOf('x11') != -1 || 
			agent.indexOf('linux') != -1);
	
	// detect browser
	this.isSafari	= (agent.indexOf('safari') != -1);
	this.isSafari2 = (this.isSafari && (parseFloat(agent.substring(agent.indexOf("applewebkit/")+"applewebkit/".length,agent.length).substring(0,agent.substring(agent.indexOf("applewebkit/")+"applewebkit/".length,agent.length).indexOf(' '))) >=  300));
	this.isOpera	= (agent.indexOf('opera') != -1);
	this.isNN		= (agent.indexOf('netscape') != -1);
	this.isIE		= (agent.indexOf('msie') != -1);
}

function $() {
	var aElems = [];
	for (var i=0; i<arguments.length; i++) {
		var soElem = arguments[i];
		if (typeof soElem == 'string') soElem = document.getElementById(soElem);
		if (arguments.length == 1) return soElem;
		aElems.push(soElem);
	}
	return aElems;
}

function $t(sTag,oObj) {
	oObj = oObj || document;
	return oObj.getElementsByTagName(sTag);
}

function $c(sClass,oObj,sTag) {
	oObj = oObj || document;
	if (!oObj.length) { oObj = [oObj]; }
	var aElements = [];
	for(var i = 0; i<oObj.length; i++) {
		oEl = oObj[i];
		if(oEl.getElementsByTagName) {
			oObj.children = oEl.getElementsByTagName(sTag || '*');
			for (var j = 0; j<oObj.children.length; j++) {
				oObj.child = oObj.children[j];
				if(oObj.child.className&&(new RegExp('\\b'+sClass+'\\b').test(oObj.child.className))) {
					aElements.push(oObj.child);
				}
			}
		}
	}
	return aElements;
}

function SearchBoxFix(inputId, imageClass) {
	var browser = new detect();
	var str = "Search ADC";
	var input = document.getElementById(inputId);
	if (!browser.isSafari2) {
		input.value=str;
		input.onfocus = function() {
			input.value="";
			input.style.color="#000";
		};
	}
	if (browser.isSafari2) { 
		input.style.fontSize = '12px';
		input.style.width = input.offsetWidth+28+'px';
	}
	if (browser.isIE) input.style.margin = '0 0 -1px 0';

	var images = $c(imageClass);
	for (var i=0; i<images.length; i++) {
		if (browser.isSafari2) {
			images[i].style.display = 'none';
		}
	}
}


// Der folgende Code hilft dabei, in der Benutzerverwaltung ein Verfalls-Datum per
// Mausklick zu setzen.

// Beispiel-Aufruf:
//   <a href="#" onClick="setExpireDate('expirests',0);">heute</a>
// 'expirests' ist die ID des Textfeldes.

function formatNumber(num, digits) {
	var result = num.toString();
	while (result.length < digits) {
		result = "0" + result;
	}
	
	return result;
}

function dateToSql(d) {
	var result;
	result = formatNumber(d.getFullYear(), 4) + "-" + formatNumber(d.getMonth()+1, 2) + "-" + formatNumber(d.getDate(), 2);
	result = result + " " + formatNumber(d.getHours(), 2) + ":" + formatNumber(d.getMinutes(), 2) + ":" + formatNumber(d.getSeconds(), 2);
	return result;
}
		


function setExpireDate(fieldId,expireTimeFlag) {
	var theField = document.getElementById(fieldId);
	var targetDate = new Date();

	switch (expireTimeFlag) {
		case 0:
			// sofort
			// targetDate belassen - ist bereits "sofort"
			break;
		case 1:
			// heute, Mitternacht
			targetDate.setHours(23, 59, 59, 0);
			break;
		case 2:
			// eine Woche
			targetDate.setDate(targetDate.getDate() + 7);
			targetDate.setHours(23, 59, 59, 0);
			break;
		case 3:
			// Monatsende
			targetDate.setDate(1); // avoid overflow
			targetDate.setMonth(targetDate.getMonth() + 1);
			targetDate.setDate(0);
			targetDate.setHours(23, 59, 59, 0);
			break;
		case 4:
			// Jahresende
			targetDate.setMonth(11);
			targetDate.setDate(31);
			targetDate.setHours(23, 59, 59, 0);
			break;
		default:
			alert("Ungültiges Verfallskennzeichen: " + expireTimeFlag);
			return;
	}
	
	var output = dateToSql(targetDate);

	theField.value = output;
	//theField.value = targetDate.toLocaleFormat("%F %T");
	
}



function predict_blattnr(whichfield, lastfield) {
	if (lastfield && whichfield && (whichfield.value == '')) {
		var strval = lastfield.value;
		if (strval) {
			var numeric_value = parseInt(strval);
			numeric_value++; 
			var result = numeric_value.toFixed(0);
			whichfield.value = result;
		}
	}
	
}
