﻿$(document).ready(function() {
    BindEventOnPreviousDateSelection();
    BindEventOnNextDaySelection();
    BindEventOnAvailableDates();
    //getting the query string
    GetQueryStringValues();
    if (!(qsParm['bookingdate'] == undefined)) {
        if (qsParm['bookingdate'].length > 0) {
            if (document.getElementById("hdnPrivateLesson") != null && $("[id$=hdnSearchDate]").val()=="") {
                var i = 0;
                $(".topForm table[id$=Discipline] input").eq(Number(qsParm['discipline']) - 1).trigger("click");
                // &SaleLocation=River%20Run
                qsParm['salelocation'] = qsParm['salelocation'].replace("%20", " ");
                $(".topForm select.selectMeetingLocation").val(qsParm['salelocation']);
                //$(".topForm select.selectMeetingLocation")[0].selectedIndex = qsParm['SaleLocation'];
                $(".topForm .personsIncluded select")[0].selectedIndex = Number(qsParm['noofadults']) - 1;
                var personAge = qsParm['age'];
                // &noofadults=1&age=1%7c&bookingdate=10/8/2009&
                // HTML Special Character of "|" is "%7c"
                if ( personAge.indexOf("%7c") > -1 )
                {                   
                   personAge = personAge.replace("%7c","|");
                }
                for (i = 0; i < qsParm['noofadults']; i++) {
                    $(".topForm .agesOfPeople li").eq(i).find(":text").val(personAge.split('|')[i]);
                    $(".topForm .agesOfPeople li").eq(i).addClass("personDisplay");

                }
                GetPrivateLessonProducts();
            }
            else if (document.getElementById("hdnChildCare") != null) {
                GetChildCareData();
            }
        }
    }
    $("table.PreviousMonthCalendarClass table.PreviousMonthCalendarClass tr,td").css("width", "auto");
    $("table.NextCalendarClass table.NextCalendarClass tr,td").css("width", "auto");
});

function BindEventOnPreviousDateSelection() {
    var ControlName = GetControlName();

    $(".PreviousMonthCalendarClass a").unbind("click").bind("click", function(e) {
            var currentDate = $(this).text();
            var preMonthDate = '';
            if (ControlName == 'PrivateLesson')
            {
                preMonthDate=$('[id$=hdnCurrentMonth]').eq(2).val();
            }
            if (ControlName == 'ChildLesson')
            {
                 preMonthDate=$('[id$=hdnCurrentMonth]').eq(1).val();
            }
            else
            {
               preMonthDate=$('[id$=hdnCurrentMonth]').eq(0).val();
            }    
            
        //$("#ajaxCalendarContainer").showLoading({ loadingStr: "Please wait a moment while we search for your results" });
        $.ajax({
            type: "POST",
            url: "/vailresorts/sites/PlanningAndBooking/WebServices/TwoMonthCalendar.svc/UpdatePreviousMonthCalendar",
            data: "{\"currentDate\" : \"" + currentDate + "\",\"preMonthDate\" : \"" + preMonthDate + "\",\"controlName\" : \"" + ControlName + "\"}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
            
            if (ControlName == 'PrivateLesson')
            {
                $('[id$=ajaxCalendarContainer]').eq(2).html(msg.d);
            }
            if (ControlName == 'ChildLesson')
            {
                $('[id$=ajaxCalendarContainer]').eq(1).html(msg.d);
            }
            else
            {
                $('#ajaxCalendarContainer').html(msg.d);
            }    
                BindEventOnPreviousDateSelection();
                BindEventOnNextDaySelection();
                if (ControlName == 'ChildcareNursery') {
                    GetChildCareData();
                }
                else if (ControlName == 'PrivateLesson') {
                    GetPrivateLessonProducts();
                }
                else if(ControlName=='AdultLesson' || ControlName=='ChildLesson'){
                    GetGroupLessonProducts();
                }
            },
            error: function(xhr, status, error) {
                handlePnB_Calendar_Error(xhr, status, error);
            }

        });
        e.preventDefault();

    });
}

