var formBytes=new Array()


//FORM VALIDATION///////////////////////////////////////////////////////////////////////////////////////

// "t-" = TEXTBOX OR TEXTAREA
// "s-" = SELECT BOX (DROP-DOWN MENU)
// "r-" = RADIO BUTTONS
// "n-" = NUMBER in TEXTBOX
// "#"  = NUMBER WITH SPECIFIC LENGTH   example name : #-9socnum
// "e-" = EMAIL

var validateCounter
var myElement

function validate(swap){
myform=swap
mySwitch=false
counter=0
formTemp=""



for(validateCounter=0;validateCounter<myform.length;validateCounter++){
	if(myform.elements[validateCounter].name.charAt(1)=="-"){
    	myElement=myform.elements[validateCounter].name
        if(myElement.charAt(0)=="t"){emptyField()}
        else if(myElement.charAt(0)=="s"){validateSelect()}
        else if(myElement.charAt(0)=="r"){validateRadio()}
        else if(myElement.charAt(0)=="n"){validateNumber()}
        else if(myElement.charAt(0)=="#"){validateNumLen()}
        else if(myElement.charAt(0)=="e"){validateEmail()}
        }
	if(mySwitch){break}
    }
	
if(!mySwitch){myform.submit()}
}



//VALIDATE THERE'S SOMETHING IN TEXTFIELD//////////////////////////////////////////////////////////////

function emptyField(){
mySwitch=false
var space
space=false

for(var a=0;a<myform.elements[validateCounter].value.length;a++){
	if(myform.elements[validateCounter].value.charAt(a)==" "){
		space=true
		}
	else{
		mySwitch=true
		}
	}
	
if(space && !mySwitch){
	mySwitch=true
	}
else{
	mySwitch=false
	}
	
if(mySwitch || myform.elements[validateCounter].value==""){
	if(formBytes[myElement]!=null){
		alert(formBytes[myElement])
		mySwitch=true
		}
	else{alert("Please fill in this field as it is required.")}
		myform.elements[validateCounter].value=""
        myform.elements[validateCounter].focus()
        mySwitch=true
        }
else{mySwitch=false}
}






//SELECT / DROPDOWN MENUS///////////////////////////////////////////////////////////////////////////////

function validateSelect(){
mySwitch=false

if(myform.elements[validateCounter].selectedIndex==0){
	if(formBytes[myElement]!=null){
		alert(formBytes[myElement])
		}
	else{
		alert("Please make a selection from this dropdown menu as it is required.")
		}
	myform.elements[validateCounter].focus()
	mySwitch=true
	}
}






//RADIO BUTTONS//////////////////////////////////////////////////////////////////////////////////////

function validateRadio(){
mySwitch=false
counter=0

while(myform.elements[validateCounter+counter].name==myElement){
	if(myform.elements[validateCounter+counter].checked){
		mySwitch=true
		}
	counter++
	}

if(!mySwitch){
	if(formBytes[myElement]!=null){
		alert(formBytes[myElement])
		}
	else{
		alert("Please select one of the following options as it is required.")
		}
	myform.elements[validateCounter].focus()
	mySwitch=true
	}
else{
    validateCounter=validateCounter+(counter-1)
	mySwitch=false
    }
counter=0
}





//VALIDATE NUMBER////////////////////////////////////////////////////////////////////////////////////////////

function validateNumber(){
emptyField()
if(!mySwitch && isNaN(myform.elements[validateCounter].value)){
	alert("Please fill this field in using ONLY valid numerals.")
	myform.elements[validateCounter].value=""
	myform.elements[validateCounter].focus()
	mySwitch=true
	}
}




//VALIDATE NUMBER////////////////////////////////////////////////////////////////////////////////////////////

function validateNumLen(){
emptyField()
if(!mySwitch){validateNumber()}
if(!mySwitch){
	counter=2
	var num=""
	while(!isNaN(myform.elements[validateCounter].name.charAt(counter))){
		num=num+myform.elements[validateCounter].name.charAt(counter)
		counter=counter+1
		}
		
	num=parseInt(num)
	if(!charCount(num)){
		if(num==1){
			alert("This field requires " + num + " numeral to be valid.")
			}
		else{
			alert("This field requires " + num + " numerals to be valid.")
			}
		myform.elements[validateCounter].value=""
		myform.elements[validateCounter].focus()
		mySwitch=true
		}
	}
}






//COUNT THE CHARACTERS////////////////////////////////////////////////////////////////////////////////

function charCount(swap){
if(myform.elements[validateCounter].value.length==swap){
	return true
	}
}





//EMAIL//////////////////////////////////////////////////////////////////////////////////////////////

function validateEmail(){
emptyField()
if(!charCheck("@") && !mySwitch){
	alert("Please enter a valid email address.")
	myform.elements[validateCounter].focus()
	myform.elements[validateCounter].value=""
	mySwitch=true
	}
else if(!charCheck(".") && !mySwitch){
	alert("Please enter a valid email address.")
	myform.elements[validateCounter].focus()
	myform.elements[validateCounter].value=""
	mySwitch=true
	}
}




//VALIDATE SPECIFIC CHARACTERS///////////////////////////////////////////////////////////////////

function charCheck(swap){
formTemp=myform.elements[validateCounter].value

for(var i=0;i<formTemp.length;i++){
	if(formTemp.charAt(i)==swap){
		return true
		}
	}
}
