
var aryvalidate = new Array;
var regexZipCode = '^[0-9]{5}([- /]?[0-9]{4})?$';
var regexEmail = '^([0-9a-zA-Z]([-.\w_]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$';
var regexPhone = '^[\\(]{0,1}([0-9]){3}[\\)]{0,1}[ ||-]?([^0-1]){1}([0-9]){2}[ ]?[-]?[ ]?([0-9]){4}[ ]*((x){0,1}([0-9]){1,5}){0,1}$';
var regexCC  = '^3(?:[47]\\d([ -]?)\\d{4}(?:\\1\\d{4}){2}|0[0-5]\\d{11}|[68]\\d{12})$|^4(?:\\d\\d\\d)?([ -]?)\\d{4}(?:\\2\\d{4}){2}$|^6011([ -]?)\\d{4}(?:\\3\\d{4}){2}$|^5[1-5]\\d\\d([ -]?)\\d{4}(?:\\4\\d{4}){2}$|^2014\\d{11}$|^2149\\d{11}$|^2131\\d{11}$|^1800\\d{11}$|^3\\d{15}$'
var regexNumeric = '^([0-9]+\\.[0-9]*)$';
function validate(elem,regex) {
	/*
	Regular Expression parameters for various fields
	Zip Code:  ^[0-9]{5}([- /]?[0-9]{4})?$
	Email: ^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$
	Phone: ^[\\(]{0,1}([0-9]){3}[\\)]{0,1}[ ||-]?([^0-1]){1}([0-9]){2}[ ]?[-]?[ ]?([0-9]){4}[ ]*((x){0,1}([0-9]){1,5}){0,1}$
	Anything not starting with a special charachter (default) : ^[0-9a-zA-Z]
	*/
	
	bReturnValue=true;
	defaultregex="^[0-9a-zA-Z]";
			
	if (regex=="") {
		regex=defaultregex;
	}
	var re = new RegExp(regex);
	  
	if (elem.type==undefined) { //Entire Form Validation
		alert("YOU");
		var elemfocus=-1;
		var elemmissed=0;
		var strMsg="";
		for (var i=0;i<elem.length;i++) {  //Whole Form
			var strrfv = "rfv"+elem.elements[i].name; //.substr(3);
			if (aryvalidate[elem.elements[i].name]) {
				var re = new RegExp(aryvalidate[elem.elements[i].name]);
			}
			else {
				var re = new RegExp(regex);
			}
			if ((!elem.elements[i].value.match(re)) && document.getElementById(strrfv)) {
				rfv = document.getElementById(strrfv);
				rfv.style.fontWeight = "bold";
				rfv.style.color = "#FF0000";
				strMsg=strMsg+i+". ";
				if (strrfv.indexOf('Billing')>0) {
						strMsg=strMsg+"Billing "+rfv.innerText+"\n";
				}
				else if (strrfv.indexOf('Shipping')>0) {
						strMsg=strMsg+"Shipping "+rfv.innerText+"\n";
				}
				else {
					strMsg=strMsg+rfv.innerText+"\n";
				}
				bReturnValue=false;
				elemmissed++;
				if (elemfocus==-1) {
					elemfocus=i;
				}
			}
		}
		if (!bReturnValue && i>0) {
			alert("You have not filled in "+elemmissed+" of the required fields correctly. \n Please correct bolded items, summarized below.\n"+strMsg);
			elem.elements[elemfocus].focus();
			return false;
		}
	}
	else { //Form Element Validation
		if (elem.type=="text" || elem.type=="select-one") {
			var strrfv = "rfv"+elem.name; //.substr(3);
			if (regex!=defaultregex) {
				aryvalidate[elem.name]=regex;
			}
			if ((!elem.value.match(re)) && document.getElementById(strrfv)) {
				rfv = document.getElementById(strrfv);
				rfv.style.fontWeight = "bold";
				rfv.style.color = "#FF0000";
				bReturnValue=false;
			}
			else {
				rfv = document.getElementById(strrfv);
				rfv.style.fontWeight = "";
				rfv.style.color = "";
				bReturnValue=true;
			}
		}
	}
	return bReturnValue;

}


function Captcha() {
	var unixepoc = new Date(1970,0,1);
	var today = new Date();
	var oneday = 1000*60*60*24;
	var timestamp = new String((Math.ceil(today.getTime()-unixepoc.getTime()) / oneday)).replace(".","");
	document.write("<img src=\"/captcha.php?txt="+timestamp+"\" style=\"border:1px solid #999999; padding:0px 21px;\">\n");
	document.write("<br><br>Please enter the value you see above in the image.\n");
	document.write("<input type=\"text\" value=\"\" name=\"txtCaptcha\" size=8>\n");
	document.write("<input type=\"hidden\" value=\""+timestamp+"\" name=\"hidTextFile\">\n");

}