/**
     *$title       Ajax Captcha w/ form validation using JQuery      
	 *@author	   Jovanie C. Valdez
	 *@copyright   Copyright &copy; 2008, Jovanie C. Valdez
	 *@datecreated July 29, 2008
	 *@version	   1.0 
*/

$(function(){	
                            
                $("#phone").keypress(function (e)
                {                  
                  if( e.which!=8 && e.which!=0 && e.which!=45 && (e.which<48 || e.which>57))
                  {                  
                    return false;
                  }
                });
    
                $.validator.addMethod("phone", function(phone_number, element) {
                        var digits = "0123456789";
                        var phoneNumberDelimiters = "()- ext.";
                        var validWorldPhoneChars = phoneNumberDelimiters + "+";
                        var minDigitsInIPhoneNumber = 10;
                        s=stripCharsInBag(phone_number,validWorldPhoneChars);
                        return this.optional(element) || isInteger(s) && s.length >= minDigitsInIPhoneNumber;
                        }, "Please enter a valid phone number"); 	
				 var validator = $("#myform").bind("invalid-form.validate", function() {
				             var errors = validator.numberOfInvalids();
				             if (errors) {
                    			var message = errors == 1
                    				? 'You missed 1 field. It has been highlighted below'
                    				: 'You missed ' + errors + ' fields.  They have been highlighted below';				                 
			                        $(".summary").html(message).show();
			                        
				             }
		          }).validate({				  
					rules: {
					    name:"required", 
					    email:{required:true,email:true},					    
						department:"required",	
						part_num:"required",
						message:"required",
						key:"required",
						phone:{required:true,phone:true}
					},
					messages: {
					    name:"Please enter a full name",
						email:"Please enter a valid email",
						department:"Please select a department",
						part_num:"Please enter an order or part number",					
						message:"Please enter a message", 
						phone:"Please enter a valid phone number", 
						key: "Please enter the code"						
					}				    	
				});			
});
// function helpers

    function isInteger(s)
    { 
        var i;
        for (i = 0; i < s.length; i++)
        {
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
        }
        return true;
    }
    function stripCharsInBag(s, bag)
    { 
        var i;
        var returnString = "";
        // Search through string's characters one by one.
        // If character is not in bag, append to returnString.
        for (i = 0; i < s.length; i++)
        {
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
        }
        return returnString;
    }