//Set input focus on load without using "onload"
var __focus_triggered = false;
if(document.addEventListener) document.addEventListener("DOMContentLoaded", setFocus, false);
else {
	document.write("<scr" + "ipt id=\"__ie_onload\" defer src=\"javascript:void(0)\"><\/scri" + "pt>");
	var script = document.getElementById("__ie" + "_onlo" + "ad");
	script.onreadystatechange = function() {
		if(this.readyState == "complete") setFocus();       
	}
}

function setFocus() {
	if(__focus_triggered) return;

	var loginForm = document.getElementById("reg");
	if (loginForm) loginForm[0].focus();

	__focus_triggered = true;
}
//END Set input focus

String.prototype.replaceAll = function(pcFrom, pcTo){
	var i = this.indexOf(pcFrom);
	var c = this;
 
	while (i > -1){
		c = c.replace(pcFrom, pcTo); 
		i = c.indexOf(pcFrom);
	}
	return c;
}

if (document.layers) document.captureEvents(Event.KEYDOWN);
document.onkeydown = function (evt) {
	var keyCode = evt ? (evt.which ? evt.which : evt.keyCode) : event.keyCode;
	if (keyCode == "13") {
		validatePost();
		return false;
	} else return true;
}

function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}

function validatePost() {
	var allRequired = true;
	var required = getElementsByClassName(document, "*", "required");

	for (var i=0; i<required.length; i++) {
		if (!allRequired) break;
		var theValue;
		if (required[i].type == "select-one") theValue = required[i].options[required[i].selectedIndex].text;
		else theValue = required[i].value;
		if (theValue == "") allRequired = false;
	}

	if (!allRequired) {
		if (document.location.search.indexOf("span=1") != -1) alert("Por favor, rellene todos los campos obligatorios.\n(Los campos obligatorios est\341n marcados con un color rojo *)");
		else alert("Please fill in all of the required fields.\n(Required fields are marked with a red *)");
		return false;
	} else document.forms.reg.submit();
}

function isNumberKey(evt) {
	var charCode = (evt.which) ? evt.which : event.keyCode;
	if (charCode > 31 && (charCode < 48 || charCode > 57)) return false;
	else return true;
}

function formatPhone(element) {
	switch (element.value.length) {
		case 3:
			element.value = element.value + "-";
			break;
		case 7:
			element.value = element.value + "-";
			break;
		default:
			break;
	}
}

function checkDate(element) {
	if (element.value != "") {
		if (element.value.indexOf("-") != -1) element.value = element.value.replaceAll("-", "/");
		var rawDate = Date.parse(element.value);
		
		if (isNaN(rawDate)) {
			if (document.location.search.indexOf("span=1") != -1) alert("\"" + element.value + "\"" + " no se reconoce como una fecha v\341lida.\nPor favor, introduzca una fecha v\341lida.");
			else alert("\"" + element.value + "\"" + " was not recognized as a valid date.\nPlease enter a valid date.");
			element.value = "";
		} else {
			var theDate = new Date(rawDate);
			var month = theDate.getMonth() + 1;
			var day = theDate.getDate();
			var year = theDate.getFullYear();
			
			if (month < 10) month = "0" + month;
			if (day < 10) day = "0" + day;

			element.value = month + "/" + day + "/" + year;
		}
	}
}

function checkEmail(element) {
	if (element.value.length > 0 && element.value.indexOf("@") == -1) {
		if (document.location.search.indexOf("span=1") != -1) alert("\"" + element.value + "\"" + " no se reconoce como un direcci\363n de correo electr\363nico v\341lida.\nPor favor, introduzca un direcci\363n de correo electr\363nico v\341lida.");
		else alert("\"" + element.value + "\"" + " was not recognized as a email address.\nPlease enter a valid email address.");
		element.value="";
	} 
}

function phoneDashDel(evt, element) {
	var charCode = (evt.which) ? evt.which : event.keyCode;
	var lastChar = element.value.substring(element.value.length - 1, element.value.length);
	if (charCode == 8 && lastChar == "-") element.value = element.value.substring(0, element.value.length - 1);
}

function checkJSandCookies() {
	var begin = "Begin...";
	if (document.location.search.indexOf("span=1") != -1) begin = "Comenzar...";
	var tmpcookie = new Date();
	chkcookie = (tmpcookie.getTime() + '');
	document.cookie = "chkcookie=" + chkcookie + "; path=/";
	if (document.cookie.indexOf(chkcookie,0) != -1) {
		document.writeln("<button class=\"heading2\" style=\"padding: 5px;\" onclick=\"this.form.submit();\">" + begin + "</button>");
	} else {
		document.writeln("<button class=\"heading2\" style=\"padding: 5px;\" onclick=\"location.href=\'browser.aspx\'; return false;\">" + begin + "</button>");
	}
}

function toggle(element, display) {
		document.getElementById(element).style.display = display;
}

function copyAddress(element) {
	var theForm = document.forms.reg;
	var fields = new Array("STREET", "CITY", "STATE", "ZIP", "NEW", "HOME");
	if (element.checked) {
		for(i=0; i< fields.length; i++) {
			if (eval("theForm.F_" + fields[i] + ".type") != "select-one") eval("theForm.F_" + fields[i] + ".value = theForm.M_" + fields[i] + ".value");
			else eval("theForm.F_" + fields[i] + ".selectedIndex = theForm.M_" + fields[i] + ".selectedIndex");
		}
	} else {
		for(i=0; i< fields.length; i++) {
			if (eval("theForm.F_" + fields[i] + ".type") != "select-one") eval("theForm.F_" + fields[i] + ".value = \"\"");
			else eval("theForm.F_" + fields[i] + ".selectedIndex = 0");
		}
	}
}

function copyDoctor(element, num) {
	var theForm = document.forms.reg;
	var fields = new Array("PHYS_NAME", "PHYS_PHONE", "DENT_NAME", "DENT_PHONE");
	if (element.checked) {
		for(i=0; i< fields.length; i++) {
			eval("theForm." + fields[i] + num + ".value = theForm." + fields[i] + "0.value");
		}
	} else {
		for(i=0; i< fields.length; i++) {
			eval("theForm." + fields[i] + num + ".value = \"\"");
		}
	}
}