// JavaScript Document

function showDiv(currName, state) {
	var myDiv = document.getElementById(currName);
	
	if (myDiv) {
		if (state == true) {
			myDiv.style.display = 'block' ;
		} else {
			myDiv.style.display = 'none' ;
		}
	}
	return(true) ;
}

function showSection(sectionName, divNumber, maxNumber) {
   // hide all divs
   for (cnt = 0; cnt < maxNumber; cnt ++) {
		var myDiv = document.getElementById(sectionName+cnt) ;
		if (myDiv) {
			myDiv.style.display = 'none' ;
		}
	}
	
   // show the desired one
   myDiv = document.getElementById(sectionName+divNumber) ;
	if (myDiv) {
		myDiv.style.display = 'block' ;
	} 
}

// initDivs
function initDivs(calendar1, calendar2, result) {
	calDiv = calendar1 ;
	priceDiv = result ;
	
	showDiv(calendar1, false) ;
	showDiv(calendar2, false) ;
	showDiv(result, false) ;
}

function showDivAtPosition(currName, x, y) {
	var myDiv = document.getElementById(currName);
	
	if (myDiv) {
		myDiv.style.display = 'block' ;
		myDiv.style.left = x +'px';
		myDiv.style.bottom = y + 'px';
	}
}

function setImages(currName, Img1, Img2, Img3) {
	var myDiv = document.getElementById(currName);
	
	if (myDiv) {
		myDiv.style.display = 'block' ;
		var img = document.getElementById('img1') ;
		img.src = '/fileadmin/places/'+Img1 ;
		
		img = document.getElementById('img2') ;
		img.src = '/fileadmin/places/'+Img2 ;
		
		img = document.getElementById('img3') ;
		img.src = '/fileadmin/places/'+Img3 ;
	}
}

function init () {
   initDivs('dateBegin','dateEnd','pr-info') ;
}

function checkPrice(targetDiv) {
	if (xpr == null)
      xpr = http() ;
	
	var object = document.getElementById('objref').value;
	var par1 = document.getElementById('begin').value;
	var par2 = document.getElementById('end').value;
	var lng  = document.getElementById('L').value;
	
	var pars = "eID=aj_price&objref="+object+"&begin="+par1+"&end="+par2+"&L="+lng;
	var url = "index.php?" + pars;

   priceDiv = targetDiv ;
	
	xpr.open("GET", url, true) ;
	xpr.onreadystatechange = preisAusgeben ;
	xpr.send(null) ;
}

function stripHTML(str){ return str.replace(/<[^>]*>/g, "");}

function trim (str) {
    return str.replace(/[\n\r]/g, '').replace(/ +/g, ' ').replace(/^\s+/g, '').replace(/\s+$/g, '');
}

function preisAusgeben () {
   if (xpr.readyState == 4) {
		var rueckgabe = xpr.responseText ;
		var info = eval("(" + rueckgabe + ")") ;
		var real = trim(stripHTML(info)) ;
	
		if (real.length > 0) {
		   showDiv('bookme', true) ;
		}
		showDiv(priceDiv, true) ;
		document.getElementById(priceDiv).innerHTML = info ;
   }
}

function selectDate(datum) {
   showDiv(calDiv, false) ;

   document.getElementById(calField).value = datum;
	
	if (document.getElementById(calField).onblur)
   	document.getElementById(calField).onblur() ;
}


function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

addLoadEvent(init);

function doBooking (baseUrl) {
	// eingetragene Daten als Parameter verwenden
	var object = document.getElementById('objref').value;
	var par1 = document.getElementById('begin').value;
	var par2 = document.getElementById('end').value;
	
	var pars = "tx_fewo_mail[begin]=" + par1+ "&tx_fewo_mail[end]="+par2;
	var glue = '?' ;
	
	if (baseUrl.indexOf(glue) > 0)
	   glue = '&' ;

   var url = baseUrl + glue + pars;
	
	
	top.document.getElementById("GB_window").style.visibility = "hidden";
	top.document.getElementById("GB_overlay").style.visibility = "hidden";
	
	window.open(url,"_blank") ;
}