function BindEventOnNextDaySelection() {
        var ControlName = GetControlName();
    
        $(".NextCalendarClass a").unbind("click").bind("click", function(e) {
        var currentDate = $(this).text();
        
        var preMonthDate = '';        
            if (ControlName == 'PrivateLesson')
            {
                preMonthDate=$('[id$=hdnCurrentMonth]').eq(2).val();
            }
             else if (ControlName == 'ChildLesson')
            {
                 preMonthDate=$('[id$=hdnCurrentMonth]').eq(1).val();
            }
            else
            {
                 preMonthDate=$('[id$=hdnCurrentMonth]').eq(0).val();
            }    
        //$("#ajaxCalendarContainer").showLoading({ loadingStr: "Please wait a moment while we search for your results" });
        $.ajax({
            type: "POST",
            url: "/vailresorts/sites/PlanningAndBooking/WebServices/TwoMonthCalendar.svc/UpdateNextMonthCalendar",
            //data: "{\"currentDate\" : \"" + currentDate + "\"}",
            data: "{\"currentDate\" : \"" + currentDate + "\",\"preMonthDate\" : \"" + preMonthDate + "\",\"controlName\" : \"" + ControlName + "\"}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",

            success: function(msg) {
            if (ControlName == 'PrivateLesson')
            {
                $('[id$=ajaxCalendarContainer]').eq(2).html(msg.d);
            }
            if (ControlName == 'ChildLesson')
            {
                $('[id$=ajaxCalendarContainer]').eq(1).html(msg.d);
            }
            else
            {
                $('#ajaxCalendarContainer').html(msg.d);
            }
                //$(".lightGreyBox").gBox({ theme: "lightGreyBox" });
                BindEventOnPreviousDateSelection();
                BindEventOnNextDaySelection();
                if (ControlName == 'ChildcareNursery') {
                    GetChildCareData();
                }
                else if (ControlName == 'PrivateLesson') {
                    GetPrivateLessonProducts();
                }
                else if(ControlName=='AdultLesson' || ControlName=='ChildLesson'){
                    GetGroupLessonProducts();
                }              
            },
            error: function(xhr, status, error) {
                handlePnB_Calendar_Error(xhr, status, error);
            }
        });
        e.preventDefault();

    });
}

function handlePnB_Calendar_Error(xhr, status, error) {
    if (error == null) {
        $('#ajaxCalendarContainer').html("<span class='errorMessage'>" + xhr.responseText.split(',')[2].split(':')[1] + "</span>");
    }
    else {
        var errMsg = getErrorMessage(xhr, status, error);
        $('#ajaxCalendarContainer').html("<span class='errorMessage'>" + errMsg + "</span>");
    }
}

//Update lodging details date
function UpdateTwoMonthCalendar() {

    $("#ajaxCalendarContainer").showLoading({ loadingStr: "Please wait a moment while we search for your results" });
    $.ajax({
        type: "POST",
        url: "/vailresorts/sites/PlanningAndBooking/WebServices/TwoMonthCalendar.svc/UpdateTwoMonthCalendar",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            $('#ajaxCalendarContainer').html(msg.d);

            BindEventOnPreviousDateSelection();
            BindEventOnNextDaySelection();
          
        },
        error: function(xhr, status, error) {
            handlePnB_Calendar_Error(xhr, status, error);
        }
    });
}


//Update lodging details date
function LoadCalendar() {
    $("#ajaxCalendarContainer").showLoading({ loadingStr: "Please wait a moment while we search for your results" });
    $.ajax({
        type: "POST",
        url: "/vailresorts/sites/PlanningAndBooking/WebServices/TwoMonthCalendar.svc/LoadCalendar",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            $('#ajaxCalendarContainer').html(msg.d);
            BindEventOnPreviousDateSelection();
            BindEventOnNextDaySelection();
          
        },
        error: function(xhr, status, error) {
            handlePnB_Calendar_Error(xhr, status, error);
        }
    });
}


