function getUSDate(str)
{	
	var month = parseInt(str.substring(0, str.indexOf('/')));	
	var day   = parseInt(str.substring(str.indexOf('/')+1, str.lastIndexOf('/')));
	var year  = parseInt(str.substring(str.lastIndexOf('/')+1));	
	
	if(year < 2000)
		year += 2000;
		
	return new Date(year, --month, day);
}

function setUSDate(d)
{
	return d.getMonth()+1 + '/' + d.getDate() + '/' + d.getFullYear();
}

function getISODate(str)
{
	var year  = parseInt(str.substring(0, str.indexOf('-')));
	var month = parseInt(str.substring(str.indexOf('-')+1, str.lastIndexOf('-')));
	var day   = parseInt(str.substring(str.lastIndexOf('-')+1));
	
	return new Date(year, --month, day);
}

function updateDates(frm, updateArrival)
{	
	var arrival   = frm.arrival;
	var departure = frm.departure;
	var numNights = parseInt(frm.numNights.value);

	var arrivalDate = arrival.value.indexOf('/') > 0 ?
		getUSDate(arrival.value) :
		getISODate(arrival.value);
	
	var departureDate = departure.value.indexOf('/') > 0 ?
		getUSDate(departure.value) :
		getISODate(departure.value);
	
	if(updateArrival)
	{
		arrivalDate = new Date(departureDate);
		arrivalDate.setDate(arrivalDate.getDate() - parseInt(numNights));
		arrival.value = setUSDate(arrivalDate);
	}
	else
	{
		departureDate = new Date(arrivalDate);
		departureDate.setDate(departureDate.getDate() + parseInt(numNights));
		departure.value = setUSDate(departureDate);
	}	
}

function validateArrivalDate(arrivalDateCtl){
    var today = new Date();

    today.setHours(0);
    today.setMinutes(0);
    today.setSeconds(0);
    today.setMilliseconds(0);

 var arrivalDate = new Date(arrivalDateCtl.value);

    var year = arrivalDate.getYear();

    if (year < 100) {
        arrivalDate.setFullYear(2000 + year);
     arrivalDateCtl.value = (1 + arrivalDate.getMonth()) 
        + "/" + arrivalDate.getDate() + "/" + arrivalDate.getFullYear();
    }

    if (arrivalDate < today) {
     alert ("Arrival Date should be equal or after today's date ");
     arrivalDateCtl.focus();
     return false;
    }
   return true;
}

