/* QMJ JS 20100907 */

var page_active_nav = '';

(function($) {
	$.fn.init_form = function ( form_type ) {
		var obj_val_data = '';
			str_email_msg1 = 'Please enter a valid Email Address',
			str_email_msg2 = 'Example: "name@domain.com"',
			int_pass_minchar = 6,
                        int_common_maxchar = 50,
			str_pass_msg1 = 'Please enter your Password',
			str_pass_msg2 = 'Please re-enter your Password',
			str_pass_msg3 = 'Please enter at least '+int_pass_minchar+' characters';
                        str_script_msg = "Script tags are not allowed";
                        str_postal_msg = 'Please enter a Postal Code';

		switch ( form_type ) {
			case 'login' :
				var obj_val_data = {
					rules: {
						cust_email : {required: true, email: true},
						cust_pass: {required: true, minlength: int_pass_minchar}
					},
					messages: {
						cust_email: {required: str_email_msg1, email: str_email_msg2},
						cust_pass: {required: str_pass_msg1, minlength: str_pass_msg3}
					},
					submitHandler: function(form) {
						form.submit();
					}
				};
				break;
			case 'forgot' :
				var obj_val_data = {
					rules: {
						cust_email : {required: true, email: true}
					},
					messages: {
						cust_email: {required: str_email_msg1, email: str_email_msg2}
					},
					submitHandler: function(form) {
						form.submit();
					}
				};
				break;
			case 'change' :
				var obj_val_data = {
					rules: {
						cust_ext_pass: {required: true, minlength: int_pass_minchar},
						cust_pass1: {required: true, minlength: int_pass_minchar},
						cust_pass2: {required: true, minlength: int_pass_minchar, equalTo: '#login_form_pass1'}
					},
					messages: {
						cust_ext_pass: {required: 'Please enter your CURRENT Password', minlength: str_pass_msg3},
						cust_pass1: {required: 'Please enter your NEW Password', minlength: str_pass_msg3},
						cust_pass2: {required: 'Please enter your NEW Password', minlength: str_pass_msg3, equalTo: 'Please ensure NEW Passwords match'}
					},
					submitHandler: function(form) {
						form.submit();
					}
				};
				break;

			case 'buyer-signup' :
				var obj_val_data = {
					rules: {
						signup_first: {required: true, minlength: 2, disableScript: true},
						signup_last: {required: true, minlength: 2, disableScript: true},
						signup_email: {required: true, email: true, disableScript: true},
						signup_pass1: {required: true, minlength: int_pass_minchar, disableScript: true},
						signup_pass2: {required: true, minlength: int_pass_minchar, equalTo: '#signup_accout_pass1', disableScript: true},
						signup_terms: {required: true}
					},
					messages: {
						signup_first: {required: 'Please enter your First Name'},
						signup_last: {required: 'Please enter your Last Name'},
						signup_email: {required: str_email_msg1, email: str_email_msg2},
						signup_pass1: {required: str_pass_msg1, minlength: str_pass_msg3},
						signup_pass2: {required: str_pass_msg2, minlength: str_pass_msg3, equalTo: 'Please ensure passwords match'},
						signup_terms: {required: 'You must accept the Terms & Conditions'}
					},
					submitHandler: function(form) {
						form.submit();
					}
				};
				break;
			case 'change-info-name' :
			    obj_val_data = {
                    errorElement:'label',
                    rules: {
                            first_name : {required: true, maxlength: int_common_maxchar, disableScript: true},
                            last_name : {required: true, maxlength: int_common_maxchar, disableScript: true}
						    },
                    messages: {
						first_name: {
                                                    required:"Please enter a first name",
                                                    disableScript:str_script_msg
                                                },
						last_name: {
                                                    required:"Please enter a last name",
                                                    disableScript:str_script_msg
                                                }
                        },
                submitHandler: function(form) {
							    form.submit();
						    }
					    };
			    break;
			case 'change-info-email' :
			    obj_val_data = {
                    errorElement:'label',
						    rules: {
							    email : {required: true, email: true, maxlength: int_common_maxchar, disableScript: true}
						    },
                            messages: {
                                email: {required: str_email_msg1, email: str_email_msg2}
                            },
						    submitHandler: function(form) {
							    form.submit();
						    }
					    };
			    break;
			case 'change-info-password' :
			    obj_val_data = {
                    errorElement:'label',
						    rules: {
							    password: {required: true, minlength: int_pass_minchar, disableScript: true},
							    confirm_password: {required: true, minlength: int_pass_minchar, equalTo: '#user_password', disableScript: true}
						    },
						    messages: {
							    password: {required: str_pass_msg1, minlength: str_pass_msg3},
							    confirm_password: {required: str_pass_msg2, minlength: str_pass_msg3, equalTo: 'Please ensure passwords match'}
						    },
						    submitHandler: function(form) {
							    form.submit();
						    }
					    };
			    break;
			case 'buyer-request-quote' :
				var obj_val_data = {
					rules: {
						looking_for: {
                                                    required:true ,
                                                    validSpec: true
                                                },
						//job_title: {required: true, minlength: 2},
						//job_desc: {required: true,minlength: 10},
						job_desc: {
							required:
								function(element)
									{
										if (document.getElementById('job_desc').value == "Please input a complete job description giving us as much as information possible to ensure the companies can give you an accurate quotation.") {
											document.getElementById('job_desc').value = "";
                                                                                        return true;
											}

									},
							minlength: 10

						},
						//city: {required: true, minlength: 2},

						zip_code:  {
							required: true,
							minlength: function(element) {if (site_country == "us") {return '5';} else {false;}},
							maxlength: function(element) {if (site_country == "us") {return '5';} else {false;}},
							digits: function(element) {if (site_country == "us") {return true;} else {false;}},
                                                        postalUK: { depends: function(element) {if (site_country == "uk") {$("#zip_not_found").css("display","none");return true;} else {return false;}}},
                                                        zipUS: { depends: function(element) {if (site_country == "us") {$("#zip_not_found").css("display","none");return true;} else {return false;}}},
                                                        disableScript: true
                                                },


                                                job_title:  {required: false},

						file1:  {accept: "doc|pdf|jpg|jpeg|png|gif|xls|ppt"}

					},
					messages: {
						looking_for: {required: 'Please enter a valid job'},
						//job_title: {required: 'Please enter job title'},
						job_desc: {required:'Please give a description for your job'},
						//city: {required: 'Please enter city/town name'},

						zip_code: {
							required: function(element) {if (site_country == "us") {return 'Please enter a ZIP Code';}
                                                            else {return 'Please enter a Postal Code';}
							},
							minlength: 'Please enter 5 characters',
							maxlength: 'Please enter 5 characters',
							digits: 'Please enter 5 numbers',
                                                        zipUS: function(element){$("#zip_not_found").css("display","block");return '';}},
                                                job_title: {required: 'Please enter a job title'},
                                                file1: {accept:function (element){ $("#fsize").html('');return 'Please enter a valid extension'}}


					},
					submitHandler: function(form) {
                                               	form.submit();
					}
                                };
				break;

			case 'supplier-check-email' :
				var obj_val_data = {
					rules: {
						email_address : {required: true, email: true}
					},
					messages: {
						email_address: {required: str_email_msg1, email: str_email_msg2}
					},
					submitHandler: function(form) {
						form.submit();
					}
				};
				break;

			case 'supplier-payment' :
				var obj_val_data = {
					errorElement:'div',
					rules: {

						BillingFirstname : {
									required: true
						},

						BillingSurname : {
									required: true
						},

						BillingAddress : {
								required: true
							},

						BillingCity : {
								required: true,
                                                                disableScript: true,
                                                                stateCityUS: {depends: function(element) {if (site_country == "us") {return "BillingState";} else {return false;}}}
						},

						BillingState : {
								required: true
						},

						BillingPostCode : {
							required: true,
							minlength: function(element) {if (site_country == "us") {return '5';} else {false;}},
							maxlength: function(element) {if (site_country == "us") {return '5';} else {false;}},
							digits: function(element) {if (site_country == "us") {return true;} else {false;}},
                                                        postalUK: { depends: function(element) {if (site_country == "uk") {return true;} else {return false;}}},
                                                        stateZipUS: {depends: function(element) {if (site_country == "us") {return "BillingState";} else {return false;}}},
                                                        disableScript: true
						},

						CardHolder :{required: true},
						CardNumber :{
                                                    required: true,
                                                    minlength:13,
                                                    maxlength:16,
                                                    digits:true},
						CV2 :{
                                                    required: true,
                                                    minlength:3,
                                                    maxlength:4,
                                                    digits:true},
                                                TermsNConditions: {required: true},
                                                promo_code:{
                                                    validPromo: true
                                                }
					},
					messages: {
						BillingFirstname: {required:"Please enter a first name"},
						BillingSurname: {required:"Please enter a last name"},
						BillingAddress: {required:"Please enter street name"},
						BillingCity: {required:"Please enter city",
                                                              stateCityUS: function(element) {if ($("#BillingState").val()) {return 'City not within the selected state';} else {return 'Please enter a city inside US';}}
                                                          },
						BillingState: {required:"Please enter state/county"},
						BillingPostCode: {
                                                            required: function(element) {if (site_country == "us") {return 'Please enter a ZIP Code';} else {return 'Please enter a Postal Code'}},
                                                            minlength: 'Please enter 5 characters',
                                                            maxlength: 'Please enter 5 characters',
                                                            digits: 'Please enter 5 numbers',
                                                            stateZipUS: function(element) {if ($("#BillingState").val()) {return 'Zip code not within the state';} else {return 'Please enter a valid US zip code';}},
                                                            postalUK: str_postal_msg
                                                },
						CardHolder: {required:"Please enter card holders name"},
						CardNumber: {
                                                    required: 'Please enter credit card number',
                                                    minlength: 'Please enter 13 digits',
                                                    maxlength: 'Please enter 16 digits',
                                                    digits: 'Please enter numbers'},
						CV2: {
                                                    required: 'Please enter security code',
                                                    minlength: 'Please enter 3 digits',
                                                    maxlength: 'Please enter 4 digits',
                                                    digits: 'Please enter numbers'},
                                                TermsNConditions: {required:"You must accept the Terms & Conditions"}

					},
					submitHandler: function(form) {
						form.submit();
					}
				};
				break;
			case 'supp-signup' :
				$.metadata.setType("attr", "validate");
				var obj_val_data = {
					rules: {
						signup_first: {required: true, minlength: 2, disableScript: true},
						signup_last: {required: true, minlength: 2, disableScript: true},
						signup_email: {required: true, email: true, disableScript: true},
						signup_pass1: {required: true, minlength: int_pass_minchar, disableScript: true},
						signup_pass2: {required: true, minlength: int_pass_minchar, equalTo: '#signup_accout_pass1', disableScript: true},
						signup_industry: {required: true, minlength: 2, disableScript: true, validIndustry: true},
						signup_name: {required: true, minlength: 2, disableScript: true},
						signup_address: {required: true, minlength: 2, disableScript: true},
						signup_city: {required: true, minlength: 2, disableScript: true,
                                                              stateCityUS: {depends: function(element) {if (site_country == "us") {return "signup_state";} else {return false;}}}
                                                },
						signup_state: {required: true},
						signup_postal: {
							required: true,
							minlength: function(element) {if (site_country == "us") {return '5';} else {false;}},
							maxlength: function(element) {if (site_country == "us") {return '9';} else {false;}},
							digits: function(element) {if (site_country == "us") {return true;} else {false;}},
                                                        postalUK: { depends: function(element) {if (site_country == "uk") {return true;} else {return false;}}},
                                                        stateZipUS: {depends: function(element) {if (site_country == "us") {return "signup_state";} else {return false;}}},
                                                        disableScript: true
                                                    },
						signup_phone1: {
							required: true,
							phoneUS: function(element) {if (site_country == "us") {return true;} else {false;}},
							phoneUK: function(element) {if (site_country == "uk") {return true;} else {false;}},
                                                        disableScript: true},
						signup_phone2: {
							required: false,
							phoneUS: {depends: function(element) {if (site_country == "us") {return true;} else {return false;}}},
                                                        phoneUK: {depends: function(element) {if (site_country == "uk") {return true;} else {return false;}}},
                                                        disableScript: true},
                                                signup_comments: {
                                                        required: false,
                                                        maxlength: '255',
                                                        disableScript: true},
						signup_terms: {required: true}
					},
					messages: {
						signup_first: {required: 'Please enter your First Name'},
						signup_last: {required: 'Please enter your Last Name'},
						signup_email: {required: str_email_msg1, email: str_email_msg2},
						signup_pass1: {required: str_pass_msg1, minlength: str_pass_msg3},
						signup_pass2: {required: str_pass_msg2, minlength: str_pass_msg3, equalTo: 'Please ensure passwords match'},
						signup_industry: {required:function(element){return  'Please select an Industry'}, minlength:function(element){return 'Please enter 2 characters'}},
						signup_name: {required: 'Please enter the name of your Business'},
						signup_address: {required: 'Please enter the Street Address of your Business'},
						signup_city: {
                                                    required: 'Please enter a City',
                                                    minlength: 'Please enter 2 characters',
                                                    stateCityUS: function(element) {if (site_country == "us") { if ($("#signup_state").val()) {return 'City not within the selected state';} else {return 'Please enter a city inside US';}}}
                                                },
						signup_state: {
							required: function(element) {if (site_country == "us") {return 'Please select a State';} else {return 'Select a County';}}},
						signup_postal: {
							required: function(element) {if (site_country == "us") {return 'Please enter a ZIP Code';} else {return 'Please enter a Postal Code';}},
							minlength: 'Please enter 5 characters',
							maxlength: 'Please enter 9 characters',
							digits: 'Please enter 5 numbers',
                                                        stateZipUS:function(element) {if ($("#signup_state").val()) {return 'Zip code not within the state';} else {return 'Please enter a valid US zip code';}}
                                                },
						signup_phone1: {
							required: 'Please enter a Phone Number',
							phoneUS: 'Please enter a Phone Number',
							phoneUK: 'Please enter a Phone Number'},
						signup_phone2: {
							phoneUS: 'Please enter a Phone Number',
							phoneUK: 'Please enter a Phone Number'},
						signup_comments: {maxlength: 'Please enter no more than 255 characters'},
						signup_terms: {required: 'You must accept the Terms & Conditions'}
					},
					submitHandler: function(form) {
						form.submit();
					}
				};
				$(this)
					.find('select')
						.attr('validate','required:true')
						.end()
					.find('textarea')
						.attr('validate','required:true');
				break;
                        case 'service-profile-form' :
				var obj_val_data = {
					rules: {
						service_upto :{required: true},
						miles_from :{
                                                        required: true,
							minlength: function(element) {if (site_country == "us") {return '5';} else {false;}},
							maxlength: function(element) {if (site_country == "us") {return '9';} else {false;}},
							digits: function(element) {if (site_country == "us") {return true;} else {false;}},
                                                        postalUK: {depends: function(element) {if (site_country == "uk") {return true;} else {return false;}}},
                                                        zipUS: {depends: function(element) {if (site_country == "us") {return true;} else {return false;}}},
                                                        disableScript: true
                                                },
                                                credit_card_number :{
                                                        required: true,
                                                        minlength:13,
                                                        maxlength:16,
                                                        digits:true
                                                },
                                                security_code :{
                                                        required: true,
                                                        minlength:3,
                                                        maxlength:4,
                                                        digits:true
                                                }
					},
					messages: {
                                                miles_from :{
						        required: function(element) {if (site_country == "us") {return 'Please enter a ZIP Code';} else {return 'Please enter a Postal Code';}},
							minlength: 'Please enter 5 characters',
							maxlength: 'Please enter 9 characters',
							digits: 'Please enter 5 numbers',
                                                        postalUK: str_postal_msg,
                                                        zipUS: 'Please enter a valid ZIP Code'
                                                },
                                                credit_card_number:{
                                                        minlength: 'Please enter 13 digits',
                                                        maxlength: 'Please enter 16 digits',
                                                        digits: 'Please enter numbers'
                                                },
                                                security_code :{
                                                        required: 'Please insert security code',
                                                        minlength: 'Please enter 3 digits',
                                                        maxlength: 'Please enter 4 digits',
                                                        digits: 'Please enter numbers'
                                                }
					},
					submitHandler: function(form) {
                                              form.submit();
					}
				};
				break;
                        case 'change-billing-info' :
				var obj_val_data = {
					rules: {
                                                billing_first_name :{
                                                        required: true,
							maxlength: int_common_maxchar,
                                                        disableScript: true},
                                                billing_last_name :{
                                                        required: true,
							maxlength: int_common_maxchar,
                                                        disableScript: true},
						billing_address1 :{
                                                        required: true,
							maxlength: int_common_maxchar,
                                                        disableScript: true},
						billing_city :{
                                                        required: true,
							maxlength: int_common_maxchar,
                                                        stateCityUS: {depends: function(element) {if (site_country == "us") {return "billing_state";} else {return false;}}},
                                                        disableScript: true},
                                                billing_state :{
                                                        required: true,
							maxlength: int_common_maxchar,
                                                        disableScript: true},
                                                billing_postcode :{
                                                        required: true,
							minlength: function(element) {if (site_country == "us") {return '5';} else {false;}},
							maxlength: function(element) {if (site_country == "us") {return '9';} else {false;}},
							digits: function(element) {if (site_country == "us") {return true;} else {false;}},
                                                        postalUK: { depends: function(element) {if (site_country == "uk") {return true;} else {return false;}}},
                                                        stateZipUS: {depends: function(element) {if (site_country == "us") {return "billing_state";} else {return false;}}},
                                                        disableScript: true},
                                                credit_card_number :{required: true, disableScript: true},
                                                security_code :{required: true, disableScript: true}
					},
					messages: {
                                                billing_first_name :{required: 'Please enter the Billing First Name', disableScript:str_script_msg},
                                                billing_last_name :{required: 'Please enter the Billing Last Name', disableScript:str_script_msg},
                                                billing_address1 :{required: 'Please enter the Billing Address', disableScript:str_script_msg},
                                                billing_city :{required: 'Please enter the Billing City',
                                                               stateCityUS: function(element) {if ($("#billing_state").val()) {return 'City not within the selected state';} else {return 'Please enter a city inside US';}},
                                                               disableScript:str_script_msg},
                                                billing_state :{
                                                    required: function(element) {if (site_country == "us") {return 'Please select the Billing State';} else if (site_country == "uk") {return 'Please select the Billing County';} else {return 'Please enter the Billing State';}},
                                                    disableScript:str_script_msg},
                                                billing_postcode :{
						        required: function(element) {if (site_country == "us") {return 'Please enter a Zip Code';} else {return 'Please enter a Postal Code';}},
							minlength: 'Please enter 5 characters',
							maxlength: 'Please enter 9 characters',
							digits: 'Please enter 5 numbers',
                                                        postalUK: str_postal_msg,
                                                        stateZipUS: function(element) {if ($("#billing_state").val()) {return 'Zip code not within the state';} else {return 'Please enter a valid US zip code';}},
                                                        disableScript: str_script_msg},
                                                credit_card_number :{required: 'Please insert credit card number', disableScript:str_script_msg},
                                                security_code :{required: 'Please insert security code', disableScript:str_script_msg}

					},
					submitHandler: function(form) {
						form.submit();
					}
				};
				break;
                        case 'change-payment_information' :
				var obj_val_data = {
					rules: {
						credit_card_number :{required: true,
                                                minlength:13,
                                                maxlength:16,
                                                digits:true
                                              },
                                                security_code :{required: true,
                                                                minlength:3,
                                                                maxlength:4,
                                                                digits:true
                                            }
					},
					messages: {
                                                credit_card_number :{required: 'Please insert credit card number',
                                                                     minlength: 'Please enter 13 digits',
                                                                     maxlength: 'Please enter 16 digits',
                                                                     digits: 'Please enter numbers'
                                            },
                                                security_code :{required: 'Please insert security code',
                                                                minlength: 'Please enter 3 digits',
                                                                maxlength: 'Please enter 4 digits',
                                                                digits: 'Please enter numbers'
                                            }
					},
					submitHandler: function(form) {
						form.submit();
					}
				};
				break;
                        case 'change-payment-frequency' :
				var obj_val_data = {
					rules: {
                                                credit_card_number :{required: true,
                                                                     minlength:13,
                                                                     maxlength:16,
                                                                     digits:true
                                                                 },
                                                security_code :{required: true,
                                                                minlength:  3,
                                                                maxlength: 4,
                                                                digits: true
                                             }
					},
					messages: {
                                                sub_pack :{required: 'Please select atleast one payment frequency'},
                                                credit_card_number :{required: 'Please insert credit card number',
                                                                     minlength: 'Please enter 13 digits',
                                                                     maxlength: 'Please enter 16 digits',
                                                                     digits: 'Please enter numbers'
                                            },
                                                security_code :{required: 'Please insert security code',
                                                                minlength: 'Please enter 3 digits',
                                                                maxlength: 'Please enter 4 digits',
                                                                digits: 'Please enter numbers'
                                            }
					},
					submitHandler: function(form) {
						form.submit();
					}
				};
				break;
                        case 'change-info-industry' :
				var obj_val_data = {
					rules: {
						industry :{
                                                    required: true,
                                                    validIndustry: true}
					},
					messages: {
                                                industry :{required:function(){ return 'Please enter the industry'}}
					},
					submitHandler: function(form) {
                                                form.submit();
					}
				};
				break;
                        case 'change-info-business' :
				var obj_val_data = {
					rules: {
						company_name :{required: true, disableScript: true}
					},
					messages: {
                                                company_name :{required: 'Please enter the business name'}
					},
					submitHandler: function(form) {
						form.submit();
					}
				};
				break;
                        case 'change-info-address' :
				var obj_val_data = {
					rules: {
						address :{
                                                    required: true,
                                                    maxlength: int_common_maxchar,
                                                    disableScript: true},
                                                city :{
                                                    required: true,
                                                    maxlength: int_common_maxchar,
                                                    stateCityUS: {depends: function(element) {if (site_country == "us") {return "state";} else {return false;}}},
                                                    disableScript: true},
                                                state :{
                                                    required: true,
                                                    maxlength: int_common_maxchar,
                                                    disableScript: true},
                                                postal :{
                                                        required: true,
							minlength: function(element) {if (site_country == "us") {return '5';} else {false;}},
							maxlength: function(element) {if (site_country == "us") {return '9';} else {false;}},
							digits: function(element) {if (site_country == "us") {return true;} else {false;}},
                                                        postalUK: { depends: function(element) {if (site_country == "uk") {return true;} else {return false;}}},
                                                        stateZipUS: {depends: function(element) {if (site_country == "us") {return "state";} else {return false;}}},
                                                        disableScript: true}
					},
					messages: {
                                                address :{required: 'Please enter an Address'},
                                                city :{required: 'Please enter a City',
                                                       stateCityUS: function(element) {if ($("#state").val()) {return 'City not within the selected state';} else {return 'Please enter a city inside US';}}},
                                                state :{required: function(element) {if (site_country == "us") {return 'Please select a State';} else if (site_country == "uk") {return 'Please select a County';} else {return 'Please enter a State';}}},
                                                postal :{
                                                        required: function(element) {if (site_country == "us") {return 'Please enter a Zip Code';} else {return 'Please enter a Postal Code';}},
							minlength: 'Please enter 5 characters',
							maxlength: 'Please enter 9 characters',
							digits: 'Please enter 5 numbers',
                                                        stateZipUS: function(element) {if ($("#state").val()) {return 'Zip code not within the state';} else {return 'Please enter a valid US zip code';}}
                                                }
					},
					submitHandler: function(form) {
						form.submit();
					}
				};
				break;
                        case 'change-info-primary-phone' :
				var obj_val_data = {
					rules: {
						work_phone :{
                                                        required: true,
					                phoneUS: function(element) {if (site_country == "us") {return true;} else {false;}},
							phoneUK: function(element) {if (site_country == "uk") {return true;} else {false;}},
                                                        disableScript: true}
					},
					messages: {
                                                work_phone :{
                                                        required: 'Please enter a Phone Number',
							phoneUS: 'Please enter a Phone Number',
							phoneUK: 'Please enter a Phone Number'}
					},
					submitHandler: function(form) {
						form.submit();
					}
				};
				break;
                        case 'change-info-sec-phone' :
				var obj_val_data = {
					rules: {
						home_phone :{
                                                        required: false,
							phoneUS: {depends: function(element) {if (site_country == "us") {return true;} else {return false;}}},
                                                        phoneUK: {depends: function(element) {if (site_country == "uk") {return true;} else {return false;}}},
                                                        disableScript: true
                                                }
					},
					messages: {
                                                home_phone :{
							phoneUS: 'Please enter a Phone Number',
							phoneUK: 'Please enter a Phone Number'}
					},
					submitHandler: function(form) {
						form.submit();
					}
				};
				break;
                      case 'feedback' :
				var obj_val_data = {
					rules: {
						fbname : {required: true},
                                                fbmail : {required: true, email: true},
						fbmessage: {required: true}
					},
					messages: {
						fbname: {required: 'Please insert your name'},
						fbmail: {required: 'Please insert your email id',email: str_email_msg2},
                                                fbmessage: {required: 'Please insert message', maxlength: int_common_maxchar}
					},
					submitHandler: function(form) {
						form.submit();
					}
				};
				break;
                        case 'complete-service-profile' :
				var obj_val_data = {
					errorElement:'label',
					rules: {
						service_upto :{required: true},
						signup_zip :{
                                                        required: true,
							minlength: function(element) {if (site_country == "us") {return '5';} else {false;}},
							maxlength: function(element) {if (site_country == "us") {return '5';} else {false;}},
							digits: function(element) {if (site_country == "us") {return true;} else {false;}},
                                                        postalUK: { depends: function(element) {if (site_country == "uk") {return true;} else {return false;}}},
                                                        zipUS: { depends: function(element) {if (site_country == "us") {return true;} else {return false;}}},
                                                        disableScript: true
                                                }
					},
					messages: {
                                                signup_zip :{
						        required: function(element) {if (site_country == "us") {return 'Please enter a Zip Code';} else {return 'Please enter a Postal Code';}},
							minlength: 'Please enter 5 characters',
							maxlength: 'Please enter 5 characters',
							digits: 'Please enter 5 numbers',
                                                        postalUK: str_postal_msg,
                                                        zipUS: 'Please enter a valid Zip Code'}

					},
					submitHandler: function(form) {
                                                 form.submit();
					}
				};
				break;
                        case 'supp-communication' :
                            var obj_val_data = {
					errorElement:'label',
					rules: {
						content :{
                                                        required: true,
							minlength: '10',
							maxlength: '255',
                                                        disableScript: true
                                                }
					},
					messages: {
                                                content :{
						        required: 'Please enter content for communication'
                                                }
					},
					submitHandler: function(form) {
                                            form.submit();
					}
				};
				break;
                        case 'post_answer' :
				var obj_val_data = {
					rules: {
						answer : {required: true,minlength: '10',disableScript: true}

					},
					messages: {
						answer: {required: 'Please enter content for communication'}
					},
					submitHandler: function(form) {
						form.submit();
					}
				};
				break;
                       case 'review' :
				var obj_val_data = {
					rules: {
						review_comments :{required: true, disableScript: true},
                                                quality:{required: true},
                                                professionalism:{required: true},
                                                timeliness:{required: true},
                                                value:{required: true},
                                                fmail_id:{email:true}
					},
					messages: {
                                                review_comments :{required: 'Please add a review'},
                                                quality:{required: 'Please rate'},
                                                professionalism:{required: 'Please rate'},
                                                timeliness:{required: 'Please rate'},
                                                value:{required: 'Please rate'},
                                                fmail_id:{email:'Not a valid email'}
					},
					submitHandler: function(form) {
						form.submit();
					}
				};
				break;
                       case 'report' :
				var obj_val_data = {
					rules: {
						report :{required: true, disableScript: true,minlength:'10'}
                                                },
					messages: {
                                                report :{required: 'Please report your problem',minlength:'Please insert 10 characters'}
                                                },
					submitHandler: function(form) {
						form.submit();
					}
				};
				break;
                       case 'job_feedback' :
				var obj_val_data = {
					rules: {
						job_feedback :{required: true, disableScript: true,minlength:'10'}
                                                },
					messages: {
                                                job_feedback :{required: 'Please enter your feedback.',minlength:'Please insert 10 characters'}
                                                },
					submitHandler: function(form) {
						form.submit();
					}
				};
				break;
                        case 'submit-quote' :
                                var obj_val_data = {
                                    errorElement:'div',
					rules: {
						fixed_cost :{
                                                    required: {
                                                        depends: function(element) {
                                                            if (($.trim($('#hourly_cost').val()) > 0) || ($.trim($('#total_hours').val()) > 0)) {return false;} else {return true;}
                                                        }
                                                    },
                                                    number: true, disableScript: true,min:0.1
                                                },
                                                hourly_cost:{
                                                    required: {
                                                        depends: function(element) {
                                                            if ($.trim($('#total_hours').val()) > 0) {return true;}
                                                            else if ($.trim($('#fixed_cost').val()) > 0) {return false;}
                                                            else {return true;}
                                                        }
                                                    },
                                                    number: true, disableScript: true,min:0.1},
                                                total_hours:{
                                                    required: {
                                                        depends: function(element) {
                                                            if ($.trim($('#hourly_cost').val()) > 0) {return true;}
                                                            else if ($.trim($('#fixed_cost').val()) > 0) {return false;}
                                                            else {return true;}
                                                        }
                                                    },
                                                    number: true, max:1000, disableScript: true,min:0.1}
					},
					messages: {
                                                fixed_cost :{required: 'Please enter fixed cost', min: 'Please enter a value greater than zero'},
                                                hourly_cost:{required: 'Please enter hourly cost', min: 'Please enter a value greater than zero'},
                                                total_hours:{required: 'Please enter the total hours', min: 'Please enter a value greater than zero'}
					},
					submitHandler: function(form) {
						form.submit();
					}
				};
				break;
                        }

		// Style submit button and bind validation logic
		$(this)
			.find('input.submit')
				.button()
				.end()
			.validate(obj_val_data)
	};
})(jQuery);

