/**
     *$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"); 
                 $("#department").change( function(){
                     var dept = $(this).val();
                     if(dept == 'return'){                        
                        $("#part_num").addClass("required").removeAttr("disabled").focus();
                     }                     
                     else{
                        $("#part_num").removeClass("required").attr({disabled:'disabled'}).val('');    
                     }                                                
                 });       	
				 var validator = $("#myform").bind("invalid-form.validate", function() {
				             var errors = validator.numberOfInvalids();
				             if (errors) {
                    			var message = errors == 1
                    				? 'You missed 1 field. See the details below'
                    				: 'You missed ' + errors + ' fields.  See the details below';				                 
			                        $(".summary").html(message).show();
			                        
				  }
		          }).validate({		          			          						
					rules: {	
					    name:"required", 
					    email:{required:true,email:true},					    
						department:"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 type", 
					    part_num:"Please enter an order and 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;
    }  