// JavaScript Document
function chknum(t){
	t.value = t.value.replace(/\D/g, "");
}

function chkphone(t,event){
	if(!event) event = window.event;
	if(event.keyCode != 8 && event.keyCode != 46){
		if(t.value.charAt(0) != "+"){
			var trigger = false;
			if(t.value.length > 14) trigger = true;
			tmp = t.value.replace(/\D/g, "").replace(/^1/,"");
			var n = "";
			if(tmp.length > 10 || trigger){
				n = " x" + tmp.substr(10);
			}
			if(tmp.length >= 6){
				n = "-" + tmp.substr(6,4) + n;
			}
			if(tmp.length > 3){
				n = tmp.substr(3,3) + n;
			}
			if(tmp.length > 2){
				n = ") " + n;
			} 
			if(tmp.length > 0){
				n = "(" + tmp.substr(0,3) + n;
			} 
			t.value = n;
		}
	}
}

var emptyString = /^\s*$/ ;
var arErr = Object();

function v(f,t){	
	for(var x in arErr){
	  var e = document.getElementById("lbl_" + x);
		if(e) e.className = String(e.className).replace(/err/g,"");
	  var e = document.getElementById("div_" + x);
		if(e) e.className = String(e.className).replace(/err/g,"");
		delete arErr[x];
	}
	var cont = true;
	for(var i in t){
		for(var k in t[i]){
			if((i == "req" && t[i][k] != "true")){
				if(eval("exists(\"" + t[i][k] + "\",f)")){
					cont = eval("v_"+i+"(\"" + k + "\",f)") ? cont : false;
				}
			} else if((i == "req_radio" && t[i][k] != "true")){
					if(eval("exists(\"" + t[i][k] + "\",f)")){
						cont = eval("v_"+i+"(\"" + k + "\",f)") ? cont : false;
					}
				} else if(i != "req") {
				if(eval("exists(\"" + k + "\",f)")){
					cont = eval("v_"+i+"(\"" + k + "\",f)") ? cont : false;
				}
			} else {
				cont = eval("v_"+i+"(\"" + k + "\",f)") ? cont : false;
			}
		}
	}
	error_alert();
	return cont;
}

function error_alert(){
	var errType = Object();
	for(var i in arErr){
		errType[arErr[i]] = 1;
	}
	var errStr = "";
	for(var e in errType){
		switch(e){
			case "req":
				errStr += (errStr != "" ? "\n" : "") + "Please Enter All Required Information.";
			break;
			case "email":
				errStr += (errStr != "" ? "\n" : "") + "Email format is invalid.";
			break;
			case "phone":
				errStr += (errStr != "" ? "\n" : "") + "Phone number format is invalid.";
			break;
		}
	}
	if(errStr != "") alert(errStr);
}

function v_err(x,err){
  var e = document.getElementById("lbl_" + x);
	if(e) e.className = e.className + "err";
  var e = document.getElementById("div_" + x);
	if(e) e.className = e.className + "err";
	arErr[x] = err;
}

function trim(str){
  return str.replace(/^\s+|\s+$/g, '');
}

function v_req(x,f){
	var e = f[x];

  if(emptyString.test(e.value)){
		v_err(x,"req");
		return false;
	} else {
		return true;
	}
}

function exists(x,f){
	var e = f[x];

  if(emptyString.test(e.value)){
		return false;
	} else {
		return true;
	}
}

function v_req_select(x,f){
  var e = f[x];

  if(emptyString.test(e[e.selectedIndex].value)){
		v_err(x,"req");
		return false;
	} else {
		return true;
	}
}

function v_req_radio(x,f){
  var e = f[x];

	var chk = false;
	for (i = 0; i < e.length; i++){
		if (e[i].checked){
			chk = true; 
		}
	}

  if(!chk) {
		v_err(x,"req");
		return false;
	} else {
		return true;
	}
}

function v_checked(x,f){
  var e = f[x];

  if(!e.checked) {
		v_err(x,"req");
		return false;
	} else {
		return true;
	}
}

function v_email(x,f){
	var e = f[x];
	if(!emptyString.test(e.value)){
		var tfld = trim(e.value);
		var email = /^[^@]+@[^@.]+\.[^@]*\w\w$/;
		if (!email.test(tfld)) {
			v_err(x,"email")
			return false;
		}
	}
	return true;
}

function v_phone(x,f){
	var e = f[x];
	if(!emptyString.test(e.value)){

		var tfld = trim(e.value);  // value of field with whitespace trimmed off
		var tfld2 = String(e.value).replace(/\D/g,"");
		var telnr = /^\+?[0-9 ()-x]+[x0-9]$/  ;
		if(!telnr.test(tfld) || tfld2.length < 10) {
			v_err(x, "phone");
			return false;
		}
	}
	return true;
}
