var verify = new Array("RgWeB" , "LInKd" , "sJAvA" , "GoCsS" , "nHomE" ,"mAILe");
var pictures = new Array(6);
var used = new Array(6);
var counter = 0;
var execute = 1;
var roundOne = 0;
var roundTwo = 0;
var roundThree = 0;
var mailForm = "mailForm";
var mailTVShow = "mailTVShow";

function initialize()
{
 	 // SETS UP AND PRELOADS PICTURES ARRAY

  	pictures[0] = new Image(120, 30);
  	pictures[0].src = "images/ver00.jpg";
  	pictures[1] = new Image(120, 30);
  	pictures[1].src = "images/ver01.jpg";
  	pictures[2] = new Image(120, 30);
  	pictures[2].src = "images/ver02.jpg";
  	pictures[3] = new Image(120, 30);
  	pictures[3].src = "images/ver03.jpg";
  	pictures[4] = new Image(120, 30);
  	pictures[4].src = "images/ver04.jpg";
  	pictures[5] = new Image(120, 30);
  	pictures[5].src = "images/ver05.jpg";

	// SET COUNTER TO A RANDOM NUMBER BETWEEN 0 and 5
			roundOne = Math.random();   // SETS VALUE BETWEEN 0 and 1
			roundTwo = roundOne * 6;   // SETS VALUE BETWEEN 0 and 5 RANGE
			roundThree = Math.floor(roundTwo);   // CONVERTS VALUE to INTEGER
			counter = roundThree;

	// DISPLAY RESULT OF NEW UNUSED RANDOM VARIABLE
	// INSERT THIS VALUE INTO THE used()ARRAY TO BE TESTED ON NEXT FUNCTION CALL
			counter = roundThree;
			document.imgDisplay.src = pictures[counter].src;

			used[roundThree] = roundThree;
		return;	
}
	// END initialize FUNCTION



