// Buxfix to prevent more than one calendars after another
startcal_loaded = false;
searchmaskeditcal_loaded = false;

 function toogleDisplay(id, style) {
  document.getElementById(id).style.display = style;
 }

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function showHide(layer) {
  var obj;
  if ((obj=MM_findObj(layer))!=null && obj.style) {
	  if(obj.style.display=='none') obj.style.display='block';
	  else obj.style.display='none';
} }

function showHideFade(layer) {
	$(layer).slideToggle('slow');
}

 function showHelp(Ereignis) {
 	var help = document.getElementById("help");
 	if(!Ereignis)
	 	Ereignis=window.event;
	var target = Ereignis.srcElement ? Ereignis.srcElement.id : Ereignis.target.id;
	help.innerHTML = document.getElementById(target).title;
	document.getElementById(target).title = '';
 	help.style.display='block';
 	var y = getTop(document.getElementById(target));
 	var x = getLeft(document.getElementById(target));
 	if (document.all) { help.style.top = y;}
 	else { help.style.top=y+'px'; }
 	if (document.all) { help.style.left = x+15;}
 	else { help.style.left=(x+15)+'px'; }
 }

function getLeft(l) {
  if (l.offsetParent) return (l.offsetLeft + getLeft(l.offsetParent));
  else return (l.offsetLeft);
}

function getTop(l){
  if (l.offsetParent) return (l.offsetTop + getTop(l.offsetParent));
  else return (l.offsetTop);
}

 function hideHelp(Ereignis) {
 	if(!Ereignis)
	 	Ereignis=window.event;
	var target = Ereignis.srcElement ? Ereignis.srcElement.id : Ereignis.target.id;
 	var help = document.getElementById("help");
 	document.getElementById(target).title = help.innerHTML;
 	help.style.display='none';
 }

 function addEvent(Element) {
 	Element = document.getElementById(Element);
	if(Element) {
		Element.onmouseover	= showHelp;
		Element.onmouseout	= hideHelp;
 	}

 }

 function getBrowser() {

	if(document.ids)x='nc4';
	else if( document.all && !document.getElementById )x='IE4';
	else if( window.opera && !document.createElement )x='op5';
	else if( window.opera && window.getComputedStyle )  {
		if(document.createRange)x='op8';
	    else if(window.navigate)x='op7.5';
	    else x='op7.2';
	}
	else if( window.opera && document.compatMode )x='op7';
	else if( window.opera && document.releaseEvents )x='op6';
	else if( document.contains && !window.opera )x='kq3';
	else if(window.pkcs11&&window.XML)x='f15';
	else if( window.getSelection && window.atob )x='nn7';
	else if( window.getSelection && !document.compatMode )x='nn6';
	else if( window.clipboardData && document.compatMode )
		x=window.XMLHttpRequest? 'IE7' : 'IE6';
	else if( window.clipboardData ){
		 x='IE5';
	     if( !document.createDocumentFragment ) x+='.5';
	     if( document.doctype && !window.print ) x+='m';
	}
	else if( document.getElementById && !document.all ) x='op4';
	else if( document.images && !document.all ) x='nn3';
	else if(document.clientWidth&&!window.RegExp)x='kq2';
	else x='???';
	return x;
 }

 function checkBrowser(state) {
 	var browser = getBrowser();

    if(browser.substring(0,2) == "IE" && parseInt(browser.substring(2,3)) < 7) {
	    var el = document.getElementsByTagName("select");
	    for (var i=0;i<el.length;i++) {
	    	el[i].style.visibility = state;
	    }
	}

 }

 function getElementsByClassName(clsName,htmltag){
	var arr = new Array();
	var elems = document.getElementsByTagName(htmltag);
	for ( var cls, i = 0; ( elem = elems[i] ); i++ ){
		if ( elem.className == clsName ){
			arr[arr.length] = elem;
		}
	}
	return arr;
 }

 function popUp(uri, x, y) {
  var wnd = window.open(uri,'_blank', 'width='+x+', height='+y+', dependent=yes,locationbar=false, menubar=false, personalbar=false, statusbar=false, toolbar=false, scrollbars=yes');
  wnd.focus();
 }

 function helpwindow() {
  helpwndow=open("./hilfe.php",
                 "Hilfe",
                 "Height=500,Width=600,locationbar=false,menubar=false,personalbar=false,statusbar=false,toolbar=false,scrollbars=yes")
 }

 function valid_number(Feld) {
  for(var i=0;i<Feld.value.length;++i)
   if(Feld.value > 1000) {
    alert ("Ein Preis von über 1000 EUR ist sehr unrealistisch!");
    Feld.select
    Feld.focus
    Feld.value = 0;
    return
   } else if(isNaN(Feld.value.charAt(i)) && Feld.value.charAt(i) != ",") {
    alert ("Sie müssen eine Dezimalzahl oder eine ganze Zahl als Preis eingeben!");
    Feld.select
    Feld.focus
    Feld.value = 0;
    return
  } else { return }

 }

 function addLineChange(e) {
 	var el = document.getElementById(e).getElementsByTagName('tbody')[0].getElementsByTagName('tr');
 	for (var i=0;i<el.length;i++) {
 		el[i].onmouseover = function(evt) { this.style.backgroundColor='#ffffcc'; }
 		el[i].onmouseout = function(evt) { this.style.backgroundColor=this.bgColor; }
 	}
 }

 function checkboxCheckAll(id,reference) {
 	var frmElements = document.getElementById(id).getElementsByTagName('input');
 	for (var i=0;frmElements.length;i++) {
 		if(frmElements[i].name=='PK_ID[]') {
 			frmElements[i].checked = !reference.checked ? '' : 'checked';
 		}
 	}
 }

