// JavaScript Document
$("document").ready(function(){
	$("form.validate").submit(function(){
		var res=true;
		var id=$(this).attr("id");
	
		$("#"+id+" input.req").each(function(){
			var val=$(this).val();
			var disabled=$(this).attr("disabled");
			if(!disabled){
				if(!valRequired(val)){
					$(this).next("span").css("display", "block");
					res=false;
				}else{
					$(this).next("span").css("display", "none");	
				}
			}else{
				$(this).next("span").css("display", "none");	
			}
		});
		
		$("#"+id+" input.fingerprint").each(function(){
			var val=$(this).val();
			if(!isFingerprint($(this).val())){
				res=false;
				setMsgText(id,"Fingerprint segments must be 4 characters long and must be characters a-f or 0-9");
				$(this).next("span").css("display", "block");				   
		   }else{
			   $(this).next("span").css("display", "none");
		   }							 
		});
		
		$("#"+id+" textarea.req").each(function(){
			var val=$(this).val();
			if(!valRequired(val)){
				$(this).next("span").css("display", "block");
				res=false;
			}else{
				$(this).next("span").css("display", "none");	
			}
		});
		
		$("#"+id+" input.pass").each(function(){
				var val=$(this).val();
				var val2=$("#"+id+" input.passconfirm").val();
			
				if(val==""){
					$(this).next("span").css("display", "block");
					res=false;
				}else if(val.length<8){
					setMsgText(id,"Password must be 8 characters or more");
					$(this).next("span").css("display", "block");
					res=false;
				}else if(val != val2){
					setMsgText(id,"Passwords do not match");
					$(this).next("span").css("display", "block");
					res=false;
				}else{
					$(this).next("span").css("display", "none");	
				}
		});
		
		$("#"+id+" select.horsever").each(function(){
			var correctval=$("input#horseverans").val();
			if($(this).val() != correctval){
				res=false;
				$(this).next("span").css("display", "block");
			}else{
				$(this).next("span").css("display", "none");	
			}
		});
		
		$("#"+id+" select.req").each(function(){
			if($(this).val()==""){
				res=false;
				$(this).next("span").css("display", "block");
			}else{
				$(this).next("span").css("display", "none");
			}
		});
		
		$("#"+id+" input.email").each(function(){
			var val=$(this).val();
			if(val.length==0 || val==""){
				$(this).next("span").css("display", "block")
			}else if(!isEmail($(this).val())){
				res=false;
				setMsgText(id,"Email must be in the format name@domain.com");
				$(this).next("span").css("display", "block");				   
		   }else{
			   $(this).next("span").css("display", "none");
		   }
		});
		
		$(".validate input#js").val("1");
		return res;
 	});
});

function valRequired($val){
	if($val=="" || $val.length==0){
		return false;
	}else{
		return true;	
	}
}

function isFingerprint(val){
	var reg=/[a-fA-F0-9]{4}/g;
	if(reg.test(val)){
		return true;
	}else{
		return false;
	}
}

function setMsgText(id, txt){
	$("#"+id+" p#outmsg").text(txt);
}
//Advanced Email Check credit-
//By JavaScript Kit (http://www.javascriptkit.com)
//Over 200+ free scripts here!
function isEmail($val){
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if(filter.test($val)){
		return true;	
	}else{
		return false;
	}
}