 $(document).ready(function() {
	$('#keyword , #selDates , #selDateDeparture').addClass('lightgrey');

	var accname=" "; var accid=" "; var minp=" "; var maxp=" "; var mind=" "; var hotel=" "; var ep=""; var bookcond =" ";
		
	$('.banner div a').attr('color','#EB6909');
	
	if ($.browser.safari == false) {
    	//equalHeight($(".offer_line"));
 	}
	
	if ($.browser.msie == false) {
		var hash = window.location.hash;
		(!hash) ? hideAllExcept('#' + $('#bigimage > div:first').attr('id')) : hideAllExcept(window.location.hash);
	}
	
	$('#houseX').bind('focus',function(){
		$(this).removeClass('lightgrey');
		$(this).val('');
		$(this).attr('id','houseY');
	});
	
	//$('.teaserbutton a').show();
	//$('.teaserbutton a:first-child').remove();
	
	$('#similarobjects .offer_line').biggerlink();
	
	
	$('#thumbnailz a.toggle').click(function() {
        var href = $(this).attr('href');
        hideAllExcept(href);
		return false;
 	});
	
	$('#thumbnailz a:first').click();
	
	
	$('.ui-dialog-buttonpane').prepend('<div style="float:left;font-size:15px;padding:5px 10px;">HolidayInsider-Service-Center: 0761 / 88 581 - 178</div>');
   
   $('.checkboxitem input').attr('checked','checked');
	
	$("#faqaccordion").accordion( { header: 'h3' ,autoHeight: false});

	
});

function bookChecker(minp,maxp,mind,staydays,accid){
	staydays = $('#searchAccommodationFormDuration').val();
	staypersons = $('#searchAccommodationFormAdult').val();
	
	hotel = $('#hotel').val();
	ep = $('#endpoint').val();
	ad = $('#selDates').val();
	ed = $('#selDateDeparture').val();
	pe = $('#searchAccommodationFormAdult').val();
	
	$('#bookerror').empty();
	
	if (staypersons < minp || staypersons > maxp || staydays < mind) {
		var errorbookresponse = '';
		
		if (staypersons<minp) {
			errorbookresponse += 'Die Anzahl der Reisenden ist zu gering. ';
		}
		if (staypersons>maxp) {
			errorbookresponse += 'Die Anzahl der Reisenden ist zu hoch. ';
		}
		if (staydays<mind) {
			errorbookresponse += 'Die Anzahl der Übernachtungen ist zu gering. ';
		}		
		$('#bookerror').html(errorbookresponse);
		$('#bookerror').show();
	}
	else {
		$('#vacancycalendar').hide();
		$('#requestform').hide();
		$('#bookerror').hide();
		$('#bookcond').hide();
		$('#bloader').show();
		
		//grab cookie
		var adtraid = '0';
		var adtrasession = '0';
		var adtraid = $.cookie('adtraffic_performanceid');
		var adtrasession = $.cookie('adtraffic_sessionid');
		
		//"http://booking.holidayinsider.de/HolidayInsider/resultServlet.book?arrivalDate="+ad+"&departureDate="+ed+"&persons="+pe+"&serviceId="+accid+"&endpoint="+ep+"&duration="+staydays+"&accoId="+hotel+""
		$.ajaxSetup({ 
		   scriptCharset: "utf-8" , 
		   contentType: "application/json; charset=utf-8"
		});
		$.getScript("http://booking.holidayinsider.de/HolidayInsider/jsf/resultServlet.book?arrivalDate="+ad+"&departureDate="+ed+"&persons="+pe+"&endpoint="+ep+"&accoId="+accid+"",function(){
			$('#bloader').hide();
			//alert('loaded');
			var newText = requestAnswer;
			$('#bookoffertext').show();
			$('#bookoffertext #fulltext2').html(requestAnswer);
			
			var finallink2 = $('#bookoffertext #finallink').text();
			var finallink = '0';
			
			finallink = finallink2 + '&dsadtraid='+adtraid+'&dsadtrasession='+adtrasession;
			
			
			if ($('#errorlink').length) {
				$('#finalbook').hide();
				$('#newVacRequestWrap').show();
			}
			else {
				$('#finalbook').attr('href', finallink);
				$('#finalbook').show();
				//$('#bookoffertext #fulltext2').prepend('<div style="padding-bottom:6px;">Ihre Suche war erfolgreich. Unser Angebot:<br></div>');
				$('#newVacRequestWrap').hide();
			}
		});
	}
	return false;
}

