$(document).ready( 
    function() {

	/*$('#pictures').innerfade({ speed: 'slow', timeout: 4000, type: 'sequence', containerheight: '200px' });
		$('.roompictures').innerfade({ speed: 'slow', timeout: 4000, type: 'sequence', containerheight: '200px' });
		$('.book_room_pictures').innerfade({ speed: 'slow', timeout: 4000, type: 'sequence', containerheight: '56px' });
		
		$('a.lightbox').lightBox();
		$('a.lightbox_thumb').lightBox();*/
	$('a.lightbox').lightBox();
	
	$('#tabs').tabs();

	$('.kamer_foto').innerfade({
	    speed: 'slow',
	    timeout: 4000,
	    type: 'sequence',
	    containerheight: '116px'
	});
		
	/*$('#left_block').height($('#right_block').height()-17);*/
	$.datepicker.regional['nl'] = {
	    monthNames: mn,
	    dayNamesMin: dnm,
	    dateFormat: 'dd-mm-yy',
	    firstDay: 1,
	    initStatus: '',
	    isRTL: false
	};
	$.datepicker.setDefaults($.datepicker.regional['nl']);
		
	$('#arrival').datepicker({
	    name:'arrival',
	    minDate:'+1d',
	    maxDate:'+3y',
	    defaultDate:'+1d'
	});
	if (show_calendar) {
	    $('#arrival').datepicker('change', 'getOccupation', true);
	} else $('#arrival').datepicker('change', 'onSelect', function(dateText, inst) {calculate_price();});

	$('#departure').datepicker({
	    name:'departure',
	    minDate:'+1d',
	    maxDate:'+3y',
	    defaultDate:'+1d'
	});

	if (show_calendar) {
	    $('#arrival').datepicker('change', 'onSelect', function(dateText, inst) {set_max_departure();});
	    $('#departure').datepicker('change', 'onSelect', function(dateText, inst) {enable_calendar();calculate_price();});
	    $('#departure').datepicker('change', 'getOccupation', true);
	} else { 
	    $('#arrival').datepicker('change', 'onSelect', function(dateText, inst) {enable_calendar();calculate_price();});
	    $('#departure').datepicker('change', 'onSelect', function(dateText, inst) {enable_calendar();calculate_price();})
	}

	if (location.hash == "#thanks") {
	    $('#tabs').tabs('select', 'book');
	    window.scrollTo($('#tabs').offset().left,$('#tabs').offset().top);
	}
        else if (location.hash == "#thanks2") {
	    $('#tabs').tabs('select', 'contact');
	    window.scrollTo($('#tabs').offset().left,$('#tabs').offset().top);
	}

	change_image(1);

	if (show_calendar) set_calendars();

	$("#arrival_time_expl span").css("visibility", "hidden");
	$("#arrival_time").mouseover(function () {$("#arrival_time_expl span").css("visibility", "visible");});
	$("#arrival_time").mouseout(function () {$("#arrival_time_expl span").css("visibility", "hidden");});

	$("#question_expl span").css("visibility", "hidden");
	$("#question").focus(function () {$("#question_expl span").css("visibility", "visible");});
	$("#question").blur(function () {$("#question_expl span").css("visibility", "hidden");});

	if (show_calendar) $(".book_room_box :input").click(function () {set_max_departure();});
	else $(".book_room_box :input").click(function () {enable_calendar();calculate_price();});

	if (show_calendar) {
	    $("#arrival").keyup(function () {set_max_departure();});
	    //$("#departure").blur(function () { set_max_departure(); });
	    $("#departure").keyup(function () {enable_calendar();calculate_price();});
	} else {
	    $("#arrival").keyup(function () {enable_calendar();calculate_price();});
	    $("#departure").keyup(function () {enable_calendar();calculate_price();});
	}

	if (show_calendar) enable_calendar();
    }
);

