
page = "";

pg_arr = new Array("find_your_new_home", "build_your_home", "why_village_homes", "map_and_directions", "for_realtors", "contact");

// preload nav images

preLoad = new Array();
var i;
for (i = 0; i< pg_arr.length; i++) {
	preLoad[i] = new Image();
	preLoad[i].src = "images/nav/" + pg_arr[i] + "_1.gif";
}

// preload other images

img_0 = new Image(); img_0.src = "images/learn_more_1.gif";


// global functions

function gObj(me) {
	if (document.getElementById) {
		return document.getElementById(me);
	}
}

function gImg(me) {
	if (document.images) {
		return document.images[me];
	}
}

// nav on/off images

function imgOn(a) {	
	gImg(a).src = "images/nav/" + a + "_1.gif";
}

function imgOff(b) {
	if (page == b) {
		gImg(b).src = "images/nav/" + b + "_1.gif";
	} else {
		gImg(b).src = "images/nav/" + b + "_0.gif";
	}
}

// other on/off images

function swImg(im, sc) {
	gImg(im).src = sc;
}


// validate contact form

function valContactForm(thfrm) { 
	var frm = eval("document.forms['" + thfrm + "']");
	var ckEmail = /^[^@]+@[^@.]+\.[^@]*\w\w$/;
	var phstripped = frm['phone'].value.replace(/[\(\)\.\-\ ]/g, '');
	var errMsg = "";
	var setfocus = "";
	
	if (thfrm == 'form1') {
		
		if (frm['comments'].value.length > 600) {
			errMsg = "Please limit comments to 600 characters.";
			frm['comments'].value = frm['comments'].value.substring(0, 600);
			setfocus = "['comments']";
		}
		
	} else if (thfrm == 'form2') {
	
		if (frm['zip'].value == "") {
			errMsg = "Please insert your zip code.";
			setfocus = "['zip']";
		}
	
		if (frm['state'].value == "") {
			errMsg = "Please insert your state.";
			setfocus = "['state']";
		}
		
		if (frm['city'].value == "") {
			errMsg = "Please insert your city.";
			setfocus = "['city']";
		}
	
		if (frm['address'].value == "") {
			errMsg = "Please insert your address.";
			setfocus = "['address']";
		}
	
	}

	if ((phstripped.length < 10)||(isNaN(phstripped))) {
		errMsg = "Please insert a valid phone number, with area code.";
		setfocus = "['phone']";
	}
	
	if (!ckEmail.test(frm['email'].value)) {
		errMsg = "Please insert a valid email address.";
		setfocus = "['email']";	
	}
	
	if (frm['lastname'].value == "") {
		errMsg = "Please insert your last name.";
		setfocus = "['lastname']";
	}

	if (frm['firstname'].value == "") {
		errMsg = "Please insert your first name.";
		setfocus = "['firstname']";
	}

	if (errMsg != ""){
		alert(errMsg);
		eval("frm" + setfocus + ".focus()");
		return false;
		
	} else {
		return true;
	}
}

// validate forgotten realtor password form

function val_Fg_frm(){ 
	var frm = document.forms['fPassForm'];
	var ckEmail = /^[^@]+@[^@.]+\.[^@]*\w\w$/;
	var errMsg = "";
	var setfocus = "";
	
	if (!ckEmail.test(frm['email_add'].value)) {
		errMsg = "Please insert a valid email address.";
		setfocus = "['email_add']";	
	}

	if (errMsg != ""){
		alert(errMsg);
		eval("frm" + setfocus + ".focus()");
		return false;
		
	} else {
		return true;
	}
}

// validate new password form

function val_newpass_form(){ 
	var frm = document.forms['newPassForm'];
	var ckEmail = /^[^@]+@[^@.]+\.[^@]*\w\w$/;
	var errMsg = "";
	var setfocus = "";
	
	if (frm['pword'].value != frm['pword2'].value) {
		errMsg = "Please insert identical passwords in both fields.";
		setfocus = "['pword2']";	
	}
	
	if ((frm['pword'].value.length < 5)||(frm['pword'].value.length > 15)) {
		errMsg = "Please enter a password between 5 and 15 characters in length.";
		setfocus = "['pword']";		
	}

	if (errMsg != ""){
		alert(errMsg);
		eval("frm" + setfocus + ".focus()");
	}

	else frm.submit();
}

// validate realtor sign-in form

