﻿var Home = function($){
	/**
	 * private methods and variables
	 */
	var priv = {
	    elizaMessageIndex : 0,
        doHomeDropDownChange : true,
        
        homeDropDownChange : function(){
            if(priv.doHomeDropDownChange){
                var monthNValue = $('#ddlMonths').val();
                $('#selectedDdlMonths').val(monthNValue);
                var vacationlengthNValue = $('#ddlVacationLength').val();
                $('#selectedDdlVacationLength').val(vacationlengthNValue);
                var destinationsNValue = $('#ddlDestinations').val();
                $('#selectedDdlDestinations').val(destinationsNValue);
                
                $.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);
                        //Logic.writeDebug($('#ddlMonths').get(0));
                        $('#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;
                        }
                        $('#home-top-block .link-button').attr('href',resources.path_prefix + "/collectie/zoeken.htm" + queryString);
                    }
                });
            }
        }
        
	};
	
	/**
	 * public methods
	 */
	return {		

		OnReady	: function(){

            // random header color
            var rand_no = Math.random();
            if(rand_no < 0.3){
                $('body').attr('id','blue-header');
            } else if(rand_no > 0.3 && rand_no > 0.6){
                $('body').attr('id','yellow-header');
            }

            // hotspots
            $('table.tblhotspots td').bind('click', function(){
                location.href = $($('td', $('tr', $(this).parent().parent()).get(0)).get(this.cellIndex)).find('a').attr('href');
            }).hover(
                function(){
                    $("div.col[class*='col"+(this.cellIndex+1)+"']").addClass('hover');
                },
                function(){
                    $("div.col[class*='col"+(this.cellIndex+1)+"']").removeClass('hover');
                }
            );
            
            // eliza messages
            $('#eliza-mail .liNext a').bind('click', Home.nextElizaMail);
            $('#eliza-mail .liPrev a').bind('click', Home.prevElizaMail);
            
            $('#home-bottom-block .left .user-data').bind('click', function(){
                location.href = resources.path_prefix + '/profile/login.htm?origin=%2ffaq%2ffaq.htm%3foption%3dfaq';
            });
            
            if ($('#selectedDdlMonths').val() != '') {
                $('#ddlMonths').val($('#selectedDdlMonths').val());
            }
            if ($('#selectedDdlVacationLength').val() != '') {
                $('#ddlVacationLength').val($('#selectedDdlVacationLength').val());
            }
            if ($('#selectedDdlDestinations').val() != '') {
                $('#ddlDestinations').val($('#selectedDdlDestinations').val());
            }
            if( $('#ddlMonths').val() != '-1' || 
                $('#ddlVacationLength').val() != '-1' || 
                $('#ddlDestinations').val() != '-1' ){
                priv.homeDropDownChange();
            }
            
            $('#home-top-block .left select').bind('change', function(){
                priv.homeDropDownChange();
            });
		},
		
		nextElizaMail : function($linkBtn){
		    var $linkBtn = $('#eliza-mail .liNext a');
		    if(!$linkBtn.hasClass('disabled')){
                priv.elizaMessageIndex -= 1;
                if(priv.elizaMessageIndex == 0){
                    $linkBtn.addClass('disabled');
                } else {
                    $('#email-block .liPrev a').removeClass('disabled');
                }
                var showClass = $('#eliza-mail').attr('class');
                $("div.eliza-mail").load(resources.path_prefix + '/utilpages/getcontrol.ashx'+ 
                    '?loadControl='+encodeURI('~/controls/elizamails.ascx')+
                    '&newIndex='+priv.elizaMessageIndex+
                    '&showClass='+showClass, 
                    null,
                    function(){ 
                        if(priv.elizaMessageIndex == (parseInt($('#hidNrMessages').val()) - 1)){
                            $('#eliza-mail .liPrev a').addClass('disabled');
                        } else {
                            $('#eliza-mail .liPrev a').removeClass('disabled');
                        }
                        if(priv.elizaMessageIndex == 0){
                            $('#eliza-mail .liNext a').addClass('disabled');
                        } else {
                            $('#eliza-mail .liNext a').removeClass('disabled');
                        }
                        $('#eliza-mail .liNext a').bind('click', Home.nextElizaMail);
                        $('#eliza-mail .liPrev a').bind('click', Home.prevElizaMail);
                    }
                );
            }
		},
		
		prevElizaMail : function($linkBtn){
		    var $linkBtn = $('#eliza-mail .liPrev a');
		    if(!$linkBtn.hasClass('disabled')){
                priv.elizaMessageIndex += 1;
                if(priv.elizaMessageIndex == (parseInt($('#hidNrMessages').val()) - 1)){
                    $linkBtn.addClass('disabled');
                } else {
                    $('#eliza-mail .liNext a').removeClass('disabled');
                }
                var showClass = $('#eliza-mail').attr('class');
                $("div.eliza-mail").load(resources.path_prefix + '/utilpages/getcontrol.ashx'+ 
                    '?loadControl='+encodeURI('~/controls/elizamails.ascx')+
                    '&newIndex='+priv.elizaMessageIndex+
                    '&showClass='+showClass,
                    null,
                    function(){ 
                        if(priv.elizaMessageIndex == (parseInt($('#hidNrMessages').val()) - 1)){
                            $('#eliza-mail .liPrev a').addClass('disabled');
                        } else {
                            $('#eliza-mail .liPrev a').removeClass('disabled');
                        }
                        if(priv.elizaMessageIndex == 0){
                            $('#eliza-mail .liNext a').addClass('disabled');
                        } else {
                            $('#eliza-mail .liNext a').removeClass('disabled');
                        }
                        $('#eliza-mail .liNext a').bind('click', Home.nextElizaMail);
                        $('#eliza-mail .liPrev a').bind('click', Home.prevElizaMail);
                    }
                );
            }
		},
		
		closeElizamail : function(){
		    $('#eliza-mail').removeClass('full');
		},	
			
		showElizaMail : function(){
		    $('#eliza-mail').hide();
		    $('#eliza-mail').addClass('full').show("normal");
		},
		
		toggleElizaMail : function(){
		    if($('#eliza-mail').hasClass('full')){
		        Home.closeElizamail();
		    } else {
		        Home.showElizaMail();
		    }
		},
		
		redirectToNewsletter : function(){
		    var emailTxt = $('#email').val();
		    location.href = 'newsletter.aspx?email=' + emailTxt;
		}
		
	}
}(jQuery);