/*
berechnet die anzahl nächte
*/
function berechnen()
{
	start = document.getElementById('anreise').value.split('-');
	sj	  = start[0];
	sm	  = start[1];
	st	  = start[2];
	s	  = Date.UTC(sj,sm,st,0,0,0);
	
	ende = document.getElementById('abreise').value.split('-');
	ej	  = ende[0];
	em	  = ende[1];
	et	  = ende[2];
	e	  = Date.UTC(ej,em,et,0,0,0);

	diff  = e - s;
	n	  = diff / (24 * 60 * 60 * 1000);
	if(!isNaN(n)) document.forms[0].anzahlnaechte.value = Math.abs(n);
}


/*
prüft angaben für eine anfrage
*/
function checkEnquiry()
{
	// things to check
	r = makeRequest();
	var params = '';
	for(i=0;i<document.forms[0].elements.length;i++)
	{
		n = document.forms[0].elements[i].name;
		v = document.forms[0].elements[i].value;
		params = params+n+'='+v+'&';	
	}
	
	feed='xml/checkenquiry.xml.php';
	
	fokus = false;
	r.open('POST', feed, true);
	
	r.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	r.setRequestHeader("Content-length", params.length);
	r.setRequestHeader("Connection", "close");
	
	r.onreadystatechange = function()
	{
		if(r.readyState == 4 && r.status == 200)
		{
			errors = r.responseXML.getElementsByTagName('error');
			for(i=0;i<errors.length;i++)
			{
				e  = errors[i];
				if(e.firstChild) et = e.firstChild.nodeValue;
				else et = '<span></span>';
				ei = e.getAttribute('id');
				
				nv = e.getAttribute('newvalue');
				
				if(nv) document.forms[0].elements[ei].value = nv;
				
				if(!fokus && e.firstChild) 
				{
					if(document.forms[0].elements[ei])
					{
						document.forms[0].elements[ei].select();
					}
					fokus = true;
				}
				
				if(ef = document.getElementById('response_'+ei))
				{
					ef.innerHTML = et;
				}
			}
			
			// alles korrekt?
			if(!fokus)
			{
				document.forms[0].submit();
			}
		}
	}
	r.send(params);
	return false;
}




/*
öffnet ein fenster mit anfrageformular
*/
function openEnquiryWindow(id)
{
	url = 'enquiry.php?id='+id;
	tit = 'Loading';
	fea = 'top=0,left=100,height=700,width=600,scrollBars=yes,resizable=yes';
	win = open(url, tit, fea);
	win.focus();
}


/*
öffnet ein fenster mit empfehlungsdruck
*/
function openRecommendationWindow(id)
{
	url = 'recommendation.php?id='+id;
	tit = 'Loading';
	fea = 'top=0,left=100,height=700,width=600,scrollBars=yes,resizable=yes';
	win = open(url, tit, fea);
	win.focus();
}



/*
lädt den kalender eines hotels mit der id "index" in der liste "ids"
bei "zimmer ab morgen"
*/
var alternate = false;
var hotelids = new Array();
var inhalt;
var gesprungen = false;
var vonoben;

function loadHotel(index, ids)
{
	hotelids = ids;
	hotelid=ids[index];
	document.getElementById('laderaddiv').style.display = 'block';

	div = document.createElement('div');
	div.setAttribute('class', 'kalender');
	if(index % 2 == 0) div.style.backgroundColor = '#f8f8f8';
	inhalt = document.getElementById('inhalt');
	liste = document.getElementById('hotelliste');
	if(index == 0) liste.innerHTML = '<span></span>';
	feed = 'xml/abmorgen.xml.php?hotelid='+hotelid+'&t='+tage+'&index='+index;
	
	r = makeRequest();
	r.open('GET', feed, true);
	r.onreadystatechange = function()
	{
		switch(r.readyState) 
	    { 
    	  case 0: 
	      case 1: 
    	  case 2: 
	      case 3: return; 
    	  case 4: break; 
	    }
	
		if(r.readyState == 4 && r.status == 200)
		{
			
			div.innerHTML = r.responseText;
			liste.appendChild(div);
			
			if(ids.length-1 > index)
			{
				index++;
				loadHotel(index, ids);
			}
			else
			{
				document.getElementById('laderaddiv').style.display ='none';
				if(!gesprungen && document.location.hash != '') 
				{
					document.location.hash = document.location.hash;
					gesprungen = true;
				}
				else
				{
					window.scrollTo(0,vonoben);
				}
			}
		}
	}
	r.send(null);
}


/*
stellt den kalender dar, mit entsprechendem starttag
0 = heute
sonst anzahl tage abweichung von heute
*/
var tage = 0;

function zeigeTageAll(skip)
{
	if(skip == 'today') tage = 0;
	if(skip == 'backward') tage = parseInt(tage) -7;
	if (tage < 0) tage = 0;
	if(skip == 'forward') tage = parseInt(tage) + 7;
	
	
	vonoben = window.pageYOffset;
	if(document.all)
	{
		if(document.compatMode == 'CSS1Compat') vonoben = document.documentElement.scrollTop;
		else vonoben = document.body.scrollTop;
		
	}
	//alert(vonoben);
	// erstes hotel laden lassen
	loadHotel(0, hotelids);
}

function getDaysAndLoad(zieldatum)
{
	r = makeRequest();
    feed = 'xml/getdays.xml.php?datum='+zieldatum;
    r.open('GET', feed, true);
    r.onreadystatechange = function()
	{
      	if(r.readyState == 4 && r.status == 200)
		{
      		tage = r.responseText;
      		if(document.location.href.indexOf('morgen') > -1) zeigeTageAll(0);
      		else zeigeTage(0);
    	}
    }
	r.send(null);
}

function telefonZeigen()
{
	teldiv = document.getElementById('telefongross');
	teldiv.firstChild.nodeValue = arguments[0];
	
	var scrollPos;
	var maxw;
	if (typeof window.pageYOffset != 'undefined') {
	   scrollPos = window.pageYOffset;
	   maxw = window.innerWidth;
	}
	else if (typeof document.compatMode != 'undefined' &&
		 document.compatMode != 'BackCompat') {
	   scrollPos = document.documentElement.scrollTop;
	   maxw = document.documentElement.clientWidth;
	}
	else if (typeof document.body != 'undefined') {
	   scrollPos = document.body.scrollTop;
	   maxw = document.body.clientWidth;
	}
	w = maxw/100 * 80;
	w = Math.round(w);
	l = maxw/100 * 10;
	l = Math.round(l);
	h = Math.round(w/6);
	f = Math.round(w/7);
	pt = Math.round(h/9);
	
	dh = window.innerHeight;
	tt = scrollPos + 200;


	
	teldiv.style.display = 'block';
	teldiv.style.width = w+'px';
	teldiv.style.height = h+'px';
	teldiv.style.left = l+'px';
	teldiv.style.top = tt+'px';
	teldiv.style.fontSize = f+'px';
	teldiv.style.paddingTop = pt+'px';
	
	overdiv = document.getElementById('overlay');
	overdiv.style.display = 'block';
	overdiv.style.top = scrollPos + 'px';
	overdiv.onclick = function()
	{
		teldiv.style.display = 'none';
		overdiv.style.display = 'none';
	}
}

function telefonVerstecken()
{
	teldiv = docment.getElementById('telefongross');
	teldiv.style.display = 'none';
}