function valRltrSignin() {
	var frm = document.forms['passForm'];
	var ckEmail = /^[^@]+@[^@.]+\.[^@]*\w\w$/;
	var errMsg = "";
	var setfocus = "";
	
	if (frm['password'].value == "") {
		errMsg = "Please insert your password.";
		setfocus = "['password']";
	}
	
	if (frm['username'].value == "") {
		errMsg = "Please insert your user name.";
		setfocus = "['username']";
	}
	
	if (errMsg != ""){
		alert(errMsg);
		eval("frm" + setfocus + ".focus()");
		return false;
		
	} else {
		return true;
	}
}

// validate realtor reg form

function valRltrRegForm() { 
	var frm = document.forms['realtor_regform'];
	var ckEmail = /^[^@]+@[^@.]+\.[^@]*\w\w$/;
	var phstripped = frm['phone'].value.replace(/[\(\)\.\-\ ]/g, '');
	var errMsg = "";
	var setfocus = "";
	
	if (frm['comments'].value.length > 600) {
		errMsg = "Please limit comments to 600 characters.";
		frm['comments'].value = frm['comments'].value.substring(0, 600);
		setfocus = "['comments']";
	}
	
	if (frm['password2'].value != frm['password'].value) {
		errMsg = "Please enter the same password in both fields.";
		setfocus = "['password2']";		
	}
	
	if ((frm['password'].value.length < 5)||(frm['password'].value.length > 15)) {
		errMsg = "Please enter a password between 5 and 15 characters in length.";
		setfocus = "['password']";		
	}
	
	if ((frm['username'].value.length < 5)||(frm['username'].value.length > 15)) {
		errMsg = "Please create a username between 5 and 15 characters in length.";
		setfocus = "['username']";
	}	
	
	if (frm['company'].value == "") {
		errMsg = "Please insert your realty company.";
		setfocus = "['company']";
	}

	if ((phstripped.length < 10)||(isNaN(phstripped))) {
		errMsg = "Please insert a valid phone number, with area code.";
		setfocus = "['phone']";
	}
	
	if (frm['realtor_no'].value == "") {
		errMsg = "Please insert your realtor number.";
		setfocus = "['realtor_no']";
	}
	
	if (frm['country'].value == "") {
		errMsg = "Please insert your country.";
		setfocus = "['country']";
	}
	
	if (frm['zip'].value == "") {
		errMsg = "Please insert your zip code.";
		setfocus = "['zip']";
	}
	
	if (frm['state'].value == "") {
		errMsg = "Please insert your state.";
		setfocus = "['state']";
	}
	
	if (frm['city'].value == "") {
		errMsg = "Please insert your city.";
		setfocus = "['city']";
	}
	
	if (frm['address'].value == "") {
		errMsg = "Please insert your work address.";
		setfocus = "['address']";
	}
	
	if (!ckEmail.test(frm['email'].value)) {
		errMsg = "Please insert a valid email address.";
		setfocus = "['email']";	
	}
	
	if (frm['lastname'].value == "") {
		errMsg = "Please insert your last name.";
		setfocus = "['lastname']";
	}

	if (frm['firstname'].value == "") {
		errMsg = "Please insert your first name.";
		setfocus = "['firstname']";
	}

	if (errMsg != ""){
		alert(errMsg);
		eval("frm" + setfocus + ".focus()");
		return false;
		
	} else {
		frm['submit2'].value = 'Please wait...';
		frm['submit2'].disabled = 1;
		return true;
	}
}

// validate client form

function valClientForm() {
	var frm = document.forms['cliSubForm'];
	var errMsg = "";
	var setfocus = "";
	var agentType = false;
	var i;
	
	for (i = 0; i < frm.agent_type.length; i++) {
		if (frm.agent_type[i].checked) {
			agentType = true;
		}
	}
	
	if (!agentType) {
		errMsg = "Please choose your relationship with the client\n(Purchasing Agent or Transaction Broker).";
		setfocus = "";	
	}
	
	if (frm['lastname'].value == '') {
		errMsg = "Please insert client's last name.";
		setfocus = "['lastname']";	
	}
	
	if (frm['firstname'].value == '') {
		errMsg = "Please insert client's first name.";
		setfocus = "['firstname']";	
	}
	
	if (frm['comments'].value.length > 600) {
		errMsg = "Please limit comments to 600 characters.";
		frm['comments'].value = frm['comments'].value.substring(0, 600);
		setfocus = "['comments']";
	}

	if (errMsg != ""){
		alert(errMsg);
		if (setfocus != "") {
			eval("frm" + setfocus + ".focus()");
		}
		return false;
		
	} else {
		return true;
	}	
}


