$(document).ready(function () {
	
	// Configure forgot password form
	$("#frm_forgot").validate({
	          rules: {
	            email:{
	                required: true,
	                email: true
	            }
	          },
	          messages: {
	        	  email: {
	        	  		required: "&nbsp;Please enter an email",
	        	  		email: "&nbsp;Email is not valid"
	          	}
	          },
	          submitHandler: function(form){
	        	  $(form).ajaxSubmit({
	                  dataType: 'script',
	                  beforeSubmit: function(){
	        		  		showLoading("btn_submit");
	        	  	  },
	                  success: function (obj) {
	                    if(responce.valid=='true'){
	                        location.href = 'forgot_thank.cfm';
	                    }else{
	                    	if(responce.getpassword && responce.getpassword.valid=='false'){
	                    		showError(responce.getpassword.msg);
	                    	}else if(responce.email && responce.email.valid=='false'){
	                    		showError(responce.email.msg);
	                    	}
	                    	hideLoading("btn_submit");
	                    }
	                  }
	                });
	          },
	          success: function(){
	        	  hideError();
	          }
	});
	
	// Configure guest registration form
	$("#frm_guest").validate({
		rules: {
			first_name:{
				required: true
			},
			last_name:{
				required: true
			},
			email:{
				required: true,
				email: true
			},
			phone_number:{
				required: true,
				phoneUS: true
			},
			username:{
				required: true
			},
			password:{
				required: true
			},
			confirm_password:{
				required: true,
				equalTo: "#password"
			}
		},
		messages: {
			first_name: {
				required: "&nbsp;Please enter First Name"
			},
			last_name: {
				required: "&nbsp;Please enter Last Name"
			},
			email: {
				required: "&nbsp;Please enter an email",
				email: "&nbsp;Email is not valid"
			},
			phone_number: {
				required: "&nbsp;Please enter phone number",
				phoneUS: "&nbsp;Phone number format is invalid. e.g. 111-111-1111"
			},
			username: {
				required: "&nbsp;Please enter Username"
			},
			password: {
				required: "&nbsp;Please enter Password"
			},
			confirm_password: {
				required: "&nbsp;Please enter Confirm Password",
				equalTo: "&nbsp;Password does not match Confirm Password"
			}
		},
		submitHandler: function(form){
			hideError();
			$(form).ajaxSubmit({
				dataType: 'script',
				beforeSubmit: function(){
				showLoading("btn_submit_guest");
			},
			success: function (obj) {
				if(responce.valid=='true'){
					$("#action").val('create_account');
					$(form).ajaxSubmit({
						dataType: 'script',
						success: function(obj){
						if(responce.valid == 'true'){
							location.href='sign_up_guest.cfm?username='+$("#username").val()+'';
						}else{
							showError(makeErrorList(responce));
							hideLoading("btn_submit_guest");
						}
					}
					});
				}else{
					showError(makeErrorList(responce));
					hideLoading("btn_submit_guest");
				}
			}
			});
		}
	});
	
	// Configure company registration form
	$("#frm_company").validate({
        rules: {
			first_name:{
				required: true
			},
			last_name:{
				required: true
			},
			email:{
				required: true,
				email: true
			},
			phone_number:{
				required: true,
				phoneInt: true
			},
			username:{
				required: true
			},
			password:{
				required: true
			},
	        confirm_password:{
	            required: true,
	            equalTo: "#password"
	        },
	        company_name: {
	        	required: true
	        },
	        company_type: {
	        	required: true
	        },			
	        company_address:{
	        	required: true
	        },
	        country:{
	        	required: true
	        },
	        city:{
	        	required: true
	        },
	        state:{
	        	required: true
	        },
	        zip:{
	        	required: function(){
	        		return /^\d{5}$/.test($("#zip").val());
	        	}
	        },
	        company_phone_number:{
	        	required: true,
	        	phoneInt: true
	        },
	        company_web_address:{
	        	required: false,
	        	url: true
	        }
        },
        messages: {
        	first_name: {
        		required: "&nbsp;Please enter First Name"
        	},
        	last_name: {
        		required: "&nbsp;Please enter Last Name"
        	},
        	email: {
        		required: "&nbsp;Please enter an email",
        		email: "&nbsp;Email is not valid"
        	},
	     	phone_number: {
	        	required: "&nbsp;Please enter phone number",
	        	phoneInt: "&nbsp;Phone number format is invalid. e.g. US 111-111-1111 or Int (+44)111-111-1111"
	        },
	        username: {
	        	required: "&nbsp;Please enter Username"
	        },
	        password: {
	        	required: "&nbsp;Please enter Password"
	        },
        	confirm_password: {
        		required: "&nbsp;Please enter Confirm Password",
        		equalTo: "&nbsp;Password does not match Confirm Password"
        	},
        	company_name:{
        		required: "&nbsp;Please enter Company Name"
        	},
        	company_type:{
        		required: "&nbsp;Please choose Company Type"
        	},			
        	company_address:{
        		required: "&nbsp;Please enter Company Address"
        	},
        	country:{
        		required: "&nbsp;Please enter Country"
        	},
        	city:{
        		required: "&nbsp;Please enter City"
        	},
        	state:{
        		required: "&nbsp;Please enter State"
        	},
        	zip:{
        		required: "&nbsp;Zip/Postal Code is invalid"
        	},
        	company_phone_number:{
        		required: "&nbsp;Please enter phone number",
        		phoneInt: "&nbsp;Phone number format is invalid. e.g. US 111-111-1111 or Int (+44)111-111-1111"
        	},
        	company_web_address:{
        		url: "&nbsp;Please enter valid URL"
        	}
        },
        submitHandler: function(form){
          hideError();
      	  $(form).ajaxSubmit({
                dataType: 'script',
                beforeSubmit: function(){
      		  		showLoading("btn_submit_company");
      	  	  	},
                success: function (obj) {
                  if(responce.valid=='true'){
                	  $("#action").val('create_account');
                	  $(form).ajaxSubmit({
                		  dataType: 'script',
                		  success: function(obj){
                		  	if(responce.valid == 'true'){
                		  		location.href = responce.url+'?method=goLogin&username='+$("#username").val()+'&password='+$("#password").val()+'&redirect=1';
                		  	}else{
                		  		showError(makeErrorList(responce));
                              	hideLoading("btn_submit_company");
                		  	}
                	  	  }
                	  });
                  }else{
                  	showError(makeErrorList(responce));
                  	hideLoading("btn_submit_company");
                  }
                }
           });
        }
	});

	
	
	


});