function updMerkzettel() {
	if (xpr == null)
      xpr = http() ;
	
	var pars = "id=60&type=977";
	var url = "/index.php?" + pars;

	xpr.open("GET", url, true) ;
	xpr.onreadystatechange = merkzettelAusgeben ;
	xpr.send(null) ;
}

function updMerkzettelOhne(page, omitme, target) {
	if (xpr == null)
      xpr = http() ;
	
	var pars = "id="+page+"&type=977&omit="+omitme+"&target="+target+"&et=tx-fewo-mail";
	var url = "/index.php?" + pars;

	xpr.open("GET", url, true) ;
	xpr.onreadystatechange = merkzettelAusgeben ;
	xpr.send(null) ;
}

function merkzettelAusgeben () {
   if (xpr.readyState == 4) {
		var rueckgabe = xpr.responseText ;
		var info = eval("(" + rueckgabe + ")") ;
		
		if (info.target == 'reminddrop') 
		{
			showDiv(info.target, true) ; 
			document.getElementById(info.target).innerHTML = info.text  ;
			
			if (document.getElementById('objref1'))
   		   document.getElementById('objref1').value =  info.objekte ; 
			if (document.getElementById('objref2'))
   		   document.getElementById('objref2').value =  info.objekte ; 
		} else {
			document.getElementById(info.target).innerHTML = info.text  ;
		}
   }
}

// FAQ
function faqToggle(cid,nr) {
   for (i=1;i<=30;i++) {
      var mytab = document.getElementById('faq-'+cid+'-'+i);
      if (mytab) {
         if (nr == i && document.getElementById('faqContent-'+cid+'-'+i).style.display != 'block') {
            mytab.className = 'faqAktiv';
            document.getElementById('faqContent-'+cid+'-'+i).style.display = 'block';
         } else {
            mytab.className = 'faq';
            document.getElementById('faqContent-'+cid+'-'+i).style.display = 'none';
         }
      } else {
         break;
      }
   }
}
// --------------- calendar functions ---------------------------

var xhr = null ;
var xpr = null ;
var calDiv ;
var priceDiv ;
var calField ;

function getCalendar(targetDiv, otherDiv, targetField) {
	if (xhr == null)
      xhr = http() ;
		
	if (document.getElementById(targetDiv).style.display != 'block') {
		showDiv(otherDiv, false) ;
		var today = new Date() ;
		var first = '01.'+(today.getMonth()+1)+'.'+today.getFullYear() ;
		var par1 = '' ;
		var par2 = '' ;
		var lng = '' ;
		
		if(document.getElementById('begin'))  par1= document.getElementById('begin').value;  else alert("Input field Id:'begin' (start date) is missing!") ;
		if(document.getElementById('end')) par2 = document.getElementById('end').value; else alert("Input field Id:'end' (end date) is missing!") ;
		if(document.getElementById('L')) lng  = document.getElementById('L').value ; else alert("Input field Id:'L' (language code) is missing!") ;
		
		var pars = "eID=aj_cal&start="+first+"&begin="+par1+"&end="+par2+"&open=begin&L="+lng;
		var url = "/index.php?" + pars;
	
		calDiv = targetDiv ;
		calField = targetField ;
		
		xhr.open("GET", url, true) ;
		xhr.onreadystatechange = datenAusgeben ;
		xhr.send(null) ;
	} else {
		document.getElementById(targetDiv).style.display = 'none';
	}
}

function updCalendar(calStart, SelStart, selEnd) {
	if (xhr == null)
      xhr = http() ;
	
	var pars = "eID=aj_cal&start="+calStart+"&begin="+SelStart+"&end="+selEnd;
	var url = "index.php?" + pars;

	xhr.open("GET", url, true) ;
	xhr.onreadystatechange = datenAusgeben ;
	xhr.send(null) ;
}

