function log(n){var i,t;try{if(typeof console=="object"&&typeof console.log=="function"){if(typeof OX_DEBUG=="undefined"&&(OX_DEBUG=!1,location.search!==null&&location.search.length>1))for(i=location.search.substr(1).split("&"),t=0;t<i.length;t++)i[t].split("=")[0]==="oxdebug"&&(OX_DEBUG=!0);OX_DEBUG&&console.log(n)}}catch(r){return}}var __extends=this&&this.__extends||function(){var n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,t){n.__proto__=t}||function(n,t){for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i])};return function(t,i){function r(){this.constructor=t}n(t,i);t.prototype=i===null?Object.create(i):(r.prototype=i.prototype,new r)}}(),ElementType;(function(n){n[n.container=0]="container";n[n.label=1]="label";n[n.paragraph=2]="paragraph";n[n.heading1=3]="heading1";n[n.heading2=4]="heading2";n[n.heading3=5]="heading3";n[n.heading4=6]="heading4";n[n.heading5=7]="heading5";n[n.dropdownlist=8]="dropdownlist";n[n.textbox=9]="textbox";n[n.telephone=10]="telephone";n[n.textarea=11]="textarea";n[n.image=12]="image";n[n.checkbox=13]="checkbox";n[n.radiobuttonlist=14]="radiobuttonlist";n[n.checkboxlist=15]="checkboxlist";n[n.span=16]="span";n[n.div=17]="div";n[n.optincontrol=18]="optincontrol"})(ElementType||(ElementType={}));var Campaign2=function(){function n(n,t,i,r){this._processing=!1;this._processed=!1;this._campaignV1=n;this._manager=i;this._design=t;this._settings=r;this._isPositiveResponse=!0;this._validationErrors=[];this._userProfile={address1:null,birthday:null,birthmonth:null,birthyear:null,city:null,county:null,firstname:null,landline:null,lastname:null,mobile:null,postcode:null,telephone:null,title:null,userMobileId:null,userTelephoneId:null};this._user=this._settings.user;this._hasBeenTouched=!1}return n.prototype.render=function(){var u=null,n,i,t;u=this._settings.renderer=="registration"?new Campaign2RegistrationRenderer(this._manager,this._user):new Campaign2DefaultRenderer(this._manager,this._user);try{u.render(this._design.elements,this._settings.containerSelector);n=this;i=function(t){var f=!1,u=n.getSettings(),r;for(r in t){if($.inArray(t[r].typeName,["telephone","checkboxlist","textbox"])>-1&&(t[r].typeName!=="telephone"||!t[r].hideIfValid||!t[r].isvalid)||t[r].innerHtml!=null&&t[r].innerHtml.indexOf("iframe")>-1){$(n._settings.containerSelector).append($("<a class='manual-processing-trigger submit' href='#'>"+(n.getUser().countryCode=="FR"?"VALIDER":"Ok")+"<\/a>").click(function(t){if(t.preventDefault(),n.process(!1,null),u.events!==undefined&&typeof u.events.onProcessed=="function")u.events.onProcessed(n.getCampaignV1(),u.containerSelector)}));f=!0;break}if(t[r].children&&t[r].children.length>0&&i(t[r].children)){f=!0;break}}return f};typeof this._campaignV1.recordInteractions=="object"&&this._campaignV1.recordInteractions.init(this);this._campaignV1.triggers.init();typeof this._campaignV1.pageEvents=="object"&&this._campaignV1.pageEvents.init();this._settings.autoProcessingEnabled&&i(this._design.elements)}catch(r){this._campaignV1.helpers.logException(r);throw r;}try{t=$(this._settings.containerSelector);t.find(".opt-in").each(function(){$(this).find("label").height()>35&&($(this).find("label").css("line-height","normal"),$(this).nextAll(".opt-out").css("margin-top","-25px"))});$("#PreviewContainer").length>0&&setTimeout(function(){t.find(".opt-in").each(function(){$(this).find("label").height()>35&&($(this).find("label").css("line-height","normal"),$(this).nextAll(".opt-out").css("margin-top","-25px"))})},1e3);typeof this._design.startupScript=="string"&&this._design.startupScript.length>0&&(t.runStartupScript=new Function("campaign","user",this._design.startupScript),t.runStartupScript(this._campaignV1,this._user))}catch(r){this._campaignV1.helpers.logException(r)}},n.prototype.process=function(n,t){var f,l,e,i,s,h,c;try{if(this._processing||this._processed)return;this._processing=!0;var u=!0,r=!0,o=null;if(this._validationErrors=[],f=this.getDataFieldDependancies(),this._manager!=null){this._manager.updateDependancies(this);l=this._manager.validateDependancies();for(i in this._settings.dependancyControls)if(this._settings.dependancyControls[i].placement!=null)for(e=0;e<f.length;e++)if(f[e]==i&&l.indexOf(i)>-1){this._validationErrors.push({controlId:$("."+this._settings.dependancyControls[i].className).attr("id"),messages:[f[e]],campaignName:""});u=!1;break}}if(u)for(i in this._settings.dependancyControls)this._settings.dependancyControls[i].placement!=null&&f.indexOf(i)>-1&&(this._settings.dependancyControls[i].complete=!0,i=="dob"?(this._userProfile.birthday=$("."+this._settings.dependancyControls[i].className).find("select.birthday").val(),this._userProfile.birthmonth=$("."+this._settings.dependancyControls[i].className).find("select.birthmonth").val(),this._userProfile.birthyear=$("."+this._settings.dependancyControls[i].className).find("select.birthyear").val()):this._userProfile[i]=$("."+this._settings.dependancyControls[i].className).find("input").val());if(s=this.preliminaryValidation(),s.passedValidation||(u=!1),s.passedAcceptance||(r=!1,o="Failed validation rule"),r&&(h=this.processAcceptance(),r=h.positiveResponse,o=h.rejectionReason),(u||!r)&&(u&&r&&(c=this.fullValidation(),c.passedValidation||(u=!1),c.passedAcceptance||(r=!1,o="Failed validation rule")),(!n||!r)&&(u||!r))){var v=this.getUserResponses(),y={versionId:this._settings.versionId,auth:$(this._settings.authId).val(),positiveResponse:r,rejectionReason:o,userResponse:v,delayLeadApproval:this._settings.delayLeadApproval,callCampaignId:t||null,userProfile:this._userProfile},a=null;if(a=this._settings.processor=="registration"?new Campaign2RegistrationProcessor(this):new Campaign2DefaultProcessor(this),a.submitLead(y,t),this._settings.events!==undefined&&typeof this._settings.events.onProcessing=="function")this._settings.events.onProcessing(this._campaignV1,this._settings.containerSelector)}this._isPositiveResponse=r;this._campaignV1.validation.setValidationErrors(this._validationErrors)}catch(p){this._campaignV1.helpers.logException(p,this._settings.versionId);this.setProcessed(!0)}finally{return this._processing=!1,this._processed}},n.prototype.preliminaryValidation=function(){for(var t=this._campaignV1.validation.validateCampaign(!1),i={passedValidation:!0,passedAcceptance:!0},r,u,n=0;n<t.length;n++)r=t[n].result,u=t[n].responseAccepted,r||(this._validationErrors.push({messages:t[n].messages,controlId:t[n].element,campaignName:this._settings.campaignName}),i.passedValidation=!1),u||(i.passedAcceptance=!1);return i},n.prototype.setHasBeenTouched=function(n){this._hasBeenTouched=n},n.prototype.hasBeenTouched=function(){return this._hasBeenTouched},n.prototype.processAcceptance=function(){var e={positiveResponse:!0,rejectionReason:null},u,n,i,t,f,o,s,r;if(this._design.hasOwnProperty("fields")&&this._design.fields!==null){for(u=0;u<this._design.fields.length;u++)if(n=this._design.fields[u],n.hasOwnProperty("criteria")&&n.criteria!==null)for(i=n.criteria,t=0;t<i.length;t++)f=null,o=!1,typeof i[t]=="string"?f=i[t].toString():(f=i[t].expression,o=i[t].evaluateIfEmpty===!0),s=new Function("value",f),r=null,r=n.fieldValue!==null&&n.fieldValue.length>0?new Function("value","container",n.fieldValue.replace(/\\"/g,'"'))(this._campaignV1.helpers.getElementValue(n.elementId),$(this._settings.containerSelector)):this._campaignV1.helpers.getElementValue(n.elementId),(o||r!=null&&r.length>0)&&!s(r)&&(e.positiveResponse=!1,e.rejectionReason="Failed acceptance criteria");return e}},n.prototype.fullValidation=function(){var i,t,n,r,u;for(this._validationErrors=[],i={passedValidation:!0,passedAcceptance:!0},t=this._campaignV1.validation.validateCampaign(!0),n=0;n<t.length;n++)r=t[n].result,u=t[n].responseAccepted,r||(this._validationErrors.push({controlId:t[n].element,messages:t[n].messages}),i.passedValidation=!1),u||(i.passedAcceptance=!1);return i},n.prototype.getUserResponses=function(){var r={},t,n,i;if(this._design.hasOwnProperty("fields")&&this._design.fields!==null)for(t=0;t<this._design.fields.length;t++)n=this._design.fields[t],i=null,i=n.fieldValue!==null&&n.fieldValue.length>0?new Function("value","container",n.fieldValue.replace(/\\"/g,'"'))(this._campaignV1.helpers.getElementValue(n.elementId),$(this._settings.containerSelector)):this._campaignV1.helpers.getElementValue(n.elementId),r[n.name]=i;return r},n.prototype.getDataFieldDependancies=function(){return this._design.dependancies||[]},n.prototype.setProcessed=function(n){this._processed=n;this._campaignV1.setProcessedFlag(n)},n.prototype.setPositiveResponse=function(n){this._isPositiveResponse=n},n.prototype.setUserProfile=function(n){this._userProfile=n},n.prototype.getCampaignV1=function(){return this._campaignV1},n.prototype.getSettings=function(){return this._settings},n.prototype.getUser=function(){return this._user},n}(),Campaign2DefaultRenderer=function(){function n(n,t){this._manager=n;this._user=t}return n.prototype.render=function(n,t){var i,r,u;$(t).empty();for(i in n)r=n[i],u=this.createElement(r,$(t),this._user),$(t).append(u)},n.prototype.getHtmlTags=function(n){var t=null;switch(n){case"container":t="fieldset";break;case"label":t="label";break;case"span":t="span";break;case"div":t="div";break;case"radiobuttonlist":case"checkboxlist":t="div";break;case"paragraph":t="p";break;case"image":t="img";break;case"anchor":t="a";break;case"heading1":case"heading2":case"heading3":case"heading4":case"heading5":t="h"+n.substr(7);break;case"dropdownlist":t="select";break;case"textbox":case"checkbox":case"radio":case"telephone":t="input";break;case"textarea":t="textarea";break;default:return}return"<{element}><\/{element}>".replace(/{element}/g,t)},n.prototype.appendOptions=function(n,t){var i,e,r,h;if(n.options){t.addClass("select-type-container");var y=0,u=null,c=2;n.numberOfColumns!==undefined&&!isNaN(n.numberOfColumns)&&n.numberOfColumns>0&&(c=n.numberOfColumns);var p=Math.ceil(n.options.length/c),l=n.questionBlockFieldId,f=this._manager==null?null:this._manager.getUserFieldValues(),a=!1;for(n.options.length==2&&n.options[0].text.toLowerCase().indexOf("yes")==0&&n.options[1].text.toLowerCase().indexOf("no")==0&&(a=typeof SwitchOnYesNoButtonTest!="undefined"&&SwitchOnYesNoButtonTest==!0,n.options[0].text="Yes",n.options[1].text="No"),i=0;i<n.options.length;i++){if(e=!1,f!=null&&!isNaN(l)&&l>0)for(r=0;r<f.length;r++)if(f[r].fieldValueIds!=null&&f[r].fieldValueIds.indexOf(n.options[i].value)>-1){e=!0;break}if(n.typeName=="dropdownlist")t.append('<option value="'+n.options[i].value+'" '+(e?'selected="selected"':"")+">"+n.options[i].text+"<\/option>");else{(i==0||u.children().length==p)&&(u=$("<fieldset class='column'><\/fieldset>"),t.append(u));var o="",s="",v="";n.typeName=="checkboxlist"?(s="item-checkbox",o="checkbox",t.addClass("checkbox-list")):(s="item-radio",o="radio",v="radiogroup",t.addClass("radio-list"),a&&t.addClass("yes-no-buttons"));h=n.id+"_"+ ++y;u.append('<div class="option-container '+s+' nopadding" role="'+v+'"><input id="'+h+'" type="'+o+'" role="'+o+'"name="'+n.name+'" value="'+n.options[i].value+'" '+(e?'checked="checked"':"")+' /><label class="radioButtonLabel" for="'+h+'">'+n.options[i].text+"<\/label><\/div>")}}t.append("<div class='clear'><\/div>")}},n.prototype.renderImage=function(n,t){t.attr("src",n.source);n.width&&t.width(n.width);n.height&&t.height(n.height);n.alternateText&&t.attr("alt",n.alternateText)},n.prototype.createElement=function(n,t,i){var s=this.getHtmlTags(n.typeName),r=$(s),u,f,e,o;if(r.attr("id",n.id),r.attr("canHaveChildren",n.canHaveChildren),n.css)for(u in n.css)r.css(u,n.css[u]);if(f=n.innerHtml,f&&r.html(unescape(f)),(n.typeName=="heading4"||n.typeName=="heading3"||n.typeName=="container"||n.typeName=="paragraph")&&(e="",i.telephoneNumbers&&i.telephoneNumbers.length>0&&(e=i.telephoneNumbers[0].Number),r.html(r.html().replace(/\$\$FirstName\$\$/g,i.firstName).replace(/\$\$LastName\$\$/g,i.lastName).replace(/\$\$Title\$\$/g,i.title).replace(/\$\$Email\$\$/g,i.email).replace(/\$\$City\$\$/g,i.city).replace(/\$\Telephone\$\$/g,e))),(n.typeName=="heading4"||n.typeName=="heading3"||n.typeName=="paragraph")&&r.attr("tabindex",0),n.children)for(o in n.children)this.createElement(n.children[o],r,i);return n.options&&this.appendOptions(n,r),n.value&&r.val(n.value),n.typeName=="image"&&this.renderImage(n,r),["textarea","textbox","checkbox","radio","dropdownlist"].indexOf(n.typeName)>-1&&this.setupInput(n,r,i,t),n.typeName=="telephone"&&(r=this.setupTelephone(n,r,i,t)),n.typeName=="container"&&r.addClass("element-container"),t&&(n.typeName=="dropdownlist"&&(r=this.setupDropdownlist(n,r,t)),t.append(r)),r},n.prototype.setupDropdownlist=function(n,t){t.addClass("select-type-ddl");var i=$('<div class="ddl-label"><\/div>');return i.append(t),i},n.prototype.setupTelephone=function(n,t,i,r){var f=null,u,e,o;if(i.telephoneNumbers!==undefined&&i.telephoneNumbers.length>0)if(n.allowLandline&&n.allowMobile)f=i.telephoneNumbers[0];else if(n.allowLandline){for(u=0;u<i.telephoneNumbers.length;u++)if(i.telephoneNumbers[u].NumberType=="LANDLINE"){f=i.telephoneNumbers[u];break}}else for(u=0;u<i.telephoneNumbers.length;u++)if(i.telephoneNumbers[u].NumberType=="MOBILE"){f=i.telephoneNumbers[u];break}return n.prePopulate?(f!=null&&t.val(f.Number),t):(n.hideIfValid&&f!==null&&f.IsValid===!0?(r.hide(),n.isvalid=!0):n.hideIfValid&&t.val(null),t.attr("type","tel"),n.prePopulate||f==null)?t:(e=$('<div class="row"><div class="col-xs-6 col-md-8 telephone-placeholder"><\/div><div class="col-xs-6 col-md-4 telephone-reuse-button"><\/div><\/div>'),e.find(".telephone-placeholder").append(t),o=$('<a class="btn btn-success" href = "#"><\/a>').data("telephone",f.Number).click(function(n){n.preventDefault();$(this).closest(".row").find(".telephone-placeholder input").val($(this).data("telephone"))}).text("USE "+f.Number),e.find(".telephone-reuse-button").append(o),e)},n.prototype.setupInput=function(n,t){n.name!==null&&n.name!="null"?t.attr("name",n.name):t.attr("name",n.id);n.typeName=="textbox"?t.attr("type","text"):n.typeName=="checkbox"?t.attr("type","checkbox"):n.typeName=="radiobutton"&&t.attr("type","radio")},n}(),Campaign2RegistrationRenderer=function(n){function t(t,i){return n.call(this,t,i)||this}return __extends(t,n),t.prototype.getHtmlTags=function(t){var i=null;switch(t){case"label":case"heading1":case"heading2":case"heading3":case"heading4":case"heading5":i="label";break;case"container":return'<div class="form-group"><\/div>';default:return n.prototype.getHtmlTags.call(this,t)}return"<{element}><\/{element}>".replace(/{element}/g,i)},t.prototype.setupDropdownlist=function(n,t){return t.addClass("form-control"),t},t.prototype.setupInput=function(t,i,r,u){var e,f;if(n.prototype.setupInput.call(this,t,i,r,u),i.addClass("form-control"),e=!1,t.rules!=null){for(f=0;f<t.rules.length;f++)t.rules[f].rule=="required"&&(e=!0);e&&i.attr("required","required")}},t}(Campaign2DefaultRenderer),Campaign2DefaultProcessor=function(){function n(n){this._campaign=n}return n.prototype.submitLead=function(n,t){var i=this,r,u;t===undefined||t==null||isNaN(t)?this._campaign.getCampaignV1().helpers.callServer("process",JSON.stringify(n),i._campaign.getSettings().processAsynchronously,function(){i._campaign.setProcessed(!0);var n=i._campaign.getSettings();if(n.events!==undefined&&typeof n.events.onProcessed=="function")n.events.onProcessed(i._campaign.getCampaignV1(),n.containerSelector)},3):(r=i._campaign.getSettings(),u=i._campaign.getCampaignV1(),this._campaign.getCampaignV1().helpers.callServer("process-call",JSON.stringify(n),this._campaign.getSettings().processAsynchronously,function(n){if(i._campaign.setProcessed(!0),n.UserProfile!=null&&i._campaign.setUserProfile(n.UserProfile),n!==null&&n.PyraleadsResponse!=null&&n.PyraleadsResponse.length>0){var t=$("body");t.append("<div class='claim-ppi-modal modal fade'><div class='modal-dialog'><div class='modal-content' style='text-align:center'><div class='modal-header'><a class='close' data-dismiss='modal'>×<\/a><\/div><img src='https://cdn.marketingpunch.co.uk/questionblock/logo/4108.jpg' /> <h2 style='font-size: 48px;color:#6F9DD3;text-align:center;padding-bottom: 0;font-weight: bold;'>Free Online PPI Check!<\/h2><p style='font-size: 32px;color: #6B6F71;font-weight: bold;'>No phone calls<br />No account details needed.<\/p><p>This will only take a minute<\/p><p><a href=\""+n.PyraleadsResponse+'" target=_blank class="btn btn-primary" style=\'font-size:20px;font-weight:bold;\'>Click here for your free check<\/a><\/p><p><small>F.C.A.S website will open in a new tab<\/small><\/p><\/div><\/div><\/div>');$(".claim-ppi-modal").modal({backdrop:"static",keyboard:!1});setTimeout(function(){$(".claim-ppi-modal").modal("hide")},15e3)}else if($(".claim-ppi-modal").modal("hide"),r.events!==undefined&&typeof r.events.onProcessed=="function")r.events.onProcessed(u,r.containerSelector,!0)},1))},n}(),Campaign2RegistrationProcessor=function(n){function t(t){return n.call(this,t)||this}return __extends(t,n),t.prototype.submitLead=function(n){var i=$("#fld"+this._campaign.getSettings().versionId),t;if(i.val(JSON.stringify(n)),this._campaign.setProcessed(!0),t=this._campaign.getSettings(),t.events!==undefined&&typeof t.events.onProcessed=="function")t.events.onProcessed(this._campaign.getCampaignV1(),t.containerSelector)},t}(Campaign2DefaultProcessor),postcodeRegexGB=/^([a-zA-Z]){1}([0-9][0-9]|[0-9]|[a-zA-Z][0-9][a-zA-Z]|[a-zA-Z][0-9][0-9]|[a-zA-Z][0-9]){1}([ ])*([0-9][a-zA-z][a-zA-z]){1}$/,postcodeRegexFR=/^[0-9]{5}$/,postcodeRegexAUNZ=/^[0-9]{4}$/,postcodeRegexNL=/^[0-9]{4} [a-zA-z]{2}$/;/iphone|ipod|ipad.*os 5/gi.test(navigator.appVersion)&&(window.onpageshow=function(n){n.persisted&&(document.body.style.display="none",location.reload())});window.console||(window.console={log:function(){}});var ValidationError=function(n,t,i){this.messages=n;this.controlId=t;this.campaignName=i},_dependancyControls={title:{className:"lgc-title-control",placement:null,order:1,complete:!1},firstname:{className:"lgc-firstname-control",placement:null,order:2,complete:!1},lastname:{className:"lgc-lastname-control",placement:null,order:3,complete:!1},address1:{className:"lgc-address1-control",placement:null,order:4,complete:!1},city:{className:"lgc-city-control",placement:null,order:5,complete:!1},county:{className:"lgc-county-control",placement:null,order:6,complete:!1},postcode:{className:"lgc-postcode-control",placement:null,order:7,complete:!1},dob:{className:"lgc-dob-control",placement:null,order:8,complete:!1},telephone:{className:"lgc-telephone-control",placement:null,order:9,complete:!1},landline:{className:"lgc-landline-control",placement:null,order:10,complete:!1},mobile:{className:"lgc-mobile-control",placement:null,order:11,complete:!1}},CampaignManager=function(n){var t=$.extend({renderer:"default",processor:"default",campaigns:[],campaignNames:[],user:{userId:0,firstName:"Guest",lastName:"Lastname",title:"Mr",email:"offerx@example.com",telephone:"",countryCode:"GB",city:"your city",fieldValues:[]},containerSelector:"body",authID:"fldQuestionBlock",events:{onRendered:function(){},onTriggerEventComplete:function(){},onControlBlur:function(){},onScroll:function(){},onBeforeAutoProcess:function(){return!0},onProcessing:function(){return},onProcessed:function(){},onValidationFailed:function(n,t){r.displayValidationErrors(n,t)}},requiresMobile:!1,rejectCampaignIfValidationFails:!1,optinControlLayout:"default",processAsynchronously:!1,delayLeadApproval:!1,enableRecordingInteractions:!1},n),i=[],u=[],f=!1,e=!1,r;return t.authID.indexOf("#")==-1&&(t.authID="#"+t.authID),r={getCampaigns:function(){return i},getCampaignV2s:function(){return u},registerEvent:function(n,i,r){var u=r?undefined:t.events[n];t.events[n]=function(){typeof oldEvent!="undefined"&&u();i()}},loadCampaigns:function(){try{var n=this,s=function(e){var c,s,h,l;for(log("-- Campaigns received --"),c=e,s=0;s<c.length;s++)if(h=c[s],h!==undefined&&h!==null){h=JSON.parse(h);l=t.containerSelector+t.campaigns[s];log("Register campaign: "+t.campaigns[s]);var a=t.campaignNames.length==0?"":t.campaignNames[s],v={versionId:t.campaigns[s],index:s,campaign:h,user:t.user,containerSelector:l,authID:t.authID,requiresMobile:t.requiresMobile,events:t.events,autoProcessCampaignOnInput:t.autoProcessCampaignOnInput,rejectCampaignIfValidationFails:t.rejectCampaignIfValidationFails,optinControlLayout:t.optinControlLayout,campaignName:a,processAsynchronously:t.processAsynchronously,delayLeadApproval:t.delayLeadApproval,onControlValueChange:function(t){n.updateDependancies(t)},manager:r,enableRecordingInteractions:t.enableRecordingInteractions},o=new Campaign(v);o.index=s;o.oldProcess=o.process;typeof Campaign2!="undefined"&&u.push(new Campaign2(o,o.getCampaign(),r,{autoProcessingEnabled:o.getSettings().autoProcessingEnabled,processAsynchronously:o.getSettings().processAsynchronously,delayLeadApproval:o.getSettings().delayLeadApproval,versionId:o.getSettings().versionId,authId:o.getSettings().authId,events:o.getSettings().events,containerSelector:o.getSettings().containerSelector,campaignName:o.getCampaignName(),dependancyControls:_dependancyControls,user:o.getSettings().user,renderer:t.renderer,processor:t.processor}));o.process=function(n,t){if(u.length>0)u[this.index].process(n,t);else return this.oldProcess(n,t)};o.oldRender=o.render;o.render=function(){if(u.length>0)u[this.index].render();else return this.oldRender()};i.push(o)}$.isReady?n.renderCampaigns():$(function(){n.renderCampaigns()});f=!0},h=function(){e||(e=!0,log("-- Campaign load failed Retrying... --"),n.loadCampaigns())};log("-- Request campaigns --");t.campaigns.length>0?this.callServer("versions/get",JSON.stringify(t.campaigns),!0,s,h):f=!0}catch(o){log("Error occured whilst requesting campaigns: "+o.message);this.logException(o)}},renderCampaigns:function(){log("-- Start rendering campaigns --");for(var n=0;n<i.length;n++)try{log("Rendering campaign: "+i[n].getVersionId());i[n].render();log("Rendered campaign: "+i[n].getVersionId())}catch(r){log("Rendering failed for campaign: "+i[n].getVersionId());this.logException(r,i[n].getVersionId())}log("-- Campaigns rendered --");typeof t.events.onRendered=="function"&&(log("Fire onrendered"),t.events.onRendered())},getMissingDataFieldsForUser:function(){var r={title:!1,firstname:!1,lastname:!1,address1:!1,city:!1,county:!1,postcode:!1,telephone:!1,landline:!1,mobile:!1,dob:!1},n,u,f,i;for(n in r){if(n=="telephone"){r[n]=t.user.telephoneNumbers.length==0;continue}if(n=="landline"){for(u=!1,i=0;i<t.user.telephoneNumbers.length;i++)t.user.telephoneNumbers[i].NumberType=="LANDLINE"&&(u=!0);r[n]=!u;continue}if(n=="mobile"){for(f=!1,i=0;i<t.user.telephoneNumbers.length;i++)t.user.telephoneNumbers[i].NumberType=="MOBILE"&&(f=!0);r[n]=!f;continue}if(n=="firstname"||n=="lastname"){r[n]=t.user[n.replace("n","N")]==""||t.user[n.replace("n","N")]==null;continue}(t.user[n]==""||t.user[n]==null)&&(r[n]=!0)}return r},updateDependancies:function(n){var f=function(n,t){var u=t.getContainerId(),e=_dependancyControls[n],o=$("."+e.className),r,f;if(!e.complete&&o.length>0&&(r=null,e.placement==null||!o.is(":visible"))){for(f in _dependancyControls)_dependancyControls[f].placement==u&&e.order<_dependancyControls[f].order&&(r==null||_dependancyControls[f].order<r.order)&&(r=_dependancyControls[f]);r==null?($(u).append(o.show()),$(u).find(".manual-processing-trigger").remove(),$(u).append($("<a class='manual-processing-trigger submit' href='#'>"+(user.countryCode=="FR"?"VALIDER":"Ok")+"<\/a>").click(function(n){var r,t;n.preventDefault();r=$.grep($(this).parents(".question-blocks").attr("class").split(" "),function(n){return n.indexOf("qb")==0})[0].substr(2);for(t in i)if(i[t].getVersionId()==r){i[t].process();break}}))):($("."+r.className).before(o.show()),$("."+r.className).find(".manual-processing-trigger").remove(),$(u).append($("<a class='manual-processing-trigger submit' href='#'>"+(user.countryCode=="FR"?"VALIDER":"Ok")+"<\/a>").click(function(n){var r,t;n.preventDefault();r=$.grep($(this).parents(".question-blocks").attr("class").split(" "),function(n){return n.indexOf("qb")==0})[0].substr(2);for(t in i)if(i[t].getVersionId()==r){i[t].process();break}})));_dependancyControls[n].placement=u}},e=function(n){var i=n.getContainerId(),t;for(t in _dependancyControls)_dependancyControls[t].placement==i&&($("form").append($("."+_dependancyControls[t].className).hide()),_dependancyControls[t].placement=null)},o=this.getMissingDataFieldsForUser(),r=function(n){for(var i=n.getDataFieldDependancies(),t=0;t<i.length;t++)o[i[t]]&&(n.processAcceptance().positiveResponse===!0?n.hasBeenTouched()&&f(i[t],n.getCampaignV1()):e(n.getCampaignV1()))},u=this.getCampaignV2s(),t;for(r(n),t=0;t<u.length;t++)r(u[t])},validateDependancies:function(){var e=t.user.countryCode,v=[],f,i,h,n,c,o,l,a,u,s,y,p,w;for(f in _dependancyControls)if(i=!1,h=_dependancyControls[f],h.placement!=null){n=$("."+h.className);n.find(".dynamic-error-box").remove();switch(f){case"title":for(c=e=="FR"?["M.","Melle","Mme"]:["Mr","Miss","Mrs","Ms"],o=0;o<c.length;o++)n.find(":input").val()==c[o]&&(i=!0);break;case"firstname":case"lastname":case"city":case"county":i=n.find(":input").val().length>2;break;case"address1":i=n.find(":input").val().length>0;break;case"postcode":switch(e){case"GB":i=postcodeRegexGB.test(n.find(":input").val());break;case"AU":case"NZ":i=postcodeRegexAUNZ.test(n.find(":input").val());break;case"FR":i=postcodeRegexFR.test(n.find(":input").val());break;case"NL":i=postcodeRegexNL.test(n.find(":input").val())}break;case"telephone":case"landline":case"mobile":l=!0;a=!0;f=="landline"&&(a=!1);f=="mobile"&&(l=!1);i=!0;u=n.find("input").val();u[0]=="0"&&(u=u.substr(1));s=r.helpers.getTelephoneValidationRules(e,u);u=s[0];y=s[1];p=s[2];i=p.test(u)?a:y.test(u)?l:!1;break;case"dob":var b=n.find(".birthday").val(),k=n.find(".birthmonth").val(),d=n.find(".birthyear").val();i=b.length>0&&k.length>0&&d.length>0}i||(v.push(f),w=e=="NL"?"Vul alstublieft uw gegevens in":"Please complete your details",n.prepend("<div class='dynamic-error-box' style=\"font-family:Tahoma;font-weight:bold;font-size:9pt;margin-bottom:3px;border:solid 1px #8C0000;background:#FFBFBF;padding:2px 5px;\">"+w+"<\/div>"))}return v},processCampaigns:function(){var u,o,s,n,e;if(!f)return!1;u=[];o=0;try{for($(".dynamic-error-box").remove(),$(".invalid-campaign-control").removeClass("invalid-campaign-control"),n=0;n<i.length;n++)if(s=$(i[n].getContainerId()).find(".process-claim:visible").length>0?0:null,i[n].process(!1,s)||i[n].hasBeenProcessed()){if(o++,s!=null){$(i[n].getContainerId()).hide();$(i[n].getContainerId()).parent().append("<p style='text-align:center;font-size:14px'>Thank you, we are processing your answers, please wait...<\/p>");return}}else u=u.concat(i[n].validation.getValidationErrors());if(typeof Page_ClientValidate=="function")for(Page_ClientValidate(),n=0;n<Page_Validators.length;n++)e=Page_Validators[n],e.isvalid||u.push(new ValidationError([e.errormessage],e.id,""));if(u.length>0)if(t.events.onValidationFailed==undefined||typeof t.events.onValidationFailed!="function")this.displayValidationErrors(u,t.user);else t.events.onValidationFailed(u,t.user)}catch(h){r.logException(h)}return o==i.length&&u.length==0},displayValidationErrors:function(n,t){var r="",i,u;switch(t.countryCode){case"NL":r="Beantwoord de volgende vragen astublieft: \n";break;default:r="Please answer the following questions: \n"}for(i=0;i<n.length;i++)for(u=0;u<n[i].messages.length;u++)r+='"'+n[i].messages[u]+'"\n';try{$([document.documentElement,document.body]).animate({scrollTop:$("#"+n[0].controlId).closest(".campaign-question").offset().top},1e3);alert(r)}catch(f){}},callServer:function(n,t,i,r,u){i||(i=!1);var f=function(n,t,r){if(log("AJAX RESPONSE DETAILS: "+n.responseText),!i)throw new Error(t+" \n"+r.name+" \n"+n.responseText);u&&u()},e=function(t){log("AJAX: "+n+". result: Network ok");r&&r(t)};$.ajax({type:"POST",url:"/api/question-blocks/"+n,data:t,contentType:"application/json; charset=utf-8",async:i,dataType:"json",success:e,error:f})},logException:function(n,t){t||(t="");var i="",r="";n.hasOwnProperty("description")&&(i=n.description);n.hasOwnProperty("stack")&&(r=n.stack);this.callServer("exception/log",JSON.stringify({url:window.location.href,type:n.name,description:i,stackTrace:r,message:n.message+", version: "+t}),!0,null)},getUserFieldValues:function(){return t.user.fieldValues}},r.loadCampaigns(),r},Browser={Version:function(){var n=999;return navigator.appVersion.indexOf("MSIE")!=-1&&(n=parseFloat(navigator.appVersion.split("MSIE")[1])),n}},Campaign=function(n){var o=n.versionId,h=n.index,f=n.campaign,u=n.user,t=n.containerSelector,e=n.authID,y=n.requiresMobile,r=n.events,c=n.autoProcessCampaignOnInput,g=n.rejectCampaignIfValidationFails,nt=n.optinControlLayout,p=n.campaignName,w=n.processAsynchronously,b=n.delayLeadApproval,s=n.onControlValueChange,k=n.manager,tt=n.enableRecordingInteractions;u||(u={userId:0,firstName:"Guest",lastName:"Lastname",title:"Mr",email:"offerx@example.com",telephone:"",countryCode:"GB",city:"your city"});var l=!1,a=[],d=null,v=!1,i={getManager:function(){return k},getVersionId:function(){return o},getAnswerIdentifier:function(){return $(e).val().split(".")[h]},getAnswerId:function(){return $(e).val().split(".")[h].split("-")[1]},getContainerId:function(){return t},getCampaign:function(){return f},getSettings:function(){return{autoProcessingEnabled:c,processAsynchronously:w,delayLeadApproval:b,versionId:o,authId:e,events:r,containerSelector:t,campaignName:this.getCampaignName(),user:u}},getCampaignName:function(){return p},hasBeenTouched:function(){return v},getDataFieldDependancies:function(){return f.dependancies||[]},helpers:{getElementValue:function(n){var r=null,e=function e(n,t){var i,r;for(i in t){if(t[i].id==n)return t[i];if(t[i].children&&(r=e(n,t[i].children),r))return r}},i=e(n,f.elements),u,o;if(i!==undefined)switch(i.typeName){case"radiobuttonlist":case"optincontrol":r=$(t).find("#"+i.id+" input:checked").val()||"";break;case"checkboxlist":u="";o=$(t).find("#"+i.id+" input:checked");o.each(function(){u+=this.value+","});r=u.substring(0,u.length-1);break;case"checkbox":r=$(t).find("#"+i.id).prop("checked")?i.checkedValue:i.uncheckedValue;break;default:r=$(t).find("#"+i.id).val()||""}return r},callServer:function(n,t,i,r,u){var f,e,o;for(i||(i=!1),f=0,u||(u=0);f<=u;)if(e=function(t,r,e){if(log("AJAX: "+n+". result: Network error. Attempt number "+f+" of "+u),f+1>=u&&!i)throw new Error("Attempt "+f+" \n"+r+" \n"+e.name+" \n"+t.responseText);},o=function(t){log("AJAX: "+n+". result: Network ok");u=-1;r&&r(t)},$.ajax({type:"POST",url:"/api/question-blocks/"+n,data:t,contentType:"application/json; charset=utf-8",async:i,dataType:"json",success:o,error:e}),f++,i)break},logException:function(n){var t="",i="";n.hasOwnProperty("description")&&(t=n.description);n.hasOwnProperty("stack")&&(i=n.stack);this.callServer("exception/log",JSON.stringify({url:window.location.href,type:n.name,description:t,stackTrace:i,message:n.message+", version: "+o}),!0,null)},getTelephoneValidationRules:function(n,t){switch(n){case"gb":return["+44"+t,/^\+44((2\d\s?\d{4}\s?\d{4})|(1\d{2}\s?\d{3}\s?\d{4})|(1\d{3}\s?\d{5,6})|(1\d{4}\s?\d{4,5}))$/,/^\+447\d{9}$/];case"au":return["+61"+t,/^\+61[2|3|7|8]\d{8}$/,/^\+614\d{8}$/];case"nz":return["+64"+t,/^\+64[3|4|6|7|9]\d{7}$/,/^\+64[2]\d{7,9}$/];case"es":return["+34"+t,/^\+34[8|9]\d{8}$/,/^\+34[6|7]\d{8}$/];case"fr":return["+33"+t,/^\+33[1-5]\d{8}$/,/^\+33[6|7]\d{8}$/];case"nl":return["+31"+t,/^\+31[1|2|3|4|5|7]\d{8}$/,/^\+31[6]\d{8}$/];default:return[t,/"^[\d -+()]{5,12}$/,/"^[\d -+()]{5,12}$/]}}},recordInteractions:{init:function(n){function i(){v=!0;n.setHasBeenTouched(!0)}var r=$(t);r.delegate("input:text","change, blur",function(){i(this);s(n)},function(){i(this);s(n)});r.find("input:radio,input:checkbox").bind("click",function(){i(this);s(n)});r.find("select").bind("change",function(){i(this);s(n)})}},pageEvents:{init:function(){if(r!==undefined){if(typeof r.onControlBlur=="function"){var n=$(t);n.find("input").bind("blur",function(){r.onControlBlur(i)});n.find("select").bind("blur",function(){r.onControlBlur(i)})}typeof r.onScroll=="function"&&$(window).scroll(function(){r.onScroll(i)})}}},validation:{validationRules:{required:function(n,t){return(n=$(n),t.typeName=="radiobuttonlist"||t.typeName=="checkboxlist"||t.typeName=="optincontrol")?n.find("input:checked").length>0:t.typeName=="checkbox"||t.typeName=="radiobutton"?n.is(":checked"):n.val()!==null&&n.val().length>0},validateTelephoneNumberIfEntered:function(n,t,i,r){return(n=$(n),n.val().length>0)?this.validateTelephoneNumber(n,t,i,r):!0},validateTelephoneNumber:function(n,t,r,u){var s,c,l;n=$(n);var h=function(){var f=[!0,!0],o=function(n){f=n};try{u&&i.helpers.callServer("validate-telephone",'{ element: "'+JSON.stringify(t).replace(/\"/g,'\\"')+'",  number: "'+n.val()+"\", auth: '"+$(e).val()+"', countryCode: \""+r.countryCode+'" }',!1,o,3)}catch(s){i.helpers.logException(s);f=[!0,!0]}finally{return f}},f=n.val(),o=r.countryCode.toLowerCase();return((o=="gb"||o=="au"||o=="fr"||o=="nz"||o=="nl")&&f.indexOf("0")==0&&(f=f.substr(1)),s=i.helpers.getTelephoneValidationRules(o,f),f=s[0],c=s[1],l=s[2],l.test(f))?t.allowMobile?h():!1:c.test(f)?t.allowLandline?h():!1:!1}},validateCampaign:function(n){var t=[],r,i;for(r in f.elements)i=this.validateElement(f.elements[r],n),i!==null&&(t=t.concat(i));return t},validateElement:function(n,r){var f,o,y,h,v,p,s,c,w,b,l,e,a;if(n!==null)try{if(f=null,y=function(n){return $(n).is(":visible")&&o.parents().filter(function(){return $(this).css("visibility")=="hidden"}).length==0},n.hasOwnProperty("rules")&&n.rules!==null)for(f=[{element:n.id,result:!0,responseAccepted:!0,messages:[]}],h=$.extend(!0,[],n.rules),v=0;h.length>0;){for(p=$.grep(h,function(n){return n.precedence<=v}),e=0;e<p.length;e++)s=p[e],o=$(t).find("#"+n.id),c=!0,w=!0,o.parents().filter(function(){return $(this).css("visibility")!="hidden"}).length==0,s.custom?(b=new Function("domElement","jsonElement","user","fullLookup",s.rule),y(o)&&!b(o[0],n,u,r)&&(c=!1)):y(o)&&(l=this.validationRules[s.rule](o[0],n,u,r),typeof l=="object"?(c=l[0],w=l[1]):c=l),c||(f[0].result=!1,s.message!==null&&s.message.length>0&&f[0].messages.push(s.message)),w||(f[0].responseAccepted=!1);h=$.grep(h,function(n){return n.precedence>v});v++}if(n.canHaveChildren&&n.hasOwnProperty("children")&&n.children!==null)for(e=0;e<n.children.length;e++)a=this.validateElement(n.children[e],r),f===null&&a!==null?f=a:a!==null&&(f=f.concat(a))}catch(k){i.helpers.logException(k);f!==null&&(f=null)}finally{return f}},getValidationErrors:function(){return a},setValidationErrors:function(n){a=n}},triggers:{init:function(){var a=this,l=function(n,f){for(var a,s,h,c=0;c<n.triggers.length;c++){a=n.triggers[c];s="";switch(n.typeName){case"dropdownlist":s="change";break;case"radiobuttonlist":case"checkboxlist":s="clickchild";break;case"checkbox":s="click";break;case"optincontrol":s=y?"clickchild":"click";break;case"textbox":case"input":case"telephone":s="keyup";break;default:s="blur"}var v=s=="clickchild",l=function(){for(var y=n.triggers,v,l,h,a=0;a<y.length;a++){var f=y[a],s=i.helpers.getElementValue(n.id),c=!1;switch(f.type){case"hasvalue":c=s.toLowerCase()===f.value.toLowerCase();break;case"emptyorhasvalue":c=s.length==0||s.toLowerCase()===f.value.toLowerCase();break;case"emptyorcontainsvalue":c=s.length==0||s.toLowerCase().indexOf(f.value.toLowerCase())>-1;break;case"containsvalue":c=s.toLowerCase().indexOf(f.value.toLowerCase())>-1;break;case"containsreject":c=s.indexOf("{reject}")>-1;break;case"isempty":c=s.length==0;break;case"isnotempty":c=s.length>0;break;case"lengthgreaterthan":c=s.length>(isNaN(f.value)?99:parseInt(f.value));break;case"regex":c=new RegExp(f.value).test(s)}if(c)for(l=0;l<f.events.length;l++){h=f.events[l];navigator.appVersion.indexOf("MSIE 7.")!=-1&&$("#system").addClass("ie7");switch(h.action.toLowerCase()){case"show":$(t).find("#"+h.elementID).show();break;case"hide":$(t).find("#"+h.elementID).hide();break;case"processcampaign":i.process();break;case"popupiframe":window.open("/in/offers/popupiframe.ashx?aid="+escape($(e).val())+"&vid="+o,"targetWindow","toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes");break;case"call":$(t).children().hide();$(t).append("<div class='callStatus'>Please wait<\/div>");i.process(null,h.argument);break;case"linkout":v=h.argument;v=v.replace(/\$\$(.[^$]*)\$\$/g,function(n,t){switch(t){case"telephoneNumber":return u.telephoneNumbers!=null&&u.telephoneNumbers.length>0?u.telephoneNumbers[0].Number:"";case"transactionId":return i.getAnswerIdentifier();default:return u[t]}});window.open(v)}}else for(l=0;l<f.events.length;l++){h=f.events[l];switch(h.action.toLowerCase()){case"show":$(t).find("#"+h.elementID).fadeOut();break;case"hide":$(t).find("#"+h.elementID).fadeIn()}}}if(typeof r.onTriggerEventComplete=="function"){log("Fire trigger event complete");r.onTriggerEventComplete(i,t)}},h=$(t).find("#"+n.id);s=="clickchild"&&(h=h.find("input"),s="click");h.off(s,l).on(s,l);h.off("rendercomplete",l).on("rendercomplete",l)}f&&(h=$(t).find("#"+n.id),v&&(h=h.find("input"),s="click"),h.trigger("rendercomplete"))},n=function n(u){var f,e,o;if(u.hasOwnProperty("triggers")&&u.triggers!==null&&l(u,!0),c===!0){f="";switch(u.typeName){case"dropdownlist":f="change";break;case"checkbox":f="click";break;case"radiobuttonlist":f="clickchild";break;case"input":f="blur";break;default:f=""}f!=""&&(e=$(t).find("#"+u.id),f=="clickchild"&&(e=e.find("input"),f="click"),e.bind(f,function(){(r.onBeforeAutoProcess==undefined||r.onBeforeAutoProcess(i,t))&&i.process($(t).find(".manual-processing-trigger:visible").length>0)}))}if(u.children)for(o in u.children)n(u.children[o])},s,h;for(s in f.elements)h=f.elements[s],n(h)}},hasBeenProcessed:function(){return l},setProcessedFlag:function(n){l=n},isPositiveResponse:function(){return d}};return i}