function showBox(){
	if ($('$flexTopsId')) {$('FlexTop').style.display = 'none';}
	if ($('$flexSkysId')) {$('FlexSky').style.display = 'none';}
	var offset = (document.documentElement.scrollTop || document.body.scrollTop);

//	$('overlay', 'overlayframe').collect(function (e){ e.setStyle({'top': (e.style.marginTop + offset) + 'px', display: 'block'});});
	$('overlaybox').setStyle({top: '25%', left: '25%', marginTop: (parseInt($('overlaybox').getStyle('margin-top')) + offset) + 'px', display: 'block'});
//	$('overlay').style.top = offset + 'px';
	$('overlay').style.display='block';
	$('overlayframe').style.display='block';
//	$('overlaybox').style.display='block';
	document.body.style.overflow='hidden';
    return false;
}
function showBookingBox(){
	if ($('$flexTopsId')) {$('FlexTop').style.display = 'none';}
	if ($('$flexSkysId')) {$('FlexSky').style.display = 'none';}
    $('overlayBooking').style.display='block';
	$('overlayframeBooking').style.display='block';
	$('overlayboxBooking').style.display='block';
	document.body.style.overflow='hidden';
    return false;
}
function showPackageBox(){
	if ($('$flexTopsId')) {$('FlexTop').style.display = 'none';}
	if ($('$flexSkysId')) {$('FlexSky').style.display = 'none';}
    $('overlayPackage').style.display='block';
	$('overlayframePackage').style.display='block';
	$('overlayboxPackage').style.display='block';
	document.body.style.overflow='hidden';
    return false;
}
function hideBox(){
    $('box').hide();
    $('overlay').hide();
	document.body.style.overflow='visible';
    return false;
}
function hideBookingBox(){
    $('boxBooking').hide();
    $('overlayBooking').hide();
	document.body.style.overflow='visible';
    return false;
}
function hidePackageBox(){
    $('boxPackage').hide();
    $('overlayPackage').hide();
	document.body.style.overflow='visible';
    return false;
}
function center(element){
    try{
        element = $(element);
    }catch(e){
        return;
    }
	var my_width  = (document.body.scrollWidth > document.body.offsetWidth ? document.body.scrollWidth : document.body.offsetWidth);
    var my_height = (document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight);
    var elementDimensions = Element.getDimensions(element);
	var setX = ( my_width  - elementDimensions.width  ) / 2;
    var setY = ( my_height - elementDimensions.height ) / 2;
	setX = ( setX < 0 ) ? 0 : (setX);
    setY = ( setY < 0 ) ? 0 : (setY);
	element.style.display  = 'block';
}

function getCountryId(){
 var country = document.getElementById("country").value;
 autocompleter.options.parameters = 'country='+country;
 autocompleter.options.defaultParams = 'country='+country;
}
function setDisplay(element, activity) {
 if(activity=="change") display = ((document.getElementById(element).style.display == 'none')?"block" : "none");
 else if (activity=="block") display = "block";
 else if (activity=="none") display = "none";
 if (document.getElementById(element) != null) {
 document.getElementById(element).style.display = display ;
 }
}
function isNumeric(sText)
{
 var ValidChars = "0123456789.";
 var IsNumber=true;
 var Char;
 for (i = 0; i < sText.length && IsNumber == true; i++) {
 Char = sText.charAt(i);
 if (ValidChars.indexOf(Char) == -1) {
 IsNumber = false;
 }
 }
 return IsNumber;
}
// wenn bereits bekannt Stadt geaendert wird -> StadtId loeschen zur Schnellsuche
function deleteCityId() {
 document.getElementById('ci').value = "";
}
function roomHandler(sum) {
 if(sum==1){
 document.getElementById('morerooms').style.display = "none";
 document.getElementById('rooms').style.display = "none"; }
 else{
 document.getElementById('morerooms').style.display = "block";
 }
}
function changeRooms() {
 var anz = document.getElementById('number_of_rooms').value;
 var erw = document.getElementById('adult').value;
 //var child1 = document.getElementById('child1').value;
 //var child2 = document.getElementById('child2').value;
 //var child3 = document.getElementById('child3').value;
 // entsprechend den Angaben Werte fuer Zimmertyp berechnen
 if (anz != -1) {
 var quot = erw/anz;
 if ((quot % 2) == 0) {
 if (quot == 2) document.getElementById('roomtype').value = '2';
 else if (quot == 4) document.getElementById('roomtype').value = '-1';
 }
 else if ((quot % 2) != 0) {
 if (quot == 1) {
 document.getElementById('roomtype').value = '1';
 } else {
 document.getElementById('roomtype').value = '-1';
 document.getElementById('number_of_rooms').value = '-1';
 }
 }
 }
 else if (quot < 0) {
 document.getElementById('roomtype').value = '-1';
 document.getElementById('number_of_rooms').value = '-1';
 } else {
 document.getElementById('roomtype').value = '-1';
 }
}

function afterChangeAdult()
{
 if(document.getElementById('adult')) {
 var erw = document.getElementById('adult').value;
 if (erw == 4) {
 document.getElementById('roomtype').value = '2';
 document.getElementById('number_of_rooms').value = '2';
 } else if (erw == 6) {
 document.getElementById('roomtype').value = '2';
 document.getElementById('number_of_rooms').value = '3';
 } else {
 document.getElementById('roomtype').value = '-1';
 document.getElementById('number_of_rooms').value = '-1';
 }
 } else {
 document.getElementById('roomtype').value = '-1';
 document.getElementById('number_of_rooms').value = '-1';
 }
}
function switchFormDisplay ( type ) {
 switch ( type ) {
 case 'package' :
 document.getElementById('hotel').style.display = 'none';
 document.getElementById('package').style.display = 'block';
 document.getElementById('packageTab').className = 'active';
 document.getElementById('hotelTab').className = '';
 document.getElementById('hotline').style.visibility = "visible";
 document.getElementById('hotline1').style.display = "block";
 document.getElementById('pack2').checked = "checked";
 break;
 case 'hotel' :
 document.getElementById('hotel').style.display = 'block';
 document.getElementById('package').style.display = 'none';
 document.getElementById('packageTab').className = '';
 document.getElementById('hotelTab').className = 'active';
 document.getElementById('hotline').style.visibility = "hidden";
 document.getElementById('hotline1').style.display = "none";
 document.getElementById('hotel2').checked = "checked";
 break;
 }
}

