var ld=(document.all);
var ns4=document.layers;
var ns6=document.getElementById&&!document.all;
var ie4=document.all;



go=false;

var xreq = false;
var xreq2 = false;
var xreq3 = false;
var xreq5 = false;
var isEmailValid = true;	// assume true until proven otherwise
var isEmailMesgShown = false;
var qtySubmitAttempts = 0;
var isChecked = false;	

var ferr=0;
var lerr=0;
var serr=0;
var perr=0;
var eerr=0;

var go_phone=false;
var go_email= false;
var go_fname= false;
var go_lname= false;
var go_street= false;
var go_db = false;

function init(x)
{	
	StartTimer();
	if(CheckIt(x)){
		//rvalidateEmail(document.doublecombo.contact_email.value);
		CheckDatabase();
		go_phone= check_phone();
		go_email= check_email();
		go_fname= check_fname();
		go_lname= check_lname();
		go_street= check_street();
		if(go_phone && go_email && go_lname && go_fname && go_street && isChecked && isEmailValid){ 
				goSubmit();	
				return true;
		}else{return false;}
	}else{return false;}
}


function rvalidateEmail(email)
{
	if (email)
	{
		isEmailValid = false;		// assume true until proven otherwise
		asyncQuery("/ws/vemail.phtml?e=", email, emailValidated);
		// it seems that XMLHTTPRequest urlencodes things
	}
}

