// JavaScript Document
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function YY_checkform() { //v4.71
//copyright (c)1998,2002 Yaromat.com
  var a=YY_checkform.arguments,oo=true,v='',s='',err=false,r,o,at,o1,t,i,j,ma,rx,cd,cm,cy,dte,at;
  for (i=1; i<a.length;i=i+4){
    if (a[i+1].charAt(0)=='#'){r=true; a[i+1]=a[i+1].substring(1);}else{r=false}
    o=MM_findObj(a[i].replace(/\[\d+\]/ig,""));
    o1=MM_findObj(a[i+1].replace(/\[\d+\]/ig,""));
    v=o.value;t=a[i+2];
    if (o.type=='text'||o.type=='password'||o.type=='hidden'){
      if (r&&v.length==0){err=true}
      if (v.length>0)
      if (t==1){ //fromto
        ma=a[i+1].split('_');if(isNaN(v)||v<ma[0]/1||v > ma[1]/1){err=true}
      } else if (t==2){
        rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-zA-Z]{2,4}$");if(!rx.test(v))err=true;
      } else if (t==3){ // date
        ma=a[i+1].split("#");at=v.match(ma[0]);
        if(at){
          cd=(at[ma[1]])?at[ma[1]]:1;cm=at[ma[2]]-1;cy=at[ma[3]];
          dte=new Date(cy,cm,cd);
          if(dte.getFullYear()!=cy||dte.getDate()!=cd||dte.getMonth()!=cm){err=true};
        }else{err=true}
      } else if (t==4){ // time
        ma=a[i+1].split("#");at=v.match(ma[0]);if(!at){err=true}
      } else if (t==5){ // check this 2
            if(o1.length)o1=o1[a[i+1].replace(/(.*\[)|(\].*)/ig,"")];
            if(!o1.checked){err=true}
      } else if (t==6){ // the same
            if(v!=MM_findObj(a[i+1]).value){err=true}
      }
    } else
    if (!o.type&&o.length>0&&o[0].type=='radio'){
          at = a[i].match(/(.*)\[(\d+)\].*/i);
          o2=(o.length>1)?o[at[2]]:o;
      if (t==1&&o2&&o2.checked&&o1&&o1.value.length/1==0){err=true}
      if (t==2){
        oo=false;
        for(j=0;j<o.length;j++){oo=oo||o[j].checked}
        if(!oo){s+='* '+a[i+3]+'\n'}
      }
    } else if (o.type=='checkbox'){
      if((t==1&&o.checked==false)||(t==2&&o.checked&&o1&&o1.value.length/1==0)){err=true}
    } else if (o.type=='select-one'||o.type=='select-multiple'){
      if(t==1&&o.selectedIndex/1==0){err=true}
    }else if (o.type=='textarea'){
      if(v.length<a[i+1]){err=true}
    }
    if (err){s+='* '+a[i+3]+'\n'; err=false}
  }
  if (s!=''){alert('The required information is incomplete or contains errors:\t\t\t\t\t\n\n'+s)}
  document.MM_returnValue = (s=='');
}

function popup(mylink, windowname, esteW, esteH)
{
if (! window.focus)return true;
var href;
if (typeof(mylink) == 'string')
   href=mylink;
else

 var w = 0, h = 0;

if (document.all) {
   /* the following is only available after onLoad */
   w = document.body.clientWidth;
   h = document.body.clientHeight;
}
else if (document.layers) {
   w = window.innerWidth;
   h = window.innerHeight;
}

var popW = esteW, popH = esteH;

var leftPos = (w-popW)/2, topPos = (h-popH)/2;

href=mylink.href;

window.open(href, windowname, 'width='+popW+', height='+popH+',top=100, left='+leftPos+', toolbar=0, location=0, directories=0, menuBar=0, scrollbars=0, resizable=0');
return false;
}

function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char; 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;   
   }
   
function isEmail(argvalue) {

  if (argvalue.indexOf(" ") != -1)
    return false;
  else if (argvalue.indexOf("@") == -1)
    return false;
  else if (argvalue.indexOf("@") == 0)
    return false;
  else if (argvalue.indexOf("@") == (argvalue.length-1))
    return false;

  // arrayString = argvalue.split("@"); (works only in netscape3 and above.)
  var retSize = customSplit(argvalue, "@", "arrayString");

  if (arrayString[1].indexOf(".") == -1)
    return false;
  else if (arrayString[1].indexOf(".") == 0)
    return false;
  else if (arrayString[1].charAt(arrayString[1].length-1) == ".") {
    return false;
  }
  return true;
}

