// ording.js

var oeaktiv = false;	// indikator für aktiven prozess
var oeprocs = 0;			// anzahl laufender requests / procs
var aktanzeige;				// div für die Anzeige des busy-states

var mem_buf;

function busy() {
	while(oeaktiv) {
		window.status="working ... " + oeprocs + " processes waiting ...";
		//alert('oha');
	}
	return; // hier landen wir, wenn oeaktiv wieder auf false gesetzt wurde.
}

function oebusy() {
	oeaktiv = true;
	if(typeof dd!='undefined')
		dd.elements['messageContainer'].show();
		if(typeof aktanzeige!='undefined') {
			aktanzeige.style.visibility='visible';
		} else {
			if(typeof opener.aktanzeige!='undefined')
				opener.aktanzeige.style.visibility='visible';
		}
}

function oeready() {
	oeaktiv = false;
		if(typeof aktanzeige!='undefined') {
			aktanzeige.style.visibility='hidden';
		} else {
			if(typeof opener.aktanzeige!='undefined')
				opener.aktanzeige.style.visibility='hidden';
		}
}

function kalkulation(obj,provisionprozent,buchungspauschale) {
		var t = obj.parentNode.parentNode.parentNode;
		//alert(t.innerHTML);
		var row = t.childNodes;
		var sum = 0;
		var psum = 0;
		var kur = 0;
		var is_pausch = 0;
		//var anzsum = 0;
			for(i=1; i< row.length-2; i++) {
				if(row[i].getAttribute('bgcolor') > '') // ersetzte Basisleistungen nicht beruecksichtigen
					continue;
				var col= row[i].childNodes;
				if(col[0].innerHTML != '') {
					if(col[0].firstChild.type == 'checkbox') {
						if(col[0].firstChild.checked) {
							col[3].innerHTML = col[4].innerHTML;
							col[5].innerHTML = col[6].innerHTML;
						} else {
							col[3].innerHTML = '0.00';
							col[5].innerHTML = '0.00';
						}
					}
				}
				sum += col[3].innerHTML * 1;
				if(col[7].innerHTML == '0') {// prio 0 bezeichnet Pauschalen Pauschal-ID-Eintrag
					is_pausch = 1;
				}
				
				if(col[5])
					psum += col[5].innerHTML * 1;
				if(col[7].innerHTML == '10') {// prio 10 bezeichnet die Kurabgabe
					kur += col[3].innerHTML * 1;
				}
			}
			var felder = row[row.length-2].childNodes;
			var fsum= Math.round(sum *100)/100;
			var fpsum= Math.round(psum *100)/100;
			//felder[3].innerHTML = Math.round(sum *100)/100;
			//felder[5].innerHTML = Math.round(psum *100)/100;
			fsum -= kur; //kurabgabe von Summe abziehen
			felder[3].innerHTML = fsum.toFixed(2);
			felder[5].innerHTML = fpsum.toFixed(2);
			felder = row[row.length-1].childNodes;
			//felder[3].innerHTML = Math.round((psum * provisionprozent )/100 + buchungspauschale);
			//var anzlg = Math.round((psum + buchungspauschale) * 20 ) / 100 ;
			if(is_pausch == 1) {
				var anzlg = Math.round(fsum * 20 ) / 100 ;
			} else {
				var anzlg = Math.round(psum * 20 ) / 100 ;
			}
			felder[3].innerHTML = anzlg.toFixed(2);
}

function deactivate_button(titel) {
	buttons = document.getElementsByTagName('button');
	for (var i = 0; i < buttons.length; ++i) {
		if(buttons[i].getAttribute('title') == titel)
			buttons[i].className='';
	}
}

function node_deactivate_button(knopf) {
	buttons = knopf.parentNode.getElementsByTagName('button');
	for (var i = 0; i < buttons.length; ++i) {
		//if(buttons[i].getAttribute('title') == titel)
			buttons[i].className='';
	}
	knopf.className = 'aktiv';
}



if(window.XMLHttpRequest && !(window.ActiveXObject)) {
    	try {
			fox = new XMLHttpRequest();
        } catch(e) {
			fox = false;
        }
    // branch for IE/Windows ActiveX version
    } else if(window.ActiveXObject) {
       	try {
        	fox = new ActiveXObject("Msxml2.XMLHTTP");
      	} catch(e) {
        	try {
          		fox = new ActiveXObject("Microsoft.XMLHTTP");
        	} catch(e) {
          		fox = false;
        	}
		}
}

