//------------------------------------------------------------------------------------------------------------------------
function getCities() {
	var varState = document.rentalSearch.state[document.rentalSearch.state.selectedIndex].value;
	var url = "/resources/asp/cities.asp?state="+String(varState)+"&="+Math.random()*1000000;
	var ajax = new Ajax.Updater("cityContainer", url, {method: 'get'});
}

//------------------------------------------------------------------------------------------------------------------------
function toggleDetail(action, box) {
	objBox = $(box);
	
	if (String(action) == "open") {
		objBox.style.display = "block";
	} else {
		objBox.style.display = "none";
	}
}

//------------------------------------------------------------------------------------------------------------------------
function toggleAdWindow(url, adID) {
	var ajax = new Ajax.Request("incrementAd.asp?id="+String(adID)+"&="+Math.random()*1000000, {method: 'get'});
	toggleDetail('open', 'adContainer');
	objFrame = $("adWindow");
	objFrame.src = url;
	window.location='#top';
}

//------------------------------------------------------------------------------------------------------------------------
function validateForm() {

	var errMsg;
	var errAlert;
	
	errMsg = "";
	errAlert = "Please correct the following items before continuing.\n\n";

	if (document.requestForm.firstName.value == "") {errMsg = errMsg + "- First Name\n";}
	if (document.requestForm.lastName.value == "") {errMsg = errMsg + "- Last Name\n";}
	if (document.requestForm.address1.value == "") {errMsg = errMsg + "- Address One\n";}
	if (document.requestForm.city.value == "") {errMsg = errMsg + "- City\n";}
	if (document.requestForm.zip.value == "") {errMsg = errMsg + "- Zip Code\n";}
	
	if (document.requestForm.email.value == "") {
		errMsg = errMsg + "- Email\n";
	} else {
		if ((document.requestForm.email.value.indexOf("@") < 1) || (document.requestForm.email.value.indexOf(".") < 3)) {
			errMsg = errMsg + "- Email Format\n";
		}
	}
	
	if (errMsg != "") {
		errAlert = errAlert + errMsg;
		alert(errAlert);
		return false;
	} else {
		document.requestForm.submit();
		return true;
	}
}

//------------------------------------------------------------------------------------------------------------------------
function zipFocus() {if (String(document.search.zip.value) == "zip code") {document.search.zip.value = "";}} 

//------------------------------------------------------------------------------------------------------------------------
function validateSearch() {
	if (document.search.zip.value != "") {
		if (String(document.search.zip.value) == "zip code") {
			document.search.zip.value = "";
			document.search.submit();
			return true;
		} else {
			if (isInteger(document.search.zip.value)) {
				if (document.search.zip.value.length > 5 || document.search.zip.value.length < 5) {
					alert("Please enter a 5-digit zipcode.");
					return false;
				} else {
					document.search.submit();
					return true;
				}
			} else {
				alert("Please enter a numeric zipcode.");
				return false;
			}
		}
	} else {
		document.search.submit();
		return true;
	}
}

//------------------------------------------------------------------------------------------------------------------------
function validateLogin() {

	var errMsg;
	var errAlert;
	
	errMsg = "";
	errAlert = "Please correct the following items before continuing.\n\n";
	
	if (document.login.email.value == "") {
		errMsg = errMsg + "- Email\n";
	} else {
		if ((document.login.email.value.indexOf("@") < 1) || (document.login.email.value.indexOf(".") < 3)) {
			errMsg = errMsg + "- Email Format\n";
		}
	}
	
	if (document.login.password.value == "") {errMsg = errMsg + "- Password\n";}
	
	if (errMsg != "") {
		errAlert = errAlert + errMsg;
		alert(errAlert);
		return false;
	} else {
		document.login.submit();
		return true;
	}
}

//------------------------------------------------------------------------------------------------------------------------
function validateRecovery() {

	var errMsg;
	var errAlert;
	
	errMsg = "";
	errAlert = "Please correct the following items before continuing.\n\n";
	
	if (document.recovery.email.value == "") {
		errMsg = errMsg + "- Email\n";
	} else {
		if ((document.recovery.email.value.indexOf("@") < 1) || (document.recovery.email.value.indexOf(".") < 3)) {
			errMsg = errMsg + "- Email Format\n";
		}
	}

	if (errMsg != "") {
		errAlert = errAlert + errMsg;
		alert(errAlert);
		return false;
	} else {
		document.recovery.submit();
		return true;
	}
}