function asyncQuery(url, urlAppend,callbackFunc)
{
	if (window.XMLHttpRequest)
	{
		var nativeXreq = true;
		xreq = new XMLHttpRequest();
		if (xreq.overrideMimeType) xreq.overrideMimeType('text/xml');
	} else if (window.ActiveXObject) {
		var nativeXreq = false;
		xreq = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (!xreq) return false;
	xreq.onreadystatechange = callbackFunc;
	xreq.open("GET", url + urlAppend , true);
	xreq.send(null);
}

function emailValidated()
{
	if (xreq.readyState == 4 && xreq.status == 200)
	{
		if (xreq.responseText == '0')
		{
			popError('email');
		}else{
			isEmailValid = true;	
			if(go_phone && go_email && go_lname && go_fname && go_street && isChecked && isEmailValid){ goSubmit();}		
		}
	}
}

function CheckDatabase()
{
	isChecked=false;
	var url = "check_database.php";
	var urlAppend = "?contact_fname=" + document.doublecombo.contact_fname.value + "&contact_lname=" + document.doublecombo.contact_lname.value + "&contact_email=" + document.doublecombo.contact_email.value + "&contact_phone_area=" + document.doublecombo.contact_phone_area.value + "&contact_phone_pre=" + document.doublecombo.contact_phone_pre.value + "&contact_phone_suf=" + document.doublecombo.contact_phone_suf.value + "&contact_address=" + document.doublecombo.contact_address.value;
	if (window.XMLHttpRequest)
	{
		var nativeXreq = true;
		xreq3 = new XMLHttpRequest();
		if (xreq3.overrideMimeType) xreq3.overrideMimeType('text/xml');
	} else if (window.ActiveXObject) {
		var nativeXreq = false;
		xreq3 = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (!xreq3) return false;
	xreq3.onreadystatechange = seeErrors;
	xreq3.open("GET", url + urlAppend , true);
	xreq3.send(null);
}

function CatchData()
{
	var url = "/rc/recdata.phtml";
	var urlAppend = "?submited=" + document.getElementById('submited').value + "&email_error=" + document.getElementById('email_error').value + "&street_error=" + document.getElementById('street_error').value + "&phone_error=" + document.getElementById('phone_error').value + "&fname_error=" + document.getElementById('fname_error').value + "&lname_error=" + document.getElementById('lname_error').value;
	if (window.XMLHttpRequest)
	{
		var nativeXreq = true;
		xreq2 = new XMLHttpRequest();
		if (xreq2.overrideMimeType) xreq2.overrideMimeType('text/xml');
	} else if (window.ActiveXObject) {
		var nativeXreq = false;
		xreq2 = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (!xreq2) return false;
	xreq2.open("GET", url + urlAppend , true);
	xreq2.send(null);
}

function StartTimer()
{
	var url = "start_timer.php";
	if (window.XMLHttpRequest)
	{
		var nativeXreq = true;
		xreq5 = new XMLHttpRequest();
		if (xreq5.overrideMimeType) xreq5.overrideMimeType('text/xml');
	} else if (window.ActiveXObject) {
		var nativeXreq = false;
		xreq5 = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (!xreq5) return false;
	xreq5.open("GET", url, true);
	xreq5.send(null);
}

function seeErrors()
{
	if (xreq3.readyState == 4 && xreq3.status == 200)
	{
		var rta = xreq3.responseText.split(",");
		var terr = 0;
		if(rta[0]=='1'){
			popError('fname');
			terr=1;
		}
		if(rta[1]=='1'){
			popError('lname');		
			terr=1;
		}
		if(rta[2]=='1'){
			popError('fname');
			popError('lname');	
			terr=1;
		}
		if(rta[3]=='1'){
			popError('phone');
			terr=1;		
		}
		if(rta[4]=='1'){
			popError('email');
			terr=1;		
		}
		if(rta[5]=='1'){
			popError('street');
			terr=1;		
		}
		if(terr==0){
			isChecked=true;
			if(go_phone && go_email && go_lname && go_fname && go_street && isChecked && isEmailValid){ goSubmit();}	
		}
		 
	}
}
function goSubmit(){
			document.getElementById('submited').value='1';
			if (ns4){
				ld=document.loading;
			}
			else if (ns6){
				ld=document.getElementById("loading").style;
			}
			else if (ie4){
				ld=document.all.loading.style;
			}
			
			if(ns4){
				ld.visibility="visible";
			}
			else if (ns6||ie4){ 
				if(typeof(reviewqr)!='undefined'){
					ld.display="inline";
				}else{
					ld.display="block";
				}
			}
			
			document.doublecombo.submit();

}
function popError(type){
		if(type=='fname'){
			document.getElementById('title_fname').className='errorrow';
			document.getElementById('div_fname').className='errorimgshow';
			document.getElementById('img_fname').className='errorimgshow';
			ferr+=1;
			document.getElementById('fname_error').value=ferr;
		}
		if(type=='lname'){
			document.getElementById('title_lname').className='errorrow';
			document.getElementById('div_lname').className='errorimgshow';
			document.getElementById('img_lname').className='errorimgshow';
			lerr+=1;
			document.getElementById('lname_error').value=lerr;	
		}
		if(type=='name'){
			document.getElementById('title_fname').className='errorrow';
			document.getElementById('div_fname').className='errorimgshow';
			document.getElementById('img_fname').className='errorimgshow';
			ferr+=1;
			document.getElementById('fname_error').value=ferr;
			document.getElementById('title_lname').className='errorrow';
			document.getElementById('div_lname').className='errorimgshow';
			document.getElementById('img_lname').className='errorimgshow';
			lerr+=1;
			document.getElementById('lname_error').value=lerr;	
		}
		if(type=='phone'){
			document.getElementById('title_phone').className='errorrow';
			document.getElementById('div_phone').className='errorimgshow';
			document.getElementById('img_phone').className='errorimgshow';
			perr+=1;
			document.getElementById('phone_error').value=perr;
		
		}
		if(type=='email'){
			document.getElementById('title_email').className='errorrow';
			document.getElementById('div_email').className='errorimgshow';
			document.getElementById('img_email').className='errorimgshow';
			eerr+=1;
			document.getElementById('email_error').value=eerr;
		}
		if(type=='street'){
			document.getElementById('title_street').className='errorrow';
			document.getElementById('div_street').className='errorimgshow';
			document.getElementById('img_street').className='errorimgshow';
			serr+=1;
			document.getElementById('street_error').value=serr;	
		}
}

function dropError(type){

		if(type=='fname'){
			document.getElementById('title_fname').className='';
			document.getElementById('div_fname').className='errorimg';
			document.getElementById('img_fname').className='errorimg';
		}
		if(type=='lname'){
			document.getElementById('title_lname').className='';
			document.getElementById('div_lname').className='errorimg';
			document.getElementById('img_lname').className='errorimg';	
		}
		if(type=='name'){
			document.getElementById('title_fname').className='';
			document.getElementById('div_fname').className='errorimg';
			document.getElementById('img_fname').className='errorimg';
			document.getElementById('title_lname').className='';
			document.getElementById('div_lname').className='errorimg';
			document.getElementById('img_lname').className='errorimg';	
		}
		if(type=='phone'){
			document.getElementById('title_phone').className='';
			document.getElementById('div_phone').className='errorimg';
			document.getElementById('img_phone').className='errorimg';
		
		}
		if(type=='email'){
			document.getElementById('title_email').className='';
			document.getElementById('div_email').className='errorimg';
			document.getElementById('img_email').className='errorimg';	
		}
		if(type=='street'){
			document.getElementById('title_street').className='';
			document.getElementById('div_street').className='errorimg';
			document.getElementById('img_street').className='errorimg';	
		}

}
function type_fname(){
	dropError('fname');
}

function type_lname(){
	dropError('lname');
}

function type_street(){
	dropError('street');
}
function type_phone(){
	dropError('phone');
}
function type_email(){
	dropError('email');
}

function check_street(){
	var c_street=true;
	var regExp4 = /^\d{1,6}[\s\w\\\-.,#\/]{3,40}$/;
	
	 if(!regExp4.test(document.doublecombo.contact_address.value)){
	 	c_street=false;
	 }
	 if(!c_street){
		popError('street');
		return false;
	}else{return true;}
}
function check_fname(){
	var c_fname=true;
	var regExp = /(aa|cc|ff|ss|x|xx|yy)/i  
	var regExp2 = new RegExp("^[a-zA-Z-\s' ]{0,40}$");
	
	var regex1=/[bcdfghjklmnpqrstvwxz]{5}/i;
	var regex2=/schw/i;
	var regex3=/rmstr/i;
	var regex4=/rschf/i;
	var regex5=/tzsch/i;	
	var regex6=/[bcdfghjklmnpqrstvwxz]/i;
	var regex7=/^(asdf|fdsa|no|none|abc|xyzna|sadf|adf|name)$/i;
	var regex8=/^(abc|bcd|cde|def|efg|fgh|ghi|hij|ijk|jkl|klm|lmn|mno|nop|opq|pqr|qrs|rst|stu|tuv|uvw|vwx|wxy|xyz)$/i;
	
		
	 if(!regExp2.test(document.doublecombo.contact_fname.value)){
	 	c_fname=false;
	 }
	 if(regex1.test(document.doublecombo.contact_fname.value) && !regex2.test(document.doublecombo.contact_fname.value) && !regex3.test(document.doublecombo.contact_fname.value) && !regex4.test(document.doublecombo.contact_fname.value) && !regex5.test(document.doublecombo.contact_fname.value)){
	 	c_fname=false;
	 }
	 if(!regex6.test(document.doublecombo.contact_fname.value)){
	 	c_fname=false;
	 }
	 if(regex7.test(document.doublecombo.contact_fname.value)){
	 	c_fname=false;
	 }
	 if(regex8.test(document.doublecombo.contact_fname.value)){
	 	c_fname=false;
	 }
	 if(!c_fname){
		popError('fname');
		return false;
	}else{return true;}
		
}
function check_lname(){
	var c_lname=true;
	var regExp = /(aa|cc|ff|ss|x|xx|yy)/i
	var regExp2 = new RegExp("^[a-zA-Z-\s' ]{0,40}$");
	var regex1=/[bcdfghjklmnpqrstvwxz]{5}/i;
	var regex2=/schw/i;
	var regex3=/rmstr/i;
	var regex4=/rschf/i;
	var regex5=/tzsch/i;	
	var regex6=/[bcdfghjklmnpqrstvwxz]/i;
	var regex7=/^(asdf|fdsa|no|none|abc|xyzna|sadf|adf|name)$/i;
	var regex8=/^(abc|bcd|cde|def|efg|fgh|ghi|hij|ijk|jkl|klm|lmn|mno|nop|opq|pqr|qrs|rst|stu|tuv|uvw|vwx|wxy|xyz)$/i;
	
		
	 if(!regExp2.test(document.doublecombo.contact_lname.value)){
	 	c_lname=false;
	 }
	 if(regex1.test(document.doublecombo.contact_lname.value) && !regex2.test(document.doublecombo.contact_lname.value) && !regex3.test(document.doublecombo.contact_lname.value) && !regex4.test(document.doublecombo.contact_lname.value) && !regex5.test(document.doublecombo.contact_lname.value)){
	 	c_lname=false;
	 }
	 if(!regex6.test(document.doublecombo.contact_lname.value)){
	 	c_lname=false;
	 }
	 if(regex7.test(document.doublecombo.contact_lname.value)){
	 	c_lname=false;
	 }
	 if(regex8.test(document.doublecombo.contact_lname.value)){
	 	c_lname=false;
	 }
	 if(!c_lname){
		popError('lname');
		return false;
	}else{return true;}
		
}
function check_email(){
	var c_email=true;
	var regExp3 = /^([0-9a-zA-Z]([-\.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/;
	
	 if(!regExp3.test(document.doublecombo.contact_email.value) && document.doublecombo.contact_email.value!='' && !document.doublecombo.contact_email.value.match('@q.com')){
	 	c_email=false;
	 }
	 if(c_email){
		 rvalidateEmail(document.doublecombo.contact_email.value);
	}
	 if(!c_email){
		popError('email');
		return false;
	}else{return true;}
		
}
function check_phone(){
	var c_phone=true;
	if(!c_phone){
		popError('phone');
		return false;
	}else{return true;}
		
}