function calculate_price() {
    var price = 0;

    if ($("#arrival").val().length > 0 && $("#departure").val().length > 0 && $("#arrival").val() != "dd-mm-yyyy" && $("#departure").val() != "dd-mm-yyyy") {

	for (var i in prices) {
	    if ($("#room"+i).is(":checked")) {
		var ar_date = $("#arrival").datepicker( 'getDate' );
		var dep_date = $("#departure").datepicker( 'getDate' );
		var day = 1000*60*60*24;
		var days = ((dep_date.getTime()-ar_date.getTime())/day);
		price += days*prices[i];
	    }
	}
    }

    //alert(dep_date);

    if (price > 0) {
	 if (conv_rate != 0) $("#book_price").html(valuta+(price/100).toFixed(2)+" (€ "+((price*conv_rate)/100).toFixed(2)+")");
	 else $("#book_price").html(valuta+(price/100).toFixed(2));
    } else $("#book_price").html("-");
}

function enable_calendar() {
    var sr = false;
    $(".book_room_box :input").each( function() {
	if ($(this).is(":checked")) sr = true;
    });

    if (sr) {
	$("#arrival").attr("disabled", false);
	if ($("#arrival").val() == "dd-mm-yyyy" || $("#arrival").val() == "" ) {
	    $("#departure").attr("disabled", true);
	    $("#ar_dep_expl").html(kies_aankomst+'.');
	} else {
	    $("#departure").attr("disabled", false);
	    if ($("#departure").val() == "dd-mm-yyyy" || $("#departure").val() == "" ) $("#ar_dep_expl").html(kies_vertrek+'.');
	    else $("#ar_dep_expl").html('');
	    if ($("#departure").datepicker('getDate') < $("#arrival").datepicker('getDate') || $("#departure").datepicker('getDate') > $("#departure").datepicker('getMaxDate')) {
		$("#departure").val('dd-mm-yyyy');
		$("#ar_dep_expl").html(kies_vertrek+'.');
	    }
	}
    } else {
	$("#arrival").attr("disabled", true);
	$("#departure").attr("disabled", true);
	$("#ar_dep_expl").html(kies_kamers+'.');
    }
}

function set_max_departure() {
    var ar_date = $("#arrival").datepicker( 'getDate' );
    var room_ids = "";

    $(".book_room_box :input").each(function () {
	if ($(this).is(':checked')) room_ids += ","+$(this).attr("id").substring(4);
    });

    if (room_ids != "") {
	$.ajax({
	    type: "GET",
	    url: "/getdataforcalendar",
	    data: "id="+benbid+"&from_day="+ar_date.getDate()+"&from_month="+(ar_date.getMonth()+1)+"&from_year="+ar_date.getFullYear()+"&roomids="+room_ids.substring(1),
	    success: function(message){
		var tar_date = new Date();
		tar_date.setDate(ar_date.getDate()+1);
		tar_date.setMonth(ar_date.getMonth());
		tar_date.setFullYear(ar_date.getFullYear());
		$("#departure").datepicker( 'change', 'defaultDate',  tar_date);
		$("#departure").datepicker( 'change', 'minDate',  tar_date);
		$("#departure").datepicker( 'change', 'maxDate',  '+3y');

		if (message != "" && message != undefined) {
		    var dep = new Date();
		    message = parseInt(message);
		    dep.setTime(message*1000);

		    $("#departure").datepicker( 'change', 'maxDate',  dep);

		    if (dep < $("#departure").datepicker('getDate')) {
			$("#departure").val('dd-mm-yyyy');
			$("#ar_dep_expl").html(kies_vertrek+'.');
		    }

		    var arr = new Date();
		    arr.setTime(message*1000);
		    if (ar_date.getDate() == arr.getDate() && ar_date.getMonth() == arr.getMonth() && ar_date.getFullYear() == arr.getFullYear()) {
			$("#arrival").val('dd-mm-yyyy');
			$("#ar_dep_expl").html(kies_aankomst+'.');
		    }
		}

		enable_calendar();
		calculate_price();
	    }
	});
    } else {
	$("#departure").datepicker( 'change', 'minDate',  ar_date);
	$("#departure").datepicker( 'change', 'defaultDate',  ar_date);

	enable_calendar();
	calculate_price();
    }
}

function tab(tab) {
    $('#tabs').tabs('select', tab);
}

function book_room(id) {
    $('#tabs').tabs("select", '#book');
    $("#room"+id).attr("checked", "checked");
    enable_calendar();
}

