/* Changeable Variables */

// Panel Images
var intervalSpeed = 5000;
var slideSpeed = 1000;
var fadeSpeed = 1500;

/* Functionality */
var interval = 0;
var intervalHighlights = 0;
var readMoreFullHeight = 0;

$(document).ready(function () {
    // Font replace
   /* Cufon.set('fontFamily', 'walescottages');
    Cufon.replace('h1');
    Cufon.replace('#panel');
    Cufon.replace('.panel h2');
    Cufon.replace('h2.new');
    Cufon.replace('h3');
    Cufon.replace('.subNav li a');
    Cufon.replace('#regions');
    Cufon.replace('.pageTitle span');
    Cufon.replace('.pageTitle li');
    Cufon.replace('.icons li span');
    Cufon.replace('.column-b .column-a h2');
    Cufon.replace('.options a');
    Cufon.replace('.redBox .boxCTA');
    Cufon.replace('.coupon h4');
    Cufon.replace('.searchCoupons .searchTop div');
    Cufon.replace('.searchCoupons .searchTop p');
    Cufon.replace('.searchCoupons .detailsLink');
    Cufon.replace('#header-image .details h2');
    Cufon.replace('.refineBox .top span');
    Cufon.replace('.refineBox .bottom');
    Cufon.replace('.slideGroup h2');
    Cufon.replace('.availTitle');
    Cufon.replace('#helpCTA');
    Cufon.replace('tr.darkRed a');
    Cufon.replace('tr.darkRed div');
    Cufon.replace('td.light a');
    Cufon.replace('#availabilityOptions .coupon');
    Cufon.replace('.priceCTA');
    Cufon.replace('.contactBox .section p');*/

    // Availability Search Validation
    $('#search').submit(function () {
        var areaDetails = $('select#area').attr("value");
        var sizeDetails = $('select#partysize').attr("value");
        var weekDetails = $('select#week').attr("value");
        var durationDetails = $('select#duration').attr("value");
        var errMsg = "";

        if (areaDetails == '0') { errMsg = errMsg + "Please select an Area" + "\n" };
        if (sizeDetails == '0') { errMsg = errMsg + "Please select a valid Party Size" + "\n" };
        if (weekDetails != '' || durationDetails != '') {
            if (weekDetails == '') { errMsg = errMsg + "You have selected a Duration, you must also select a Start Week" + "\n" };
            if (durationDetails == '') { errMsg = errMsg + "You have selected a Start Week, you must also select a Duration" + "\n" };
        }

        if (errMsg == '') {
            $.cookie('shortBreak', null);
            if ($.cookie('pricingDetails')) { $.cookie('pricingDetails', null) };
            var priceCookieDetails = weekDetails + "|" + durationDetails;
            if (priceCookieDetails != "|") { $.cookie('pricingDetails', priceCookieDetails, { path: "/", expires: 7 }) };
            return true;
        }
        else {
            alert(errMsg);
            return false;
        };
    });

    // Cottage Lookup
    $('form#refsearch').submit(function () {
        var productCode = $('input#productcode').attr("value");
        if (productCode == 'Enter cottage ref. no.' || productCode.indexOf(' ') > -1 || productCode == '') {
            alert("Invalid Property Ref");
            return false;
        }
    });

    // Select resize
    $('select#area').mousedown(function () { $(this).css("width", "225px") });
    $('select#area').blur(function () { $(this).css("width", "195px") });
    $('select#area').change(function () { $(this).css("width", "195px") });

    // Google Maps
    if ($('#map_canvas').attr('id')) { googleMaps() };
$('#map a.colorbox').click(function(){
$(this).colorbox({ width: "820px", height: "635px", iframe: true });
});
 

    // All images are hidden, so display first image on page load
    $('#panelImage1').css({
        display: 'inline',
        left: '0px'
    });

    if ($('.feature')) {
        $('#featureDetails1').css('left', '0px');
        if ($('.brownBox .feature div').length > 1) {
            $('.arrowLeft img').click(function () { highlightsSlider('left') });
            $('.arrowRight img').click(function () { highlightsSlider('right') });
        }
        else {
            $('.brownBox .feature').css("padding-left", "21px");
            $('#featureDetails1').css('left', '20px');
            $('.arrowLeft img').css("display", "none");
            $('.arrowRight img').css("display", "none");
        }
    }

    // Show first set of image details
    $('#panelDetails1').css('display', 'block');

    // Navigate panel dots
    $('#panelNav li').click(function () { panelNav(this) });

    // Set interval speeds
    if ($('#panelImage1').attr('id')) { interval = setInterval('panelFade()', intervalSpeed) };
    if ($('.brownBox .feature div').length > 1) {
        if ($('#featureDetails1').attr('id')) { intervalHighlights = setInterval('highlightsPanel()', intervalSpeed) };
    }

    // Set availability box
    updateAvailabilityBox();

    //if ($('#areaselect').length > 0){
    //$('#area').click(function(){$('#areaselect').slideToggle();return false;});
    //}

    //Christmas dates overrides.  
    christmasDateOverrides();

    // Cottage lookup
    $('#refsearch #productcode').click(function () { if ($(this).attr("value") != "") { $(this).attr("value", "") } });
    $('#townForm #autoMe').click(function () { if ($(this).attr("value") != "") { $(this).attr("value", "") } });

    // Search results link
    if ($('#returnLink')) {
        var cookieDetails = $.cookie("searchURL");
        if (cookieDetails != null) { $('#returnLink').attr("href", cookieDetails) }
        else { $('#returnLink').hide() };
    }

    LoadQuickWeekBook();

    // Check booking option availabile
    $('#weekBook').submit(function () {
        var selectedOption = $('#week-book option:selected').text();
        if (selectedOption.indexOf('Available') > -1 || selectedOption.indexOf('Late Bargain') > -1 || selectedOption.indexOf('Offer') > -1) {
			// Google Analytics Cross Domain Hack
			bookWeekFade($(this));
			var specialUrl = "https://scottishcottages.secure-holidays.com/book-now.aspx?productid=" + $('#hiddenProductId').val() + "&Duration=7&startdate=" + $('#week-book select').val();
			var anchorLink = "<a style='display:none;' id='hiddenClickLink' href='" + specialUrl + "'>submit</a>";
			$('#weekBook').append(anchorLink);
			
			$('#hiddenClickLink').click(function(){
				_gaq.push(['_link', specialUrl]);
				return false;
			});
			
			$('#hiddenClickLink').trigger('click');            
            return false;
        }
        else if (selectedOption.indexOf('SB') > -1) { alert("Short breaks cannot be booked online, please call 01228 406751") }
        else { alert("The date selected is currently unavailable.") };
        return false;
    });

    // Local area javascript button
    if ($("#localLink")) { $("#localLink").attr("href", $("#localLink").attr("href") + "#local") };

    // Cottage distance refine submit
    if ($("#cottageDistance")) {
        $("#refineCottages").change(function () {
            $(this).submit();
        });
    };

    if ($('#townSortForm')) {
        $('#townSortForm select').change(function () {
            $('#townSortForm').submit();
        });
    };

    if ($('.pagingLinks')) {
        $('.pagingLinks').click(function () {
            var formId = $(this).attr("id");
            formId = "#" + formId.replace("link", "linkForm");
            $(formId).submit();
        });
    }
    
    if($('.vidCoupon a')){
		$('.vidCoupon a').click(function(){
			$(this).colorbox({ width: "680px", height: "446px", iframe: true });
		});
    }
});

