﻿$(document).ready(function(){             
        $('.iFrameModalPCV').dialog({
		    bgiframe: true,
		    autoOpen: false,
		    width: 700,	
		    height: 550,	
		    modal: true,
		    resizable: false,
		    position: 'center',
		    closeOnEscape: true
	   });
	    
       $('.openIFramePCV').live("click", function() {
	    var urlContent = $(this).attr('href');
	    
		$('#iframeloadPCV')
		    .attr('src',urlContent)
		    .attr('width','100%')
		    .attr('height','100%')
		    .attr('scrolling','auto');
		$('.iFrameModalPCV').dialog('open');
		return false;
	    }); 
	    
	    // method to close modal by clicking footer exit button
	    $('.btnExitWithoutSave a').click(function(){
		    $('#iFrameModalPCV').dialog('close');
	    }); 
	    
	    $('.saveToTripDialog').dialog({
		bgiframe: true,
		autoOpen: false,
		width: 960,
		height:855,
		modal: true,
		resizable: false,
		position: 'center',
		closeOnEscape: true
	    });
	    
	    $('.lnkSaveDialog').click(function(e) {
	    e.preventDefault();
    	
	    // grabs url from href and loads it into the modal window	
	    var urlContent = $(this).attr('href');

	    $('#iframeload').attr('src',urlContent).attr('width','100%').attr('height','100%').attr('scrolling','auto');
	    $('.saveToTripDialog').dialog('open');
         return false;
	    });
	
	     $('[id$=txtStartDate]').bind("change", function(){
            if($('[id$=txtStartDate]').val() != ''){	     
                var NewDate=new Date( $('[id$=txtStartDate]').val());
                NewDate.setDate(NewDate.getDate()+1);
                $('[id$=txtEndDate]').datepicker('option', 'minDate', NewDate );
                $('[id$=txtEndDate]').datepicker('setDate', NewDate);                
            }
        });
        $('[id$=txtStartDate]').datepicker("option", "onSelect", function(){
            if($('[id$=txtStartDate]').val() != ''){        
                var NewDate=new Date( $('[id$=txtStartDate]').val());
                NewDate.setDate(NewDate.getDate()+1);
                $('[id$=txtEndDate]').datepicker('option', 'minDate', NewDate );
                $('[id$=txtEndDate]').datepicker('setDate', NewDate);                
            }
        });
  });
  
// This function displays as many child age drop down as required by the customer.
function ToggleDropDowns(id) {
    
    var loopCount = 0;
    var innerLoop = 0;
    var dropDowns = document.getElementsByTagName("li");
    var selector = id.value;    
    var selector = Number(selector);    
    
    for (loopCount = 0; loopCount < dropDowns.length; loopCount++) {
        if (dropDowns[loopCount].id.indexOf("childAgeRepeater") > -1) {
            document.getElementById(dropDowns[loopCount].id).className = 'adultsKids2 hideDiv';                 
        }      
    }  
    
    for (loopCount = 0; loopCount < dropDowns.length; loopCount++) {  
        
        if (dropDowns[loopCount].id.indexOf("childAgeRepeater") > -1) {
            for (innerLoop = loopCount; innerLoop < (loopCount + selector); innerLoop++) {
                  document.getElementById(dropDowns[innerLoop].id).className = 'adultsKids2';
            }
            document.getElementById('childrenRange').className = 'rightCol';
            break;
        }        
    }  
    
    if(selector == 0)
         document.getElementById('childrenRange').className = 'rightCol hideDiv';   
}

//This function validates 
//1. EndDate should greater than StartDate.
//2. Total number of people should not be greater than 19.
function ValidateInputData() 
{   var flagReq = true; 
    var flagRule = true;  
    var startDate = document.getElementById('columnCenter_ctl00_txtStartDate').value;
    var endDate = document.getElementById('columnCenter_ctl00_txtEndDate').value;
    var adultVal = document.getElementById('columnCenter_ctl00_adultNo').value;
    var kidVal = document.getElementById('columnCenter_ctl00_kidsNoAdded').value;
    
    var MinDate = document.getElementById('columnCenter_ctl00_hdnMinDate').value;
    var MaxDate = document.getElementById('columnCenter_ctl00_hdnMaxDate').value;
    var reg=/^(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[13-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$/

    var strMessageReq = '';
    var strMessageRule = '';
    //check for dates
    if(startDate == '' )
    {
        strMessageReq = "<span>Please complete the required fields:";
        strMessageReq = strMessageReq + "<br><ul><li>Strat Date</li></ul></span>";
        flagReq = false;
    }
    if(endDate == '' )
    {
        if(flagReq)
        {
            strMessageReq = "<span>Please complete the required fields:";
            strMessageReq = strMessageReq + "<br><ul><li>End Date</li></ul></span>";
            flagReq = false;
        }
        else
        {
            strMessageReq = "<span>Please complete the required fields:";
            strMessageReq = strMessageReq + "<br><ul><li>Start Date</li><li>End Date</li></ul></span>";
        }
    }
    
    if(startDate != '' && (reg.test(startDate) == false))
    {
        strMessageRule = "<li>Start Date - Date Should be in MM/DD/YYYY</li>";
        flagRule = false;
    }
    if(endDate != '' && (reg.test(endDate) == false))
    {
        strMessageRule = strMessageRule + "<li>End Date - Date Should be in MM/DD/YYYY</li>";
        flagRule = false;
    }
    if(startDate != '' && compareDates(startDate,MinDate)>0)
    {
        strMessageRule = strMessageRule + "<li>Start Date - Select date between " + MinDate + " and " + MaxDate + "</li>";
        flagRule = false;
    }
    if(endDate != ''  && compareDates(MaxDate,endDate)>0)
    {
        strMessageRule = strMessageRule + "<li>End Date - Select date between " + MinDate + " and " + MaxDate + "</li>";
        flagRule = false;
    }
    if(flagReq && flagRule)
    {
        if(compareDates(endDate,startDate)>0)
        {
            strMessageRule = strMessageRule + "<li>Start Date - Start date should be less than End date</li>";
            flagRule = false;
        }
    }
    //Check for no of travellers
    if ((parseInt(adultVal) + parseInt(kidVal)) > 19) 
    {       
        strMessageRule = strMessageRule + "<li>Travelers - Total number of people cannot exceed 19.</li>";       
        flagRule = false;
    }
    if(strMessageRule != '')
    {
      strMessageRule = "<span>You Have entered the following invalid data:<ul>" + strMessageRule + "</ul></span>";
      flagRule = false;
    }
    if(!flagReq || !flagRule)
    {
        document.getElementById('errorPeopleLimit').innerHTML = strMessageReq + "<br>" + strMessageRule;
        document.getElementById('errorPeopleLimit').style.display = 'block';
        return false;
    }

    document.getElementById('errorPeopleLimit').style.display = 'none';
    return (true);
}

function ClosePCVModal(sel)
{
    window.close();
    parent.window.location = sel;
}
function compareDates (value1, value2) {

   	var date1, date2;
	var month1, month2;
	var year1, year2;
	
	value1 = new Date(value1);
	value2= new Date(value2);
	
	month1 = value1.getMonth();
	month2 = value2.getMonth();
		
	year1 = value1.getFullYear();
	year2 = value2.getFullYear()
	
	date1 =  value1.getDate();
	date2 =  value2.getDate();

   if (year1 > year2) return -1;
   else if (year1 < year2) return 1;
   else if (month1 > month2) return -1;
   else if (month1 < month2) return 1;
   else if (date1 > date2) return -1;
   else if (date1 < date2) return 1;
   else return 0;
}
