/**
     *$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(){	 
				$("#comp_price").keypress(function (e)
                {                  
                  if( e.which != 46 && e.which !=36 && e.which!=8 && e.which!=0 && (e.which<48 || e.which>57))
                  {                  
                    return false;
                  }
                });
				
				$("#comp_shipping_charge").keypress(function (e)
                {                  
                  if( e.which != 46 && e.which !=36 && e.which!=8 && e.which!=0 && (e.which<48 || e.which>57))
                  {                  
                    return false;
                  }
                });
				 
                $("#phone").keypress(function (e)
                {                  
                  if( e.which!=8 && e.which!=0 && e.which!=45 && (e.which<48 || e.which>57))
                  {                  
                    return false;
                  }
                });
				
				$("#comp_phone").keypress(function (e)
                {                  
                  if( e.which!=8 && e.which!=0 && e.which!=45 && (e.which<48 || e.which>57))
                  {                  
                    return false;
                  }
                });
				
				$("#DayPhone").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('');						 
                         $("#message").focus();                
                     }                                                
                 });       	
				 	

				var errMsg = $("div.errContainer");        
					$("#frmPMatch").validate({
						errorContainer:$(errMsg),
						errorLabelContainer: $("ol", errMsg),
						wrapper: 'li',
						rules: {
							sku:"required", 	
							comp_sku:"required", 
							comp_price:"required",
							comp_shipping_charge:"required",
							comp_name:"required",
							comp_url:"required",
							comp_address:"required",
							comp_phone:"required",
							name:"required",
							email:"required",
							address:"required",
							phone:"required",
							key:"required"
						},
						messages:{
							sku:"Missing Part Info. (Part Number).",
							comp_sku:"Missing Pricing Info. (Competitor's Part Number).",
							comp_price:"Missing Pricing Info. (Competitor's Price).",
							comp_shipping_charge:"Missing Pricing Info. (Competitor's Shipping Charge).", 
							comp_name:"Missing Pricing Info. (Competitor's Name).",
							comp_url:"Missing Pricing Info. (Competitor's URL).", 
							comp_address:"Missing Pricing Info. (Competitor's Address).",
							comp_phone:"Missing Pricing Info. (Competitor's Phone Number).",
							name:"Missing Name.", 
							email:"Invalid or missing E-mail.", 
							address:"Missing Address.", 
							phone:"Missing or invalid phone number..", 
							key:"Please enter a valid code"	
						} 					    	
					});
					
					var errRmaMsg = $("div.errRmaContainer");        
					$("#rmaFrm").validate({
						errorContainer:$(errRmaMsg),
						errorLabelContainer: $("ol", errRmaMsg),
						wrapper: 'li',
						rules: {
							Name:"required", 	
							Address:"required", 
							DayPhone:"required",
							EmailAddress1:"required",
							EmailAddress2:"required",
							OrderNumber:"required",
							Parts:"required",
							Reason:"required",
							key:"required"
						},
						messages:{
							Name:"Please complete Name.",
							Address:"Please complete Address.",
							DayPhone:"Please complete Day Phone.",
							EmailAddress1:"Please complete Email Address 1.", 
							EmailAddress2:"Please complete Email Address 2.",
							OrderNumber:"Please complete Order Number.", 
							Parts:"Please complete Parts",
							Reason:"Please complete the Reasons",
							key:"Please enter a valid 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;
    }