function validateField(fieldId, fieldBoxId, fieldType, fieldName, required)
{
	fieldBox = document.getElementById(fieldBoxId);
	fieldObj = document.getElementById(fieldId);

	if(fieldType == 'text' && fieldName == 'firstName'   ||  fieldType == 'textarea'  ||  fieldType == 'password'  ||  fieldType == 'file'  ||  fieldType == 'phone'  || fieldType == 'website')
	{	
		if(required == 1 && fieldObj.value == '')
			{
				fieldObj.setAttribute("class","mainFormError");
				fieldObj.setAttribute("className","mainFormError");
				fieldObj.focus();
				return false;					
			}

	}

	else if(fieldType == 'text' && fieldName == 'lastName'   ||  fieldType == 'textarea'  ||  fieldType == 'password'  ||  fieldType == 'file'  ||  fieldType == 'phone'  || fieldType == 'website')
	{	
		if(required == 1 && fieldObj.value == '')
			{
				fieldObj.setAttribute("class","mainFormError");
				fieldObj.setAttribute("className","mainFormError");
				fieldObj.focus();
				return false;					
			}

	}

	else if(fieldType == 'text' && fieldName == 'email')
	{	
		if((required == 1 && fieldObj.value=='')  ||  (fieldObj.value!=''  && !validate_email(fieldObj.value)))
			{				
				fieldObj.setAttribute("class","mainFormError");
				fieldObj.setAttribute("className","mainFormError");
				fieldObj.focus();
				return false;					
			}

	}
	else if(fieldType == 'text' && fieldName == 'address'   ||  fieldType == 'textarea'  ||  fieldType == 'password'  ||  fieldType == 'file'  ||  fieldType == 'phone'  || fieldType == 'website')
	{	
		if((required == 1 && fieldObj.value == '') || (fieldObj.value!=''  && fieldObj.value.indexOf('@')>=0))
			{
				fieldObj.setAttribute("class","mainFormError");
				fieldObj.setAttribute("className","mainFormError");
				fieldObj.focus();
				return false;					
			}

	}
	
	else if(fieldType == 'text' && fieldName == 'city'   ||  fieldType == 'textarea'  ||  fieldType == 'password'  ||  fieldType == 'file'  ||  fieldType == 'phone'  || fieldType == 'website')
	{	
		if(required == 1 && fieldObj.value == '')
			{
				fieldObj.setAttribute("class","mainFormError");
				fieldObj.setAttribute("className","mainFormError");
				fieldObj.focus();
				return false;					
			}

	}
	else if(fieldType == 'text' && fieldName == 'state'   ||  fieldType == 'textarea'  ||  fieldType == 'password'  ||  fieldType == 'file'  ||  fieldType == 'phone'  || fieldType == 'website')
	{	
		if(required == 1 && fieldObj.value == '')
			{
				fieldObj.setAttribute("class","mainFormError");
				fieldObj.setAttribute("className","mainFormError");
				fieldObj.focus();
				return false;					
			}

	}
	else if(fieldType == 'text' && fieldName == 'zip'   ||  fieldType == 'textarea'  ||  fieldType == 'password'  ||  fieldType == 'file'  ||  fieldType == 'phone'  || fieldType == 'website')
	{	
		if(required == 1 && fieldObj.value == '')
			{
				fieldObj.setAttribute("class","mainFormError");
				fieldObj.setAttribute("className","mainFormError");
				fieldObj.focus();
				return false;					
			}

	}	
	else if(fieldType == 'text' && fieldName == 'sendoff')
	{	
		if(required == 1 && fieldObj.value!='')
			{	
				//Change to Form Reset for CGI Forms			
				//document.mainForm.resetForm.click();
				//alert("Hidden Field Going In " +mailTVShow);
				mailTVShow = "spamTVShow";
				//alert("Hidden Field Going Out " +mailTVShow);
				//return false;
			}

	}

	else if(fieldType == 'text' && fieldName == 'verify')
	{
		if(required == 1 && fieldObj.value == verify[counter])
			{
				return true;
			}
		else if((required == 1 && fieldObj.value == '')  ||  (fieldObj.value!= verify[counter]))
			{
				fieldObj.setAttribute("class","mainFormError");
				fieldObj.setAttribute("className","mainFormError");
				fieldObj.value = ""
				// COUNTER ENTERS FUNCTION IN NESTED LOOP AS 0 THE FIRST PASS
				// EXECUTE LOOP CONTROL ENTERS FUNCTION AS 1 THE FIRST PASS
				// WHILE LOOP TO DISPLAY THE CAPTCHA ARRAY
				while (execute <= 5)
				{

					// SET COUNTER TO A RANDOM NUMBER BETWEEN 0 and 5
					//alert("Counter Value Going Into Function is " +counter+ " and Execute is " +execute);
					roundOne = Math.random();   // SETS VALUE BETWEEN 0 and 1
					roundTwo = roundOne * 6;   // SETS VALUE BETWEEN 0 and 5 RANGE
					roundThree = Math.floor(roundTwo);   // CONVERTS VALUE to INTEGER
					counter = roundThree;
					//alert("Counter Value Going Out is " +counter+ " and Execute is " +execute);

					// START NESTED WHILE LOOP to CHECK IF VAR roundThree ALREADY IN used()ARRAY
					// LOOP RUNS UNTIL VAR roundThree VALUE NOT USED IN ARRAY IS FOUND
					// ON FIRST PASS used()ARRAY IS ALWAYS EMPTY
					while (roundThree == used[roundThree])
					{

						// IF USED - SET VAR roundThree TO A RANDOM NUMBER BETWEEN 0 and 5 TEST AGAIN
						roundOne = Math.random();   // SETS VALUE BETWEEN 0 and 1
						roundTwo = roundOne * 6;   // SETS VALUE BETWEEN 0 and 5 RANGE
						roundThree = Math.floor(roundTwo);   // CONVERTS VALUE to INTEGER
					}

					// WHEN UNUSED RANDOM VARIBLE IS FOUND
					// DISPLAY RESULT OF NEW UNUSED RANDOM VARIABLE
					// INSERT THIS VALUE INTO THE used()ARRAY TO BE TESTED ON NEXT FUNCTION CALL
					counter = roundThree;
					document.imgDisplay.src = pictures[counter].src;

					used[roundThree] = roundThree;

					// BREAK TO EXIT THE LOOP AFTER EACH FUNCTION CALL
					// PURPOSE IS TO DISPLAY CAPTCHA IMAGES ONE AT A TIME AND NOT REPEAT
					break;
				} 
				// END CAPTCHA LOOP

				// IF STATEMENT TO INDICATE THE END OF THE ARRAY
				// END ARRAY MESSAGE AND DISPLAYS FINAL MESSAGE IN TEXT AREA BOX	
				if (execute >= 5)
				{
					alert ("Anti-Spam Failed 5 Times! Form Reset.");	
					fieldObj.setAttribute("class","mainForm");
					fieldObj.setAttribute("className","mainForm");
				}

				// INCREMENTS THE EXECUTE COUNTER BY ONE UPON LEAVING THE FUNCTION
				// THE EXECUTE VAR IS THE LOOP CONTROL TO RUN LOOP FIVE TIMES
				execute++;
				fieldObj.focus();
				return false;
			}
	} // END VERIFY FIELD VALIDATION
} //END FIELD VALIDATION

function validate_email(emailStr)
{		
	apos=emailStr.indexOf("@");
	dotpos=emailStr.lastIndexOf(".");

	if (apos<1||dotpos-apos<2) 
	{
		return false;
	}
	else
	{
		return true;
	}
}