$(function(){
        try{
            $('#navigation')
                    .find('li:eq('+page_active_nav+')')
                            .addClass('ui-tabs-selected ui-state-active');
        }
        catch(exception){

        }

//	$('#hat')
//		.find('a:eq(0)')
//			.button()
//			.parent()
//				.addClass('blue');

	$('#navigation')
		.find('li')
			.hover(function () {
					$(this)
						.addClass("ui-state-hover");
				},
				function () {
					$(this)
						.removeClass("ui-state-hover");
				});
    /**
     * Default text show on input fields taken from each titles.
     */
    $('.hint-text').after(function(){return '<span class="default">'+$(this).attr('title')+'</span>';})
                    .bind('focus', function() {
                        var $this = $(this);
                        if($this.val() == '') {
                            $this.parent().find('.default').hide();
                        }
                    })
                    .bind('blur',function() {
                        var $this = $(this);
                        $this.parent().find('.default').html($this.attr('title'));
                        if ($this.val() == '') {
                            $this.parent().find('.default').show();
                        }
    });
});

function sConsole(m,t){
	if(window.console && window.console.firebug){
		switch(t){
			case"debug":console.debug(m);
				break;
			case"info":console.info(m);
				break;
			case"warn":console.warn(m);
				break;
			case"error":console.error(m);
				break;
			case"assert":console.assert(m);
				break;
			case"dir":console.dir(m);
				break;
			case"dirxml":console.dirxml(m);
				break;
			case"trace":console.trace(m);
				break;
			case"group":console.group(m);
				break;
			case"groupCollapsed":console.groupCollapsed(m);
				break;
			case"groupEnd":console.groupEnd(m);
				break;
			case"time":console.time(m);
				break;
			case"timeEnd":console.timeEnd(m);
				break;
			case"profile":console.profile(m);
				break;
			case"profileEnd":console.profileEnd(m);
				break;
			case"count":console.count(m);
				break;
			default:console.log(m);
		}
	}
}

