﻿var Home = function($){
    var priv = {
    
        bindEvents : function(){
            // promo blocks on homge page
            $("#promo-blocks>li").hover(
                function () {
                    $(this).addClass("hover");
                }, 
                function () {
                    $(this).removeClass("hover");
                }
            ).click(function(){
                location.href = $('a',this).attr('href');
            });

            $('#promo-blocks>li:last').css('margin-right','0');
            
            // regions on home page
            $('#home-collection li').hover(
                function () {
                    if(!$(this).hasClass('last')){
                        $(this).addClass('hover');
                    }
                }, 
                function () {
                    $(this).removeClass('hover');
                }
            ).click(function(){
                location.href = $('a',this).attr('href');
            });
            
            // newsletter block
            $('#pre-subscribe-email').bind('focus', function(){
                $(this).val('');
            });
            
            // home banner
            $('#home-block .home_banner_img').bind('click', function(){
                location.href = $('#home-block .home_banner_link').attr('href');
            });
        },
        
        resizeTitle : function(){
            var $titles = $("#promo-blocks li h3");
            
            $titles.each(
                function(i){
                    var fontSize = parseInt($(this).css("font-size"));
                    while($(this).height() > 25 && fontSize > 15){
                        fontSize--;
                        //resize all titles to make sure all remain the same size
                        $titles.css("font-size", fontSize + "px");
                    }
                }
             );
         }
    
    };
    return {
        homeDropDownChange : function() {
            var monthNValue = $('#ddlMonths').val();
            var vacationlengthNValue = $('#ddlVacationLength').val();
            var destinationsNValue = $('#ddlDestinations').val();
            
            $.ajax({
                url: resources.path_prefix + "/utilpages/ajax-homequery.ashx",
                data: "monthNValue="+monthNValue+"&vacationlengthNValue="+vacationlengthNValue+"&destinationsNValue="+destinationsNValue,
                cache: false,
                dataType: "json",
                success: function(result){
                    $('#result-count').text(result.json.data.resultcount);
                    priv.doHomeDropDownChange = false;
                    $('#ddlMonths').html(result.json.data.monthOptions);
                    $('#ddlMonths').val(monthNValue);
                    $('#ddlVacationLength').html(result.json.data.vacationlenghtOptions);
                    $('#ddlVacationLength').val(vacationlengthNValue);
                    $('#ddlDestinations').html(result.json.data.locationsOptions);
                    $('#ddlDestinations').val(destinationsNValue);
                    priv.doHomeDropDownChange = true;
                    
                    var queryString = "";
                    if(monthNValue != "-1"){
                        queryString += queryString == "" ? "?N="+monthNValue : "+"+monthNValue;
                    } 
                    if(vacationlengthNValue != "-1"){
                        queryString += queryString == "" ? "?N="+vacationlengthNValue : "+"+vacationlengthNValue;
                    } 
                    if(destinationsNValue != "-1"){
                        queryString += queryString == "" ? "?N="+destinationsNValue : "+"+destinationsNValue;
                    }
                    
                    $('#spnResultcount').text(result.json.data.resultcount);
                    $('#home-search .btn-search').attr('href',resources.path_prefix + "/collectie/zoeken.htm" + queryString);
                }
            });
        },
    
        OnReady : function(){
             priv.bindEvents();
             priv.resizeTitle();
             
            $('#home-search select').bind('change', function() {
               Home.homeDropDownChange();
            });
            
            Home.homeDropDownChange();             
        }
    }
}(jQuery);