$.validator.setDefaults({
	submitHandler: function(form) { 
		form.submit();
	}
});
$(document).ready(function() {
$("#frmRequestFeature").validate({
		rules: {
			txtFirstName: "required",
			txtLastName: "required",
			txtEmail: {
				required: true,
				email: true
			},
			cmbProduct: "required",
			txtFeatureRequest:"required",
			txtCode : {
				required:true,
				minlength:6
			}
		},
		messages: {
			txtFirstName: "Please enter your First Name",
			txtLastName : "Please enter your Last Name",
			txtEmail: "Please enter a valid Email Address",
			cmbProduct : "Please select a Product",
			txtFeatureRequest : "Please enter your request",
			txtCode : {
				required : "Please enter Verification Code",
				minlength : "Verification Code must be of 6 characters",
			}
		}
	});
	
$("#frmReseller").validate({
	rules: {
		txtFirstname: "required",
		txtLastname: "required",
		txtDesignation: "required",
		txtCompany: "required",
		txtWebaddress: {
			required:true,
			url:true
		},
		txtAddress1: "required",
		txtCity: "required",
		txtState: "required",
		txtPhone: {
			required:true,
			number:true
		},
		txtFax: "number",
		txtYear: "number",
		txtMarketing : "number",
		cmbCountry: "required",
		txtEmail: {
			required: true,
			email: true
		},
		txtCode : {
			required:true,
			minlength:6
		}
	},
	messages: {
		txtFirstname: "Please enter your First Name",
		txtLastname : "Please enter your Last Name",
		txtDesignation: "Please enter your Designation",
		txtCompany : "Please enter your Company Name",
		txtWebaddress: "Please enter your Web Address",
		txtAddress1 : "Please enter your Address",
		txtCity: "Please enter your City",
		txtState : "Please enter your State",
		txtPhone:{ 
			required: "Please enter a valid Phone Number",
			number: "Please enter a valid Phone Number",
		},
		cmbCountry: "Please Select a Country",
		txtEmail: "Please enter a valid Email Address",
		txtFax: "Please enter a valid FAX Number",
		txtYear: "Please enter year of establishment",
		txtMarketing: "Please enter number of Marketing Executives",
		txtCode : {
			required : "Please enter Verification Code",
			minlength : "Verification Code must be of 6 characters",
		}
	}
});

$("#frmDownloadRequest").validate({
	rules: {
		txtFirstname: "required",
		txtLastname: "required",
		txtCompany: "required",
		txtAddress1: "required",
		txtCity: "required",
		txtState: "required",
		txtPhone: {
			required:true,
			number:true
		},
		txtFax: "number",
		cmbCountry: "required",
		txtEmail: {
			required: true,
			email: true
		},
		txtCode : {
			required:true,
			minlength:6
		}
	},
	messages: {
		txtFirstname: "Please enter your First Name",
		txtLastname : "Please enter your Last Name",
		txtCompany : "Please enter your Company Name",
		txtAddress1 : "Please enter your Address",
		txtCity: "Please enter your City",
		txtState : "Please enter your State",
		txtPhone:{ 
			required: "Please enter a valid Phone Number",
			number: "Please enter a valid Phone Number",
		},
		txtFax: "Please enter a valid FAX Number",
		cmbCountry: "Please select a Country",
		txtEmail: "Please enter a valid Email Address",
		txtCode : {
			required : "Please enter Verification Code",
			minlength : "Verification Code must be of 6 characters",
		}
	}
});

$("#frmRequestDemo").validate({
	rules: {
		txtFirstname: "required",
		txtLastname: "required",
		txtCompany: "required",
		txtWebaddress: {
			required:true,
			url:true
		},
		txtEmail: {
			required: true,
			email: true
		},
		txtCode : {
			required:true,
			minlength:6
		}
	},
	messages: {
		txtFirstname: "Please enter your First Name",
		txtLastname : "Please enter your Last Name",
		txtCompany : "Please enter your Company Name",
		txtWebaddress: "Please enter your Web Address",
		txtEmail: "Please enter a valid Email Address",
		txtCode : {
			required : "Please enter Verification Code",
			minlength : "Verification Code must be of 6 characters",
		}
	}
});

$("#btnReset").click(function(){
	var validator = $("#frmRequestFeature").validate();
	validator.resetForm();
});
$("#btnResetFrmReseller").click(function(){
	var validator = $("#frmReseller").validate();
	validator.resetForm();
});
$("#btnResetFrmRequestDemo").click(function(){
	var validator = $("#frmRequestDemo").validate();
	validator.resetForm();
});
$("#btnResetFrmDownloadRequest").click(function(){
	var validator = $("#frmDownloadRequest").validate();
	validator.resetForm();
});

});


// --------- constants -------
var BACKGROUND_ROW = '#F2F2F2';
var BACKGROUND_ROW_SELECTED = '#DDDDDD';
var OUTLINE_TEXT_COLOR = '#909090';
var OUTLINE_COLOR = '#909090';

$(document).ready(function(){
    fundamentals();
});   
    
function fundamentals(){
 $(":text").focus(function(event){    
        undoOutlineFormElement();
        outlineFormElement(this); 
    });
 $("textarea").focus(function(event){    
     undoOutlineFormElement();
     outlineFormElement(this); 
 });
 $("select").focus(function(event){    
        undoOutlineFormElement();
        outlineFormElementSelect(this);
       
 });
};

var latestFormElement;
function outlineFormElement(formElement){
        $(formElement).parent("div").css('background', BACKGROUND_ROW_SELECTED);
        $(formElement).css('border', '2px solid ' + OUTLINE_COLOR);
        $(formElement).css('margin-bottom', '-2px');
       // $(formElement).prev("label:not(.text)").css('color', OUTLINE_TEXT_COLOR);
        latestFormElement = formElement;
}

function outlineFormElementSelect(formElement){
    if (formElement.id != "select-authorizationUntil_month" && formElement.id != "select-authorizationUntil_year") {
        $(formElement).parent("div").css('background', BACKGROUND_ROW_SELECTED);
        $(formElement).prev("label .text").css('color', OUTLINE_TEXT_COLOR);
		$(formElement).css('border', '2px solid ' + OUTLINE_COLOR);
        // Workaround to avoid double selects in IE
        if (!$.browser.msie) {
         $(formElement).css('border', '2px solid #4271b8');
        }
        latestFormElement = formElement;
    }
}
function undoOutlineFormElement(){
    $("#div-first_registeredAddress_address_streetNumber, #div-first_registeredAddress_address_street, #div-second_registeredAddress_address_streetNumber, #div-second_registeredAddress_address_street, #div-first_addressForDispatch_address_streetNumber, #div-first_addressForDispatch_address_street").css('background',BACKGROUND_ROW)
    if (latestFormElement) {
        $(latestFormElement).parent("div").css('background', BACKGROUND_ROW);
        $(latestFormElement).css('border', '1px solid #7F9DB9');
        $(latestFormElement).css('margin-bottom', '0px');
        $(latestFormElement).prev("label").css('color', '');
    }
}
