/**
     *$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();                
                     }                                                
                 });       	

                 // function helpers
                 
                 
	             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 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;
    }