jQuery.validator.addMethod("phoneUS", function(phone_number, element) {
//    phone_number = phone_number.replace(/\s+/g, "");
	return this.optional(element) || phone_number.length > 9 &&
		phone_number.match(/^(1(\s|-)?)?(\([2-9]\d{2}\)|[2-9]\d{2})(\s|-)?[2-9]\d{2}(\s|-)?\d{4}$/);
}, "Please specify a valid phone number");

jQuery.validator.addMethod("disableScript", function(text, element) {
        return (text.match(/\<\bscript\b/i) || text.match(/\<\/\bscript\b/i))?false:true;
}, "Script tags are not allowed");

jQuery.validator.addMethod("validIndustry", function(text, element) {
    var index = jQuery.inArray(text, json_specs_industry);
    return (index > -1)?true:false;
}, "Please enter a valid industry type");

jQuery.validator.addMethod("zipUS", function(text, element) {
    var index = jQuery.inArray(text, json_specs_zipcodes);
    return (index > -1)?true:false;
}, "Please enter a valid zip code");

jQuery.validator.addMethod("validSpec", function(text, element) {
    var index = jQuery.inArray(text, json_specs);
    return (index > -1)?true:false;
}, "Please enter a valid job type");

jQuery.validator.addMethod("validPromo", function(text, element) {
    var index = jQuery.inArray(text, json_promo_codes);
    var flag = (index > -1)?true:false;
    return ((this.optional(element)) || flag);
}, "Please enter a valid promotional code");

