emReq = 0;

	function emailReq() {
		em = document.getElementById('UserEmail');
		emr = document.getElementById('emailme');
		emo = document.getElementById('EmailOp');
		if(emReq == 0){
			emo.style.display = "none";
			emReq = 1;
		}else{
			emo.style.display = "inline";
			emReq = 0;
		}
	}
	
	function showForm(fs,tp){
		frmSec = document.getElementById(fs);
		if(tp == "form"){
			frmSec.style.display = "block";
		}else{
			frmSec.style.display = "none";
		}
	}
	
	function validate(fn){
			
		var frm = document.getElementById(fn);
		var newFields=[];
		var reqFields=[];
		var fields = document.forms[fn].elements;
		var err = "";
		var defVal1 = "none";
		var defEmail = "email@pbso.org";
		var defPhone = "(561) xxx-xxxx";
		//var re= new RegExp ("^\\((d{3})\\) (\\d{3}-)\\d{4}$");
        var re= new RegExp ("^\\?((\\d{3})\\) ?(\\d{3}-)\\d{4}$|^(\\d{3}-)\\d{4} x-\\d{2,6}$");
	
		for(f=0;f<fields.length;f++){ 
			if( ((fields[f].value != "") && (fields[f].value != null)) && ((fields[f].name.toUpperCase() != "SUBMIT") && (fields[f].name.toUpperCase() != "COMMIT") && (fields[f].name.toUpperCase() != "STEP")) ){
				newFields.push(fields[f]);
			}
		}
		n = document.getElementById(fn).elements;
		for(f=0;f<n.length;f++){
			nn = n[f];
			//alert(nn.attributes['req'].value);
			if(nn.attributes['req']){
				thisReq = nn.attributes['req'].value.split(",");
	
				if( (thisReq[0] == 'r') && (fields[f].name.toUpperCase() != "SUBMIT") && (fields[f].name.toUpperCase() != "DATEREPORT")){
					if((nn.value == "") || (nn.value == null) || (nn.value == defVal1)){
						reqFields.push(fields[f]);

					}
				}
	
				if(thisReq[1] == "email"){
					if (emReq == 0){
						if((nn.value != "") && (nn.value != null) && (nn.value != defEmail)){
							if((!nn.value.match("@")) || (!nn.value.match("."))){
								nn.validationmsg = "Your Email address must be valid a Email address.";
								reqFields.push(fields[f]);
							}
						}
					}else if (emReq == 1){
						if((nn.value != "") || (nn.value != null) || (nn.value != defEmail)){
							if((!nn.value.match("@")) || (!nn.value.match("."))){
								nn.validationmsg = "Since you are providing an Email address, this email must be valid.";
								reqFields.push(fields[f]);
							}
						}
					}
				}else if(thisReq[1] == "phone"){
					if((nn.value != "") && (nn.value != null) && (nn.value != defPhone)){
						if(!nn.value.match(re)){
							nn.validationmsg = "Your Phone Number must be a valid pattern e.g (561) 688-xxxx.";
							reqFields.push(fields[f]);
						}
					}
				}
	
			}
		}
	
		if(reqFields.length > 0){
			if(newFields.length < 1) {
				err += "\nBriefly describe the incident or situation.";
				alert(err);
			}else if(newFields.length > 0) {
				for(f=0;f<reqFields.length;f++){
					err += "\n - "+reqFields[f].validationmsg+"";
				}
				alert("Oops:\n"+err);
			}
			
			return false;
		
		} else {
			
			return true;
		}
	}
