function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

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 MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_openBrWindow(theURL,winName,features) { //v3.0 fixes URLchopping
  var myLocation = location.href;
  //alert("Location" + myLocation);
  var newLoc;
  newLoc = theURL + "?REFERER=" + escape(myLocation);
  //alert("newLoc" + newLoc);
  window.open(newLoc,winName,features);
}

//For Avail Checkbox on search pages
function Avail_Swap(obj) {

obj.checked = !(obj.checked);

}

function showOLD(name,src) {
    if (document.images)
        document.images[name].src = src;
}

function show(name,src,caption) {
   if (document.images)
       document.images[name].src = src;
	if(caption)
		document.images[name].alt = caption;
}

//For popUp window and help buttons
function popUp(URL,WinName,Features)
{
   window.open(URL,WinName,Features);
}

// FOR res-pplus.html
// JavaScript Functions for use with new online booking
// chrisr - 07/26/01
function checkAgreement(blnValue){
	if(blnValue == false){
		alert("You must check that you have read the lease agreement and agree to the terms before you can proceed.");
		return false;
	}
	return true;
}

function isEmail(str) {
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported)
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}

function ChkCC( pCard ) {
	var nCheckSum = 0,
		nCardNum = "",
		nDigit,
		RefString = "0246813579";
	
	// remove all extra characters from card number
	for ( var i = 0; i < pCard.length; i++) {
		nDigit = pCard.charAt( i );				// don't optimize
        if ( RefString.indexOf( nDigit ) != -1 )  
			 nCardNum += nDigit;
	}
	for ( i = 2; i <= nCardNum.length; i++ ) {			// dont count last digit
		nDigit = parseInt( nCardNum.charAt( nCardNum.length - i ));		// count backwards
		if ( i % 2 != 1 )			// odd digits get converted
			nDigit = parseInt( RefString.charAt( nDigit ));
		nCheckSum += parseInt( nDigit );
	}
	
	nDigit = nCheckSum % 10;
	if ( nDigit > 0 )
		nDigit = 10 - nDigit;
		
	return ( nDigit == nCardNum.charAt( nCardNum.length-1 ));
}

function empty( xtxt ) {
    for (var i=0; i < xtxt.length; i++) {
        if (xtxt.charAt(i) != " ")
			return false;
    }
    return true;
}

function isNum( pstr ) {
    if( pstr.length == 0) return false;
	if( empty( pstr )) return false;
    var RefString="1234567890.";
    for ( var ctr=0; ctr < pstr.length; ctr++) {
        if (RefString.indexOf( pstr.substring(ctr, ctr+1)) == -1 )  
        	return false;
    }
	return true;
}
// END From checkout.js