jQuery.validator.addMethod("stateZipUS", function(user_zip, element, params) {
    var state = $("#"+params).val();
    if (state != "") {
        var index = jQuery.inArray(user_zip, json_state_zips[state]);
    }
    else {
        var index = check_all_us_zips(user_zip);
    }
    return (index > -1)?true:false;
}, "Please enter a valid US zip code");

function check_all_us_zips(user_zip) {
    var flag = -1;
    $.each(json_state_zips, function (i, state_zips) {
        var index = jQuery.inArray(user_zip, state_zips);
        if ((index > -1)) {
            flag = 1;
        }
    });
    return flag;
}

jQuery.validator.addMethod("stateCityUS", function(user_city, element, params) {
    var state = $("#"+params).val();
    if (state != "") {
        var index = jQuery.inArray(user_city, json_state_cities[state]);
    }
    else {
        var index = check_all_us_cities(user_city);
    }
    return (index > -1)?true:false;
}, "Please enter a valid US city");

function check_all_us_cities(user_city) {
    var flag = -1;
    $.each(json_state_cities, function (i, state_city) {
        var index = jQuery.inArray(user_city, state_city);
        if ((index > -1)) {
            flag = 1;
        }
    });
    return flag;
}

(function($) {
	/**
		* Returns the metadata object for the first member of the jQuery object.
		*
		* @name metadata
		* @descr Returns element's metadata object
		* @param Object opts An object contianing settings to override the defaults
		* @type jQuery
		* @cat Plugins/Metadata
		*/
	$.extend({
		metadata : {
			defaults : {
				type: 'class',
				name: 'metadata',
				cre: /({.*})/,
				single: 'metadata'
			},
			setType: function( type, name ){
				this.defaults.type = type;
				this.defaults.name = name;
			},
			get: function( elem, opts ){
				var settings = $.extend({},this.defaults,opts);
				// check for empty string in single property
				if ( !settings.single.length ) settings.single = 'metadata';

				var data = $.data(elem, settings.single);
				// returned cached data if it already exists
				if ( data ) return data;

				data = "{}";

				if ( settings.type == "class" ) {
					var m = settings.cre.exec( elem.className );
					if ( m )
						data = m[1];
				} else if ( settings.type == "elem" ) {
					if( !elem.getElementsByTagName )
						return undefined;
					var e = elem.getElementsByTagName(settings.name);
					if ( e.length )
						data = $.trim(e[0].innerHTML);
				} else if ( elem.getAttribute != undefined ) {
					var attr = elem.getAttribute( settings.name );
					if ( attr )
						data = attr;
				}

				if ( data.indexOf( '{' ) <0 )
				data = "{" + data + "}";

				data = eval("(" + data + ")");

				$.data( elem, settings.single, data );
				return data;
			}
		}
	});

	$.fn.metadata = function( opts ){
		return $.metadata.get( this[0], opts );
	};
})(jQuery);