//Update lodging details date
function PreviousMonthCalendar() {
  var myControlName=GetControlName();
    var ageGroup = '';
    var location = '';
    var key = '';
    var childCareProdList = [];
    var privateLessonProdList = [];
    var activityProdList = [];
    var selectedDateString = '';
    var CurrentMonth ='';
            if (myControlName == 'PrivateLesson')
            {
                CurrentMonth=$('[id$=hdnCurrentMonth]').eq(2).val();
            }
            if (myControlName == 'ChildLesson')
            {
                 CurrentMonth=$('[id$=hdnCurrentMonth]').eq(1).val();
            }
            else
            {
               CurrentMonth=$('[id$=hdnCurrentMonth]').eq(0).val();
            }    
            
    var activityDates = "";

    if (document.getElementById('hdnActivity') != null) {
        childCareProdList = [];
        privateLessonProdList = [];

        activityDates = [
            getSelectedDates(".firstMonth"),
            getSelectedDates(".secondMonth")
        ].join("|");
        activityDates = activityDates + ",Activity";
    }

    if (document.getElementById('childCareNurseryRequestForm') != null) {
        GetQueryStringValues();
        if (qsParm['agegroup'] != '' && qsParm['location'] != '') {
            ageGroup = qsParm['agegroup'];
            location = qsParm['location'];
        }

        childCareProdList.push(ageGroup + "," + location);

        $("#ChildCareTypeContainer .radioButtonList").each(function() {
            if ($(this).find(":radio").length > 0) {
                key = $.trim($(this).find("h5").html().split(",")[1]);
            }
            else {
                key = $.trim($(this).find("h5").html().split(",")[1]);
            }

            if (selectedDateString.length <= 0) {
                selectedDateString = key;
            }
            else {
                selectedDateString = selectedDateString + "|" + key;
            }

        });
        childCareProdList.push(selectedDateString + ",ChildcareNursery");
        privateLessonProdList = [];
        activityProdList = [];
    }

   if (document.getElementById('privateLessonRequest') != null && myControlName=='PrivateLesson') {
        var query = window.location.search.substring(1).toLowerCase();
        var parms = query.split('&');
        var agesOfPeople = {};

        var discipline = $(".topForm table[id$=Discipline] :checked").val();
        var meetingLocation = $(".topForm select.selectMeetingLocation").val();
        var personsIncluded = $(".topForm .personsIncluded select").val();
        privateLessonProdList.push(discipline + "," + meetingLocation + "," + personsIncluded);
        $(".topForm .agesOfPeople li").each(function() {
            agesOfPeople[$(this).attr("id")] = $(this).find(":text").val();
        });

        var agesOfAdults = '';
        var i = 0;
        for (i = 1; i <= Number(personsIncluded); i++) {
            if ((Number(agesOfPeople["person" + i]) > 0)) {
                if (Number(agesOfAdults.length) > 0)
                    agesOfAdults = agesOfAdults + '|' + agesOfPeople["person" + i];
                else
                    agesOfAdults = agesOfPeople["person" + i];
            }
            else {
                if (Number(agesOfAdults.length) > 0)
                    agesOfAdults = agesOfAdults + '|' + '0';
                else
                    agesOfAdults = agesOfPeople["person" + i];
            }
        }
        privateLessonProdList.push("," + agesOfAdults);

        for (var i = 0; i < parms.length; i++) {
            var pos = parms[i].indexOf('=');
            if (pos > 0) {
                var key = parms[i].substring(0, pos);
                var val = parms[i].substring(pos + 1);
                qsParm[key] = val;
            }
        }

        $("#PrivateLessonsTypeContainer .radioButtonList").each(function() {
            if ($(this).find(":radio").length > 0) {
                var key = $.trim($(this).find("h5").html().split(",")[1]);
            }
            else {
                var key = $.trim($(this).find("h5").html().split(",")[1]);
            }

            if (selectedDateString.length <= 0) {
                selectedDateString = key;
            }
            else {
                selectedDateString = selectedDateString + "|" + key;
            }
        });
        privateLessonProdList.push(selectedDateString + ",PrivateLesson");
        //alert(privateLessonProdList.join(","));
        childCareProdList = [];
        activityProdList = [];
    }
  
    var groupLessonCriteria='';
    var myControlName=GetControlName();
    var groupLessonCriteria='';
    if (myControlName=="AdultLesson"|| myControlName=="ChildLesson")
    {
    var lessonType=(myControlName=="AdultLesson")?'0':'1';
    var ddlLocationID=(myControlName=="AdultLesson")?$('[id$=ddlAdultLocation]').val():$('[id$=ddlChildLocation]').val() ;
    childCareProdList=[];
    privateLessonProdList=[];
    activityDates='';
    groupLessonCriteria=SelectedValue = ddlLocationID+ "," + CurrentMonth + ","+lessonType + ","+myControlName ;
    }
            if (myControlName == 'PrivateLesson')
            {
                $('[id$=ajaxCalendarContainer]').eq(2).showLoading({ loadingStr: "Loading" });
            }
            if (myControlName == 'ChildLesson')
            {
                $('[id$=ajaxCalendarContainer]').eq(1).showLoading({ loadingStr: "Loading" });
            }
            else
            {
                $('#ajaxCalendarContainer').showLoading({ loadingStr: "Loading" });
            }    
   
    $.ajax({
        type: "POST",
        url: "/vailresorts/sites/PlanningAndBooking/WebServices/TwoMonthCalendar.svc/PreviousMonthCalendar",
        data: "{\"currentMonth\" : \"" + CurrentMonth + "\",\"childcareCriteria\" : \"" + childCareProdList.join(",") + "\",\"privateLessonCriteria\" : \"" + privateLessonProdList.join(",") + "\",\"activityCriteria\" : \"" + activityDates + "\",\"groupLessonCriteria\" : \"" + groupLessonCriteria + "\"}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
           if (myControlName == 'PrivateLesson')
            {
                $('[id$=ajaxCalendarContainer]').eq(2).html(msg.d);
            }
            if (myControlName == 'ChildLesson')
            {
                $('[id$=ajaxCalendarContainer]').eq(1).html(msg.d);
            }
            else
            {
                $('#ajaxCalendarContainer').html(msg.d);
            }    
            //$(".lightGreyBox").gBox({ theme: "lightGreyBox" });
            BindEventOnPreviousDateSelection();
            BindEventOnNextDaySelection();
          
        },
        error: function(xhr, status, error) {
            handlePnB_Calendar_Error(xhr, status, error);
        }
    });
}