// uses the two functions below to validate and split the time into two fields
function doTimeCheck(field, copy) {
	if(field.value != "") {
		var time = validateTime(field);
		if(time != false) {
			field.value = time;
			if(copy) splitCopy(time, 'abstd', 'abmin');
		} else {
			alert('Ungültige Zeit! Bitte geben Sie die Zeit in dem Format HH:MM an.');
			field.focus();
			field.select();
		}
	}
}

// validates the time format in input field and rounds it for 5 minute steps
function validateTime(field) {
   var tmptime = field.value.split(":");
   if(tmptime[0].substr(0,1) == '0') var hour = tmptime[0].substr(1,1);
   else var hour = tmptime[0];
   var minute = parseInt(tmptime[1]);
   if(isNaN(hour) || isNaN(minute))
      return false;
   if(hour < 0 || hour > 23)
      return false;
   if(minute < 0 || minute > 59)
      return false;
   var roundminute = minute%5;
   if(roundminute > 2) minute = minute + ( 5-roundminute);
   else minute = minute - roundminute;
   if(hour < 10) hour = '0' + String(hour);
   if(minute < 10) minute = '0' + String(minute);
   return hour + ':' + minute;
}

// copies the time into two input fields for std and min
function splitCopy(time, target1, target2) {
   var tmptime = time.split(":");
   MM_findObj(target1).value = tmptime[0];
   MM_findObj(target2).value = tmptime[1];
}

// activates the specific time field and inserts 'defaultvalue'
function activateAbFld(fieldname, defaultvalue) {
	var obj = MM_findObj(fieldname);
	obj.disabled = false;
	obj.style.color = '#000000';
	obj.style.backgroundColor = '#FFFFFF';
	obj.value = defaultvalue;
	//obj.focus();
}
function deactivateAbFld(fieldname, value) {
	var obj = MM_findObj(fieldname);
	obj.blur();
	obj.disabled = true;
	obj.style.color = '#999999';
	obj.style.backgroundColor = '#F0F0F0';
	obj.value = value;
}

// checks a checkbox
function checkField(fieldname) {
	var obj = MM_findObj(fieldname);
	obj.checked = true;
}
function uncheckField(fieldname) {
	var obj = MM_findObj(fieldname);
	obj.checked = false;
}