/////---------------------------------------------------- RETURNTEXT wird überprüft ob es Javascript enthält , wenn ja dann wird er ausgeführt ---- START
function replaceAll(s, regx, replace){ 
  while(s.search(regx) > -1){
    s = s.replace(regx, replace);
  }
  return s;
}

function fw_AjaxParseJS(responseText){
  var code = "";
  responseText = replaceAll(responseText, "/<SCRIPT/", "<script");
  responseText = replaceAll(responseText, "/</SCRIPT/", "</script");
  while(responseText.length > 0){    
    var p = responseText.indexOf("\<script");
    if(p > -1){  
      responseText = responseText.substring(p, responseText.length);
      p = responseText.indexOf("\>");
      if(p > -1){
        responseText = responseText.substring(p+1, responseText.length);
        p = responseText.indexOf("\<\/script\>");
        if(p > -1){
          code += responseText.substr(0, p);
          responseText = responseText.substring(p+9, responseText.length);
        }else{
          break;
        }
      }else{
        break;
      }
    }else{ 
      break;
    }
  }
  if(code.length == 0){ return false; }
  var ret = null;
  try{
    ret = eval(code);
  }catch(e){
    alert("AjaxParseJS Error ("+e+", "+e.message+"):\n\n"+code.substr(0,300)+"\n\n.....");
  }return ret;
}  
/////---------------------------------------------------- RETURNTEXT wird überprüft ob es Javascript enthält , wenn ja dann wird er ausgeführt ---- ENDE

function oeget(fname)
{
	geobj=document.getElementsByName(fname)[0];
	if (geobj) {
		return geobj.value;
	} else {
		return false;
	}
}

function oeput(bereich,inhalt)
{
	clrobj=document.getElementById(bereich);
       	if(clrobj)
		{
			clrobj.innerHTML=inhalt;
		}
}

function oeread(furl,buf)
{
	var source = "";
	var neu;
	//busy handling
	//busy();
	oebusy();
//	document.fo.setFile(window.location.href,inhalt+buf);
//	source = document.fo.getFile();
//	alert("oeread: "+furl+'-'+buf);
	////fox.open("GET", furl+buf, false);
	fox.open("POST", furl, false);
	//alert(buf);
	//alert(unescape(buf));
	fox.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 
	fox.send(unescape(buf));  // unescape eingef�7.7 wegen umlauten in Feldern UNICODE Karl-Franz
	//alert(enttochar(fox.responseText));
	//alert(fox.responseText);
	//fox.responseText = enttochar(fox.responseText);
	
	fw_AjaxParseJS(fox.responseText);
	source = fox.responseText;
	//alert(source);
	oeready();
	return source;
}

function oeclear(bereich)
{
	clrobj=document.getElementById(bereich);
       	if(clrobj)
		{
			clrobj.innerHTML="";
		}
}