function ckCommBoxes(j) {
	var frm = document.forms['cliSubForm'];
	var total = 0;
	var i;
	var comm_str = "";
	for (i = 0; i < frm.communities.length; i++) {
		if (frm.communities[i].checked) {
			total = total +1;
			comm_str += frm.communities[i].value + ", ";
		}
		if (total > 3) {
			alert("Please select no more than three");
			frm.communities[j].checked = false;
			return false;
		}
	}
	var trimmed = comm_str.replace(/(^\s*,)|(,\s*$)/g, '');
	frm.community_str.value = trimmed;
}

// getting window width and height

function getWindowHeight() {
	var windowHeight = 0;
	windowHeight = (typeof(window.innerHeight) == 'number') ? window.innerHeight : ((document.documentElement && document.documentElement.clientHeight) ? document.documentElement.clientHeight : document.body.clientHeight);
	return windowHeight;
}

function getWindowWidth() {
	var windowWidth = 0;
	windowWidth = (typeof(window.innerWidth) == 'number') ? window.innerWidth : ((document.documentElement && document.documentElement.clientWidth) ? document.documentElement.clientWidth : document.body.clientWidth);
	return windowWidth;
}


// popup div offers

var waitTime = 2000;
var popDuration = 500; // milliseconds
var containerID = "popdiv_container";
var scrlng = false;

function setPos(object,pos) {
	object.style.left = pos + "px";
}

function moveDiv(elname,containerID,popDuration,stTime,fromP,toP,inout) {
	var element = gObj(elname); // moving div
	var containerDiv = gObj(containerID);
	l = containerDiv.offsetLeft;
	var position = l - element.offsetLeft;
	var msNow = (new Date()).getTime();
	position = parseInt(fromP + (toP - fromP) * (msNow - stTime) / popDuration);	
	if (((inout == 'out')&&(position >= toP))||((inout == 'in')&&(position <= toP))) {
		setPos(element,toP);
		if (inout == 'out') {
			containerDiv.style.display = 'none';
		}
		if (element.timer) window.clearTimeout(element.timer);
	} else {
		setPos(element,position);
		element.timer = window.setTimeout("moveDiv('" + elname + "','" + containerID + "'," + popDuration + "," + stTime + "," + fromP + "," + toP + ",'" + inout + "')",1);
	}
}

function setPopper() {
	if (offerTimer) window.clearTimeout(offerTimer);
	var popDiv = gObj('popdiv');
	var containerDiv = gObj(containerID);
	if (popDiv != null) {
		var windowWidth = getWindowWidth();
		windowWidth = (scrlng) ? windowWidth - 15 : windowWidth;
		var w = 513;
		containerDiv.style.left = (windowWidth - w) + "px";
		popDiv.style.left = w + "px";
		containerDiv.style.display = 'block';
		var pos = w;
		var epos = 0;
		var stTime = (new Date()).getTime();
		popDiv.timer = window.setTimeout("moveDiv('popdiv','" + containerID + "'," + popDuration + "," + stTime + "," + pos + "," + epos + ", 'in')",1); 
		window.name = "seenVH";
	}
}

function closePopper() {
	var popDiv = gObj('popdiv');
	var containerDiv = gObj(containerID);
	if (popDiv != null) {
		var w = containerDiv.offsetWidth;
		var windowWidth = getWindowWidth();
		windowWidth = (scrlng) ? windowWidth - 15 : windowWidth;
		var pos = 0;
		var epos = w;
		var stTime = (new Date()).getTime();
		popDiv.timer = window.setTimeout("moveDiv('popdiv','" + containerID + "'," + popDuration + "," + stTime + "," + pos + "," + epos + ", 'out')",1);
	}
}

function openOffer() {
	if (window.name != "seenVH") {
		offerTimer = window.setTimeout("setPopper()",waitTime); 
	}
}


// setting footer to window height (setContent is called by all to make footer behave)

function setContent() {
	var windowHeight = getWindowHeight();
	var maindiv = gObj('main_div');
	var bottomdiv = gObj('bottom_div');
	var marg = maindiv.offsetTop + bottomdiv.offsetHeight;
	var adj = 5;
	if (windowHeight > maindiv.offsetHeight + marg + adj) {
		maindiv.style.height = windowHeight - (marg + adj) + "px";
	} else {
		scrlng = (typeof(window.innerWidth) == 'number') ? true : false;
	}
	bottomdiv.style.visibility = 'visible';
}

window.onload = function() {
	setContent();
}

window.onresize = function() {
	setContent();
}