function ukvChecker(idMid){
	var idMid = idMid;
	if($('#showUKV').is(':checked')){
		$('#selDates').attr('disabled','disabled');
		$('#selDateDeparture').attr('disabled','disabled');
		var keywordQ = $('#keyword').val();
		$('#googleQ').val(keywordQ);
		$('#qbook').attr('method','GET');
		$('#qbook').attr('action','/Europa/Suche/(ort)/'+idMid+'/');
	}
	else{
		$('#selDates').removeAttr('disabled');
		$('#selDateDeparture').removeAttr('disabled');
		var adtraid = $.cookie('adtraffic_performanceid');
		var adtrasession = $.cookie('adtraffic_sessionid');
		$('#qbook').attr('action','http://booking.holidayinsider.de/HolidayInsider/jsf/resultServlet.result?dsadtraid='+adtraid+'&dsadtrasession='+adtrasession+'');
	}
}

function changeBookLink(){
		hotel = $('#hotel').val();
		ep = $('#endpoint').val();
		ad = $('#selDates').val();
		ed = $('#selDateDeparture').val();
		pe = $('#searchAccommodationFormAdult').val();
		$('#booknow').attr('href','http://booking.holidayinsider.de/HolidayInsider/jsf/landing.jsf?hotel='+hotel+'&endpoint='+ep+'&enddate='+ed+'&begindate='+ad+'&persons='+pe);
}
	
function changeRequestLink(){
	hotel2 = $('#accoid').val();
	ad2 = $('#selDates').val();
	ed2 = $('#selDateDeparture').val();
	pe2 = $('#searchAccommodationFormAdult').val();
	$('.request').attr('href','/Europa/Deutschland/Suche/Unverbindliche-Buchungsanfrage/(offer_id)/'+hotel2+'/(arrival)/'+ad2+'/(departure)/'+ed2+'/(persons)/'+pe2+'/');
}

function pageselectCallback(page_index, jq){
	var items_per_page = 6;
	var num_entries = $('#accomodationres div.offer_line').length;
    var max_elem = Math.min((page_index+1) * items_per_page, num_entries);
    var newcontent = '';
	$('#ukvaccomodations').empty();
	for (var i = page_index * items_per_page; i < max_elem; i++) {
		//alert(i);
		new_content = $('#accomodationres div.offer_line:eq('+i+')').clone();
		$('#ukvaccomodations').append(new_content);
	}
    return false;
}

vacDays = [
  [1, 26,2009,'de']
];

function vacancyDays(date) {
    for (i = 0; i < vacDays.length; i++) {
      if (date.getMonth() == vacDays[i][0] - 1
          && date.getDate() == vacDays[i][1] 
		  && date.getFullYear() == vacDays[i][2]) {
        return [false, vacDays[i][3] + '_day'];
      }
    }
  return [true, ''];
}

function validator(formData, jqForm, options) { 
    var form = jqForm[0]; 
	var idMid = $('#hiddenLocation').val();
	//var idTown = $('#keyword').val();
	var checker = $.detect(idMid, loca);

	if($('#showUKV').is(':checked') == true){
		$('#selDates').attr('disabled','disabled');
		$('#selDateDeparture').attr('disabled','disabled');
		$('#qbook').attr('action','/Europa/Deutschland/Suche/(ort)/'+idMid+'/');
		$('#qbook').attr('method','POST');
	}
	else{
		//grab cookie	
		var adtraid = $.cookie('adtraffic_performanceid');
		var adtrasession = $.cookie('adtraffic_sessionid');
		
		$('#selDates').removeAttr('disabled');
		$('#selDateDeparture').removeAttr('disabled');
		$('#qbook').attr('action','http://booking.holidayinsider.de/HolidayInsider/jsf/resultServlet.result?dsadtraid='+adtraid+'&dsadtrasession='+adtrasession+''); 
		$('#qbook').attr('method','POST');	
	}
	if ((form.keyword.value =='Ort oder Region') || (form.keyword.value =='Ort, Region, Attraktion') || !form.keyword.value || (form.keyword.value ==' ')) { 
        $("#errordialog").show();
		$("#keyword").addClass("errorinput");
		return false;
    }
}

function changeLocation(location, epoint, lid){
	$('#keyword').val(location);
	$('#hiddenLocation').val(lid);
	$('#hiddenEndPoint').val(epoint);
	idMid = $('#hiddenLocation').val();
}

function findValueCallback(event, data, formatted) {
		$("<li>").html( !data ? "Keine Übereinstimmung!" : "Ausgewählt: " + formatted).appendTo("#result");
}
	
function formatItem(row) {
	return "<strong>" + row[0] + "</strong>)";
}
function formatResult(row) {
		$('#keyword').removeClass('lightgrey');
		return row[0].replace(/(<.+?>)/gi, '');		
}

function fillHelperx(){
	loca = new Array;
	for (var i = 0; i < locations.length; i++) {
		loca[i] = locations[i].tomasid;
	}
	var idMix = 'Bernau';
	var idMax = '3432';
	var checker = $.inArray(idMix, loca);
}
	
function fillCurrentDate(){
	var today = new Date();
	var year = today.getYear();
	var departDate = (today.getDate() + 4);
	var todayDate = (today.getDate() + 1);
    if(year<1000) year+=1900
	document.form.selDates.value = todayDate + '.' +  (today.getMonth()+1) + '.' + year;	
	document.form.selDateDeparture.value = departDate + '.' +  (today.getMonth()+1) + '.' + year;	
}