function addslashes(str) {
str=str.replace(/\'/g,'\\\'');
str=str.replace(/\"/g,'\\"');
str=str.replace(/\\/g,'\\\\');
str=str.replace(/\0/g,'\\0');
return str;
}
function stripslashes(str) {
str=str.replace(/\\'/g,'\'');
str=str.replace(/\\"/g,'"');
str=str.replace(/\\\\/g,'\\');
str=str.replace(/\\0/g,'\0');
return str;
}


function maskfields(maske) {
		buf='';
		
		
	if(document.forms[maske]) {
		var mask = document.forms[maske];
	}	else	{
			if(opener.document.forms[maske]) {
				var mask = opener.document.forms[maske];
			}	else	{
				if(parent.opener.document.forms[maske]) {
					var mask = parent.opener.document.forms[maske];
				}
			}
	}
	
	if(!mask)	{
		alert('Dokmaske '+maske+' enthält keine Variablen');
			return;
		}
	/*
	if(!document.forms[maske]) {
		if(!opener.document.forms[maske]) {
			alert('Dokmaske '+maske+' enthält keine Variablen');
			return;
		}
	}
	*/
	
	
	//if(window.location.href.indexOf("?") == -1) {
	//	buf="?akt="+aktion;
	//} else {
//		buf="&akt="+aktion;	// wenn z.B Sprache voreingestellt ist
	//}
	//sendtext();
	
	var neu;
	for(i=0;i<mask.elements.length;i++){
		fobj=mask.elements[i];
		if(fobj.type == "text" || fobj.type == "password" || fobj.type == "select-one" || fobj.type == 'hidden' || fobj.type == 'textarea' || fobj.type == "radio" || fobj.type == "checkbox" || fobj.type == "select-multiple")	{
			fobj_value = fobj.value.replace(/&/g,"%26");
			
			//fobj.value=neu;
			
			//if(fobj.type == "text" || fobj.type == "password" || fobj.type == "select-one"|| fobj.type == "textarea")
			if(fobj.type == "text" || fobj.type == "password" || fobj.type == "select-one" || fobj.type == 'hidden' || fobj.type == 'textarea')
				if(fobj_value != ""){
					//alert(fobj.name+"="+fobj_value+"="+fobj.type);
					buf+="&"+escape(fobj.name)+"="+escape(stripslashes(addslashes(fobj_value)));
				}
			if(fobj.type == "radio" || fobj.type == "checkbox")
				if(fobj.checked){
					//alert(fobj.name+"="+fobj_value+"="+fobj.type);
					buf+="&"+escape(fobj.name)+"="+escape(fobj_value);
				}
			if(fobj.type == "select-multiple")
				for(j=0;j < fobj.length; j++)	{
					if(fobj.options[j].selected)
						buf = buf + '&' + fobj.name + '[]=' + fobj.options[j].value;
					}
		}
}
	//alert(buf);
}

function oechkmaskpflicht (maske)	{
	//alert(document.forms[maske].elements.length);
	for(i=0;i<document.forms[maske].elements.length;i++){
		fobj=document.forms[maske].elements[i];
		
		if(fobj.getAttribute('pflicht'))	{
			
			fobj_name = "";
			fobj_value = "";
			if(fobj.type == "text" || fobj.type == "password" || fobj.type == "select-one" || fobj.type == 'hidden' || fobj.type == 'textarea') {
			
				fobj_name = escape(fobj.name);
				fobj_value = escape(fobj.value);
			}
			
			if(fobj.type == "radio" || fobj.type == "checkbox")	{
				if(fobj.checked){
					fobj_name = escape(fobj.name);
					fobj_value = escape(fobj.value);
				}
			}
				//alert(fobj_name + ':' +fobj_value);
				if(fobj.getAttribute('pflicht') == 'text')	{
					if(fobj_value == '')	{
						alert('Das Feld wurde nicht richtig eingegeben');
						fobj.focus();
						return false;
					}
				}
				if(fobj.getAttribute('pflicht') == 'datum')	{
					if(fobj_value == '')	{
						alert('Das Feld wurde nicht richtig eingegeben');
						fobj.focus();
						return false;
					}
				}
					
				if(fobj.getAttribute('pflicht') == 'zahl')	{
					if(fobj_value == '')	{
						alert('Das Feld wurde nicht als Zahl eingegeben.');
						fobj.focus();
						return false;
					}
					if(!IsNumeric(fobj_value))	{
						alert('Das Feld wurde nicht als Zahl eingegeben.');
						fobj.focus();
						return false;
					}
				}	
				
				if(fobj.getAttribute('pflicht') == 'email')	{
					if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(fobj_value))	{
						return true; 
					}
					alert('Email-Adresse ist nicht korrekt eingegeben.');
					fobj.focus();
					return false;
				}
		}
	}
	return true;
}

function ClearFFields(maske) {
	for(f=0;f<document.forms[maske].elements.length; f++) {
		if (document.forms[maske].elements[f].name.slice(0,2) == "f_") {
			if (document.forms[maske].elements[f].style.backgroundColor!="yellow") //save
				if (document.forms[maske].elements[f].style.backgroundColor!="silver") //readonly
					document.forms[maske].elements[f].value = "";
		}
		//alert(document.forms[0].elements[f].value);
	}
}

function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;
   for (j = 0; j < sText.length && IsNumber == true; j++) 
   
      { 
      Char = sText.charAt(j); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;  
}

function display_year(obj, zimmer, start) {
	//alert(zimmer);
	monate = obj.getAttribute('monate');
	var today = new Date();
	if ( typeof(start) != 'undefined' ) {
		if(start != '') {
			var yyyy=start.substr(6,4);
	    var mm=start.substr(3,2);
	    var dd=start.substr(0,2);
	    var time=Date.UTC(yyyy,(mm-2),dd);
	    today.setTime(time);
	  }
	}
	if(monate < 0) {
		//alert("negativ");
		monate = 24;
		//alert(today.getYear());
		jahr = today.getYear()-1;
		if(jahr<1000) jahr+=1900;
		today.setYear(jahr);
	}
	
	for(var i=0; i< monate; i++) {
		var month = today.getMonth()+1;
		var year = today.getYear();
		var day = today.getDate();
		if(day<10) day = "0" + day;
		if(month<10) month= "0" + month;
		if(year<1000) year+=1900;
		//alert(day+"."+month+"."+year);
		display_month(day+"."+month+"."+year,obj, zimmer);
		today.setDate(1);
		today.setMonth(month * 1);
	}
	show_feiertage(obj);
	show_belegung(obj);
	show_anreisetage(obj);
}

function display_month(datum, obj, zimmer) {
		var today = new Date();
		var week = "SoMoDiMiDoFrSa";
		var yyyy=datum.substr(6,4);
    var mm=datum.substr(3,2);
    var dd=datum.substr(0,2);
		var timeObj=new Date();
    var time=Date.UTC(yyyy,(mm-1),dd);
    timeObj.setTime(time);
		monat = timeObj.getMonth();
		//alert(monat);
		tag = 1;
		mdiv = obj; 
//		mdiv.innerHTML = "";
		var sammel = "<div style=\"clear: both\" ><div style=\"float: left\" >"+mm+"."+yyyy+": </div>";
		timeObj.setDate(tag);
		bis = timeObj.getDay();
		if(bis == 0) bis = 7;
		for(i=7-bis; i<6; i++)
			sammel = sammel + "<span class=\"itddatum\" >&nbsp;</span>";
		while(timeObj.getMonth() == monat) {
			//if(timeObj.getDay() == 1) mdiv.innerHTML = mdiv.innerHTML + "<span style=\"display:table-row;\" />"
			if(tag > 9) {
				id= zimmer+"_"+tag+"."+mm+"."+yyyy;
			} else {
				id= zimmer+"_"+"0"+tag+"."+mm+"."+yyyy;
			}
			wota = timeObj.getDay();
			if(wota > 5 || wota < 1) {
				we = " we";
			} else we = "";
			sammel = sammel + "<span class=\"tddatum"+we+"\" onClick=\"do_belegung(this);\" wota=\""+week.substr(timeObj.getDay()*2,2)+"\" title=\""+week.substr(timeObj.getDay()*2,2)+", "+date2str(timeObj)+"\" id=\""+id+"\" >" +tag+"</span>";
			//tag++;
			timeObj.setDate(++tag);
		}
		//alert(sammel);
		mdiv.innerHTML = mdiv.innerHTML + sammel +"</div>";
		//document.recalc();
}

function oehide(elementname)
{
	document.getElementById(elementname).style.display='none';
}
function oeshow(elementname)
{
	document.getElementById(elementname).style.display='block';
	document.getElementById(elementname).style.visibility='visible';
}

function datklick() {
	alert('Belegung '+this.getAttribute('bel'));
}



function str2date(datum) {
	var yyyy=datum.substr(6,4);
  var mm=datum.substr(3,2);
  var dd=datum.substr(0,2);
	var timeObj=new Date();
  var time=Date.UTC(yyyy,(mm-1),dd);
  timeObj.setTime(time);
  return(timeObj);
}

function date2str(timeObj) {
	var month = timeObj.getMonth()+1;
	var year = timeObj.getYear();
	var day = timeObj.getDate();
	if(day<10) day = '0' + day;
	if(month<10) month= '0' + month;
	if(year<1000) year+=1900;
	return(day+'.'+month+'.'+year);
}



function plus_tag(datum, anz) {
	if(!anz)
		anz = 1;
	var timeObj = str2date(datum);
  timeObj.setDate(timeObj.getDate()+anz);
  return(date2str(timeObj));
}

function get_wotag (datum)	{
		arr_wotag = new Array("So", "Mo", "Di", "Mi", "Do", "Fr", "Sa");
		timeObj = str2date(datum)
		wota = timeObj.getDay();
		return arr_wotag[wota];
		
}

function show_feiertage(knoten) {
		obj = knoten; 
		var f_obj_id = '';
		while(obj.parentNode.getAttribute('f_obj_id') == null) {
			obj =obj.parentNode;
		}
		f_obj_id = obj.parentNode.getAttribute('f_obj_id',0);
		ftage = document.getElementById('feiertage').innerHTML.split(':');
		for(var i=1; i< ftage.length; i++) {
			var item = document.getElementById(f_obj_id+'_'+ftage[i]);
					if(item) {
						klasse = item.className;
						if(klasse.length == 7) {
							item.className += " we";
						}
					}
		}
}

function show_belegung(knoten) {
		obj = knoten; 
		var f_obj_id = '';
		while(obj.parentNode.getAttribute('f_obj_id') == null) {
			obj =obj.parentNode;
		}
		f_obj_id = obj.parentNode.getAttribute('f_obj_id',0);
		// alert(f_obj_id);
		// Belegungen holen
		var belegungen = obj.parentNode.getElementsByTagName('belegung');
//		alert(f_obj_id + ' ' + belegungen.length);
		for(var i=0; i< belegungen.length; i++) {
		//	if(belegungen[i].getAttribute('f_obj_id') == f_obj_id)
				bel = belegungen[i].getAttribute('mydata');
				werte = belegungen[i].getAttribute('mydata').split(':');
				art = werte[0];
				von = werte[1];
				bis = werte[2];
				ende = plus_tag(bis);		
				hinweis = werte[3];
				erw = werte[5];
				kin = werte[6];
				while(von != ende) {
					var item = document.getElementById(f_obj_id+'_'+von);
					if(item) {
						klasse = item.className;
//						item.setAttribute('onClick','alert(art+\' + \'+hinweis +\': \'+werte[1] + \' - \' + bis)');
						item.setAttribute('bel',bel);
//							item.onclick = datklick;
						if(klasse.length >10) { //tddatum und tddatum we
							//alert(klasse);
							item.className = klasse+' bel_w';
							alttitle = item.getAttribute('title');
							item.setAttribute('title','Abreise: '+alttitle+'\nAnreise: '+hinweis +': '+werte[1] + ' - ' + bis);
						} else {
							item.className = klasse+' bel_'+art;
							item.setAttribute('title',hinweis +': '+werte[1] + ' - ' + bis);
							if(von == werte[1]) {
									item.className = item.className+' bel_a';
							}
							if(von == bis) {
									item.className = item.className+' bel_z';
							}
						}
						//	alert(von + ' - ' + plus_tag(von) + '=' +klasse);
						
					} 
					von = plus_tag(von);
				} 
		}
}

function show_anreisetage(knoten) {
		obj = knoten; 
		//alert(obj);
		var f_obj_id = '';
		while(obj.parentNode.getAttribute('f_obj_id') == null) {
			obj =obj.parentNode;
		}
		f_obj_id = obj.parentNode.getAttribute('f_obj_id',0);
		// alert(f_obj_id);
		// Belegungen holen
		var anreisetage = obj.parentNode.getElementsByTagName('anreisetag');
		//alert(obj.parentNode.innerHTML);
		//alert(anreisetage.length);
		for(var i=0; i< anreisetage.length; i++) {
		//	if(anreisetage[i].getAttribute('f_obj_id') == f_obj_id)
				anreisetag_datum = anreisetage[i].getAttribute('mydata');
				 //alert(anreisetag_datum);
					var item = document.getElementById(f_obj_id+'_'+anreisetag_datum);
					if(item) {
						klasse = item.className;
							item.className = klasse+' anreisetag';
							alttitle = item.getAttribute('title');
							item.setAttribute('title',alttitle + ' ' + 'Anreisetag');
					}
		}
}


function set_bel_test(knoten, von, bis) {
		obj = knoten; 
		var f_obj_id = '';
		while(obj.parentNode.getAttribute('f_obj_id') == null) {
			obj =obj.parentNode;
		}
		f_obj_id = obj.parentNode.getAttribute('f_obj_id',0);
		ende = plus_tag(bis);
				while(von != ende) {
					var item = document.getElementById(f_obj_id+'_'+von);
					if(item) {
						klasse = item.className;
						item.className = klasse+' bel_test';
						//	alert(von + ' - ' + plus_tag(von) + '=' +klasse);
						
					} 
					von = plus_tag(von);
				} 		
}

function do_belegung(was) { // wenn auf freies Datum geklickt wird

	
	wota = was.getAttribute('wota');  // Wochentag
	merk = was.id.split('_');
	//alert(merk);
	datum = merk[1];
	f_obj_id = merk[0];
	if (document.getElementById('ed_'+f_obj_id).getAttribute('zustand') == 'r') {
		bel = was.getAttribute('bel');
		if(!bel) {
			alert('Keine Belegung ausgewaehlt - es kann nichts kalkuliert werden !');
			return;
		}
		teile = bel.split(':');
		res = oeread('berechnen.php','hinweis='+teile[3]+'&obj='+f_obj_id+'&von='+teile[1]+'&bis='+teile[2]);
		//alert(res);
		tdiv = document.getElementById('eintrag_'+f_obj_id);
		tdiv.style.display = 'block';
		oeput('eintrag_'+f_obj_id,res);

		return;
	}
	
	if (document.getElementById('ed_'+f_obj_id).getAttribute('zustand') == 'p') { // puzzle
		bel = was.getAttribute('bel');
		if(!bel) {
			alert('Keine Belegung ausgewaehlt - es kann nichts gepuzzelt werden !');
			return;
		}
		teile = bel.split(':');
		res = oeread('puzzeln.php','hinweis='+teile[3]+'&obj='+f_obj_id+'&von='+teile[1]+'&bis='+teile[2]);
		//alert(res);
		tdiv = document.getElementById('eintrag_'+f_obj_id);
		tdiv.style.display = 'block';
		oeput('puzzle_'+f_obj_id,res);
		oehide('eintrag_'+f_obj_id,res);

		return;
	}
	
	if (document.getElementById('ed_'+f_obj_id).getAttribute('zustand') == 'd') {
		// nach löschen fragen
		bel = was.getAttribute('bel');
		if(!bel) {
			alert('Keine Belegung ausgewaehlt - es kann nichts geloescht werden !');
			return;
		}
		teile = bel.split(':');
		prot = prompt('Bitte geben Sie an warum diese Belegung entfernt wird.');
		if(!prot)	{
			alert('Es muss einen Grund fuer den Entfernung angeben werden.');
			return;
		}
		Check = confirm('Wollen Sie die Belegung: '+teile[3]+ ' vom '+teile[1]+'-'+teile[2]+' wirklich entfernen ?');
		if(Check == true) {
			oeread('belegungs_prot.php','f_obj_id='+f_obj_id+'&prottext='+prot+'&von='+teile[1]+'&bis='+teile[2]+'&akt=d');
			
			res = oeread('belegung.php','delete=yes&obj='+f_obj_id+'&von='+teile[1]+'&bis='+teile[2]);
			//alert(res);
			res = oeread('uk_zimmer.php','load='+f_obj_id);
			oeput('beldetail_'+f_obj_id,res);
			div=document.getElementById('bel_'+f_obj_id); 
			div.innerHTML='';display_year(div,f_obj_id);
		}
		return;
	}
	belrow = document.getElementById('bel_'+f_obj_id);
	clear_bel_test(belrow);
	tdiv = document.getElementById('eintrag_'+f_obj_id);
	tdiv.style.display = 'block';
	tvon = document.getElementById('evon_'+f_obj_id);
	tbis = document.getElementById('ebis_'+f_obj_id);
	thin = document.getElementById('ehin_'+f_obj_id);
	tart = document.getElementById('eart_'+f_obj_id);
	terw = document.getElementById('eerw_'+f_obj_id);
	tkin = document.getElementById('ekin_'+f_obj_id);
	
	/*
	tcal_block = document.getElementsByName('cal_block_'+f_obj_id);
	for(i = 0; i < tcal_block.length; i++)	{
			if(tcal_block[i].checked == true)	{
				tcal_block = document.getElementById(tcal_block[i].id);
				break;
			}
	}
	*/
	thidden = document.getElementById('ehidden_'+f_obj_id);
	tbelsubmit = document.getElementById('bel_submit_'+f_obj_id);
	von = tvon.value;
	bis = tbis.value;
	if(von == '') {
		thin.value = '';
		tvon.value = datum;
	} 
	
	if(von == '' && bis == '')	{
		//oeread('belegung.php','akt=show_minaufenthalt&f_obj_id='+f_obj_id+'&datum='+datum)*1;
		tddatum = document.getElementById(f_obj_id+'_'+datum);
			if(tddatum.getAttribute('bel'))	{
			teile = tddatum.getAttribute('bel').split(':');
			//if(datum == teile[2])
			//	alert("Klick auf abreisetag");
				
			if(datum == teile[1] || datum != teile[2])	{
			//alert("Klick auf anreisetag");
			thin.value = teile[3];
			terw.value = teile[6];
			tkin.value = teile[7];
			for(i=0; i < tart.length; i++)	{
				if(tart[i].value == teile[0])
					tart[i].selected = true;
			}
			set_bel_test(belrow,teile[1],teile[2]);
			tvon.value=teile[1];
			tbis.value=teile[2];
			tbelsubmit.value='u';
			thidden.value = teile[4];
			document.getElementById('cal_block_'+f_obj_id+'_'+teile[5]).checked = true;
			if(teile[0] == 'n')	{
				oeshow('cal_block_div_'+f_obj_id);
			}	else	{
				document.getElementById('cal_block_'+f_obj_id+'_').checked = true;
				oehide('cal_block_div_'+f_obj_id);
			}
			//alert(str2date(datum) +'=='+ str2date(teile[2]));
			return;
			}
			
		}
	}
	if(!thidden.value)	{
		document.getElementById('cal_block_'+f_obj_id+'_').checked = true;
		oehide('cal_block_div_'+f_obj_id);
	}
	if(bis == '') {
		//tbis.value = plus_tag(datum);
		tbis.value = datum;
		anz = oeread('belegung.php','akt=show_minaufenthalt&f_obj_id='+f_obj_id+'&datum='+datum)*1;
		if(anz < 1)
			anz = 1;
		for(i = 0; i < anz; i++)	{
			tbis.value = plus_tag(tbis.value);
		}
		set_bel_test(belrow,tvon.value,tbis.value);
		return;
	}
	mdat = str2date(datum);
	vdat = str2date(von);
	bdat = str2date(bis);
	//alert(datum+von+bis);
	if(mdat > bdat) {
		tbis.value = datum;
		set_bel_test(belrow,tvon.value,tbis.value);
		return;
	}
	if(mdat < vdat) {
		tvon.value = datum;
		set_bel_test(belrow,tvon.value,tbis.value);
		return;
	}
	// jetzt liegt das neue Datum innerhalb des alten Zeitraums, wir verändern daher das näherliegende datum
	if((mdat - vdat)< (bdat - mdat)) {
		tvon.value = datum;
	} else
		tbis.value = datum;
		set_bel_test(belrow,tvon.value,tbis.value);

}		

function clear_bel_test(belrow) {
	// jetzt alle spans (die Datumsfelder) untersuchen, ob dort schon bel_test markiert ist
	var spans = belrow.parentNode.parentNode.getElementsByTagName('span');
	//alert(spans.length);
	for(var i=0; i< spans.length; i++) {
		klasse = spans[i].className;
		spans[i].className = klasse.replace(/ bel_test/g,'');
		//spans[i].className = klasse+' bel_test';
	}
}
//alert("ording.js geladen");)

function cls_child_className(element)	{
	fobj = document.getElementById(element);
	li = fobj.getElementsByTagName("li");
	
	for(i=0; i < li.length; i++)	{
		//alert(li[i]);
		li[i].className = "";
	}
	
}

function show_rows(element,anz)	{
	for(i = 0; i < 6; i++)	{	
		if(i < anz)	{
			oeshow(element+i);
		} else	{
			oehide(element+i);
		}
	}
}

function count_reduktion_tag(obj_id,biszeile)	{
	var sum = 0;
		for(i = 0; i <= biszeile; i++)	{
			fobj = document.getElementById("redu_preis:"+obj_id+"_"+i);
			//alert(sum + ' += ' + fobj.value );
			sum += fobj.value * 1;
			if(fobj.value)
				document.getElementById("rech_row:"+obj_id+"_"+i).innerHTML = sum;
		}
}

function in_List(obj, val)	{
	fobj = document.getElementById(obj);
	if(!fobj)
		fobj = opener.document.getElementById(obj);
	for(i=0; i < fobj.length; i++)	{
		if(fobj.options[i].value == val)	{
			return true;
		}
	}
	return false;
}

function picsel(elm){
	obj = document.getElementById(elm);
	if(obj.attributes['selected'].value=='1') { 
		obj.attributes['selected'].value=''
	} else	{
		if(obj.attributes['def'].value!='1')	
			obj.attributes['selected'].value='1'
	};
}

Array.prototype.contains = function(obj) {
     var i, listed = false;
     for (i=0; i<this.length; i++) {
       if (this[i] === obj	) {
         listed = true;
         break;
       }
     }
     return listed;
   };



function preset_nation (uk)	{
	nation_obj = document.getElementById('f_nation_id:'+uk);
	for(i = 0; i < nation_obj.length; i++)	{
		if(nation_obj.options[i].text == "Deutschland")	{
			nation_obj.options[i].selected = true;
			return;
		}
	}
}

function uklist_visibility(uk, sVisible) {
	var obj = document.getElementById('uks');
	var elms = obj.getElementsByTagName('span')
	for(i = 0; i < elms.length; i++)	{
		if(sVisible == 'open')
			oehide(elms[i].id);
		if(sVisible == 'close')
			oeshow(elms[i].id);
	}
	if(sVisible == 'open')
		oeshow('uk_'+uk);
	return true;
}

function sel_option(obj,sel)	{
	var obj = document.getElementById(obj);
	for(i = 0; i < obj.length; i++)	{
		if(obj[i].value == sel)	
			obj[i].selected = true;
	} 
}

function sel_all_option(obj)	{
	if(document.getElementById(obj))	{
		var obj = document.getElementById(obj);
	} else	{
		if(opener.document.getElementById(obj))
			var obj = opener.document.getElementById(obj);
		}
		
	for(i = 0; i < obj.length; i++)	{
		if(obj[i].value)	
			obj[i].selected = true;
	} 
}

function ismaxlength(obj,counter){
var count_char = document.getElementById(counter);
var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
if (obj.getAttribute && obj.value.length>mlength)
obj.value=obj.value.substring(0,mlength)

count_char.innerHTML = mlength-obj.value.length;
}

function moreFields(count) {
	counter = document.getElementById(count).value;
	//alert(counter);
	counter++;
	var newDiv = document.getElementById('readroot').cloneNode(true);
	newDiv.id = 'objrow' + ':' + counter;
	newDiv.style.display = 'block';
	var newTable = newDiv.childNodes;
	for (var i=0;i<newTable.length;i++) {
		var newTsel = newTable[i].childNodes;
		for (var j=0;j<newTsel.length;j++) {
			var newTR = newTsel[j].childNodes;
			for (var k=0;k<newTR.length;k++) {
				var newTD = newTR[k].childNodes;
				for (var l=0;l<newTD.length;l++) {
					var newField = newTD[l].childNodes;
					for (var m=0;m<newField.length;m++) {
						var theName = newField[m].name
						if (theName)
							newField[m].name = theName+'[' + counter+']';
						var theId = newField[m].id
						if (theId)
							newField[m].id = theId + counter;
						}
				}
			}
		}
	}
	var insertHere = document.getElementById('writeroot');
	insertHere.parentNode.insertBefore(newDiv,insertHere);
	document.getElementById(count).value = counter;
}

function presel_selectbox (fobj,val)	{
	for(i = 0; i < fobj.length; i++)	{
		alert(fobj.options[i].text + '=='+ val);
		if(fobj.options[i].text == val)	{
			fobj.options[i].selected = true;
			return;
		}
	}
}

function write_in_new_line(obj,nobj)	{
		if(obj.value.length >= obj.maxLength)
			document.getElementById(nobj).focus();
}

var popup = false; 
function openDisplay(ref)	{ 
	if(!popup || popup.closed)	
		popup = window.open(ref, 'Display-Kasse', 'width=780, height=460', top='50'); 
	if(!popup.setMsg)	
		popup = window.open(ref, 'Display-Kasse', 'width=780, height=460', top='50'); 
}

function forceDisplay(ref)	{ 
		popup = window.open(ref, 'Display-Kasse', 'width=780, height=460', top='50'); 
		popup.focus();
}

function setDisplayMessage(msg)	{
	if(popup && !popup.closed)	{
		popup.msg = msg;
		popup.setMsg();
	}
}

function closeDisplay()	{
if(popup && !popup.closed)	{
	popup.close();
	}
}


function suchkritSelection (chkbox, spanimg)	{
	chkbox = document.getElementById(chkbox);
	imgbox = document.getElementById(spanimg);
	if(!chkbox.checked)	{
		imgbox.setAttribute('class','onlinesuchkrit gleich');
		imgbox.setAttribute('className','onlinesuchkrit gleich');
		chkbox.checked = true;
	}	else	{
		imgbox.setAttribute('class','');
		imgbox.setAttribute('className','');
		chkbox.checked = false;
	}
}


function oeRaiseEvent (eventType, elementID)  {   
   var o = document.getElementById(elementID);   
   if (document.createEvent) {   
   	var evt = document.createEvent("Events");   
   	evt.initEvent(eventType, true, true);   
   	o.dispatchEvent(evt);   
   }   
   else if (document.createEventObject)   
  {  
  	var evt = document.createEventObject();   
  	o.fireEvent('on' + eventType, evt);   
  }   
  	o = null;  
}   

function dropFunc() {
	if(dd.obj) {
		//alert(dd.obj.name +' dropped');
		var dropTarget = dd.obj.getEltBelow();
		if(dropTarget) {
			//alert('dropped in '+dropTarget.name);
			//dropTarget.div.innerHTML = dropTarget.div.innerHTML + '<br>'+dd.obj.name+' added.';
			ret = oeread('vorgang.php','obj='+dd.obj.name);
			oeput('vorgang',ret);
			dd.obj.hide();
			dd.obj.del();
		} else {
			dd.obj.moveTo(dd.obj.defx, dd.obj.defy);
		}
	}
}