

function numbersOnly($str) {
	$s = $str.replace(/\D/g,"");
	return $s;
}

function checkEmail($f) {
// optional 2nd argument: "quiet" suppresses alert messages	
	$str = $f.value;
	filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/;
	if (!filter.test($str) && $str.length > 0) {
		if (arguments[1]!="quiet") {
			errorBubble($f,"error_bubble_small","<b>Sorry!</b><br />There appears to be a problem with your email address.");
		}
		return false;
	} else {
		return true;
	}
}

function checkPhone($f) {
// optional 2nd argument: "quiet" suppresses alert messages
	$str = $f.value;
	$s = "";
	if ($str.length>0) {
		// remove all non-numbers
		$s = numbersOnly($str);
		if ($s.length != 10) {
			if (arguments[1]!="quiet") {
				errorBubble($f,"error_bubble_small","<b>Sorry!</b><br />There appears to be a problem with your Phone Number.");
			}
		}
		$str = "(" + $s.substr(0,3) + ") " + $s.substr(3,3) + "-" + $s.substr(6);
	}
	return $str;
}

function proper($str) {
	return $str.substr(0,1).toUpperCase() + $str.substr(1).toLowerCase();
}
	
function checkForm(f) {
	errorFlag = false;
	message = "<b>Sorry!</b><br />There appears to be a problem with your form submission.<br /><br />";
// name
	if (f.elements["name"].value.length < 3) {
		errorFlag = true;
		message += " - Please enter your name.<br />";
	}
		
// Check for valid email syntax
	if (!checkEmail(f.elements["email"],"quiet")) {
		errorFlag = true;
		message += " - Please enter a valid email address.<br />";
	}
	
// address
	if (f.elements["address"].value.length < 5) {
		errorFlag = true;
		message += " - Please enter your address.<br />";
	}
	
// city
	if (f.elements["city"].value.length < 3) {
		errorFlag = true;
		message += " - Please enter your city.<br />";
	}
	
// Check phone # for valid characters
	temp = checkPhone(f.elements["phone"],"quiet");
	if (temp.length < 14) {
		message += " - Please enter your 10 digit phone number.<br />";
		errorFlag = true;
	}
	
// Final routine	
	if (errorFlag) {
		errorBubble(document.getElementById("submitButton"),"error_bubble_large",message);
		return false;
	} else {
		return true;
	}
}

function errorBubble($el,$class,$message) {
	$bubble = document.getElementById("errorBubble");
	$bubble.className = $class;
	$bubble.innerHTML = $message;
// get offsetLeft & Top
	$e = $el;
	$l = 0;
	$t= 0;
	while ($e != null){
		$l += $e.offsetLeft;
		$t += $e.offsetTop;
		$e = $e.offsetParent;
	}
	$bubble.style.left = ($l - 360) + "px";
	if ($class=="error_bubble_large") {
		$bubble.style.top = ($t - 245) + "px";
		$bubble.style.backgroundImage = "url(images/error_bubble_large.png)";	// for ie6
	} else {
		$bubble.style.top = ($t - 52) + "px";
		$bubble.style.backgroundImage = "url(images/error_bubble.png)";	// for ie6
	}
	show("errorBubble");
}

function fillRandom() {	// fill form w/ random data for testing
	$lorem = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce elementum magna ut tellus. Vivamus eu arcu at est venenatis accumsan. Sed molestie massa in dolor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Vivamus et leo. Integer adipiscing urna vitae sem. Maecenas ut elit non sapien porttitor pellentesque. Curabitur nunc purus, luctus non, tincidunt in, congue vel, libero. Suspendisse potenti. Duis condimentum nulla a quam. Maecenas lacus odio, convallis nec, dapibus nec, vehicula sed, tellus. Donec in nulla ac odio pretium dictum. Mauris lectus. Proin consequat ultricies risus. Maecenas ullamcorper auctor orci.";
	$radios = Array();
	for ($i=0; $i<document.ignite.elements.length; $i++) {
		$f = document.ignite.elements[$i];
		$rand = Math.floor(Math.random() * 40);
		if ($f.type == "text") {
			switch($f.name) {
				case "email":
					$f.value = "scottpoulin@hotmail.com";
					break;
				case "phone_business":
					$f.value = "6175551212";
					break;
				case "phone_cell":
					$f.value = "6175551212";
					break;
				case "zip":
					$f.value = "012345678";
					break;
				default:
					$len = 5 + Math.floor(Math.random() * 15);
					$f.value = $lorem.substr($rand,$len);
					break;
			}	// close switch
		}	// close text type
		
		if ($f.type=="textarea") {
			$len = 30 + Math.floor(Math.random() * 200);
			$f.value = $lorem.substr($rand,$len);
		}
		
		if ($f.type=="radio" && $f.name != "company_status") {	// radios on mentor form - collect in array for below
			$temp = $radios.toString();
			if ($temp.indexOf($f.name)<0) {
				$radios[$radios.length] = $f.name;
			}
		}
	}	// close for loop
	$f = document.ignite;
	if ($f.category.value=="entrepeneur") {
		$f.company_status[0].checked = true;
	} else {
		for ($i=0; $i<$radios.length; $i++) {
			$temp = Math.floor(Math.random() * 5);
			$f.elements[$radios[$i]][$temp].checked = true;
		}
	}
	$f.state.selectedIndex = 22;
	$f.phone_business.value = checkPhone($f.phone_business.value);
	$f.phone_cell.value = checkPhone($f.phone_cell.value);
	$f.zip.value = checkZip($f.zip.value);
}
