     function padVal(valStr)  { // pads single digit strings w. leading zero
        valStr=valStr+''
        //if(parseInt(valStr) < 10)  {
        if(valStr.length < 2)  {
             valStr='0'+valStr
          }
        return valStr
      }
        //---------- initialize variables
                monthDays=new Array(0,31,28,31,30,31,30,31,31,30,31,30,31)
                today=new Date
                yearStr=today.getFullYear()+""
                monthStr=padVal(today.getMonth()+1)
                dayStr=padVal(today.getDate())
                todayDate=yearStr+monthStr+dayStr
                get_month =today.getMonth()
                get_day  =today.getDate() - 1
                arvY=0
                arvM=0
                arvD=0
                depY=0
                depM=0
                depD=0
                los=0
                julianArv=0
                julianDep=0
                totPaxSaved = 0
                adult = 0
                child = 0
                property = ''
                cartype = ''
                unit_type = ''
                unitType = 0
                ArvSelM = 0
                ArvSelD = 0
                ArvSelY = 0
                DepSelM = 0
                DepSelD = 0
                DepSelY = 0

function setLos() {


        if (document.ChkAvail.ArvDate.value == "" || document.ChkAvail.DepDate.value == "") { //ignore until get both arv & dep dates
          if(document.ChkAvail.ArvDate.value != "") {

        dummyArv = new Date(document.ChkAvail.ArvDate.value.slice(6,10),document.ChkAvail.ArvDate.value.slice(0,2)-1,document.ChkAvail.ArvDate.value.slice(3,5))
        dummyDep = new Date(document.ChkAvail.ArvDate.value.slice(6,10),document.ChkAvail.ArvDate.value.slice(0,2)-1,document.ChkAvail.ArvDate.value.slice(3,5))

                dummyDep.setHours(0)
                dummyDep.setDate(dummyArv.getDate()+1)

                yearStr=dummyDep.getFullYear()+""
                monthStr=padVal(dummyDep.getMonth()+1)
                dayStr=padVal(dummyDep.getDate())
               document.ChkAvail.DepDate.value=monthStr+"/"+dayStr+"/"+yearStr

            }
        }
        dummyArv = new Date(document.ChkAvail.ArvDate.value.slice(6,10),document.ChkAvail.ArvDate.value.slice(0,2)-1,document.ChkAvail.ArvDate.value.slice(3,5))
        dummyDep = new Date(document.ChkAvail.DepDate.value.slice(6,10),document.ChkAvail.DepDate.value.slice(0,2)-1,document.ChkAvail.DepDate.value.slice(3,5))

        document.ChkAvail.los.value = Math.floor((dummyDep.getTime() - dummyArv.getTime())/85400000)
        DepDefaultDate=document.ChkAvail.DepDate.value
        ArvDefaultDate=document.ChkAvail.ArvDate.value

        return checkLos()
        }

function date_checker() {

	if (document.ChkAvail.ArvDate.value == "" || document.ChkAvail.DepDate.value == "") { <!-- do not check until a date is entered -->
		return true
	} 
	dummyArv = new Date(document.ChkAvail.ArvDate.value.slice(6,10),document.ChkAvail.ArvDate.value.slice(0,2)-1,document.ChkAvail.ArvDate.value.slice(3,5))
 	dummyDep = new Date(document.ChkAvail.DepDate.value.slice(6,10),document.ChkAvail.DepDate.value.slice(0,2)-1,document.ChkAvail.DepDate.value.slice(3,5))
 
      if(dummyArv.getTime() <  today.getTime() && (dummyArv.getTime() - today.getTime())/86400000 <= -1.0) {
        alert('Arrival cannot be before today!')
        document.ChkAvail.ArvDate.value = todayDate
	document.ChkAvail.ArvDate.focus()
	return false
        }

     if(Math.floor(dummyArv.getTime()/86400000) - Math.floor(dummyDep.getTime()/86400000) >= 0) {
       if (document.ChkAvail.DepDate.value != "") {
		alert('Arrival must be at least the day before departure!')
		}	
	
	var dummyDep=dummyArv
	 dummyDep.setDate(dummyDep.getDate()+1)
	
	        yearStr=dummyDep.getFullYear()+""
                monthStr=padVal(dummyDep.getMonth()+1)
                dayStr=padVal(dummyDep.getDate())
                document.ChkAvail.DepDate.value=monthStr+"/"+dayStr+"/"+yearStr
		return setLos()
	      }

         return checkLos()
      }
 
function finish() {

	if (document.ChkAvail.ArvDate.value == "" || document.ChkAvail.DepDate.value == "") { <!-- no empty dates allowed -->
		alert("Please enter an arrival and a departure date!")
		return false
	} 
	if (!date_checker()){
	  return false
	}
	if (!paxLimit()){
	  return false
	}

     return true
}


function checkLos() {
 	
	if (document.ChkAvail.ArvDate.value == "" || document.ChkAvail.DepDate.value == "") { //must have both arv & dep dates
	alert("Please enter an arrival and departure date.")
	  document.ChkAvail.ArvDate.focus()
	return false
	}

       if (eval(document.ChkAvail.los.value) > 180.0) {
	alert('Please limit your stay to 180 days or call 800 367-5242 for assistance.');
  	document.ChkAvail.DepDate.focus()
	return false
         }
	return true 
     }
 
     function paxLimit() {
           var totPax = parseInt(document.ChkAvail.adult.value)+parseInt(document.ChkAvail.child.value)
       //  if(totPaxSaved > 0) {        //skip first time in
           if (totPax>6)  {
                alert('A maximum of 6 people can stay in a unit.')
                totPaxSaved = totPax
                return false
             }
           if (totPax>4 && document.ChkAvail.unit_type.selectedIndex != 1) {      //max 4 in 1bd and unit.type not set to two-bed
               document.ChkAvail.unit_type.selectedIndex=1
                if(totPaxSaved<=4) {
                     totPaxSaved = totPax
                     alert("A maximum 4 people allowed in a one bedroom unit.")
                     }
                     else {
                     alert("Maximum of 2 people in a studio or 4 in a one bedroom. ")
                     }
                return false
             }
           if (totPax>2 && document.ChkAvail.unit_type.selectedIndex==2) {      //max 2 in studio
               document.ChkAvail.unit_type.selectedIndex=0
                if(totPaxSaved<=2) {
                     alert("A maximum 2 people allowed in a studio unit.")
                return false
                    }
                     else {
               return false
                     alert("Cannot book a studio unit with more than 2 people.")
                     }
              }
        //   }
           totPaxSaved = totPax
         return true
      }

function ChkAvail_Validator(theForm)
{

  if (theForm.email.value == "")
  {
    alert("Please enter a value for the \"Email\" field.");
    theForm.email.focus();
    return false;
  }

  if (theForm.email.value.length < 5)
  {
    alert("Please enter at least 5 characters in the \"Email\" field.");
    theForm.email.focus();
    return false;
  }

  if (theForm.lname.value == "")
  {
    alert("Please enter a value for the \"Last Name\" field.");
    theForm.lname.focus();
    return false;
  }

  if (theForm.fname.value == "")
  {
    alert("Please enter a value for the \"First Name\" field.");
    theForm.fname.focus();
    return false;
  }

  if (theForm.phone.value == "")
  {
    alert("Please enter a value for the \"Phone\" field.");
    theForm.phone.focus();
    return false;
  }


  if (theForm.unit_type.selectedIndex < 0)
  {
    alert("Please select one of the \"Type of Unit\" options.");
    theForm.unit_type.focus();
    return false;
  }

  return checkLos();
 }