function christmasDateOverrides()
{
   $("#week option[value='2010-12-18']").val("2010-12-20");
              $("#week option[value='2010-12-20']").text("Mon 20 Dec 2010");
              $("#week option[value='2010-12-25']").val("2010-12-28");
              $("#week option[value='2010-12-28']").text("Tue 28 Dec 2010");
              $("#week option[value='2011-12-17']").val("2011-12-20");
              $("#week option[value='2011-12-20']").text("Tue 20 Dec 2011");
              $("#week option[value='2011-12-24']").val("2011-12-28");
              $("#week option[value='2011-12-28']").text("Wed 28 Dec 2011");    
              $("#weekAlt option[value='2010-12-18']").val("2010-12-20");
              $("#weekAlt option[value='2010-12-20']").text("Mon 20 Dec 2010");
              $("#weekAlt option[value='2010-12-25']").val("2010-12-28");
              $("#weekAlt option[value='2010-12-28']").text("Tue 28 Dec 2010");
              $("#weekAlt option[value='2011-12-17']").val("2011-12-20");
              $("#weekAlt option[value='2011-12-20']").text("Tue 20 Dec 2011");
              $("#weekAlt option[value='2011-12-24']").val("2011-12-28");
              $("#weekAlt option[value='2011-12-28']").text("Wed 28 Dec 2011");
              
              $("#week option[value='2011-01-01']").remove();
              $("#week option[value='2011-12-31']").remove();
              /*$("#week option[value='2011-12-20']").remove();
              $("#week option[value='2011-12-28']").remove();
              $("#week option[value='2011-12-30']").remove();*/
              $("#weekAlt option[value='2011-01-01']").remove();
              $("#weekAlt option[value='2011-12-31']").remove();
              /*$("#weekAlt option[value='2011-12-20']").remove();
              $("#weekAlt option[value='2011-12-28']").remove();
              $("#weekAlt option[value='2011-12-30']").remove();*/
              
                      $("#week option[value='2012-12-22']").val("2012-12-20");
                      $("#week option[value='2012-12-20']").text("Thu 20 Dec 2012");   
                      $("#week option[value='2012-12-29']").val("2012-12-28");
                  	$("#week option[value='2012-12-28']").text("Fri 28 Dec 2012");   
          	$("#weekAlt option[value='2012-12-22']").val("2012-12-20");
          	$("#weekAlt option[value='2012-12-20']").text("Thu 20 Dec 2012");   
          	$("#weekAlt option[value='2012-12-29']").val("2012-12-28");
	$("#weekAlt option[value='2012-12-28']").text("Fri 28 Dec 2012"); 
}

