﻿        jQuery(document).ready(function() {
            setDivsLayout();

            var fromDate = jQuery(':text[id$=txtFromDate]');
            var hidFromDate = jQuery(':hidden[id$=hidFromDate]');
            var toDate = jQuery(':text[id$=txtToDate]');
            var hidToDate = jQuery(':hidden[id$=hidToDate]');
            fromDate[0].value = hidFromDate[0].value;
            toDate[0].value = hidToDate[0].value;
        });

        function setDivsLayout() {
            y = document.getElementById('Layer4').offsetTop;
            if (y > 940) jQuery('div[id$=Layer2]').css('height', 1050 + (y - 940) + "px");
        }

        function hide(section) {

            if (!document.getElementById) return false;
            if (!document.getElementById(section)) return false;

            document.getElementById(section).style.display = "none";
        }

        function show(section) {
            if (!document.getElementById) return false;
            if (!document.getElementById(section)) return false;

            document.getElementById(section).style.display = "block";

            //$("#"+section).find('h3[class=h-open]:first').attr('style','display:""')
        }
      
      function CalculateGroupClassTotal() {
         var groupCourseWeeks = jQuery(':text[id$=txtGroupCourseWeeks]')[0].value;
         var lblTotal = jQuery('span[id$=lblGroupCourseTotal]');
         var hidTotal = jQuery(':hidden[id$=hidGroupCourseTotal]');         
         var oneWeekPrice = jQuery(':hidden[id$=hidSelectedGroupCoursePrice]')[0].value;
         var twoWeeksPrice = jQuery(':hidden[id$=hidSelectedGroupCoursePrice2]')[0].value;
         var threeWeeksPrice = jQuery(':hidden[id$=hidSelectedGroupCoursePrice3]')[0].value;
         var fourWeeksPrice = jQuery(':hidden[id$=hidSelectedGroupCoursePrice4]')[0].value;
         var extraWeekPrice = jQuery(':hidden[id$=hidSelectedGroupCoursePriceExtra]')[0].value;
         
         var numberWeeks = groupCourseWeeks * 1;
         if(groupCourseWeeks != "" && !isNaN(groupCourseWeeks) && numberWeeks > 0)
         {
             switch(numberWeeks)
             {
                case 1: total = oneWeekPrice*1; break;
                case 2: total = twoWeeksPrice*1; break;
                case 3: total = threeWeeksPrice*1; break;
                case 4: total = fourWeeksPrice*1; break;
                default: total = fourWeeksPrice*1 + ((numberWeeks - 4) * extraWeekPrice); break;
             }         
             //total = (groupCourseWeeks*1)*(oneWeekPrice*1);
             lblTotal[0].innerHTML = total.toFixed(2);
             hidTotal[0].value = lblTotal[0].innerHTML;
         }
         else
         {
             lblTotal[0].innerHTML = "0.00";
             hidTotal[0].value = "0.00";         
         }
         
         CalculateGrandTotal();
      }
      
      function CalculatePrivateClassTotal() {
         var privateCourseHours = jQuery(':select[id$=ddlPrivateCourse]')[0].value;
         var lblTotal = jQuery('span[id$=lblPrivateCourseTotal]');
         var hidTotal = jQuery(':hidden[id$=hidPrivateCourseTotal]');         
         var hoursPrice = jQuery(':hidden[id$=hidSelectedPrivateCoursePrice]')[0].value;
         
         if(privateCourseHours != "0")
         {
             //var total = (privateCourseHours*1)*(oneWeekPrice*1);
             total = hoursPrice*1;
             lblTotal[0].innerHTML = total.toFixed(2);
             hidTotal[0].value = lblTotal[0].innerHTML;
         }
         else
         {
             lblTotal[0].innerHTML = "0.00";
             hidTotal[0].value = "0.00";         
         }
         
         CalculateGrandTotal();
      }
              
      function calculateOnDatesPricing(ctl)
      {
        var ddlAccType = jQuery(":input[id$=ddlAccommType]");
        var AccommodationType = ddlAccType[0].value;
            
        var tbl = jQuery(ctl.element.parentNode).parent().parent().parent();
        var txtCtls = tbl.find(":text");
        var dateFrom = txtCtls[0].value;
        var dateTo = txtCtls[1].value;        
                
        var lblNights = tbl.find("span[id$=lblNights]");
        var lblTotal = jQuery('span[id$=lblAccommodationTotal]');
        var hidTotal = jQuery(':hidden[id$=hidAccommodationTotal]');
        var hidNights = jQuery(':hidden[id$=hidNights]');
        var hidFromDate = jQuery(':hidden[id$=hidFromDate]');
        var hidToDate = jQuery(':hidden[id$=hidToDate]');       
        var txtFromDate = jQuery(':text[id$=txtFromDate]');
        var txtToDate = jQuery(':text[id$=txtToDate]');
                
        var oneWeekPrice = jQuery(':hidden[id$=hid1weekPrice]')[0].value;
        var twoWeeskPrice = jQuery(':hidden[id$=hid2weeksPrice]')[0].value;
        var threeWeeksPrice = jQuery(':hidden[id$=hid3weeksPrice]')[0].value;
        var oneMonthPrice = jQuery(':hidden[id$=hid1monthPrice]')[0].value;                        
        
        var date1 = new Date(dateFrom);
        var date2 = new Date(dateTo);
        var one_day=1000*60*60*24                       
        var nights = Math.round((date2.getTime() - date1.getTime())/(one_day));               
        
        var a = 0;                                        
        lblNights[0].innerHTML = nights;
        hidNights[0].value = nights;
        var total = 0;
        
        if(AccommodationType != '3')
          total = calculateTotalPricePricing(nights*1,oneWeekPrice*1,twoWeeskPrice*1,threeWeeksPrice*1,oneMonthPrice)*1;        
        else
          total = calculateTotalFixedPricePricing(nights*1,oneWeekPrice*1)*1;        
          
        a = total*1;
        lblTotal[0].innerHTML = a.toFixed(2);
        hidTotal[0].value = lblTotal[0].innerHTML;
        hidFromDate[0].value = txtFromDate[0].value;
        hidToDate[0].value = txtToDate[0].value;  
        
        CalculateGrandTotal();      
     }      
      
      function calculateTotalPricePricing(nights,oneWeekPrice,twoWeeksPrice,threeWeeksPrice,oneMonthPrice)
      {
         var totalPrice;
        
         if(nights == 7) return oneWeekPrice;
         if(nights == 14) return twoWeeksPrice;
         if(nights == 21) return threeWeeksPrice;
         if(nights == 30) return oneMonthPrice;
         
         if(nights < 7) return Math.ceil((oneWeekPrice/7) * nights);
         if(nights > 7 && nights < 14)
         {
           totalPrice = Math.ceil(((oneWeekPrice/7) * (nights - 7)) + oneWeekPrice);         
           if(totalPrice > twoWeeksPrice) return twoWeeksPrice;
           else return totalPrice;
         }
         if(nights > 14 && nights < 21)
         {
           totalPrice = Math.ceil(((twoWeeksPrice/14) * (nights - 14)) + twoWeeksPrice);         
           if(totalPrice > threeWeeksPrice) return threeWeeksPrice;
           else return totalPrice;
         }
         if(nights > 21 && nights < 30)
         {
           totalPrice = Math.ceil(((threeWeeksPrice/21) * (nights - 21)) + threeWeeksPrice);         
           if(totalPrice > oneMonthPrice) return oneMonthPrice;
           else return totalPrice;
         }         
         if(nights > 30)
         {
           return Math.ceil((oneMonthPrice/30) * nights);
         }
      }
      
      function calculateTotalFixedPricePricing(nights,oneWeekPrice)
      {
         return Math.ceil((oneWeekPrice/7) * nights);
      }
                        
      function validateDateFieldsPricing(ctl)
      {
        var tbl = jQuery(ctl.element.parentNode).parent().parent().parent();
        var txtCtls = tbl.find(":text");
        var dateFrom = txtCtls[0].value;
        var dateTo = txtCtls[1].value;        
                
        var lblNights = tbl.find("span[id$=lblNights]");
        var lblTotal = jQuery('span[id$=lblAccommodationTotal]');
        var hidTotal = jQuery(':hidden[id$=hidAccommodationTotal]');
        var hidNights = jQuery(':hidden[id$=hidNights]');
        var hidFromDate = jQuery(':hidden[id$=hidFromDate]');
        var hidToDate = jQuery(':hidden[id$=hidToDate]');
        
        if(dateFrom == "" || dateTo == "")
        {
            lblNights[0].innerHTML = "0";
            lblTotal[0].innerHTML = "0.00";                   
            hidTotal[0].value = "0.00";                  
            hidNights[0].value = "0";
            hidFromDate[0].value = ""; 
            hidToDate[0].value = ""; 
            CalculateGrandTotal();
            return false;            
        }
                        
        var date1 = new Date(dateFrom);
        var date2 = new Date(dateTo);
        var one_day=1000*60*60*24                       
        var nights = Math.round((date2.getTime() - date1.getTime())/(one_day));               
                        
        if(nights <= 0)
        {        
            lblNights[0].innerHTML = "0";
            lblTotal[0].innerHTML = "0.00";        
            hidTotal[0].value = "0.00";                   
            hidNights[0].value = "0";
            hidFromDate[0].value = "";
            hidToDate[0].value = ""; 
            CalculateGrandTotal();
            alert("Please choose a greater date for the second date (To:)"); 
            return false;
        }
                        
        return true;        
      }
      
      function CultureActivityClick(ctl)
      {              
        var cell = ctl.parentNode;
        var siblingCell = jQuery(cell).prev();
        var lblPrice = siblingCell.find("span[id$=lblPrice]");
        var lblCultureTotal = jQuery("span[id$=lblCultureTotal]");
        var lblCultureTotal2 = jQuery("span[id$=lblCultureTotal2]");
        var hidCultureTotal = jQuery(":hidden[id$=hidCultureTotal]");
        
        var cultureTotal = 0;
        if(ctl.checked){
            cultureTotal = (hidCultureTotal[0].value*1) + (lblPrice[0].innerHTML*1);
        }
        else{
            cultureTotal = (hidCultureTotal[0].value*1) - (lblPrice[0].innerHTML*1);
        }
        
        hidCultureTotal[0].value = lblCultureTotal[0].innerHTML = lblCultureTotal2[0].innerHTML = cultureTotal.toFixed(2);
        CalculateActivitiesTotal();
      }
      
      function SportsActivityClick(ctl)
      {              
        var cell = ctl.parentNode;
        var siblingCell = jQuery(cell).prev();
        var lblPrice = siblingCell.find("span[id$=lblPrice]");
        var lblSportsTotal = jQuery("span[id$=lblSportsTotal]");
        var lblSportsTotal2 = jQuery("span[id$=lblSportsTotal2]");
        var hidSportsTotal = jQuery(":hidden[id$=hidSportsTotal]");
        
        var sportsTotal = 0;
        if(ctl.checked){
            sportsTotal = (hidSportsTotal[0].value*1) + (lblPrice[0].innerHTML*1);
        }
        else{
            sportsTotal = (hidSportsTotal[0].value*1) - (lblPrice[0].innerHTML*1);
        }
        
        hidSportsTotal[0].value = lblSportsTotal[0].innerHTML = lblSportsTotal2[0].innerHTML = sportsTotal.toFixed(2);
        CalculateActivitiesTotal();
      }
      
      function WeekendsActivityClick(ctl)
      {              
        var cell = ctl.parentNode;
        var siblingCell = jQuery(cell).prev();
        var lblPrice = siblingCell.find("span[id$=lblPrice]");
        var lblWeekendsTotal = jQuery("span[id$=lblWeekendsTotal]");
        var lblWeekendsTotal2 = jQuery("span[id$=lblWeekendsTotal2]");
        var hidWeekendsTotal = jQuery(":hidden[id$=hidWeekendsTotal]");
        
        var weekendsTotal = 0;
        if(ctl.checked){
            weekendsTotal = (hidWeekendsTotal[0].value*1) + (lblPrice[0].innerHTML*1);
        }
        else{
            weekendsTotal = (hidWeekendsTotal[0].value*1) - (lblPrice[0].innerHTML*1);
        }
        
        hidWeekendsTotal[0].value = lblWeekendsTotal[0].innerHTML = lblWeekendsTotal2[0].innerHTML = weekendsTotal.toFixed(2);
        CalculateActivitiesTotal();
      }
      
      function chkAPPickUpClick(ctl)
      {
         var cell = ctl.parentNode;
         var siblingCell = jQuery(cell).next().next();
         var lblPrice = siblingCell.find("span[id$=lblAPPickUpPrice]");
         var lblAirportTotal = jQuery("span[id$=lblAirportTotal]");
         var hidAirportTotal = jQuery(":hidden[id$=hidAirportTotal]");
         
         var airportTotal = 0;
         if(ctl.checked){
            aiportTotal = (hidAirportTotal[0].value*1) + (lblPrice[0].innerHTML*1);
        }
        else{
            aiportTotal = (hidAirportTotal[0].value*1) - (lblPrice[0].innerHTML*1);
        }
         
        hidAirportTotal[0].value = lblAirportTotal[0].innerHTML = aiportTotal.toFixed(2);
        CalculateGrandTotal();        
      }

      function chkAPDropOffClick(ctl)
      {
         var cell = ctl.parentNode;
         var siblingCell = jQuery(cell).next().next();
         var lblPrice = siblingCell.find("span[id$=lblAPDropOffPrice]");
         var lblAirportTotal = jQuery("span[id$=lblAirportTotal]");
         var hidAirportTotal = jQuery(":hidden[id$=hidAirportTotal]");
         
         var airportTotal = 0;
         if(ctl.checked){
            aiportTotal = (hidAirportTotal[0].value*1) + (lblPrice[0].innerHTML*1);
        }
        else{
            aiportTotal = (hidAirportTotal[0].value*1) - (lblPrice[0].innerHTML*1);
        }
         
        hidAirportTotal[0].value = lblAirportTotal[0].innerHTML = aiportTotal.toFixed(2);
        CalculateGrandTotal();        
      }
     
      function CalculateActivitiesTotal()
      {
        var lblActivitiesTotal = jQuery("span[id$=lblActivitiesTotal]");
        var hidActivitiesTotal = jQuery(":hidden[id$=hidActivitiesTotal]");
        var hidCultureTotal = jQuery(":hidden[id$=hidCultureTotal]");
        var hidSportsTotal = jQuery(":hidden[id$=hidSportsTotal]");       
        var hidWeekendsTotal = jQuery(":hidden[id$=hidWeekendsTotal]");
        
        var activitiesTotal = 0;
        
        activitiesTotal = (hidCultureTotal[0].value*1) + (hidSportsTotal[0].value*1) + (hidWeekendsTotal[0].value*1);
        hidActivitiesTotal[0].value = lblActivitiesTotal[0].innerHTML = activitiesTotal.toFixed(2);
        CalculateGrandTotal();
      }
         
      function CalculateGrandTotal()
      {
        var lblGrandTotal = jQuery('span[id$=lblGrandTotal]');
        var hidGrandTotal = jQuery(':hidden[id$=hidGrandTotal]');
        var hidGroupCourseTotal = jQuery(':hidden[id$=hidGroupCourseTotal]');         
        var hidPrivateCourseTotal = jQuery(':hidden[id$=hidPrivateCourseTotal]');         
        var hidAccommodationTotal = jQuery(':hidden[id$=hidAccommodationTotal]');
        var hidAirportTotal = jQuery(':hidden[id$=hidAirportTotal]');
        var hidActivitiesTotal = jQuery(":hidden[id$=hidActivitiesTotal]");
        
        var total = (hidGroupCourseTotal[0].value*1) + (hidPrivateCourseTotal[0].value*1) + (hidAccommodationTotal[0].value*1) + (hidAirportTotal[0].value*1) + (hidActivitiesTotal[0].value*1)
        lblGrandTotal[0].innerHTML = total.toFixed(2);
        hidGrandTotal[0].value = total.toFixed(2);         
      }   
              