function setNewDates(input){
	var stada =  $("#selDates").datepicker( 'getDate' );
	var stadaz = $.datepicker.parseDate('dd.mm.yy', stada);
	alert(stadaz);
	$("#selDateDeparture").datepicker( 'setDate', stada + '+2d' );
}

function customRange(input) 
{ 
	
       var min = new Date(); //Set this to your absolute minimum date
       var dateMin = min;
       var dateMax = null;
        if (input.id == "selDates") 
        {
            if ($("#selDateDeparture").datepicker("getDate") != null)
            {
                if (dateMin < min)
                {
                        dateMin = min;
                }
             }
             else
             {
                dateMax = new Date();
             }  
        }
        else if (input.id == "selDateDeparture")
        {
                if ($("#selDates").datepicker("getDate") != null)
                {
                        dateMin = $("#selDates").datepicker("getDate");
                        var rangeMax = new Date(dateMin.getFullYear(), dateMin.getMonth(), dateMin.getDate() + 1);
						dateMin = rangeMax;
                }
        }      
    return {
                minDate: dateMin, 
                maxDate: dateMax
		    }; 
	
}

// make all columns in content area the same height. ;)
function equalHeight(group) {
	tallest = 0;
	group.each(function() {
		thisHeight = $(this).height();
		if(thisHeight > tallest) {
			tallest = thisHeight;
		}
	});
	group.height(tallest);
}


function hideAllExcept(el) {
    $('#bigimage div').addClass('hidden');
	$('#bigimage div div').removeClass('hidden');
    $(el).removeClass('hidden');
    $('a.toggle').removeClass('active');
    $('a[href="' + el + '"]').addClass('active');   
}

function transferDate(input){
	// Wir tramnserieren aus dem Vakanzkalender nach SelectKalender
	if ($("#vacancycalendar").datepicker("getDate") != null) {
		dateN = $("#vacancycalendar").datepicker("getDate");
		$("#selDates").datepicker("setDate",dateN);
	    var nPlusD = new Date(dateN.getFullYear(), dateN.getMonth(), dateN.getDate() + 1);
		$("#selDateDeparture").datepicker( 'setDate' , nPlusD);
	}
	//$('#vacancycalendar .ui-datepicker-inline').css('width','45em');
	return false;
}

function calculateDays(input){
	// Da wir nun nur noch An und Abreise Berechnen, brauchen wir die Anzahl der Tage.
	if ($("#selDateDeparture").datepicker("getDate") != null) {
		dateY = $("#selDates").datepicker("getDate");
		dateZ = $("#selDateDeparture").datepicker("getDate");
		wholeTime = Date.parse($("#selDateDeparture").datepicker("getDate")) - Date.parse($("#selDates").datepicker("getDate")); 
        dateM = Math.floor(wholeTime/(24*3600*1000)); 
	}
	//und wir übergeben die Anzahl der Übernachtungen an das TOMAS
	$('#searchAccommodationFormDuration').val(dateM);
}

function calculateDays2(input){
    // Datum umschreiben
	 dateMins = $("#selDates").datepicker("getDate");
     var nPlusD = new Date(dateMins.getFullYear(), dateMins.getMonth(), dateMins.getDate() + 1);
	 $("#selDateDeparture").datepicker( 'setDate' , nPlusD);
	
	// Da wir nun nur noch An und Abreise Berechnen, brauchen wir die Anzahl der Tage.
	if ($("#selDateDeparture").datepicker("getDate") != null) {
		dateY = $("#selDates").datepicker("getDate");
		dateZ = $("#selDateDeparture").datepicker("getDate");
		wholeTime = Date.parse($("#selDateDeparture").datepicker("getDate")) - Date.parse($("#selDates").datepicker("getDate")); 
        dateM = Math.floor(wholeTime/(24*3600*1000)); 
	}
	//und wir übergeben die Anzahl der Übernachtungen an das TOMAS
	$('#searchAccommodationFormDuration').val(dateM);
}


function PopUnder()
{
    var URL = "http://surveys.polldaddy.com/s/C9FE5C7C704B78B7/";
    var Name = "popunder";
    var Fensteroptionen = "toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1";
    var Breite = 800;
    var Hoehe = 540;
    var PopUnder = window.open(URL, 'Name', Fensteroptionen + ',width=' + Breite + ',height=' + Hoehe);
    PopUnder.blur();
    window.focus();
}

$.fn.searchA = function() {
	return this.focus(function() {
		if( this.value == this.defaultValue ) {
			this.value = "";
			$(this).removeClass('lightgrey');
			$("#keyword").removeClass("errorinput");
			$("#errordialog").hide();
		}
	}).blur(function() {
		if( !this.value.length ) {
			this.value = this.defaultValue;
			$(this).addClass('lightgrey');
		}
	});
}