function remove_desc(str)
{
	if(str=="Please input a complete job description giving us as much as information possible to ensure the companies can give you an accurate quotation.") {
		document.getElementById('job_desc').value = "";
	}
}


function select_country(country) {
	$.ajax({
	type: "POST",
	url: "media/save_country.php",
	data: "country="+country,
	success: function(msg){
		//alert( "Data Saved: " + msg );
		location.reload();
	}
});

}

jQuery.validator.addMethod('phoneUK', function(phone_number, element) {return this.optional(element) || phone_number.length > 9 && phone_number.match(/^(\(?(0|\+44)[1-9]{1}\d{1,4}?\)?\s?\d{3,4}\s?\d{3,4})$/);}, 'Please specify a valid phone number');
jQuery.validator.addMethod('mobileUK', function(phone_number, element) {return this.optional(element) || phone_number.length > 9 && phone_number.match(/^((0|\+44)7(5|6|7|8|9){1}\d{2}\s?\d{6})$/);}, 'Please specify a valid mobile number');
jQuery.validator.addMethod('postalUK', function(postal_code, element) {return this.optional(element) || postal_code.match(/^[A-Z]{1,2}[0-9R][0-9A-Z]? ?[0-9][ABD-HJLNP-UW-Z]{2}$/i) ||
        (postal_code == 'AI-2640') || (postal_code == 'ASCN 1ZZ') || (postal_code == 'BBND 1ZZ') || (postal_code == 'BIQQ 1ZZ') ||
        (postal_code == 'FIQQ 1ZZ') || (postal_code == 'GX11 1AA') || (postal_code == 'PCRN 1ZZ') || (postal_code == 'SIQQ 1ZZ') ||
        (postal_code == 'STHL 1ZZ') || (postal_code == 'TDCU 1ZZ') || (postal_code == 'TKCA 1ZZ');},
'Please enter a Postal Code');