function LoadQuickWeekBook()
{
$("#bookLink").hide();
    if ($('#week-book').length > 0)
    {

var currentDate = new Date();
var monthyear = currentDate.getFullYear()+'-'+parseInt(currentDate.getMonth()+1);
var url = '/quick-week-book.aspx?monthyear='+monthyear+'&monthsforward=15&nights=7&productid=' + document.getElementById('productid').value;

 	$.ajax({
  	url: url,
  	success: function(data) {
    	$('#week-book').html(data);
    	$("#bookLink").fadeIn();
    	
    	
  	}
	});	
    } 
}

function changeDate(node,date){
	var dateFix = node.replace(node.substring(0,node.indexOf(',')),date);
	return dateFix;
}

function panelFade(){    
    // Figure out current panel
    var currentShownPanel = $('.panel img:visible');
    
    // Work out next panel from current panel
    var nextPanel = $(currentShownPanel).attr('id').toString();
    nextPanel = nextPanel.replace('panelImage','');
    nextPanel = parseFloat(nextPanel) + 1;
    
    if(nextPanel <= 4){
        // Fade out current image and fade in next image 
        $(currentShownPanel).fadeOut(fadeSpeed);
        $('#panelImage'+nextPanel.toString()).fadeIn(fadeSpeed);
        
        // Update the navigation dots at the top
        $('#panelNav li').removeAttr('class');
        $('li#panelDot'+nextPanel).attr('class','selected');
        
        // Update the panel details        
        $('#panelDetails'+(parseFloat(nextPanel)-1)).css('display','none');
        $('#panelDetails'+nextPanel).css('display','block');
    }
    else{
        // Fade out current image and fade in next image 
        $('#panelImage4').fadeOut(fadeSpeed);
        $('#panelImage1').fadeIn(fadeSpeed);
        
        // Update the navigation dots at the top
        $('#panelNav li').removeAttr('class');
        $('li#panelDot1').attr('class','selected');
        
        // Update the panel details        
        $('#panelDetails'+(parseFloat(nextPanel)-1)).css('display','none');
        $('#panelDetails1').css('display','block');
    }
}