//Update lodging details date
function NextMonthCalendar(ControlName) {
var myControlName=GetControlName();
    var ageGroup = '';
    var location = '';
    var CurrentMonth ='';
            if (myControlName == 'PrivateLesson')
            {
                CurrentMonth=$('[id$=hdnCurrentMonth]').eq(2).val();
            }
            if (myControlName == 'ChildLesson')
            {
                 CurrentMonth=$('[id$=hdnCurrentMonth]').eq(1).val();
                
            }
            else
            {
               CurrentMonth=$('[id$=hdnCurrentMonth]').eq(0).val();
            }    
            
    var key = '';
    var childCareProdList = [];
    var privateLessonProdList = [];
    var selectedDateString = '';
    var activityProdList = [];
    var activityDates = "";

    if (document.getElementById('hdnActivity') != null) {
        childCareProdList = [];
        privateLessonProdList = [];

        activityDates = [
            getSelectedDates(".firstMonth"),
            getSelectedDates(".secondMonth")
        ].join("|");
        activityDates = activityDates + ",Activity";
    }

    if (document.getElementById('childCareNurseryRequestForm') != null) {
        GetQueryStringValues();
        if (qsParm['agegroup'] != '' && qsParm['location'] != '') {
            ageGroup = qsParm['agegroup'];
            location = qsParm['location'];
        }

        childCareProdList.push(ageGroup + "," + location);

        $("#ChildCareTypeContainer .radioButtonList").each(function() {
            if ($(this).find(":radio").length > 0) {
                key = $.trim($(this).find("h5").html().split(",")[1]);
            }
            else {
                key = $.trim($(this).find("h5").html().split(",")[1]);
            }

            if (selectedDateString.length <= 0) {
                selectedDateString = key;
            }
            else {
                selectedDateString = selectedDateString + "|" + key;
            }

        });
        childCareProdList.push(selectedDateString + ",ChildcareNursery");
        privateLessonProdList = [];
    }

      if (document.getElementById('privateLessonRequest') != null && myControlName=='PrivateLesson') {
        var query = window.location.search.substring(1).toLowerCase();
        var parms = query.split('&');
        var agesOfPeople = {};

        var discipline = $(".topForm table[id$=Discipline] :checked").val();
        var meetingLocation = $(".topForm select.selectMeetingLocation").val();
        var personsIncluded = $(".topForm .personsIncluded select").val();
        privateLessonProdList.push(discipline + "," + meetingLocation + "," + personsIncluded);
        $(".topForm .agesOfPeople li").each(function() {
            agesOfPeople[$(this).attr("id")] = $(this).find(":text").val();
        });

        var agesOfAdults = '';
        var i = 0;
        for (i = 1; i <= Number(personsIncluded); i++) {
            if ((Number(agesOfPeople["person" + i]) > 0)) {
                if (Number(agesOfAdults.length) > 0)
                    agesOfAdults = agesOfAdults + '|' + agesOfPeople["person" + i];
                else
                    agesOfAdults = agesOfPeople["person" + i];
            }
            else {
                if (Number(agesOfAdults.length) > 0)
                    agesOfAdults = agesOfAdults + '|' + '0';
                else
                    agesOfAdults = agesOfPeople["person" + i];
            }
        }
        privateLessonProdList.push("," + agesOfAdults);

        for (var i = 0; i < parms.length; i++) {
            var pos = parms[i].indexOf('=');
            if (pos > 0) {
                var key = parms[i].substring(0, pos);
                var val = parms[i].substring(pos + 1);
                qsParm[key] = val;
            }
        }

        $("#PrivateLessonsTypeContainer .radioButtonList").each(function() {
            if ($(this).find(":radio").length > 0) {
                var key = $.trim($(this).find("h5").html().split(",")[1]);
            }
            else {
                var key = $.trim($(this).find("h5").html().split(",")[1]);
            }

            if (selectedDateString.length <= 0) {
                selectedDateString = key;
            }
            else {
                selectedDateString = selectedDateString + "|" + key;
            }
        });
        privateLessonProdList.push(selectedDateString + ",PrivateLesson");
        //alert(privateLessonProdList.join(","));
        childCareProdList = [];
    }
 
    var groupLessonCriteria='';
    if (myControlName=="AdultLesson"|| myControlName=="ChildLesson")
    {
    var lessonType=(myControlName=="AdultLesson")?'0':'1';
    var ddlLocationID=(myControlName=="AdultLesson")?$('[id$=ddlAdultLocation]').val():$('[id$=ddlChildLocation]').val() ;
    childCareProdList=[];
    privateLessonProdList=[];
    activityDates='';
    groupLessonCriteria=SelectedValue = ddlLocationID + "," + CurrentMonth + ","+lessonType + ","+myControlName ;
    }
    
    if (myControlName == 'PrivateLesson')
            {
                $('[id$=ajaxCalendarContainer]').eq(2).showLoading({ loadingStr: "Loading" });
            }
            if (myControlName == 'ChildLesson')
            {
                $('[id$=ajaxCalendarContainer]').eq(1).showLoading({ loadingStr: "Loading" });
            }
            else
            {
                $('#ajaxCalendarContainer').showLoading({ loadingStr: "Loading" });
            }    
    $.ajax({
        type: "POST",
        url: "/vailresorts/sites/PlanningAndBooking/WebServices/TwoMonthCalendar.svc/NextMonthCalendar",
        data: "{\"currentMonth\" : \"" + CurrentMonth + "\",\"childcareCriteria\" : \"" + childCareProdList.join(",") + "\",\"privateLessonCriteria\" : \"" + privateLessonProdList.join(",") + "\",\"activityCriteria\" : \"" + activityDates + "\",\"groupLessonCriteria\" : \"" + groupLessonCriteria + "\"}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
           if (myControlName == 'PrivateLesson')
            {
                $('[id$=ajaxCalendarContainer]').eq(2).html(msg.d);
            }
            if (myControlName == 'ChildLesson')
            {
                $('[id$=ajaxCalendarContainer]').eq(1).html(msg.d);
            }
            else
            {
                $('#ajaxCalendarContainer').html(msg.d);
            }    
            //$(".lightGreyBox").gBox({ theme: "lightGreyBox" });
            BindEventOnPreviousDateSelection();
            BindEventOnNextDaySelection();
          
        },
        error: function(xhr, status, error) {
            handlePnB_Calendar_Error(xhr, status, error);
        }
    });
}