/**
 * function to load the js needed for the respective pages
 */
function load_js(page) {
    $(document).ready(function() {
        switch (page) {
            case 'request-quote':
                var autoComplete = '';

                //to show the submit button, when the dom is ready
                $('#qm_pst_jb').show();

                //to validate the form
                $('#signup_form').init_form('buyer-request-quote');

                //to show processing image
                $('#qm_pst_jb').live('click', function(){
                    var form = $(this).closest('form');
                    if(form.valid()) {
                        $('#job_desc').addClass('processingMsg');
                    }
                });

                //focus on first field
                if($("#looking_for").attr("value")){
                    $("input[name*='looking_for']").focus();
                }

                //to hide the error message when selecting job by clicking
                $('.ui-menu-item').live('click', function(){
                    $('#looking_for').removeClass('error');
                    $('#looking_for').parent().find('label.error').remove();
                    $('#job_title').val($('#looking_for').val()); //auto populate job title
                });

                //auto complete for job looking for
                $('#looking_for')
                .live('keyup',function(event){ $('#job_title').val($(this).val()); })
                .autocomplete({
                    minLength: 2,
                    source: json_specs,
                    search: function(event, ui) {
                        $('body').find('.ui-autocomplete')
                        .attr('id','ui-autocomplete');
                    }
                });

                //for zip code validation message box handling
                $('#zip_code').click(function(event){
                    $('#zip_code').removeClass('error');
                    $('#zip_code').parent().find('label.error').remove();
                    $("#zip_not_found").css("display","none");
                });
                break;
            case 'buyer-sign-up':
                $('#signup_form').init_form('buyer-signup');
                $("input[name*='signup_first']").focus();
                break;
            case 'buyer-profile':
                $('#user_password').val('');
                $('#Name_info').init_form('change-info-name');
                $('#Email_info').init_form('change-info-email');
                $('#Password_info').init_form('change-info-password');

                $('span.edit_info').click(function(){
                    var parent = $(this).parent().parent();
                    parent.find('.info_content').hide('slow');
                    $('.edit_info').hide();
                    parent.find('.info_form').show('slow');
                    showHintText('Password_info');
                    $('.notification').hide('slow');
                });

                $('a.userinfo_cancel').live('click', function(){
                    var parent = $(this).parent().parent().parent();
                    parent.find('.info_form').hide('slow');
                    parent.find('.info_content').show();
                    parent.find('form')[0].reset();  //reset the form
                    //clear the error classes
                    parent.find('form').find('input.error').removeClass('error');
                    parent.find('form').find('label.error').hide();
                    showHintText('Password_info');
                    $('.edit_info').show();
                });
                break;
            case 'supp-profile':
                $('#user_password').val('');
                $('#user_name_form').init_form('change-info-name');
                $('#user_email_form').init_form('change-info-email');
                $('#user_password_form').init_form('change-info-password');
                $('#user_industry_form').init_form('change-info-industry');
                $('#user_business_form').init_form('change-info-business');
                $('#user_address_form').init_form('change-info-address');

                $("#city").rules("remove", "stateCityUS");
                $("#postal").rules("remove", "stateZipUS");

                $('#user_primary_phone_form').init_form('change-info-primary-phone');
                $('#user_sec_phone_form').init_form('change-info-sec-phone');

                $('.ui-menu-item').live('click', function(){
                    $('#industry').removeClass('error');
                    $('#industry').parent().find('label.error').remove();
                });

                //for industry name autocomplete
                $('#industry')
                    .autocomplete({
                        minLength: 2,
                        source: function(req, responseFn) {
                            var re = $.ui.autocomplete.escapeRegex(req.term),
                                matcher = new RegExp( "^" + re, "i" ),
                                a = $.grep(json_specs_industry,function(item,index){return matcher.test(item);}),
                                n = $('#ui-autocomplete');

                            if(a.length < 13) {
                                $('#ui-autocomplete').removeClass('ui-autocomplete-overflow');
                            } else {
                                $('#ui-autocomplete').addClass('ui-autocomplete-overflow');
                            }
                            responseFn(a);
                        },
                        search: function(event, ui) {
                            $('body').find('.ui-autocomplete').attr('id','ui-autocomplete');
                        }
                    });

                $('span.edit_info').click(function(){
                    var parent = $(this).parent().parent();
                    parent.find('.info_content').hide('slow');
                    $('.edit_info').hide();
                    parent.find('.info_form').show('slow');
                    $('.notification').hide('slow');
                    showHintText('user_password_form');
                });

                $('a.userinfo_cancel').live('click', function(){
                    var parent = $(this).parent().parent().parent();
                    parent.find('.info_form').hide('slow');
                    parent.find('.info_content').show();

                    if(parent.find('form')[0]) {
                        parent.find('form')[0].reset();  //reset the form
                        //clear the error classes
                        parent.find('form').find('input.error').removeClass('error');
                        parent.find('form').find('label.error').hide();
                    }

                    showHintText('user_password_form');
                    $('.edit_info').show();
                });

                if (site_country == 'us') {
                    validate_city_zip("city", "postal", "state");
                    $('#state').live('change', function(){
                        //zip code validation
                        if ($("#postal").val()){
                            $("#postal").removeData("previousValue"); //clear cache when changing state
                            $('#user_address_form').data('validator').element('#postal'); //retrigger remote call
                        }

                        //city validation
                        if ($("#city").val()){
                            $("#city").removeData("previousValue"); //clear cache when changing state
                            $('#user_address_form').data('validator').element('#city'); //retrigger remote call
                        }
                    });
                }
                break;
            case 'supp-sign-up':
                autoComplete = '';
                $('#signup_form').init_form('supp-signup');
                $("#zip_code").rules("remove", "stateZipUS");
                $("#signup_city").rules("remove", "stateCityUS");
                $('.ui-menu-item').live('click', function(){
                    $('#signup_supp_industry').removeClass('error');
                    $('#signup_supp_industry').parent().find('label.error').remove();
                });

                $("input[name*='signup_first']").focus();

                //hide the 'email already exist error', on changing the email'
                $("input[name*='signup_email']").change(function(){
                    $('#signup_error').hide();
                });

                if (!($('#signup_industry input').val())){
                    $('#signup_industry input')
                        .val('')
                        .after('<span class="default">Enter Trade Here. Plumber, Pet Services etc</span>')
                        .bind('focus',function(){
                                var $this = $(this);
                                if($this.val() == ''){
                                        $this
                                                .parent()
                                                        .find('.default')
                                                                .hide();
                                }
                        })
                        .bind('blur',function(){
                                var $this = $(this);
                                if($this.val() == ''){
                                        $this
                                                .parent()
                                                        .find('.default')
                                                                .show();
                                }
                        });
                }

                $('#signup_industry input')
                        .autocomplete({
                                minLength: 2,
                                source: function(req, responseFn) {
                                        var re = $.ui.autocomplete.escapeRegex(req.term),
                                                matcher = new RegExp( "^" + re, "i" ),
                                                a = $.grep(json_specs_industry,function(item,index){return matcher.test(item);}),
                                                n = $('#ui-autocomplete');

                                        if(a.length < 13) {
                                                $('#ui-autocomplete')
                                                        .removeClass('ui-autocomplete-overflow');
                                        } else {
                                                $('#ui-autocomplete')
                                                        .addClass('ui-autocomplete-overflow');
                                        }
                                        responseFn( a );
                                        autoComplete = a;
                                },
                                search: function(event, ui) {
                                        $('body').find('.ui-autocomplete')
                                                .attr('id','ui-autocomplete');
                                }
                        });

                if (!$('#signup_comments textarea').val()) {
                    $('#signup_comments textarea')
                                    .val('')
                                    .after('<span class="default">Customers will be able to see this information. This is your chance to impress them.</span>')
                                    .bind('focus',function(){
                                            var $this = $(this);
                                            if($this.val() == ''){
                                                    $this.parent().find('.default').hide();
                                            }
                                    })
                                    .bind('blur',function(){
                                            var $this = $(this);
                                            if($this.val() == ''){
                                                    $this.parent().find('.default').show();
                                            }
                                    });
                }

                if (site_country == 'us') {
                    validate_city_zip("signup_city", "zip_code", "signup_state");
                    $('#signup_state').live('change', function(){
                        //zip code validation
                        if ($("#zip_code").val()){
                            $("#zip_code").removeData("previousValue"); //clear cache when changing state
                            $('#signup_form').data('validator').element('#zip_code'); //retrigger remote call
                        }

                        //city validation
                        if ($("#signup_city").val()){
                            $("#signup_city").removeData("previousValue"); //clear cache when changing state
                            $('#signup_form').data('validator').element('#signup_city'); //retrigger remote call
                        }
                    });
                }
                break;
            case 'login':
                $('#login_form').init_form('login');
                if($("input[name*='cust_email']").attr("value")) {
                    $("input[name*='cust_pass']").focus();
                }
                else {
                    $("input[name*='cust_email']").focus();
                }
                $("#new_signup").click(function(){
                    $("#login_form").hide("slow");
                    $("#login_head").hide();
                    $('#signup').load('/signup-ajax');
                });
                break;
            case 'forgot-password':
                $('#login_form').init_form('forgot');
                $("input[name*='cust_email']").focus();
                break;
            case 'change-password':
                $('#login_form').init_form('change');
                $("input[name*='cust_pass1']").focus();
                break;
            case 'feedback':
                $('#feedback_form').init_form('feedback');
                $("input[name*='fbname']").focus();
                break;
            case 'job-search':
                autoComplete = '';
                $('#search')
                    .data('defaultValue',$(this).val())
                    .find('#search_input')
                            .click(function(event){
                                    $(this)
                                            .val('');
                                             $('#search_input').css('color','black');
                            })
                            .autocomplete({
                                    minLength: 2,
                                    source: json_specs,
                                    search: function(event, ui) {
                                            $('body').find('.ui-autocomplete')
                                            .attr('id','ui-autocomplete');
                                            $("#ui-autocomplete").css('padding-left','12px');
                                    }
                            })
                            .end().find('input.submit').button().parent().addClass('orange');

                $('#search_button').parent().submit(function() {
                    var jobSelected = $('#search_term').attr('value');
                    var jobTyped = $('#search_input').attr('value');
                    if ((jobSelected.length >2) || (jobTyped)) {
                        var index = jQuery.inArray(jobTyped, json_specs);
                        if (index > -1) {
                           $('#search_input').css('color','black');
                           return true;
                        }
                        else {
                           $('#search_input').attr('value','Please enter a valid job type');
                           $('#search_input').css('color','red');
                           return false;
                        }
                    }
                    else {
                        $('#search_input').attr('value','Please enter a valid job type');
                        $('#search_input').css('color','red');
                        return false;
                    }
                });
                break;
            case 'step-animate':
                $('#main_leader_details').find('.orange a').button();

		$('#main_leader_steps')
			.find('a')
				.mouseenter(function(event){
					$('#main_leader_details')
						.attr('class','act_step_'+$(this).parent().index());

					$('#main_leader_steps')
						.attr('class','act_step_'+$(this).parent().index());

					return false;
				});

		$('#main_editorial').find('.spot2 a').button();
                break;
        }
    });
}

/**
 * Show hint text considering exceptional cases of password fields.
 */
function showHintText(exceptional_id) {
    $('.default').each(function(){
        if ($(this).parent().parent().attr('id') != exceptional_id) {
            $(this).hide();
        }
    });
}

/**
 * Function to add validation for the city and zip code within US state
 */
function validate_city_zip(city_input, zip_input, state_input) {
    url = '/websvc/json_states.php';
    $.ajax({
        type: 'POST',
        url: url,
        success: function(response) {
            if ($.trim(response)){
                var json_obj = jQuery.parseJSON(response);
                json_state_zips = json_obj.aZip;
                json_state_cities = json_obj.aCity;
                $("#"+city_input).rules("add", {stateCityUS:state_input});
                $("#"+zip_input).rules("add", {stateZipUS:state_input});
            }
        }
    });
}
