﻿$(document).ready(function(){
	
	initDatePicker();
    initPaxPicker();
});

function initDatePicker()
{
    var currentDateFormat = 'dd.mm.yy';
    var datepickerIn = $("#datepickerCheckIn");
    var datepickerOut = $("#datepickerCheckOut");

    datepickerIn.datepicker({
        showOn: 'both',
        buttonImage: '../img/calendar_mini_out.gif', buttonImageOnly: true, dateFormat: currentDateFormat,
        onSelect: function(dateText, inst) {
            var checkInDate = datepickerIn.datepicker('getDate');
            var checkOutDate = datepickerOut.datepicker('getDate');
            var newCheckOutDate = new Date(checkInDate);
            newCheckOutDate.setDate(checkInDate.getDate() + 1);
            datepickerOut.datepicker('option', 'minDate', newCheckOutDate);
            if (checkInDate >= checkOutDate) {
                datepickerOut.datepicker('setDate', newCheckOutDate);
            }
            setNumberOfDays();
        }
    });
    datepickerOut.datepicker({
        showOn: 'both', buttonImage: '../img/calendar_mini_out.gif',
        buttonImageOnly: true, dateFormat: currentDateFormat,
        onSelect: function(dateText, inst) {
            setNumberOfDays();
        }
    });

    datepickerIn.datepicker($.datepicker.regional[languageCode]);
    datepickerOut.datepicker($.datepicker.regional[languageCode]);
    datepickerIn.datepicker('option', 'maxDate', '+11m +29d');
    datepickerOut.datepicker('option', 'maxDate', '+1y');
    datepickerIn.datepicker('option', 'minDate', '+' + minCheckInDate + 'd');
    datepickerIn.datepicker('setDate', checkInDateInDaysFromNow);

    var minCheckOutDate = datepickerIn.datepicker('getDate');
    minCheckOutDate.setDate(minCheckOutDate.getDate() + 1);
    datepickerOut.datepicker('option', 'minDate', minCheckOutDate);
    datepickerOut.datepicker('setDate', checkOutDateInDaysFromNow);
    setNumberOfDays();
}

function setNumberOfDays()
{
        var checkInDate = $("#datepickerCheckIn").datepicker('getDate');
        var checkOutDate = $("#datepickerCheckOut").datepicker('getDate');

	    var dateDiffInDays = Math.floor((checkOutDate.getTime() - checkInDate.getTime())/(1000*60*60*24));
	    if(dateDiffInDays > 1)
	    {
	        $("#NightLabel").hide();
	        $("#NightsLabel").show();
	    }
	    else
	    {
	        $("#NightLabel").show();
	        $("#NightsLabel").hide();
	    }
	    $("#numerOfNights").html(dateDiffInDays);
}

function initPaxPicker()
{
    var numberOfVisibleRooms = $("#firstRoomPickerByType input[type='hidden']").val();
	
    if (numberOfVisibleRooms == null || numberOfVisibleRooms == '' || numberOfVisibleRooms == '1')
    {
        $(".roomType .row2").hide();
        $(".roomType .row3").hide();
    }
    else if(numberOfVisibleRooms == '2')
    {
        $(".roomType .row3").hide();
    }
    
	$(".more_rooms").click(function(){
		var current = $(this).parents().filter(".row");
		var next = current.next();
		if(next.is(":visible")){
			next.next(":hidden").show();
		}
		else{
			next.show();
		}
		var numberOfVisibleRooms = $("#firstRoomPickerByType input[type='hidden']").val();
	    if(numberOfVisibleRooms != null && numberOfVisibleRooms == '')
	    {
	        $("#firstRoomPickerByType input[type='hidden']").val('2');
	    }
	    else if(numberOfVisibleRooms != null && numberOfVisibleRooms < 3)
	    {
	        $("#firstRoomPickerByType input[type='hidden']").val(++numberOfVisibleRooms);
	    }
		return false;
	});
	
	$(".less_rooms").click(function(){
	    var numberOfVisibleRooms = $("#firstRoomPickerByType input[type='hidden']").val();
	    if(numberOfVisibleRooms != null)
	    {
	        $("#firstRoomPickerByType input[type='hidden']").val(--numberOfVisibleRooms);
	    }
	    $(this).parent().find("select[class='small'] option[value='0']").attr("selected","selected");
	    $(this).parent().find("[class='ChildAge1 ChildAge'] ").hide();
	    $(this).parent().find("[class='ChildAge2 ChildAge'] ").hide();
		$(this).parent().hide();
		return false;
	});
}

function switchToSplash()
{
    if(document.getElementById("splashRefresh") != null)
    {
        document.getElementById("splashRefresh").style.display = "block";
    }
    if(document.getElementById("hotelStartMain") != null)
    {
        document.getElementById("hotelStartMain").style.display = "none";
    }
    if(document.getElementById("debug") != null)
    {
        document.getElementById("debug").style.display = "none";
    }
    if(document.getElementById("Main_Header") != null)
    {
        document.getElementById("Main_Header").style.display = "none";
    }
    if(document.getElementById("Main_Footer") != null)
    {
        document.getElementById("Main_Footer").style.display = "none";
    }
    try
    {
	if(destination.indexOf(';') != -1){
		destination = destination.substring(7);
	}
    } catch(e) { }
    SearchLoader();
}

function TopRegionLink(KodTopRegion,NameTopRegion,SaveDestination){
    for(var i = 0; i < (TextTopRegion.length - 1); i++){           
        if(TextTopRegion[i].value == KodTopRegion){
            TextTopRegion[i].checked = 'checked';
            destination = NameTopRegion;
            document.getElementById(SaveDestination).value = TextTopRegion[i].value;    
        }    
    }
}

function onHotelStartPageLoad() 
{
    var inputSet = "input[name='hotel']";

    makeStarsSelected(inputSet);
    $(inputSet).click(function() {
        makeStarsSelected(this);
    });

    $("#tabLocation").hide();
    $("#tabGallery").hide();
    
    $("#buttonInfo").parent().addClass("active");
    $("#tabs li a").click(selectTab);
    $("#buttonLocation").click(showMap);
}

function makeStarsSelected(inputSet) {
    $("label.star").removeClass("choosen");
    var id = $(inputSet + ":checked").attr("id");
    if (id == "star6") {
        $("label.star").addClass("choosen");
    }
    else $("label[for='" + id + "']").addClass("choosen");
}

//====================================== GoogleTracking ==========================================

function sendGoogleTrackEvent(action, label, value)
{
    if(isNaN(parseInt(value)))
    {
        _gaq.push(['_trackEvent', 'HotelStart', action, label + '']);
    }
    else
    {
        _gaq.push(['_trackEvent', 'HotelStart', action, label + '', parseInt(value)]);
    }
}