/*********************
Function for reading querystring for Childcare nursery page
*********************/
var qsParm = new Array();
function GetQueryStringValues() {
    var query = window.location.search.substring(1).toLowerCase();
    var parms = query.split('&');
    for (var i = 0; i < parms.length; i++) {
        var pos = parms[i].indexOf('=');
        if (pos > 0) {
            var key = parms[i].substring(0, pos);
            var val = parms[i].substring(pos + 1);
            qsParm[key] = val;
        }
    }
}

//making service call for child care nursery products
function GetChildCareData() {
    if (document.getElementById("hdnChildCare") != null) {
        qsParm['location'] = null;
        qsParm['agegroup'] = null;

        //getting the query string
        GetQueryStringValues();
        GetChildCareNurseryProducts(qsParm['location'], qsParm['agegroup']);
    }
}

/********* Function for Private lessons page **********/
function GetPrivateLessonProducts() {
    if (document.getElementById("hdnPrivateLesson") != null) {

        qsParm['productid'] = null;
        qsParm['lessontype'] = null;
        //getting the query string
        GetQueryStringValues();
        GetPrivateLessonProductsDetails();
    }
}

function GetGroupLessonProducts() {
//    if (document.getElementById("hdnPrivateLesson") != null) {

//        qsParm['productid'] = null;
//        qsParm['lessontype'] = null;
//        //getting the query string
//        GetQueryStringValues();
//        GetPrivateLessonProductsDetails();
//    }
}

