var mainView=new function(){var r=0,u="",i=0,n=0,t=""},leadValidation;mainView.showTab=function(n){if(n===1){var t=new leadMgt.repositories.ConfigureRepository;try{t.getSitePermission({data:leadMgt.dataModels.admin.data.get("activeSiteId").toString(),success:function(t){try{var i=leadMgt.dataModels.admin.data.activeSitePermission();i.set("isSuperAdmin",t.IsSuperAdmin),i.set("isBrokersVisible",t.IsBrokersVisible),i.set("isContentVisible",t.IsContentVisible),i.set("isCustomFieldsVisible",t.IsCustomFieldsVisible),i.set("isImagesVisible",t.IsImagesVisible),i.set("isLeadCreationVisible",t.IsLeadCreationVisible),i.set("isLeadReportVisible",t.IsLeadReportVisible),i.set("isLendersVisible",t.IsLendersVisible),i.set("isScenariosVisible",t.IsScenariosVisible),i.set("isCSSVisible",t.IsCSSVisible),leadMgt.dataModels.bindSitePermission(),$("#mainContent div.content").hide(),$($("#mainContent div.content").get(n)).show(),this.selectedTab=n,t.IsSuperAdmin||siteView.navigateToMenu(mainView.getDefaultModuleIndex())}catch(r){mainView.showErrorMessage(r.message)}finally{mainView.checkCounterAndHideLoader()}},error:mainView.ajaxErrorHandler})}catch(i){mainView.hideLoader(),mainView.showErrorMessage(i.message)}}else $("#mainContent div.content").hide(),$($("#mainContent div.content").get(n)).show(),this.selectedTab=n},mainView.getDefaultModuleIndex=function(){var n=leadMgt.dataModels.admin.data.activeSitePermission();return n.get("isLendersVisible")?0:n.get("isBrokersVisible")?1:n.get("isScenariosVisible")?2:n.get("isLeadCreationVisible")?3:n.get("isImagesVisible")?4:n.get("isCSSVisible")?5:n.get("isContentVisible")?6:n.get("isCustomFieldsVisible")?7:n.get("isLeadReportVisible")?8:void 0},mainView.ajaxErrorHandler=function(n){if(mainView.hideLoader(),n.status==403){window.location.href=location.href;return}if(utils.isEmpty(n.responseText)){mainView.showErrorMessage("There was an issue communicating with the Podium Server.\nPlease make sure you are online.");return}var u=n.responseText,r=$.parseJSON(n.responseText);utils.isEmpty(r.ErrorMessage)||(u=r.ErrorMessage+"\n\n"+r.HandlingInstanceId),mainView.showErrorMessage(u)},mainView.showErrorMessage=function(n){$("#imgAlert").hide(),$("#imgError").show();var i="There was an error performing this operation. Please retry. If the problem still persists, contact with the broker.";n.length>0&&(i=n),$("#spanModalPopupText").html(i),$("#divModalPopuDialog").dialog({title:"Error",resizable:!1,dialogClass:"confirm-modal",width:350,modal:!0,buttons:{Ok:function(){$(this).dialog("close")}}})},mainView.showInformationDialog=function(n,t,i){$("#imgError").hide(),$("#imgAlert").show(),$("#spanModalPopupText").html(t);var r=350;typeof i!="undefined"&&i!=null&&i>0&&(r=i),$("#divModalPopuDialog").dialog({title:n,resizable:!1,dialogClass:"confirm-modal",width:r,modal:!0,buttons:{Ok:function(){$(this).dialog("close")}}})},mainView.showConfirmationDialog=function(n,t,i){typeof i.yesButtonLabel=="undefined"&&(i.yesButtonLabel="Yes"),typeof i.noButtonLabel=="undefined"&&(i.noButtonLabel="No"),$("#imgError").hide(),$("#imgAlert").show(),$("#spanModalPopupText").html(t),$("#divModalPopuDialog").dialog({title:n,resizable:!1,dialogClass:"confirm-modal",width:350,modal:!0,buttons:[{text:i.yesButtonLabel,click:function(){$(this).dialog("close"),i.hasObjectParameter?i.functionToRun(i.parameter):i.functionToRun()}},{text:i.noButtonLabel,click:function(){typeof i.cancelFunctionToRun!="undefined"&&i.cancelFunctionToRun(),$(this).dialog("close")}}]})},mainView.showLoader=function(){$("#divLoading").show()},mainView.hideLoader=function(){$("#divLoading").hide()},mainView.checkCounterAndHideLoader=function(){siteView.loadCount++,siteView.loadCount==siteView.totalLoadCount&&mainView.hideLoader()},mainView.addBrowserCompatability=function(){typeof console=="undefined"&&(console={}),typeof console.log=="undefined"&&(console.log=function(){})},mainView.showModalEditDiv=function(){var t=$("#divMainContent").css("width"),n=$("#divMainContent").css("height");$("#divModalEdit").css("width",t),$("#divModalEdit").css("height",n),$("#divModalEdit").show()},mainView.hideModalEditDiv=function(){$("#divModalEdit").hide()},mainView.fixCssForSafari=function(){browserDetect.isDesktopSafariOnWindows()?$(".tdDropDown").each(function(n,t){$(t).removeClass("tdDropDown"),$(t).addClass("tdDropDownSafariWindows")}):browserDetect.isDesktopSafariOnMacOSX()&&$(".tdDropDown").each(function(n,t){$(t).removeClass("tdDropDown"),$(t).addClass("tdDropDownSafari")})},mainView.hideToolTips=function(){$(".toolTip").each(function(n,t){$(t).tooltip({action:"hide"})})},leadValidation={},leadValidation.setupValidationEventsForForm=function(n){$(n+" div.inputRow.firstName input").blur(function(){leadValidation.validateForm(n,"firstName")}),$(n+" div.inputRow.surname input").blur(function(){leadValidation.validateForm(n,"surname")}),$(n+" div.inputRow.phone input").blur(function(){return leadValidation.validateForm(n,"phone"),!1}),$(n+" div.inputRow.email input").blur(function(){return leadValidation.validateForm(n,"email"),!1}),$(n+" div.inputRow.postcode input").blur(function(){leadValidation.validateForm(n,"postcode")}),$(n+" div.inputRow.firstName input").focus(function(){leadValidation.removeValidationMessage(n,"firstName")}),$(n+" div.inputRow.surname input").focus(function(){leadValidation.removeValidationMessage(n,"surname")}),$(n+" div.inputRow.phone input").focus(function(){leadValidation.removeValidationMessage(n,"phone")}),$(n+" div.inputRow.email input").focus(function(){leadValidation.removeValidationMessage(n,"email")}),$(n+" div.inputRow.postcode input").focus(function(){leadValidation.removeValidationMessage(n,"postcode")})},leadValidation.validateForm=function(n,t){var r=!0,u={firstName:!0,surname:!0,phone:!0,email:!0,postcode:!0},f,i;if(typeof t!="undefined"){for(f in u)u[f]=!1;switch(t){case"firstName":u.firstName=!0;break;case"surname":u.surname=!0;break;case"phone":u.phone=!0;break;case"email":u.email=!0;break;case"postcode":u.postcode=!0}}return i={firstName:$(n+" div.inputRow.firstName input").val(),surname:$(n+" div.inputRow.surname input").val(),phone:$(n+" div.inputRow.phone input").val(),email:$(n+" div.inputRow.email input").val(),postcode:$(n+" div.inputRow.postcode input").val()},u.firstName&&($.trim(i.firstName)==""?(leadValidation.addValidationMessage(n,"firstName","Please provide your first name"),r=!1):(i.firstName+"").length>40?(leadValidation.addValidationMessage(n,"firstName","The first name you have provided is too long"),r=!1):leadValidation.removeValidationMessage(n,"firstName")),u.surname&&($.trim(i.surname)==""?(leadValidation.addValidationMessage(n,"surname","Please provide your surname"),r=!1):(i.surname+"").length>80?(leadValidation.addValidationMessage(n,"surname","The surname you have provided is too long"),r=!1):leadValidation.removeValidationMessage(n,"surname")),(u.phone||u.email)&&($.trim(i.phone)==""&&$.trim(i.email)==""?(leadValidation.addValidationMessage(n,"phone","Please provide a phone number or email"),r=!1):/[^0-9-+()., ]/g.test(i.phone+"")?(leadValidation.addValidationMessage(n,"phone","The phone number you have provided contains invalid characters"),r=!1):(i.phone+"").length>40?(leadValidation.addValidationMessage(n,"phone","The phone number you have provided is too long"),r=!1):(i.phone+"").trim()!=""&&(i.phone+"").match(/[0-9]/g).length<8?(leadValidation.addValidationMessage(n,"phone","The phone number you have provided is too short"),r=!1):leadValidation.removeValidationMessage(n,"phone")),(u.email||u.phone)&&($.trim(i.phone)==""&&$.trim(i.email)==""?(leadValidation.addValidationMessage(n,"email","Please provide a phone number or email"),r=!1):validations.isValidEmail(i.email)?(i.email+"").length>80?(leadValidation.addValidationMessage(n,"email","The email you have provided is too long"),r=!1):leadValidation.removeValidationMessage(n,"email"):(leadValidation.addValidationMessage(n,"email","Please provide a valid email"),r=!1)),u.postcode&&($.trim(i.postcode)==""?(leadValidation.addValidationMessage(n,"postcode","Please provide a postcode"),r=!1):leadValidation.isValidPostcode(i.postcode)?leadValidation.removeValidationMessage(n,"postcode"):($.trim(i.postcode).length<4?leadValidation.addValidationMessage(n,"postcode","Please provide a valid four digit postcode"):leadValidation.addValidationMessage(n,"postcode","Please provide a valid postcode"),r=!1)),r},leadValidation.addValidationMessage=function(n,t,i){$(n+" div.inputRow."+t+" div.validationMessage").html(i),$(n+" div.floating.validationMessage."+t).html(i),$(n+" div.floating.validationMessage."+t).addClass("validationError").show(),$(n+" div.inputRow."+t).addClass("validationError"),leadValidation.showHideMessages(n)},leadValidation.removeValidationMessage=function(n,t){$(n+" div.inputRow."+t).removeClass("validationError"),$(n+" div.floating.validationMessage."+t).removeClass("validationError").hide(),leadValidation.showHideMessages(n)},leadValidation.showHideMessages=function(n){$(n+" div.validationMessageOuter").each(function(){var n=0;$(this).find("div.floating.validationMessage").each(function(){$(this).hasClass("validationError")&&n++}),n>0?$(this).show():$(this).hide()})},leadValidation.isValidPostcode=function(n){var r,t,i;if($.trim(n).length<4)return!1;for(r=$.trim(n)*1,t=0;t<postcodeData.ranges.length;t++)if(i=postcodeData.ranges[t],r>=i.from&&r<=i.to)return!0;return!1}