var xe_core_js={"Version":3,"MinorVersion":0.120131};var XE=XE||{};XE.Constants={"XE_VERSION":"3","ITM_PREFIX":"item-","ITM_DESCRIP":"-descrip","ITM_QTY":"-quantity","ITM_PRICE":"-price","ITM_MARKDOWN":"-markdown","ITM_EXTPRICE":"-extprice","PGM_PREFIX":"program-","PGM_SELECTION":"selection","PLACEMENT_APPENDTO":0,"PLACEMENT_PREPENDTO":1,"PLACEMENT_BEFORE":2,"PLACEMENT_AFTER":3,"UPDATEFORM_TIMEOUT":20000,"PROCESSFORM_TIMEOUT":120000,"SENDALERT_TIMEOUT":25000,"GETCONFIG_TIMEOUT":120000,"GETCATALOG_TIMEOUT":120000,"GENERIC_SERVICE_TIMEOUT":55000,"INSTANCE_POLL_INTERVAL":3500,"SERVER_BOOLEAN_TRUE":"True","SERVER_BOOLEAN_FALSE":"False","PANELBUTTON_CLOSECLASS":"jqmClose","PAGEKEY_VIEWITEM":"viewitem","REQUESTKEY_PRODUCT":"p"};XE.Application=(function(){var d={};var e=null;var f=false;d.IsInitComplete=false;d.Fault=false;d.FaultFriendlyMessage="";d.FaultVerboseMessage="";d.PageType=null;d.PageSubType=null;d.InitCallback=null;d.BeforeValidation=null;d.AfterValidation=null;d.ShipCosts={};d.ShipCost="";d.ProcessFormInProgress=false;d.UpdateFormInProgress=false;d.UpdateFormPendingData="";d.SetInstanceId=function(){e='SPF'+d.RandomString();createCookie('SPFInstance',e)};d.CheckInstanceId=function(){if(readCookie('SPFInstance')!=e){clearInterval(d.PollInstanceId.Handle);XE.Panels.InitPanel('instanceexpiration').jqmShow()}};d.PollInstanceId=function(){d.PollInstanceId.Handle=setInterval(d.CheckInstanceId,XE.Constants.INSTANCE_POLL_INTERVAL)};d.RandomString=function(){return String((new Date()).getTime()).replace(/\D/gi,'')};d.RemoveLoadingMessageFrom=function(a){$('#'+a+' .xe-loader').remove()};d.SetUpdateFormLastSuccess=function(a,b){f=a;if(a){d.SetSubmitNotice('')}else{var c='An error on this form requires your attention';if(b){c+=': '+b}d.SetSubmitNotice(c)}};d.SetSubmitNotice=function(a){var b=$('#xe-submit');b.next('span').remove();if(!a||a==''){b.get(0).disabled=false}else{b.get(0).disabled=true;b.after($('<span id="xe-submit-notice"></span>').html(a))}};d.InitComplete=function(){XE.CleanupPage();$('.jqmWindowToBe').addClass('jqmWindow').removeClass('jqmWindowToBe');$('.jqmWindow').not('.xe-panel').addClass('xe-panel');$('.xe-paneltrigger-to-be').addClass('xe-paneltrigger').removeClass('xe-paneltrigger-to-be');d.PollInstanceId();d.IsInitComplete=true;if($.isFunction(XE.Application.InitCallback)){d.InitCallback()}return true};return d})();XE.Init=function(a,b){if(b){if($.isFunction(b)){XE.Application.InitCallback=b}else{if($.isFunction(b.InitCallback)){XE.Application.InitCallback=b.InitCallback}if($.isFunction(b.BeforeValidation)){XE.Application.BeforeValidation=b.BeforeValidation}if($.isFunction(b.AfterValidation)){XE.Application.AfterValidation=b.AfterValidation}}}if(a=='CheckoutForm'){XE.Application.PageSubType='CheckoutForm';a='OrderForm'}XE.Application.PageType=a;XE.Application.SetInstanceId();XE.Settings.StoreDev=((!readCookie('StoreDev'))?'':readCookie('StoreDev'));if(!XE.PreparePage(a)){return false}switch(a){case'OrderForm':XE.InitOrderForm();break;case'ProgramForm':XE.InitProgramForm();break;case'SomeOtherForm':XE.InitSomeOtherForm();break;default:XE.Fault('XE.Init did not recognize PageType '+a);return false}};XE.InitOrderForm=function(){XE.GetConfig(function(){XE.Panels.Init();XE.InsertContent();setTimeout(function(){XE.BuildForm(XE.Config.FormConfig);XE.InsertMenu();XE.InsertDiscountAnnouncements();setTimeout(function(){XE.Session.SetCallback(function(){XE.Catalog.SetCallback(function(){XE.Catalog.BuildProducts();XE.Catalog.BuildPrograms();setTimeout(function(){XE.InsertEnrollmentSwitcherWidget();XE.Session.ProcessSessionDetails({"blnOverwriteFields":true,"blnIsInit":true});XE.InsertSubmitButton('Place Order');XE.Application.InitComplete();if(XE.Session.HasSession()){itm_calc()}},50)})})},50)},50)});XE.Catalog.Load();XE.Session.Load()};XE.InitProgramForm=function(){XE.GetConfig(function(){XE.Panels.Init();XE.InsertContent();setTimeout(function(){XE.BuildForm(XE.Config.FormConfig);setTimeout(function(){XE.Catalog.SetCallback(function(){XE.Catalog.BuildPrograms();XE.InsertSubmitButton('Signup Now');XE.Application.InitComplete()})},100)},100)});XE.Catalog.Load()};XE.InsertSubmitButton=function(a){var b=$('<div id="xe-submit-container"></div>').appendTo($('#xe-finalize'));$('<input type="button" id="xe-submit" />').val(a).appendTo(b).click(function(e){e.preventDefault();XE.SubmitButtonClick()})};XE.SubmitButtonClick=function(){if(XE.Application.ProcessFormInProgress){return}else{XE.Application.ProcessFormInProgress=true}XE.Panels.InitPanel('formprocessor').jqmShow();setTimeout(XE.ProcessForm,100)};XE.PreparePage=function(d){var f=function(a,b,c){var j=$('#'+b,a);if(j.length!=1){if(j.length==0){j=$('<div id="'+b+'"></div>');if(c){j.insertAfter($('#'+c))}else{j.prependTo(a)}}}return true};var g=function(a,b){var j=$('#'+b,a);if($('.xe-loader',j).length==0&&!j.hasClass('xe-no-loader')){$('<p class="xe-loader">loading...</p>').hide().appendTo(j).fadeIn(2000)}};if($('div#xe').length!=1){XE.Fault('div#xe is missing, cannot build page!');return false}var h=$('div#xe:first');$('#xe-noscript').remove();$('#xe').show();h.addClass('xe-'+d.toLowerCase());h.wrap('<form id="xe-form" style="margin:0; padding:0;"></form>');XE.Form=document.getElementById('xe-form');$(XE.Form).submit(function(){return(false)});var k,arrToAddLoaders;if(d=='OrderForm'){k=['xe-menu','xe-discount-announcements','xe-welcome','xe-billing','xe-shipping','xe-catalog','xe-programs','xe-ordernotices','xe-shipselection','xe-ordersummary','xe-payment','xe-orderoptions','xe-registration','xe-finalize'];arrToAddLoaders=['xe-billing','xe-shipping','xe-catalog','xe-programs','xe-payment','xe-orderoptions']}else if(d=='ProgramForm'){k=['xe-billing','xe-shipping','xe-programs','xe-ordernotices','xe-payment','xe-orderoptions','xe-finalize'];arrToAddLoaders=['xe-billing','xe-shipping','xe-programs','xe-payment','xe-orderoptions']}$.each(k,function(i,e){f(h,k[i],((i>0)?k[i-1]:null))});$.each(arrToAddLoaders,function(i,e){g(h,e)});if($('#xe-panels').length<1){$('body').prepend('<div id="xe-panels" style="margin:0;padding:0;border:0;"></div>')}return true};XE.EnsureDiv=function(a){if($('#'+a).length<1){$('<div id="'+a+'" />').appendTo($('#xe'))}};XE.CleanupPage=function(){$('.xe-loader').remove();if($('#xe-orderoptions input, #xe-orderoptions textarea, #xe-orderoptions select').length==0){$('#xe-orderoptions').remove()}if($('#xe-programoptions input, #xe-programoptions textarea, #xe-programoptions select').length==0){$('#xe-programoptions').remove()}XE.Catalog.DeleteXml()};XE.GetConfig=function(f,g){function requestConfig(){$.ajax({url:XE.GetResourceUrl('service','GetStoreConfig'+(g||''))+'&'+XE.Session.BaseParams(),type:'GET',dataType:'json',timeout:XE.Constants.GETCONFIG_TIMEOUT,error:configFailure,success:configSuccess})};function configSuccess(a){XE.Config=a.XEConfig;if(XE.Config.Errors.length>0){var b='Sorry, this page is not available right now. It may be undergoing maintenance, so please try again in a moment. If the problem persists, please contact us for more assistance.';XE.Fault(b,XE.Config.Errors[0]);return false}if(XE.Config.AlternateBody){XE.DisplayAlternateBody(XE.Config.AlternateBody);return(false)}f()};function configFailure(a,b,c){var d=XE.IsUserAbortedError(this,a,b,c);var e='Sorry, this page is not available right now. It may be undergoing maintenance, so please try again in a moment. If the problem persists, please contact us for more assistance.';XE.Fault(e,XE.GetAjaxFailureMessage(this,a,b,c),d)};if($.isFunction(f)){requestConfig()}};XE.GetProcessFormData=function(){var e,strValue,f=XE.Form;var a=XE.Session.BaseParams();for(var i=0;i<f.length;i++){e=f.elements[i];if(e.name){strValue=$(e).val().replace(/\r?\n/g,"\r\n");strValue=encodeURIComponent(strValue);if((e.type=='radio')||(e.type=='checkbox')){if(e.checked){a+='&'+e.name+'='+strValue}}else{a+='&'+e.name+'='+strValue}}}return a};XE.ProcessForm=function(){if(!XE.Application.IsInitComplete||XE.Application.Fault){alert('Cannot process form: either the page is still loading, or some other unexpected error is preventing this action.');return}function processFormSuccess(a){var b=$('ReturnStatus',$(a)).eq(0).text();var c;var d=$('RedirectUrl',$(a));if(d.length>0){window.location=d.text();return}if(b=='0'){XE.ValidationAlerter(KDS.Validation.TrimErrorMessages(XE.GetErrorMessagesFromXml(a),4));return}else{XE.Panels.GetPanel('formprocessor').jqmHide();XE.ThankYouPage(a)}};function processFormFailure(a,b,c){var d='Sorry, the server appears to be unavailable at the moment, or is experiencing some temporary technical difficulties. Please try again in a moment. If the problem persists, please refresh the page or try your order again later.';XE.Alert('Server Communication Error',d,XE.GetAjaxFailureMessage(this,a,b,c))};function processFormComplete(a,b){XE.Application.ProcessFormInProgress=false};function sendProcessFormRequest(a){XE.Application.ProcessFormInProgress=true;$.ajax({url:XE.GetResourceUrl('service',XE.Application.PageType+'Processor'),type:'POST',dataType:'xml',data:a,timeout:XE.Constants.PROCESSFORM_TIMEOUT,error:processFormFailure,success:processFormSuccess,complete:processFormComplete})};if(!XE.ValidateForm()){XE.Application.ProcessFormInProgress=false;return false}else{var e=XE.GetProcessFormData();sendProcessFormRequest(e)}};XE.InsertContent=function(){if(XE.Application.Fault||!XE.Config){return false}var b=XE.Config.PlacedContent;if(b){$.each(b,function(i,a){if(a.content&&a.placementselector){positionElement(jQueryFromHtml(a.content),$(a.placementselector),a.placementposition)}})}};XE.GetTopElement=function(){var a=$('#xe-form');if(a.length<1){a=$('#xe')}return a};XE.DisplayAlternateBody=function(a,b){if(!b){b='xe-alternatebody'}var c=XE.GetTopElement();var d=$('<div id="'+b+'" />').html(a).insertAfter(c);c.remove();$('#xe-panels').remove();$('.xe-panel').remove();scrollTo(0,0);d.height(d.height()-(-1))};XE.ThankYouPage=function(a){var b=null;var c=null;var d='';var e='';if($('OrderNumber',$(a)).length>0){b=$('OrderNumber',$(a)).eq(0).text()}if($('OrderTotal',$(a)).length>0){c=$('OrderTotal',$(a)).eq(0).text()}if($('NextUrl',$(a)).length>0){d=$('NextUrl',$(a)).eq(0).text()}else{e=$('ThankYouText',$(a)).eq(0).text()}if(d!=''){if(b){d+='?ordernumber='+b}window.location.href=d}else{if(c){e=e.replace(/\{\{OrderTotal\}\}/,c)}if(b){e=e.replace(/\{\{OrderNumber\}\}/,b)}var f=$('<div />').html(e);if(b){$('.xe-ordernumber',f).text(b)}XE.DisplayAlternateBody(f.children(),'xe-thankyou')}};XE.Fault=function(a,b,c){XE.Application.Fault=true;XE.Application.FaultFriendlyMessage=a;if(b){XE.Application.FaultVerboseMessage=b}if(readCookie('devcookie')){alert('YOU ARE A DEVELOPER: A Fault has occurred!\nFriendlyMessage:'+a+'\nVerboseMessage:'+b);alert('The page should be reloaded.');return}function myReportErrorCallback(){if(c){alert('Sorry, an unexpected error has occurred: '+a)}else{alert('Sorry, an unexpected error has occurred: '+a);alert('This error has been logged and will be looked into. Thank you for your patience, and please try again later.\n\nThe home page will now be displayed.')}window.location.href='/'};if(!c){XE.ReportError(a,b,myReportErrorCallback)}};XE.GetResourceUrl=function(a,b,c){if(XE.Settings.ProxyScript){return(XE.Settings.ProxyScript+'?XE_RESOURCE_TYPE='+a+'&XE_RESOURCE_ID='+b+(c?'&'+c:''))}else if(XE.Settings.ProxyPath){alert('Sorry, ProxyPath setting not yet supported; Please use ProxyScript for now!');return null}};