function getSelectedDates(container) {
    // The first empty element is to make the array index "1" based
    var months = ["", "january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december"];

    var monthYear = null;
    if ($.trim(container) == ".firstMonth") {
        monthYear = $("table.PreviousMonthCalendarClass table.PreviousMonthCalendarClass td", $(container));
    } else {
        monthYear = $("table.NextCalendarClass table.NextCalendarClass td", $(container));
    }

    var month = monthYear.html().split(" ")[0];
    var year = monthYear.html().split(" ")[1];

    month = $.inArray(month.toLowerCase(), months).toString();
    if (month.length == 1) {
        month = "0" + month;
    }
    var dates = [];
    $(".state-selected a", $(container)).each(function() {
        var date = $.trim($(this).html());
        if (date.length == 1) {
            date = "0" + date;
        }
        dates.push(month + "/" + date + "/" + year);
    });
    dates = dates.join("|");
    return dates;
}

/*
Get the respected Control Name
*/
function GetControlName() {  
    var ControlName = '';
    if (document.getElementById('childCareNurseryRequestForm') != null) {
        ControlName = 'ChildcareNursery';
    }
    if (document.getElementById('privateLessonRequest') != null) 
    {
    ControlName="ChildLesson";
    if($("#PrivateLessonTab").hasClass("tabs-selected"))
    {
        ControlName = 'PrivateLesson';
    }
    if($("#ClassesAdultTab").hasClass("tabs-selected"))
    {
        ControlName = 'AdultLesson';
    }
    }
    if (document.getElementById('hdnActivity') != null) {
        ControlName = 'Activity';
    }
   
   if(document.getElementById('offerPricePointParentContainer') != null)
   {
     ControlName = 'offerPricePoint';
   }
   
    return ControlName;
}

/*
Refresh the Deep Link URL, on User selection the Date.
*/
function GetEmailLinkURL() {
    var ControlName = GetControlName();
    if (ControlName == 'PrivateLesson') {
        var personsIncluded = $(".topForm .personsIncluded select")[0].selectedIndex;
        var age = '';

        for (i = 0; i <= eval(personsIncluded); i++) {
            age = age.toString() + $(".topForm .agesOfPeople li").eq(i).find(":text").val();
            if (i < eval(personsIncluded)) {
                age = age.toString() + '|';
            }
        }

        var EmailLink = $(".hidEmailPageURL").val();
        if (EmailLink != null && EmailLink != 'undefined') {
            EmailLink = EmailLink.replace("@personsIncluded", (eval(personsIncluded) + 1).toString());
            EmailLink = EmailLink.replace("@Age", age);
            $(".emailVacationLink").attr("href", EmailLink);
        }
    }
    else if (ControlName == 'ChildcareNursery') {
        var EmailLink = $(".hidEmailPageURL").val();
        if (EmailLink != null && EmailLink != 'undefined') {
            $(".emailVacationLink").attr("href", EmailLink);
        }
    }
}

