var bError = false;
var intError = 0;
	
function errorPlus(){
	if(intError<0){
		intError = 0;
	}
	intError++;
	bError = true;
}
function errorMin(){
	if(intError<=0){
		intError = 1;
	}
	intError--;
}

function ezpz_obj(ID){
		if (document.getElementById) {
			return document.getElementById(ID);
	}
	else {
		if (document.all) { 
			return document.all[ID];
		}
		else {
			if (document.layers) {
				return document.layers[ID];
			}
		}
	}
}

function ezpz_v(T,EL,ERRDIV,L,R){
	var obj;
	var bolReq = false;
	
	
	obj = ezpz_obj(EL);	
	objErr = ezpz_obj(ERRDIV);
	
	if(R==0 && obj.value.length==0){// NOT REQUIRED AND EMPTY
		return true;
	}
	
	switch (T){
		case 1: // BLANK
			if(obj.value.length==0){
				objErr.innerHTML = 'Cannot be blank';
				bError = true;
				errorPlus();
			}
			else{
				objErr.innerHTML = '';
				errorMin();
			}			
		break;
		case 2: // MIN NUMBER OF CHARACTERS
			if(obj.value.length<L){
				objErr.innerHTML = 'Must be at least '+L+' characters long';
				bError = true;
				errorPlus();
			}
			else{
				objErr.innerHTML = '';
				errorMin();
			}			
		break;
		case 3: // CHECK IF A NUMBER
			if(isNaN(obj.value)||obj.value.length==0){
				if(obj.type=="hidden"){
					alert(hError);
				}
				else{
					//if(isNaN(obj.value)||bolReq===false){
					objErr.innerHTML = 'Must be a number';
				}
				bError = true;
				errorPlus();
			}
			else{
				objErr.innerHTML = '';
				errorMin();
			}				
		break;
		case 4: // ITEM SELCTED
			if (obj.selectedIndex == 0 || obj.selectedIndex == -1 ){
				objErr.innerHTML = 'Please make a selection';
				bError = true;
				errorPlus();
			}
			else{
				objErr.innerHTML = '';
				errorMin();
			}			
		break;
		case 5: // EMAIL VALIDATION
			var emailStr = obj.value;
			var checkTLD=1;
			var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum|asn|co|id)$/;
			var emailPat=/^(.+)@(.+)$/;
			var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
			var validChars="\[^\\s" + specialChars + "\]";
			var quotedUser="(\"[^\"]*\")";
			var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
			var atom=validChars + '+';
			var word="(" + atom + "|" + quotedUser + ")";
			var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
			var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
			var matchArray=emailStr.match(emailPat);

			if (matchArray==null) {		
			bError = true;
			objErr.innerHTML = 'Please check your email address';
			errorPlus();
			break;
			}
			
			var user=matchArray[1];
			var domain=matchArray[2];
			
			for (i=0; i<user.length; i++) {
				if (user.charCodeAt(i)>127) {		
				bError = true;
				objErr.innerHTML = 'Please check your email address';
				errorPlus();
				return;
				}
			}
			for (i=0; i<domain.length; i++) {
				if (domain.charCodeAt(i)>127) {		
				bError = true;
				objErr.innerHTML = 'Please check your email address';
				errorPlus();
				return;
				}
			}
			if (user.match(userPat)==null) {		
			bError = true;
			objErr.innerHTML = 'Please check your email address';
			errorPlus();
			return;
			}
			
			var IPArray=domain.match(ipDomainPat);
			if (IPArray!=null) {
				for (var i=1;i<=4;i++) {
					if (IPArray[i]>255) {		
					bError = true;
					objErr.innerHTML = 'Please check your email address';
					errorPlus();
					return;
					}
				}
				return;//true;
				} 
				
				var atomPat=new RegExp("^" + atom + "$");
				var domArr=domain.split(".");
				var len=domArr.length;
				
				for (i=0;i<len;i++) {
					if (domArr[i].search(atomPat)==-1) {		
						bError = true;
						objErr.innerHTML = 'Please check your email address';
						errorPlus();
						return;
					 }
				 }
				 
				if (checkTLD && domArr[domArr.length-1].length!=2 && 
				domArr[domArr.length-1].search(knownDomsPat)==-1) {
						bError = true;
						objErr.innerHTML = 'Please check your email address';
						errorPlus();
						return;
				}
				if(len<2){		
					bError = true;
					errorPlus();
					objErr.innerHTML = 'Please check your email address';
					return;
				}
				errorMin();
			break;
			
			case 6: // IS IT CHECKED?
				if(obj.checked){
					objErr.innerHTML = '';
					errorMin();
				}
				else{objErr.innerHTML = 'You must check this box';
					bError = true;
					errorPlus();
				}				
		break;
	}
}
function ezpz_equal(DIV, DIV2){
	if(ezpz_obj(DIV).value == ezpz_obj(DIV2).value){
		return true;
	}
	else{
		alert('Passwords must be the same');
		return false;
	}
}