startList = function() {
	if (document.all&&document.getElementById) {
		navRoot = document.getElementById("nav");
		for (i=0; i<navRoot.childNodes.length; i++) {
			node = navRoot.childNodes[i];
			if (node.nodeName=="LI") {
				node.onmouseover=function() {
					this.className+=" over";
				}
				node.onmouseout=function() {
					this.className=this.className.replace(" over", "");
				}
			}
		}
	}
}
window.onload=startList;
///////////////////////////////////////
document.onclick = function(e) {
	var target = e ? e.target : window.event.srcElement;
	while (target && !/^(a|body)$/i.test(target.nodeName)) {
		target = target.parentNode;
	}
	if (target && target.getAttribute('rel') && target.rel == 'terms') {
		var terms = window.open(target.href, "", "scrollbars=1,width=480,height=360");
		return terms.closed;
	} else if (target && target.getAttribute('rel') && target.rel == 'external') {
		var external = window.open(target.href, "", "scrollbars=1,width=800,height=600,menubar=1,resizable=1,toolbar=1,location=1");
		return external.closed;	
	} else if (target && target.getAttribute('rel') && target.rel == 'photo') {
		return createDialog(target.href,target.title);
	}
}
/*
DHTML phone number validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
*/
var digits = "0123456789";
var phoneNumberDelimiters = "()-. ";
var validWorldPhoneChars = phoneNumberDelimiters + "+";
var minDigitsInIPhoneNumber = 10;

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;
}

function stripCharsInBag(s, bag){
	var i;
	var returnString = "";
	for (i = 0; i < s.length; i++) {
		var c = s.charAt(i);
		if (bag.indexOf(c) == -1) returnString += c;
	}
	return returnString;
}

function checkInternationalPhone(strPhone){
	s=stripCharsInBag(strPhone,validWorldPhoneChars);
	return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function checkDownPayment(yep) {
	downPayment = yep.replace(/[\,\$]/g, '');
	//if (isNaN(parseInt(downPayment))) {return true;}
	return downPayment;
}


/////////////////////////////////////
var emailPattern = /^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/;
var illegalChars = /\W/;

function validateReg() {
	var elements = document.forms["form-reg"].elements;
	for (var i = 0; i < elements.length; i++) {
		if (/(^| )required( |$)/.test(elements[i].className) && elements[i].value == "") {
			elements[i].focus();
			document.getElementById('errorMsg').innerHTML = "Please fill out required fields."; //+elements[i].name
			return false;
		}
		if (/(^| )valid-email( |$)/.test(elements[i].className) && !emailPattern.test(elements[i].value)) {
			elements[i].focus();
			document.getElementById('errorMsg').innerHTML = "Please fill in a valid email address.";
			return false;
		}
		if (/(^| )valid-user( |$)/.test(elements[i].className) && illegalChars.test(elements[i].value)) {
			elements[i].focus();
			document.getElementById('errorMsg').innerHTML = "Please use only letters, numbers, and underscores.";
			return false;
		}
		if (/(^| )valid-phone( |$)/.test(elements[i].className) && checkInternationalPhone(elements[i].value)==false) {
			elements[i].focus();
			document.getElementById('errorMsg').innerHTML = "Please fill in a valid phone number.";
			return false;
		}
		if (/(^| )valid-down( |$)/.test(elements[i].className) && isNaN(elements[i].value)) {
			elements[i].focus();
			document.getElementById('errorMsg').innerHTML = "Please fill in a valid down payment.";
			return false;
		}
	}
	return true;
}

function addLoadListener(fn) {
	if (typeof window.addEventListener != 'undefined') {
		window.addEventListener('load', fn, false);
	} else if (typeof document.addEventListener != 'undefined') {
		document.addEventListener('load', fn, false);
	} else if (typeof window.attachEvent != 'undefined') {
		window.attachEvent('onload', fn);
	} else {
		var oldfn = window.onload;
		if (typeof window.onload != 'function') {
			window.onload = fn;
		} else {
			window.onload = function() {
				oldfn();
				fn();
			};
		}
	}
}
