/*
 * jQuery Validation for Form Plugin
 * version: 1.01 (28-JAN-2009)
 * @requires jQuery v1.2.2 or later
 *
 * Examples and documentation at: http://www.somethingJava.com/jquery/validator
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 */
 
function validate(formData, jqForm, options) { 
    // formData is an array of objects representing the name and value of each field 
    // that will be sent to the server;  it takes the following form: 
    // 
    // [ 
    //     { name:  username, value: valueOfUsernameInput }, 
    //     { name:  password, value: valueOfPasswordInput } 
    // ] 
    // 

	var echeck = function(str) {
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   return false;
		}
		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
			return false;
		}
		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
			return false;
		}
		if (str.indexOf(at,(lat+1))!=-1){
			return false;
		}
		if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
			return false;
		}
		if (str.indexOf(dot,(lat+2))==-1){
			return false;
		}
		if (str.indexOf(" ")!=-1){
			return false;
		}
		return true;					
	}


	var retVal = true; 
	for (var i=0; i < formData.length; i++) { 
        if (document.getElementById(formData[i].name).className.indexOf('required') > -1) { 

			if(document.getElementById(formData[i].name).className.indexOf('text') > - 1){
				if(formData[i].value.length == 0){
					//Throw some error	
					//jQuery.facebox(formData[i].name + ' is not completely filled out.');
					$('span.'+formData[i].name).removeClass('errorPlaceholder');
					$('span.'+formData[i].name).addClass('errorMsg');
					$('span.'+formData[i].name).text(formData[i].name + ' is required.');
					return false;
				} else {
					$('span.'+formData[i].name).addClass('errorPlaceholder');
					$('span.'+formData[i].name).removeClass('errorMsg');
					$('span.'+formData[i].name).text('');
				}
			}

			if(document.getElementById(formData[i].name).className.indexOf('numeric')  > - 1){
				if(isNaN(formData[i].value)){
					//Throw some error	
					//jQuery.facebox(formData[i].name + ' is not completely filled out.');
					$('span.'+formData[i].name).removeClass('errorPlaceholder');
					$('span.'+formData[i].name).addClass('errorMsg');
					$('span.'+formData[i].name).text(formData[i].name + ' must be numeric');
					return false;
				} else {
					$('span.'+formData[i].name).addClass('errorPlaceholder');
					$('span.'+formData[i].name).removeClass('errorMsg');
					$('span.'+formData[i].name).text('');
				}
			}

			if(document.getElementById(formData[i].name).className.indexOf('textarea') > - 1){
				if(formData[i].value.length == 0){
					//Throw some error	
					//jQuery.facebox(formData[i].name + ' is not completely filled out.');
					$('span.'+formData[i].name).removeClass('errorPlaceholder');
					$('span.'+formData[i].name).addClass('errorMsg');
					$('span.'+formData[i].name).text(formData[i].name + ' is not completely filled out.');
					return false;
				} else {
					$('span.'+formData[i].name).addClass('errorPlaceholder');
					$('span.'+formData[i].name).removeClass('errorMsg');
					$('span.'+formData[i].name).text('');
				}
			}

			if(document.getElementById(formData[i].name).className.indexOf('checkbox') > - 1){
				if(formData[i].value != 1){
					//Throw some error	
					//jQuery.facebox(formData[i].name + ' is not completely filled out.');
					$('span.'+formData[i].name).removeClass('errorPlaceholder');
					$('span.'+formData[i].name).addClass('errorMsg');
					$('span.'+formData[i].name).text(formData[i].name + ' must be checked.');
					return false;
				} else {
					$('span.'+formData[i].name).addClass('errorPlaceholder');
					$('span.'+formData[i].name).removeClass('errorMsg');
					$('span.'+formData[i].name).text('');
				}
			}
			
			if(document.getElementById(formData[i].name).className.indexOf('email') > - 1){
				if(!echeck(formData[i].value)){
					//Throw some error	
					//jQuery.facebox(formData[i].name + ' is not completely filled out.');
					$('span.'+formData[i].name).removeClass('errorPlaceholder');
					$('span.'+formData[i].name).addClass('errorMsg');
					$('span.'+formData[i].name).text(formData[i].name + ' must be a valid email address.');
					return false;
				} else {
					$('span.'+formData[i].name).addClass('errorPlaceholder');
					$('span.'+formData[i].name).removeClass('errorMsg');
					$('span.'+formData[i].name).text('');
				}
			}

		} 
    } 

	return retVal;
}