function checkContactInfo(object,checkCC,minCharge,maxCharge,maxOcc){
	controller = 0
	warning = "The following corrections are required:\n"
	if(checkCC != 1){
	if (object.FIRST.value==""){
		controller ++
		warning += controller+". Please enter your FIRST NAME.\n"
	}
	if (object.LAST.value==""){
		controller ++
		warning += controller+". Please enter your LAST NAME.\n"
		
	}
	if (object.EMAIL.value==""){
		controller ++
		warning += controller+". Please enter your EMAIL ADDRESS.\n"
		
	}else if(object.EMAIL.value!=""){
		var address = object.EMAIL.value;
		var verify = isEmail(address);
	//	alert("verify:"+verify)
		if(verify == 0){
			controller ++
			warning += controller+". You have entered an incorrect EMAIL ADDRESS.\n    Please check the address you have entered.\n"
		}
	}
	if (object.HOMEPHONE.value==""){
		controller ++
		warning += controller+". Please enter your HOME PHONE NUMBER.\n"
	}
	if (object.ADDRESS1.value==""){
		controller ++
		warning += controller+". Please enter your STREET ADDRESS.\n"
	}
	if (object.CITY.value==""){
		controller ++
		warning += controller+". Please enter your CITY.\n"
	}
	if (object.STATE.value==""){
		controller ++
		warning += controller+". Please enter your STATE.\n"
	}
	if (object.ZIP.value==""){
		controller ++
		warning += controller+". Please enter your ZIP/POSTAL CODE.\n"
	}
	if (object.ADULTS.value==""){
		controller ++
		warning += controller+". Please enter the number of ADULTS.\n"
	}
	if (object.CHILDREN.value==""){
		controller ++
		warning += controller+". Please enter the number of CHILDREN.\n"
	}
	if(object.CHILDREN.value==""){
		myChild = 0;
	}else{
		myChild = eval(object.CHILDREN.value);
	}
	if(object.ADULTS.value==""){
		myAdult = 0;
	}else{
		myAdult = eval(object.ADULTS.value);
	}
		
	//alert(myChild +" "+myAdult);
	if((myAdult+myChild) > maxOcc){
		controller ++
		warning += controller+". The total number of adults and children exceeds the maximum occupancy \("+maxOcc+" people\) for this property.\n"
	}
	//for (var i=0;i<object.elements.length;i++) {
		//alert("value: "+object.elements[i].value+" Name:"+object.elements[i].name+" Count:"+i);
		if (object.elements[31].checked != true && object.elements[32].checked != true){
			controller ++
			warning += controller+". Please check whether you wish to make a payment online with your credit card.\n";
		}
    
		/*if (object.elements[14].checked != true && object.elements[15].checked != true){
			alert("Please check yes or no for cleaning after your departure.")
			return false;
		}*/
	//}
	}else{
	//Credit card section
	// Now deal with Credit Card
	//First see if they want to pay via check
	//Checkbox for paying via check needs to be last
	//var checkPay = eval(object.elements.length)-1;
	//alert ("Element:" + object.elements[checkPay].checked);
			if ( empty( object.CCNUMBER.value )) {
				controller ++
				warning += "\n"+controller+". Please provide a Credit Card #";
			} else {
				if ( !ChkCC( object.CCNUMBER.value )){
					controller ++
					warning += "\n"+controller+". Credit Card Number has missing or wrong digits, please check";
				}
			}
			if ( object.CCMONTH.selectedIndex == -1 || object.CCYEAR.selectedIndex == -1 ) {
				controller ++
				warning += "\n"+controller+". Please provide a Credit Card Expiration Date";
			
			} else {
		
				// check format of exp date
				var mn = parseInt( object.CCMONTH.options[object.CCMONTH.selectedIndex ].value, 10 );
				var yr = parseInt( object.CCYEAR.options[object.CCYEAR.selectedIndex].value, 10 );
				//                 Ja, Fe, Ma, Ap, Ma, Ju, Ju, Au, Se, Oc, No, De
				//alert("mm "+mn+":yr "+yr);
				if ( mn < 1 || mn > 12 ) {
					controller ++
					warning += "\n"+controller+". Please provide a Credit Card Expiration Date";
				} else {
					var mdays = new Object();
					mdays[1] = 31;
					mdays[2] = 28;
					mdays[3] = 31;
					mdays[4] = 30;
					mdays[5] = 31;
					mdays[6] = 30;
					mdays[7] = 31;
					mdays[8] = 31;
					mdays[9] = 30;
					mdays[10] = 31;
					mdays[11] = 30;
					mdays[12] = 31;
				
					today = new Date();
					xdate = new Date( yr, mn-1, mdays[mn] );
					if ( today.getTime() > xdate.getTime()){
						controller ++
						warning += "\n"+controller+". Credit Card has Expired, please check and re-enter month/year";
					}
				}
			}
		
			if ( empty( object.CCNAME.value )){
				controller ++
				warning += "\n"+controller+". Please provide a Name as it appears on card";
			}
			if(object.ACTUALCHARGE){
				if(object.ACTUALCHARGE.value > 0 && object.ACTUALCHARGE.value != ''){
					if(object.ACTUALCHARGE.value <= minCharge || object.ACTUALCHARGE.value > maxCharge){
						controller ++
						warning += "\n"+controller+". The amount you entered to charge your credit card is not valid.\nPlease enter a value between $"+minCharge+" and $"+maxCharge+".";
					}
				}
			}
		// End CC Section
		}//end if CC
	
	if (controller > 0){
		alert(warning)
		return false;
	}
}
//-->
1;
