
//format: id/fieldname, english name, input field type. 
//var validate_elements = new Array();
//validate_elements[0] = Array('name', 'Name', 'text', 'divName');
//validate_elements[1] = Array('email', 'Email', 'email', 'divEmail');
//validate_elements[2] = Array('contact_me', 'Contact Me', 'select', 'divContact_me');


function Validator(key){
	var reg_email = /^[^@\s]+@([-a-z0-9]+\.)+[a-z]{2,}$/i
	var blnResult = false;
	var objElement = document.getElementById(validate_elements[key][0]);
	switch(validate_elements[key][2]){
		case 'email':
			if ( '' == objElement.value || !reg_email.test(objElement.value) ){
				blnResult = false;
			}else{
				//alert(reg_email.test(objElement.value));
				blnResult = true;
			}
			break;
		case 'text':
			if ( '' == objElement.value  ){
				blnResult = false;
			}else{
				blnResult = true;
			}
			break;
		case 'select':
			var selIdx = objElement.selectedIndex;
			if( 'Please Select...' == objElement.options[selIdx].text ){
				blnResult = false;
			}else if( "&nbsp;" == objElement.options[selIdx].text || false == objElement.options[selIdx].text ){
				//this is a bad fix...please review.				
				blnResult = false;
			}else{
				//alert( (objElement.options[selIdx].text == false) );
				blnResult = true;
			}
			break;
		default:
			break;
	}

	return blnResult;
}


function ValidateForm(){
	var strerr = new String;
	strerr = '';
	//var arerr = new Array();
	//var x = 0;
	for (var i=0 ; i<validate_elements.length ; i++){
		//place a more sophisticated error handler here.
		if ( !Validator(i) ) {
			strerr += validate_elements[i][1] + "\n";
			//arerr[x] = i;
			//x++;
			//var objElement = document.getElementById(validate_elements[i][3]);
			//objElement.innerHTML = 'Missing or Incorrect Format!';
			//objElement.className = 'Error'; 
		}else{
			//var objElement = document.getElementById(validate_elements[i][3]);
			//var reg = /\*Missing/gi; //regex of the error msg.
			//var str = objElement.innerHTML; //get the value of the div container as string.
			//objElement.innerHTML = str.replace(reg, ''); //remove the error message.
			//objElement.innerHTML = '';
			//objElement.className = ''; //remove error style class [reqborder]			
		}
	}

	if(strerr){
		//error
		//Show the error message.
		strerr = "The following items are required:\n" + strerr;
		alert(strerr);
		return false;	
	}else{
		//success
		return true;
	}

}


function in_array(needle, haystack){
	//
	//returns true if the value is in an array.
	//yes, this SUCKS to run through the entire array, and there are prob 100% better ways to do
	//it, but I need to get it done now.
	//
	var blnReturn = false;
	//all arrays are objects. yuck.
	if( 'object' == typeof(haystack) ){
		for( var i=0; i<haystack.length; i++){
			if( haystack[i] == needle ){
				blnReturn = true;
			}
		}
	}
	return blnReturn;
}