//Function NextButtonclick
function OfferPricePointNextClick()
{
var nextMonth=preMonthDate=$('[id$=hdnCurrentMonth]').eq(0).val();
var selectedDates=document.getElementById('hdnAllSelectedDates').value;

$("#ajaxCalendarContainer").showLoading({ loadingStr: "Please wait a moment while we search for your results" });
$.ajax({
        type: "POST",
        url: "/vailresorts/sites/PlanningAndBooking/WebServices/TwoMonthCalendar.svc/OfferPricePointNextClick",
        data: "{\"nextMonth\" : \"" + nextMonth + "\",\"selectedDates\" : \"" + selectedDates + "\"}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            $('#ajaxCalendarContainer').html(msg.d);
            BindEventOnAvailableDates();
          
        },
        error: function(xhr, status, error) {
          handlePnB_Calendar_Error(xhr, status, error);
        }
    });
}

//Function NextButtonclick
function OfferPricePointPreviousClick()
{
var previousMonth=preMonthDate=$('[id$=hdnCurrentMonth]').eq(0).val();
var selectedDates=document.getElementById('hdnAllSelectedDates').value;
$("#ajaxCalendarContainer").showLoading({ loadingStr: "Please wait a moment while we search for your results" });
$.ajax({
        type: "POST",
        url: "/vailresorts/sites/PlanningAndBooking/WebServices/TwoMonthCalendar.svc/OfferPricePointPreviousClick",
        data: "{\"previousMonth\" : \"" + previousMonth + "\",\"selectedDates\" : \"" + selectedDates + "\"}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            $('#ajaxCalendarContainer').html(msg.d);
            BindEventOnAvailableDates();
          
        },
        error: function(xhr, status, error) {
            handlePnB_Calendar_Error(xhr, status, error);
        }
    });
}

function getFormatedDate(date, separator){
    separator = separator || "/"
    var today=new Date(date);
    var dd = today.getDate();
    var mm = today.getMonth()+1;//January is 0!
    var yyyy = today.getFullYear();
    if(dd<10){dd='0'+dd}
    if(mm<10){mm='0'+mm}
    return mm + separator + dd + separator + yyyy;
}
    
    
function BindEventOnAvailableDates(){
    var calTable    = $("table[id$=offerPricePointCalendar]");
    var calTd       = $("td", calTable).filter(".state-unavailable, .state-available");
    
    calTd.filter(".state-available").hover(
        function(){
            var selected = getSelectedDates(this, calTd);
            selected.addClass("dateHover");
            var msg = $(this).attr("msg");
            $("#spanCost").html(msg);
        }, 
        function(){
            calTd.removeClass("dateHover");
             if (document.getElementById('hdnSelectedDate').value.length<1)
                {
                    $("#spanCost").html("");
                }
                else
                {
                     var msg = document.getElementById('hdnAvailableDays').value;
                     $("#spanCost").html(msg);
                }
        }
    ).click(function(){
        calTd.removeClass("dateSelected");
        var selected = getSelectedDates(this, calTd);
        document.getElementById('hdnSelectedDate').value=selected.eq(0).attr("date");
        selected.addClass("dateSelected");
        var msg = $(this).attr("msg");
        $("#spanCost").html(msg);
        document.getElementById('hdnAvailableDays').value=msg;
        
         //Added by Naveen Kumar
        
             var dateCol=new Date(document.getElementById('hdnSelectedDate').value);
             dateCol=getFormatedDate(dateCol);
             document.getElementById('spanArrival').innerHTML=dateCol;
             var numOfDays   = parseInt($('#hdmMaxDay').val());
             dateCol=new Date(document.getElementById('hdnSelectedDate').value)
             dateCol.setDate(dateCol.getDate()+(numOfDays));
             dateCol=getFormatedDate(dateCol);
             document.getElementById('spanDeparture').innerHTML=dateCol;
             document.getElementById('hdnAllSelectedDates').value="";
              var hdnAllSelectedDates=document.getElementById('hdnAllSelectedDates').value;
             for (var counter=0;counter<numOfDays;counter++)
            {
                var dateCol=new Date(selected.eq(0).attr("date"));
                var dateCol= dateCol.setDate(dateCol.getDate()+counter);
                dateCol=getFormatedDate(dateCol);
                hdnAllSelectedDates=hdnAllSelectedDates+ dateCol +",";
            }
            document.getElementById('hdnAllSelectedDates').value=hdnAllSelectedDates;
         //End
        return false;
    });
}

