﻿
var IncorrectFieldCSSClass="redBorder";var MandatoryCSSClass="MandatoryField";$(document).ready(function(){$("p.ValidationSummary").hide();$("div.mainAreaInner > div.submitBox input").click(SubmitFormEventHandler);ApplyTipsError();});function SubmitFormEventHandler()
{if(typeof ResetMandatoryFields=='function'){ResetMandatoryFields();}
var IsFormValid=ValidateForm();if(IsFormValid){$(this).click(function(){return false;});if(omnitureFormSuccess){omnitureFormSuccess();}}
else{scroll(0,0);if(omnitureFormError){omnitureFormError();}}
return IsFormValid;}
function ValidateForm(){var ControlsToValidate=$('.'+MandatoryCSSClass);for(var i=0;i<ControlsToValidate.length;i++){var control=ControlsToValidate[i];ValidateControl(control);}
var IsPhoneNumberValid=ValidatePhoneNumber();var IsEmailAddressValid=ValidateEmailAddress();var IsRequiredFieldMissing=($('div.mainAreaInner .redBorder').length>0);ToggleValidationSummary(IsRequiredFieldMissing);ValidateEmailCheckbox();var IsFormValid=!IsRequiredFieldMissing&&IsPhoneNumberValid&&IsEmailAddressValid;return IsFormValid;}
function ToggleValidationSummary(IsRequiredFieldMissing){if(IsRequiredFieldMissing){$("p.ValidationSummary:hidden").fadeIn('slow');}
else{$("p.ValidationSummary:visible").hide();}}
function ValidateControl(control){var jControl=$('#'+control.id);if(jControl.is(':checkbox')){if(jControl.is(':checked')){jControl.parent().removeClass(IncorrectFieldCSSClass);jControl.parent().next().removeClass('redLabel');return true;}
else{jControl.parent().addClass(IncorrectFieldCSSClass);jControl.parent().next().addClass('redLabel');return false;}}
var value=jControl.val();var isDropdown=jControl.is('select');if(isDropdown){jControl=jControl.parent();}
if(IsNullOrEmpty(value)){jControl.addClass(IncorrectFieldCSSClass);return false;}
else{jControl.removeClass(IncorrectFieldCSSClass);return true;}}
function Set_Mandatory_Fields(mandatoryCSS){var mandatoryFields=$('.'+MandatoryCSSClass);for(var i=0;i<mandatoryFields.length;i++){var field=$('#'+mandatoryFields[i].id);var fieldContainsMandatoryCSSClass=FieldContainsAnyOfStyles(field,mandatoryCSS);if(!fieldContainsMandatoryCSSClass){field.removeClass(MandatoryCSSClass);}}
for(var i=0;i<mandatoryCSS.length;i++){var mandatoryCSSClass=mandatoryCSS[i];$('.'+mandatoryCSSClass).addClass(MandatoryCSSClass);}
mandatoryFields=$('.'+MandatoryCSSClass);for(var i=0;i<mandatoryFields.length;i++){var mandatoryFieldId=mandatoryFields[i].id;SetLabelAsMandatory(mandatoryFieldId);}
var mandatoryLabels=$('label.mandatoryLabel');for(var i=0;i<mandatoryLabels.length;i++){var label=$(mandatoryLabels[i]);var controlId=label.attr('for');var control=$('#'+controlId);if(!control.hasClass(MandatoryCSSClass)){SetLabelAsNotMadatory(label);}}}
function SetLabelAsNotMadatory(label){if(label.hasClass('mandatoryLabel')){label.removeClass('mandatoryLabel')
var txt=label.html();if(txt.endsWith('*')){txt=txt.substring(0,txt.length-1);label.html(txt);}}}
function SetLabelAsMandatory(controlID){var label=$('label[for='+controlID+']');if(!label.hasClass('mandatoryLabel')){label.addClass('mandatoryLabel');label.html(label.html()+'*');}}
function FieldContainsAnyOfStyles(field,CSSClassArray){for(var j=0;j<CSSClassArray.length;j++){var CSSClass=CSSClassArray[j];if(field.hasClass(CSSClass)){return true;}}
return false;}