﻿function quickResValidateAdolphus() {
    var myForm = document.getElementById("aspnetForm");
    var bValid = true;
    var dCheckIn;
    var dCheckOut;
    
    if (validateDate(myForm.txtCheckIn) == false)
    {
        alert("Check In must be a valid date (mm/dd/yyyy)");
        bValid = false;            
    }
    if (validateDate(myForm.txtCheckOut) == false)
    {
        alert("Check Out must be a valid date (mm/dd/yyyy)");
        bValid = false;            
    }
    if(bValid)
    {
        dCheckIn = new Date(myForm.txtCheckIn.value);
        dCheckOut = new Date(myForm.txtCheckOut.value);
        if(dCheckIn >= dCheckOut)
        {
            alert("Check In must be a date before Check Out");
            bValid = false; 
        }
    }
    if(myForm.ddlRooms.value == "")
    {
        alert("Rooms is required");
        bValid = false;   
    }
    if(myForm.ddlPersonPerRoom.value == "")
    {
        alert("Persons per room is required");
        bValid = false;   
    }
    
    if(bValid)
    {
        var CheckInDate = dCheckIn.getDate() + "-" + (dCheckIn.getMonth()+1) + "-" + dCheckIn.getFullYear();
        var CheckOutDate = dCheckOut.getDate() + "-" + (dCheckOut.getMonth()+1) + "-" + dCheckOut.getFullYear();
        var TheLink = "https://www.yourreservation.net/ibe/HADALADO/main.html?" +
        "calArrivalDateField=" + CheckInDate +
        "&calDepartureDateField=" + CheckOutDate +
        "&ccpSelectCity=DFW001" +
        "&ccpSelectCountry=US-TX" +
        "&ccpSelectHotel=WW-HADALADO" +
        "&language=en" +
        "&occupancy=" + myForm.ddlRooms.value +
        "&prsRoomCount=" + myForm.ddlPersonPerRoom.value +
        "&quick=quick" +
        "&rateAccessCode";   
        //window.location = TheLink; 
        urchinTracker("/Banners/Int/QuickRes");      
	    __utmLinker(TheLink); 
    }
}

function validateDate(fld) 
{
    var RegExPattern = /^(?=\d)(?:(?:(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-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}))($|\ (?=\d)))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\ [AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$/;
     if ((fld.value.match(RegExPattern)) && (fld.value!="")) {
        return true;
    } else {
        return false;
        //fld.focus();
    } 
}

function quickResValidate2(sAction) {
	var alertBuild="";
 
        var myForm = document.getElementById("aspnetForm");         
        sAction = sAction + "&checkinyyyymm=" + myForm.checkinyyyymm.value + "&checkindd=" + myForm.checkindd.value + "&nightstay=" + myForm.nightstay.value + "&adults=" + myForm.adults.value + "&children=" + myForm.children.value;
        urchinTracker("/Banners/Int/QuickRes");
        __utmLinker(sAction);
 
}

function quickResValidate3() {
	var alertBuild="";
    var myForm = document.getElementById("aspnetForm");         
	if(myForm.property.value == "Water Color Vacation Homes")
	{
        var theYYYYMM  = myForm.checkinyyyymm.value;
        var theDD      = myForm.checkindd.value;
        var theCheckInDate = theYYYYMM.substring(4, 6) + "/" + + theDD + "/" + theYYYYMM.substring(0, 4)
        var theDate    = new Date(theCheckInDate);
        var theDays    = parseInt(myForm.nightstay.value);
        
        theDate.setDate(theDate.getDate()+theDays);
        var theCheckOutDate = (theDate.getMonth()+1)+"/"+theDate.getDate()+"/"+theDate.getFullYear();
        var sAction = "http://www.watercolorvacationhomes.com/vacation-rentals/search-results.asp"; 
        
        sAction = sAction + "?CheckIn=" + theCheckInDate + "&CheckOut=" + theCheckOutDate + "&SelAdults=" + myForm.adults.value;
        urchinTracker("/Banners/Int/QuickRes");
        __utmLinker(sAction);
	}
	else
	{
        var sAction = "https://www.reservations-page.com/C00217/" + myForm.property.value + "/be.ashx?cmd=post&psk801=teaser";
        sAction = sAction + "&checkinyyyymm=" + myForm.checkinyyyymm.value + "&checkindd=" + myForm.checkindd.value + "&nightstay=" + myForm.nightstay.value + "&adults=" + myForm.adults.value + "&children=" + myForm.children.value;
        urchinTracker("/Banners/Int/QuickRes");
        __utmLinker(sAction);
    }
}

var domain_link = "https://www.reservationpage.com";

function quickResValidate(sAction, sAction2) {

    var domain_link = sAction;
    var alertBuild="";
    var EmptyCount = 0;
     var myForm = document.getElementById("aspnetForm"); 
	//Check-in 
	if (document.getElementById("txt_outBound").value == "Check-in")   
	{  
		alertBuild = alertBuild + "\n - Check-in date";
		EmptyCount++;
	} 
	
	//Check-out
	if (document.getElementById("txt_inBound").value == "Check-out") 
	{ 
		alertBuild = alertBuild + "\n - Check-out date";  
		EmptyCount++;
	} 
	
	//Adults
	if (document.getElementById("ddadults").value == "") 
	{ 
		alertBuild = alertBuild + "\n - Number of Adults";
		EmptyCount++;
	}
	
	//Children
	if (document.getElementById("ddchild").value == "") 
	{ 
		alertBuild = alertBuild + "\n - Number of Children";
		EmptyCount++;
	} 
	
	if (alertBuild == "")
	{
	    date1 = new Date(document.getElementById("txt_outBound").value);
	    date2 = new Date(document.getElementById("txt_inBound").value);
	    monthyear1 = (date1.getMonth()+1) + " " + date1.getFullYear();
	    day1 = date1.getDate();
	    nights = days_between(date1, date2);
    	
	    if(date1 > date2 || nights == 0){
		    alert("Invalid Dates")
		    return false; 
	    };

	    var lg;
	    myhotelid = document.getElementById("hotelid").value;
    	
	    if (myhotelid == "") {alert("Missing Resort Selection");return false; };
    	
	    var my = monthyear1;
	    var dy = day1;
	    var ns = nights;
	    var ad = document.getElementById("ddadults").value;
	    var ch = document.getElementById("ddchild").value;
	    var pc = document.getElementById("pc").value;
        var mychainid = document.getElementById("chainid").value;
        var myhotelid = document.getElementById("hotelid").value;    
        
	    var newlink = domain_link+"/"+ mychainid+"/"+myhotelid+"/pickdateteaser.aspx?date1="+my+"&nightstay="+ns+"&day1="+dy+"&ddadults="+ad+"&ddchildren="+ch+"&lg=1&pc=" + pc  
	    alert(newlink);
	    urchinTracker("/Banners/Int/QuickRes");
	    __utmLinker(newlink);  
    }
    else
    {
        //count is empty send to normal res page
        if(EmptyCount == 4)
        {
            urchinTracker("/Banners/Int/QuickRes");
            __utmLinker(sAction2); 
        }
        else
        {
            alert("The following information is missing:" + alertBuild);
        }
    }
}

function days_between(date1, date2) {

    // The number of milliseconds in one day
    var ONE_DAY = 1000 * 60 * 60 * 24

    // Convert both dates to milliseconds
    var date1_ms = date1.getTime()
    var date2_ms = date2.getTime()

    // Calculate the difference in milliseconds
    var difference_ms = Math.abs(date1_ms - date2_ms)
    
    // Convert back to days and return
    return Math.round(difference_ms/ONE_DAY)

}