function verifyStepOne() 
{
if (document.stepone.realname.value=="")
	{
	alert("Your Name is Required");
	document.stepone.realname.focus();
	return false;
	}
if (document.stepone.PhoneNumber.value=="")
	{
	alert("Your Phone Number is Required");
	document.stepone.PhoneNumber.focus();
	return false;
	}
if (document.stepone.Email.value=="")
	{
	alert("Email is Required");
	document.stepone.Email.focus();
	return false;
	}
if (document.stepone.TotalPeople.value=="")
	{
	alert("Total Number of People (Including Yourserlf) is Required");
	document.stepone.TotalPeople.focus();
	return false;
	}
if (!IsNumeric(document.stepone.TotalPeople.value)) 
   { 
      alert('Please enter only numbers in the Total Number of People Field') 
      document.stepone.TotalPeople.focus();
      return false; 
      }
if (document.stepone.TotalRooms.value=="")
	{
	alert("Total Number of Rooms is Required");
	document.stepone.TotalRooms.focus();
	return false;
	}
if (!IsNumeric(document.stepone.TotalRooms.value)) 
   { 
      alert('Please enter only numbers in the Total Number of Rooms Field') 
      document.stepone.TotalRooms.focus();
      return false; 
      }
if (!isEmail(document.stepone.Email.value)) 
   { 
      alert('Please enter a valid Email Address') 
      document.stepone.Email.focus();
      return false; 
      }
document.stepone.submit();
}

function verifyStepThree() 
{
if (document.stepthree.Train1From.value=="")
	{
	alert("Trip One Departure Location is Required");
	document.stepthree.Train1From.focus();
	return false;
	}
if (document.stepthree.Train1To.value=="")
	{
	alert("Trip One Destination Location is Required");
	document.stepthree.Train1To.focus();
	return false;
	}
if (document.stepthree.Train1Date.value=="")
	{
	alert("Trip One Departure Date is Required");
	document.stepthree.Train1Date.focus();
	return false;
	}
if (document.stepthree.Train1Time.value=="")
	{
	alert("Trip One Departure Time is Required");
	document.stepthree.Train1Time.focus();
	return false;
	}
if (document.stepthree.Return1Date.value=="")
	{
	alert("Trip One Return Date is Required");
	document.stepthree.Return1Date.focus();
	return false;
	}
if (document.stepthree.Return1Time.value=="")
	{
	alert("Trip One Return Time is Required");
	document.stepthree.Return1Time.focus();
	return false;
	}
document.stepthree.submit();
}
function verifyStepFour() 
{
if (document.stepfour.PickupAT.value=="")
	{
	alert("Pickup Location is Required");
	document.stepfour.PickupAT.focus();
	return false;
	}
if (document.stepfour.PickupDate.value=="")
	{
	alert("Pickup Date is Required");
	document.stepfour.PickupDate.focus();
	return false;
	}
if (document.stepfour.PickupTime.value=="")
	{
	alert("Pickup Time is Required");
	document.stepfour.PickupTime.focus();
	return false;
	}
if (document.stepfour.DropoffAT.value=="")
	{
	alert("Dropoff Location is Required");
	document.stepfour.DropoffAT.focus();
	return false;
	}
if (document.stepfour.DropoffDate.value=="")
	{
	alert("Dropoff Date is Required");
	document.stepfour.DropoffDate.focus();
	return false;
	}
if (document.stepfour.DropoffTime.value=="")
	{
	alert("Dropoff Time is Required");
	document.stepfour.DropoffTime.focus();
	return false;
	}
if (document.stepfour.PassengerQty.value=="")
	{
	alert("Number of Passenger Seats is Required");
	document.stepfour.PassengerQty.focus();
	return false;
	}
if (document.stepfour.TrunkQty.value=="")
	{
	alert("Trunk Space (Pieces of Luggage) is Required");
	document.stepfour.TrunkQty.focus();
	return false;
	}
document.stepfour.submit();
}