function changeTarget() {
 document.getElementById('landing').action = HOME_URL + "package/hotel/";
 if(document.getElementById('hotel_kette')) {document.getElementById('hotel_kette').value = '';}
}

function changeTarget2(type) {
 if (type == "package") {document.getElementById('bengine').action = HOME_URL + "package/hotel";}
 else {document.getElementById('hotelsearch').action = HOME_URL + "hotel/search";}
}

function checkSubmit() {
 var datefrom = document.getElementById('datefrom').value;
 var dateto = document.getElementById('dateto').value;
 var isDateFrom = isDate(datefrom);
 var isDateTo = isDate(dateto);
 if(!isDateFrom && !isDateTo){
 alert('Bitte geben Sie gültige Reisedaten ein!');
 return false;
 }
 if(!isDateFrom){
 alert('Bitte geben Sie ein gültiges Anreisedatum ein!');
 return false;
 }
 if(!isDateTo){
 alert('Bitte geben Sie ein gültiges Abreisedatum ein!');
 return false;
 }
 var anr = datefrom.split('.');
 var abr = dateto.split('.');
 var anreise = new Date(anr[2],(anr[1]-1),anr[0]);
 var abreise = new Date(abr[2],(abr[1]-1),abr[0]);
 if (abreise <= anreise) {
 alert('Das Anreisedatum muss wor dem Abreisedatum liegen!');
 return false;
 }
 showBox();
 return true;
}

function isDate(dateStr) {
 var datePat = /^(\d{1,2})(.)(\d{1,2})(.)(\d{4})$/;
 var matchArray = dateStr.match(datePat);
 if (matchArray == null) return false;
 day = matchArray[1];
 month = matchArray[3];
 year = matchArray[5];
 if (month < 1 || month > 12) return false;
 if (day < 1 || day > 31) return false;
 if ((month==4 || month==6 || month==9 || month==11) && day==31) return false;
 if (month == 2) { // check for february 29th
 var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
 if (day > 29 || (day==29 && !isleap)) return false;
 }
 return true;
}
// Funktion empfaengt geaendertes Anreisedatum und berechnet daraus neues Abreisedatum
function setDate(test) {
 var datefrom = document.getElementById('datefrom').value;
 if(!isDate(datefrom)) {
 alert('Bitte geben Sie ein gültiges Anreisedatum ein!');
 var anreise = new Date();
 anreise.setTime(anreise.getTime() +168 * 60 * 60 * 1000);
 var dd = anreise.getDate();
 if(dd<10)dd='0'+dd;
 var mm = anreise.getMonth()+1;
 if(mm<10)mm='0'+mm;
 document.getElementById('datefrom').value = dd+'.'+mm+'.'+anreise.getFullYear();
 } else {
 // Berechnung neues Abreisedatum
 var input = datefrom.split('.');
 // Sonderbehandlung
 //if (input[1] == '02' && (input[0] == '30' || input[0] == '31')) document.getElementById('datefrom').value = '01.03.2008';
 var anreise = new Date(input[2],(input[1]-1),input[0]);
 var abreise = new Date();
 abreise.setTime(anreise.getTime() +24 * 60 * 60 * 1000);
 // neues Abreisedatum ab ins Form
 var dd = abreise.getDate();
 if(dd<10)dd='0'+dd;
 var mm = abreise.getMonth()+1;
 if(mm<10)mm='0'+mm;
 document.getElementById('dateto').value = dd+'.'+mm+'.'+abreise.getFullYear();
 }
}
// liegt Abreisedatum vor Anreisedatum wenn ja, Abreisedatum ein Tag spaeter als Anreisedatum waehlen
function checkDate() {
 var datefrom = document.getElementById('datefrom').value;
 var dateto = document.getElementById('dateto').value;
 if(!isDate(dateto)) {
 alert('Bitte geben Sie ein gültiges Abreisedatum ein!');
 var anr = datefrom.split('.');
 var anreise = new Date(anr[2],(anr[1]-1),anr[0]);
 var abreise_neu = new Date();
 abreise_neu.setTime(anreise.getTime() +24 * 60 * 60 * 1000);
 var dd = abreise_neu.getDate();
 if(dd<10)dd='0'+dd;
 var mm = abreise_neu.getMonth()+1;
 if(mm<10)mm='0'+mm;
 document.getElementById('dateto').value = dd+'.'+mm+'.'+abreise_neu.getFullYear();
 } else {
 var anr = datefrom.split('.');
 var abr = dateto.split('.');
 var anreise = new Date(anr[2],(anr[1]-1),anr[0]);
 var abreise = new Date(abr[2],(abr[1]-1),abr[0]);
 if (abreise <= anreise) {
 var abreise_neu = new Date();
 abreise_neu.setTime(anreise.getTime() +24 * 60 * 60 * 1000);
 var dd = abreise_neu.getDate();
 if(dd<10)dd='0'+dd;
 var mm = abreise_neu.getMonth()+1;
 if(mm<10)mm='0'+mm;
 document.getElementById('dateto').value = dd+'.'+mm+'.'+abreise.getFullYear();
 }
 }
}