function getSelectedDates(date, dateList){
    var currDate    = $(date).attr("date");
    var numOfDays   = parseInt( $('#hdmMaxDay').val() );
    var tdIdx       = dateList.index(date);
    var lastIdx     = ( tdIdx + numOfDays > dateList.length ) ? dateList.length : tdIdx + numOfDays;
    var selected    = dateList.eq(tdIdx);
    for ( var x = tdIdx + 1; x < lastIdx; x++){
        selected = selected.add( dateList.eq(x) );
    }
   
    return selected;
}

function ShowCost(costMessage, currentDate)
{
    var hdmMaxDay=document.getElementById('hdmMaxDay');
    var availableDays="";
    for (var counter=0;counter<hdmMaxDay.value;counter++)
    {

        var dateCol=new Date(currentDate);
        var dateCol= dateCol.setDate(dateCol.getDate()+counter);
        dateCol=getFormatedDate(dateCol);
        availableDays=availableDays+ dateCol +",";
    }
    document.getElementById('spanCost').innerHTML=costMessage;
    return false;
}

function HideCost(costMessage,currentDate)
{
    if (document.getElementById('hdnSelectedDate').value.length<1)
    {
        document.getElementById('spanCost').innerHTML="";
    }
    
    return false;
}
function ShowAllMessage(arrivalMessage,departuremessage,costMessage,currentDate)
{
    document.getElementById('spanArrival').innerHTML=arrivalMessage;
    document.getElementById('spanDeparture').innerHTML=departuremessage;
    document.getElementById('spanCost').innerHTML=costMessage;
    document.getElementById('hdnSelectedDate').value=arrivalMessage;
    var hdmMaxDay=document.getElementById('hdmMaxDay');
    var hdnAvailableDays=document.getElementById('hdnAvailableDays')
    hdnAvailableDays.value="";
    for (var counter=0;counter<hdmMaxDay.value;counter++)
    {
        var dateCol=new Date(arrivalMessage);
        var dateCol= dateCol.setDate(dateCol.getDate()+counter);
        dateCol=getFormatedDate(dateCol);
        hdnAvailableDays.value=hdnAvailableDays.value + dateCol +",";
    }

    return false;
}


function ValidateSelectedDate()
{
    if (document.getElementById('hdnSelectedDate').value.length<1)
    {
        var control=GetControlName();        
        if(control=='offerPricePoint')
        {
            document.getElementById('errorMessagePopup').innerHTML="You must select dates of stay";
        }
        else
        {
            document.getElementById('errorMessagePopup').innerHTML="Please select a Check In date from calendar";
        }
        return false
    }
    else
    {
        document.getElementById('errorMessagePopup').innerHTML="";
        var selectedDate=document.getElementById('hdnSelectedDate').value;
        var strEdit=document.getElementById('hdnSearchQueryStringCartProductID').value;
        $.ajax({
        type: "POST",
        url: "/vailresorts/sites/PlanningAndBooking/WebServices/TwoMonthCalendar.svc/AddProductToCart",
        data: "{\"selectedDate\" : \"" + selectedDate + "\",\"strEdit\" : \"" + strEdit + "\"}",
        //data: "{\"selectedDate\" : \"" + selectedDate + "\"}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            window.location.href = msg.d; 
        },
        error: function(xhr, status, error) {
             handlePnB_Calendar_Error(xhr, status, error);
        }
        });
    
        return false;
    }

    
}

