//js file to fix Mozilla ###############################

if( document.addEventListener )document.addEventListener( 'DOMContentLoaded', cmxform, false);

function cmxform(){
  // Hide forms
//  $( 'form.cmxform' ).hide().end();

  // Processing
  $( 'form.cmxform' ).find( 'li/label' ).not( '.nocmx' ) .each( function( i ){
    var labelContent = this.innerHTML;
    var labelWidth = document.defaultView. getComputedStyle( this, '' ).getPropertyValue( 'width' );
    var labelSpan = document.createElement( 'span' );
        labelSpan.style.display = 'block';
        labelSpan.style.width = labelWidth;
        labelSpan.innerHTML = labelContent;
    this.style.display = '-moz-inline-box';
    this.innerHTML = null;
    this.appendChild( labelSpan );
  } ).end();

  // Show forms
  $( 'form.cmxform' ).show().end();
}

	function validate() {
	
		re = /(<|>|\(|\)|[|]|&|;)/	// Regular Expression Filter to test for illegal characters.

		if (re.test(document.cmxform.fName.value)) {
			alert("Invalid first name, please use only letters.");
			focus.document.cmxform.fName.value;
			return false;
		}

		if (re.test(document.cmxform.lName.value)) {
			alert("Invalid last name, please use only letters.");
			focus.document.cmxform.lName.value;
			return false;
		}
		
		if (re.test(document.cmxform.address.value)) {
			alert("Invalid address, please use only letters and numbers.");
			focus.document.cmxform.address.value;
			return false;
		}
		
		if (re.test(document.cmxform.address2.value)) {
			alert("Invalid address 2 field, please use only letters and numbers.");
			focus.document.cmxform.address2.value;
			return false;
		}
		
		if (re.test(document.cmxform.city.value)) {
			alert("Invalid city, please use only letters.");
			focus.document.cmxform.city.value;
			return false;
		}
		
		if (re.test(document.cmxform.state.value)) {
			alert("Invalid state, please use only letters.");
			focus.document.cmxform.state.value;
			return false;
		}
		
		if (re.test(document.cmxform.zip.value)) {
			alert("Invalid Zip Code, please use only numbers.");
			focus.document.cmxform.zip.value;
			return false;
		}
		
		if (re.test(document.cmxform.country.value)) {
			alert("Invalid Country, please use only numbers.");
			focus.document.cmxform.country.value;
			return false;
		}
		
		rePhone = /^\(?(\d{3})\)?[\.\-\/ ]?(\d{3})[\.\-\/ ]?(\d{4})$/	 //7 or 10 digit phone #
		
		if (!(rePhone.test(document.cmxform.phone.value))) {
			alert("Please enter only a valid 10 digit phone number.");
			document.cmxform.phone.focus();
			return false;
		}

		reEmail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/	//Email regular Expression

		if(document.cmxform.email.value != ""){
			if (!(reEmail.test(document.cmxform.email.value))) {
				alert("Invalid e-mail address");
				document.cmxform.email.focus();
				return false;
			}
		}
		
		if (re.test(document.cmxform.depName.value)) {
			alert("Invalid Department Name, please use only letters.");
			focus.document.cmxform.depName.value;
			return false;
		}
		
		if (re.test(document.cmxform.depContact.value)) {
			alert("Invalid Department Contact, please use only letters.");
			focus.document.cmxform.depContact.value;
			return false;
		}
		
		if (re.test(document.cmxform.depTitle.value)) {
			alert("Invalid Department Contact Title, please use only letters.");
			focus.document.cmxform.depTitle.value;
			return false;
		}
		
		if (re.test(document.cmxform.depAddress.value)) {
			alert("Invalid Department Address, please use only letters.");
			focus.document.cmxform.depAddress.value;
			return false;
		}
		
		if (re.test(document.cmxform.depCity.value)) {
			alert("Invalid Department City, please use only letters.");
			focus.document.cmxform.depCity.value;
			return false;
		}
		
		if (re.test(document.cmxform.depState.value)) {
			alert("Invalid Department State, please use only letters.");
			focus.document.cmxform.depState.value;
			return false;
		}
		
		if (re.test(document.cmxform.depZip.value)) {
			alert("Invalid Department Zip Code, please use only numbers.");
			focus.document.cmxform.depZip.value;
			return false;
		}
		
		if (re.test(document.cmxform.depPhone.value)) {
			alert("Invalid Department Phone Number, please use only numbers.");
			focus.document.cmxform.depPhone.value;
			return false;
		}
		
		if(document.cmxform.depPhone.value != ""){
			if (!(rePhone.test(document.cmxform.depPhone.value))) {
				alert("Please enter only a valid 10 digit phone number for your department.");
				document.cmxform.depPhone.focus();
				return false;
			}
		}
		
		if (re.test(document.cmxform.depFax.value)) {
			alert("Invalid Department Fax Number, please use only numbers.");
			focus.document.cmxform.depFax.value;
			return false;
		}
		
		if(document.cmxform.depPhone.value != ""){
			if (!(rePhone.test(document.cmxform.depFax.value))) {
				alert("Please enter only a valid 10 digit Fax number for your department.");
				document.cmxform.depFax.focus();
				return false;
			}
		}
		
		if (re.test(document.cmxform.experienceYrs.value)) {
			alert("Invalid Years of experience for your Water Rescue Team, please use only numbers.");
			document.cmxform.experienceYrs.focus();
			return false;
		}
		
		if (re.test(document.cmxform.teamNumber.value)) {
			alert("Invalid number of members for your Water Rescue Team, please use only numbers.");
			document.cmxform.teamNumber.focus();
			return false;
		}
		
		if (re.test(document.cmxform.irrsYear.value)) {
			alert("Invalid year attended Indiana River Rescue School, please use only numbers.");
			document.cmxform.irrsYear.focus();
			return false;
		}
		
		if (re.test(document.cmxform.otherClass.value)) {
			alert("Invalid value for other classes attended, please use only letters and numbers.");
			document.cmxform.otherClass.focus();
			return false;
		}
		
		if (re.test(document.cmxform.relatedClass.value)) {
			alert("Please do not use these characters: \"< > ( ) [ ] & ; \"");
			document.cmxform.relatedClass.focus();
			return false;
		}
	/*	
		chkChoice1 = -1;
		for( i=0; i<document.cmxform.choice1.length; i++) {
			if(document.cmxform.choice1[i].checked) {
				chkChoice1 = i;
			}
		}
		if(chkChoice1 == -1){
			alert("Please choose your class dates to attend.");
			return false;
		}
	*/
	return true;
	}	//End function validate