function change_image(img) {
    $(".main_image").css({
	display: "none"
    });
    $(".main_image_fs").css({
	display: "none"
    });
    $("#main_image_"+(last_image-(5-img))).css({
	display: "block"
    });
    $("#main_image_fs_"+(last_image-(5-img))).css({
	display: "block"
    });
}

function images_right() {
    if (last_image < image_amount) {
	$("#image1").attr('src', images[last_image-3]);
	$("#image2").attr('src', images[last_image-2]);
	$("#image3").attr('src', images[last_image-1]);
	$("#image4").attr('src', images[last_image]);
	last_image++;
    }
}

function images_left() {
    if (last_image > 4) {
	$("#image1").attr('src', images[last_image-5]);
	$("#image2").attr('src', images[last_image-4]);
	$("#image3").attr('src', images[last_image-3]);
	$("#image4").attr('src', images[last_image-2]);
	last_image--;
    }
}

function goto_reviews() {
    $('#tabs').tabs("select", '#reviews');
    window.scrollTo($('#tabs').offset().left,$('#tabs').offset().top)
}

function hover_reviews() {
    $("#reviewblok").css("cursor", "pointer");
}

function set_calendars(movement) {
    if (movement == "fw") {
	if (month == 12) {
	    year ++;
	    month = 1;
	} else month += 1;
    } else if (movement == "bw") {
	if (month == 1) {
	    year --;
	    month = 12;
	} else month -= 1;
    }

    if (month == orig_month && year == orig_year) {
	$("#cal_bw").css('display', 'none');
    } else {
	$("#cal_bw").css('display', 'inline');
    }
    
    var days;

    if (month == 1) days = 31;
    if (month == 2) {
	if (year % 4 == 0) days = 29;
	else days = 28;
    }
    if (month == 3) days = 31;
    if (month == 4) days = 30;
    if (month == 5) days = 31;
    if (month == 6) days = 30;
    if (month == 7) days = 31;
    if (month == 8) days = 31;
    if (month == 9) days = 30;
    if (month == 10) days = 31;
    if (month == 11) days = 30;
    if (month == 12) days = 31;

    $(".invisible").each(function() {
	$(this).removeClass("invisible");
    });

    $(".occupied").each(function() {
	$(this).removeClass("occupied").addClass("unoccupied");
    });

    $(".unoccupied").each(function() {
	if (parseInt($(this).attr('id').substring($(this).attr('id').length-2, $(this).attr('id').length)) > days) $(this).addClass("invisible");
	$(this).removeClass("cal_clear");
    });

    for (var i=1; i<32; i++) {
	if (i > days) $("#dow_"+i).addClass("invisible");
	else {
	    var d = new Date();
	    //if (i == 31) i=0;
	    d.setDate(i);
	    //if (i == 0) i=31;
	    d.setMonth(month-1);
	    d.setFullYear(year);
	    d.setHours(12);
	    d.setMinutes(0);
	    d.setSeconds(0);

	    if (d.getDay() == 0) {
		$(".unoccupied").each(function() {
		    if (parseInt($(this).attr('id').substring($(this).attr('id').length-2, $(this).attr('id').length).replace("_", ""))-1 == i) $(this).addClass("cal_clear");
		});
	    }

	//$("#dow_"+i).html(dagen[d.getDay()]);
	}
    }

    d.setDate(1);
    var dday = d.getDay()
    if (d.getDay() == 0) dday = 7;
    var w = (dday-1)*20;
    $('.crspacer').css('width', w+'px');

    //var w = (31 - days)*14;
    //$('.crspacer').css('width', w+'px');

    $('#cal_month').html(months[month]);
    $('#cal_year').html(year);

    $.ajax({
	type: "GET",
	url: "/getdataforcalendar",
	data: "id="+benbid+"&show_month="+month+"&show_year="+year,
	success: function(message){

	    data = unserialize(message);
            
	    for(var i in data)
	    {
		    for(var ii in data[i]) {
		    if (isInt(ii)) {
			$("#cal_"+i+"_"+ii).addClass("occupied").removeClass("unoccupied");
		    }
		}
	    }
	}
    });
}