function datenAusgeben () {
   if (xhr.readyState == 4) {
		var rueckgabe = xhr.responseText ;
		var info = eval("(" + rueckgabe + ")") ;
		
		showDiv(calDiv, true) ;
		document.getElementById(calDiv).innerHTML = info ;
   }
}


// --------------------------------------------------------------
// JavaScript Document
var popUpWin=0;
function popUpWindow(URLStr, left, top, width, height)
{
  if(popUpWin)
  {
    if(!popUpWin.closed) popUpWin.close();
  }
  //  'toolbar=no,location=no,directories=no,status=no,menub ar=no,scrollbar=no,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+''
  
  popUpWin = open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,width='+width+',height='+height+',left='+left+', top='+top);
}

sfHover = function() {
	// regular navigation
	try {
   	var sfEls = document.getElementById("nv").getElementsByTagName("LI");
	
		for (var i=0; i<sfEls.length; i++) {
			sfEls[i].onmouseover=function() {
				this.className+=" sfhover";
			}
			sfEls[i].onmouseout=function() {
				this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
			}
		}
		
		// language navigation
   	sfEls = document.getElementById("nv1").getElementsByTagName("LI");
	
		for (var i=0; i<sfEls.length; i++) {
			sfEls[i].onmouseover=function() {
				this.className+=" sfhover";
			}
			sfEls[i].onmouseout=function() {
				this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
			}
		}
	}
	catch (e) {
	}
}

if (window.attachEvent) window.attachEvent("onload", sfHover);

// --------------------------------------------------------------
function getMovieWidth() {
	var myWidth = 0, myHeight = 0;
	
	if( typeof( window.innerWidth ) == 'number' ) {
		//Non-IE
		myWidth = window.innerWidth;
		myHeight = window.innerHeight;
	} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		//IE 6+ in 'standards compliant mode'
		myWidth = document.documentElement.clientWidth;
		myHeight = document.documentElement.clientHeight;
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		//IE 4 compatible
		myWidth = document.body.clientWidth;
		myHeight = document.body.clientHeight;
	}
	return( myWidth );
}

function getFlashMovie(movieName) {
  var isIE = navigator.appName.indexOf("Microsoft") != -1;
  return (isIE) ? window[movieName] : document[movieName];
}

function getMovieHeight() {
	var myWidth = 0, myHeight = 0;
	
	if( typeof( window.innerWidth ) == 'number' ) {
		//Non-IE
		myWidth = window.innerWidth;
		myHeight = window.innerHeight;
	} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		//IE 6+ in 'standards compliant mode'
		myWidth = document.documentElement.clientWidth;
		myHeight = document.documentElement.clientHeight;
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		//IE 4 compatible
		myWidth = document.body.clientWidth;
		myHeight = document.body.clientHeight;
	}
	return( myHeight );
}

function adapt() {
	var objDiv = document.getElementById('flashlayer');
	
	if (objDiv.style.display != 'block') {
		objDiv.style.display = 'block' ;
		var movie = getFlashMovie("gallery") ;
	}
	else
		objDiv.style.display = 'none' ; 
		
	return(false) ;
}

// --------------------------------------------------------------
// unrevised Functions
function http() {
   var http;
	
	if (window.XMLHttpRequest) {
		http = new XMLHttpRequest() ;
	} else if (window.ActiveXObject) {
		http = new ActiveXObject("Microsoft.XMLHTTP") ;
	}
	
	return http;
}


function _void(state) {
   return(state) ;
}


function hideDivs() {
	showDiv('rechner', false) ;
	showDiv('calDiv', false) ;
	showDiv('priceDiv', false) ;
	
	return(false) ;
}

function preparePreis() {
	hideDivs() ;
	showDiv('rechner', true) ;
	document.getElementById('begin').value = '' ;
	document.getElementById('end').value = '' ;
	document.getElementById('pr-info').innerHTML = '' ;
}