function panelNav(node){
    // Clear interval and stop user being able to click another dot until animation finished
    clearInterval(interval);
    $('#panelNav li').css('cursor','default');
    $('#panelNav li').unbind('click');
    
    // Work out current panel
    var currentNode = $('#panelNav li.selected').attr('id');
    currentNode = currentNode.replace('panelDot','');
    
    // Work out next panel
    var clickedNode = $(node).attr('id');
    clickedNode = clickedNode.replace('panelDot','');

    // Update navigation dots at the top
    $('#panelNav li').removeAttr('class');
    $(node).attr('class','selected');
    
    // Update panel details
    $('#panelDetails'+currentNode).css('display','none');
    $('#panelDetails'+clickedNode).css('display','block');
    
    // Fade out current image and fade in new image
    $('#panelImage'+currentNode).fadeOut(fadeSpeed);
    $('#panelImage'+clickedNode).fadeIn(fadeSpeed,function(){
        $('#panelNav li').click(function(){panelNav(this)});
        $('#panelNav li').css('cursor','pointer');
    });
}

function highlightsPanel(){
    var currentPanels = $('.feature div');
    var currentPanel = "";
    for(i=0;i<=currentPanels.length-1;i++){if($(currentPanels[i]).css('left') == '0px'){currentPanel = $(currentPanels[i]).attr('id')}}    
    if(currentPanel != ""){currentPanel = currentPanel.replace('featureDetails','')}
    
    // Slide in next panel
    var nextPanel = parseFloat(currentPanel) + 1;    
    if(nextPanel <= (currentPanels.length)){
        $('#featureDetails'+currentPanel).animate({left: '-=165px'},'slow');        
        $('#featureDetails'+nextPanel).animate({left: '0px'},'slow',function(){$('#featureDetails'+currentPanel).css('left','165px')});
    }
    else{
        $('#featureDetails'+currentPanel).animate({left: '-=165px'},'slow');
        $('#featureDetails1').animate({left: '0px'},'slow',function(){$('#featureDetails'+currentPanel).css('left','165px')});
    }
}

function highlightsSlider(direction){
    clearInterval(intervalHighlights);

    var currentPanels = $('.feature div');
    var currentPanel = "";
    for(i=0;i<=currentPanels.length-1;i++){if($(currentPanels[i]).css('left') == '0px'){currentPanel = $(currentPanels[i]).attr('id')}}
    if(currentPanel != ""){currentPanel = currentPanel.replace('featureDetails','')}
    
    if(direction == 'right'){
        var nextPanel = parseFloat(currentPanel) - 1;
        if(nextPanel >= 1){
            $('#featureDetails'+currentPanel).animate({left: '+=165px'},'slow');
            $('#featureDetails'+nextPanel).css('left','-165px');
            $('#featureDetails'+nextPanel).animate({left: '0px'},'slow',function(){$('#featureDetails'+currentPanel).css('left','165px')});
        }
        else{
            $('#featureDetails'+currentPanel).animate({left: '+=165px'},'slow');
            $('#featureDetails'+currentPanels.length).css('left','-165px');
            $('#featureDetails'+currentPanels.length).animate({left: '0px'},'slow',function(){$('#featureDetails'+currentPanel).css('left','165px')});
        }
    }
    else{highlightsPanel()}
    
    intervalHighlights = setInterval('highlightsPanel()',intervalSpeed);
}

function updateAvailabilityBox(){
	
}

function getQueryVariable(variable)
{
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++)
{
var pair = vars[i].split("=");
if (pair[0] == variable)
{
return pair[1];
}
}
} 

function checkEnews(theform)   {
		var msg="";
		
		email=theform.emailaddress.value;
		if (email==""||((email.indexOf("@") == -1)||email.indexOf(".") == -1)) { 
			msg=msg+"Your Email Address is either missing or in an invalid format...\n"; 
			}
		if (msg!="") { alert(msg); return false; }
		else  { 
		theform.action = document.getElementById('destination').value;
		return true; 
		}
		}
		
function readMoreSlide(node){
	var currentText = $(node).html().toString();
	if(currentText == "Read more"){		
		$(".readMoreSection").animate({
			height: readMoreFullHeight
		},1200);
		$("#readMoreSlider").html("Show less");
	}
	else{
		$(".readMoreSection").animate({
			height: "80px"
		},1200);
		$("#readMoreSlider").html("Read more");
	}
}

function bookWeekFade(node) {
    $(node).parents(".redBox").fadeTo("fast", 0.4);
    $(".weekBookAni").show();
}