//------------------------------------------------------------------------------------------------------------------------
function validateRegister() {

	var errMsg;
	var errAlert;
	
	errMsg = "";
	errAlert = "Please correct the following items before continuing.\n\n";
	
	if (document.register.firstName.value == "") {errMsg = errMsg + "- First Name\n";}
	if (document.register.lastName.value == "") {errMsg = errMsg + "- Last Name\n";}
	
	if (document.register.email.value == "") {
		errMsg = errMsg + "- Email\n";
	} else {
		if ((document.register.email.value.indexOf("@") < 1) || (document.register.email.value.indexOf(".") < 3)) {
			errMsg = errMsg + "- Email Format\n";
		}
	}
	
	if (errMsg != "") {
		errAlert = errAlert + errMsg;
		alert(errAlert);
		return false;
	} else {
		document.register.submit();
		return true;
	}
}

//------------------------------------------------------------------------------------------------------------------------
function swapPhoto(varPhoto, photoNum) {
	var url = "getPhoto.asp?id="+varPhoto+"&num="+photoNum;
	var ajax = new Ajax.Updater("propertyUpdater"+varPhoto, url, {method: 'post'});
}
function enlargePhoto(photoSrc) {var propWin = newWindow(photoSrc, "propPhoto", 850, 650, "no");}

//------------------------------------------------------------------------------------------------------------------------
function submitSearchPage(numPage, propertyType, city, state, zip, sortBy, financeType) {
	window.location="results.asp?page="+numPage+"&propertyType="+propertyType+"&city="+city+"&state="+state+"&zip="+zip+"&sortBy="+sortBy+"&type="+financeType;
}

//------------------------------------------------------------------------------------------------------------------------

function LaunchSelect() {
	var Index;
	var strLink;
	Index = document.links.menu.selectedIndex;
	
	if (document.links.menu.selectedIndex < 2){
		alert("please make a valid selection from the menu.");
		return false;
	}
	  
	strLink = String(document.links.menu.options[Index].value); 
	 window.location = strLink;
}



//------------------------------------------------------------------------------------------------------------------------
// behavior on menu mouseover
function menuOver(linkDest) {
	document.body.style.cursor='hand';
	window.status=String(linkDest);
	return true;
}

//------------------------------------------------------------------------------------------------------------------------
// behavior on menu mouseout
function menuOut() {
	document.body.style.cursor='default';
	window.status='';
	return true;
}

//------------------------------------------------------------------------------------------------------------------------
// shows or hides a designated DOM object
function toggleDisplay(varObj, varShow) {
	objDom = $(String(varObj));
	if (varShow) {objDom.style.display = "block";} else {objDom.style.display = "none";}
}

//------------------------------------------------------------------------------------------------------------------------
// determines if a string passed to the function is a number
function isInteger(s) {
	var i;
    for (i = 0; i < s.length; i++){
		var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    return true;
}

//------------------------------------------------------------------------------------------------------------------------
// launches a new window with the desired properties
function newWindow(mypage, myname, w, h, scroll) {
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',toolbar=no,status=no,scrollbars='+scroll+',resizable=yes'
	win = window.open(mypage, myname, winprops)
	win.window.focus();
}

//------------------------------------------------------------------------------------------------------------------------
function GetObject(n) {
	var x,t; 
	if ((n.indexOf("?")) > 0 && parent.frames.length) {
		t = n.split("?");
		x=eval("parent.frames['"+t[1]+"'].document.getElementById('"+t[0]+"')");
	} else {
		x=document.getElementById(n)
	}
	return x;
}

//------------------------------------------------------------------------------------------------------------------------
// correctly handle PNG transparency in Win IE 5.5 & 6.
function correctPNG() {
   var arVersion = navigator.appVersion.split("MSIE");
   var version = parseFloat(arVersion[1]);
   
   if ((version >= 5.5 && version <7) && (document.body.filters)) {
      for(var i=0;i<document.images.length;i++) {
         var img = document.images[i];
         var imgName = img.src.toUpperCase();
         if (imgName.substring(imgName.length-3, imgName.length) == "PNG") {
            var imgID = (img.id) ? "id='" + img.id + "' " : ""
            var imgClass = (img.className) ? "class='" + img.className + "' " : ""
            var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
            var imgStyle = "display:inline-block;" + img.style.cssText 
            if (img.align == "left") imgStyle = "float:left;" + imgStyle
            if (img.align == "right") imgStyle = "float:right;" + imgStyle
            if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
            var strNewHTML = "<span " + imgID + imgClass + imgTitle
            + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
            + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
            + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" ;
            img.outerHTML = strNewHTML;
            i = i-1;
         }
      }
   }    
}

//----------------------------------------------------------------------------------------------------------------------------------------------
// run time code 
window.attachEvent("onload", correctPNG);