 /*
 * Form Ajax Validator with Jquery - 
 *
 * Copyright (c) 2007 Christopher Natan (www.zonica.com)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 * $Rev: 1 $
 */
 
 

error_img  = "img/validation/page-exclamation.gif";
var error_msg  = '';
function startValidate(msg)
{          error=0;
           error_msg = msg;
		   cl   = $('.validate_blank')
           for(i = 0; i < cl.length; i++) 
		   {  $(cl[i]).bind('blur', function() { validate(this,1); }) }
		   
		   cl  = $('.validate_email')
           for(i = 0; i < cl.length; i++) 
		   {  $(cl[i]).bind('blur', function() { validate(this,2); }) }
		   
		   cl  = $('.validate_username')
           for(i = 0; i < cl.length; i++) 
		   {  $(cl[i]).bind('blur', function() { validate(this,3); }) }
		   
		   this._password='';
		   cl  = '.validate_password';
           $(cl).blur( function() { validate(this,4); } );
		   
		   cl  = '.validate_password_confirm';
           $(cl).blur( function() { validate(this,5); } );
		   
		   cl  = $('.validate_checked')
           for(i = 0; i < cl.length; i++) 
		   {  $(cl[i]).bind('click', function() { validate(this,6); })
		      $(cl[i]).bind('blur', function() { validate(this,6); })
		   } 
		   
		   cl  = $('.validate_number')
           for(i = 0; i < cl.length; i++) 
		   {  
		      $(cl[i]).bind('blur', function() { validate(this,7); })
		   } 
	
}		  
		  function validate_error()
		  {   
			  cl   = $('.validate_blank');cl.blur();
			  cl   = $('.validate_email');cl.blur();
			  cl   = $('.validate_username');cl.blur();
			  cl   = $('.validate_password');cl.blur();
			  cl   = $('.validate_password_confirm');cl.blur();
			  cl   = $('.validate_checked');cl.blur();
			  cl   = $('.validate_number');cl.blur();
			  x    = $("#" + formName).find(".error_message");
			  if (x.length>=1)
			  {
				   action_unblockUI_standard();
				   if (error_msg !=''){alert(error_msg);}   
				   return false;
			  }
			  else {return true;}
		  }
		   
		   function validate(elm,option)
		   {  
			   value   = elm.value;
			   message = elm.title;
			   id      = elm.id;
			   if(option==1)i1=validate_blank(value,message,id); 
			   if(option==2)i2=validate_email(value,message,id);
			   if(option==3)i3=validate_username(value,message,id);
			   if(option==4)i4=validate_password(value,message,id);
			   if(option==5)i5=validate_password_confirm(value,message,id);
			   if(option==6)i6=validate_checked(value,message,id);
			   if(option==7)i7=validate_number(value,message,id);
			  
		    }
			
			function validate_blank(value,message,id)
			{
				  if(value.length==0)
				   { return set_message(id,message);}
				  else
				   { return unset_message(id,message) }	
					   
			}
			
			function validate_email(value,message,id)
			{     
			       var emailfmt= /^\w+([.-]\w+)*@\w+([.-]\w+)*\.\w{2,8}$/;
			       if(!emailfmt.test(value) || value.length==0)
			        { return set_message(id,message)}
				   else
				    { return unset_message(id,message) }	
			       
			}
			
			function validate_username(value,message,id)
			{ 
			      min = 6;
				  var len = value.length;
				  if(len < min || value.length==0)
				  { return set_message(id,message)}
				  else
				  { return unset_message(id,message) }	
			  
			}
			
			function validate_number(value,message,id)
			{ 
			   
                var fValue = parseFloat(value );
                if ( isNaN( fValue ) )
				{ return set_message(id,message)}
			    else
			    { return unset_message(id,message) }	
			 
			  return true;
			}
			function validate_password(value,message,id)
			{     this._password=value;
			      min = 6;
				  var len = value.length;
				  if(len < min || value.length==0)
				  { return set_message(id,message);}
				  else
				  {  return unset_message(id,message) }	
			  
			}
			
			function validate_password_confirm(value,message,id)
			{ 
				  if(this._password != value || value.length==0)
				  { return set_message(id,message)}
				  else
				  { return unset_message(id,message) }	
			  
			}
			function validate_checked(value,message,id)
			{  y = document.getElementById(id);
			   if(!y.checked)
			   { return set_message(id,message)}
			   else
			   { return unset_message(id,message) }	
			}
			
			function set_message(id,message)
		    {      
			      
				    elementID  = "err" + id;
					$("#" + elementID).remove();
					$("#" + id).after("<span id="+ elementID + 
				    " class='error_message'>"+message+"</span>");   
					$("#" + elementID).fadeIn("slow");
					 return 1;
					   
		    }
			
			function unset_message(id,message)
		    {    elementID  = "err" + id;
                 $("#" + elementID).fadeOut("slow",function(){
					   $("#err" + id).remove();
				 });
				return 0;
			}


           