(function(a){a.fn.wizard=function(b){return new Wizard(this,b)};a.fn.wizard.logging=false;WizardCard=function(f,c,b,e,d){this.wizard=f;this.index=b;this.prev=e;this.next=d;this.el=c;this.title=c.find("h3").first().text();this.name=c.data("cardname")||this.title;this.nav=this._createNavElement(this.title,b);this._disabled=false;this._loaded=false;this._events={}};WizardCard.prototype={select:function(){this.log("selecting");if(!this.isSelected()){this.nav.addClass("active");this.el.show();if(!this._loaded){this.trigger("loaded");this.reload()}this.trigger("selected")}var b=this.wizard;if(this.index>=b._cards.length-1){this.log("on last card, changing next button to submit");a("#addempbtn").attr("myattr","submit");b.changeNextButton(b.args.buttons.submitText,"btn-success");b._readyToSubmit=true;b.trigger("readySubmit")}else{b._readyToSubmit=false;if(this.index==0){b.backButton.toggleClass("disabled",true)}else{b.backButton.toggleClass("disabled",false)}b.changeNextButton(b.args.buttons.nextText,"btn-primary")}return this},_createNavElement:function(d,e){var b=a('<li class="wizard-nav-item"></li>');var c=a('<a class="wizard-nav-link"></a>');c.data("navindex",e);b.append(c);c.append('<i class="icon-chevron-right"></i>');c.append(d);return b},markVisited:function(){this.log("marking as visited");this.nav.addClass("already-visited");this.trigger("markVisited");return this},unmarkVisited:function(){this.log("unmarking as visited");this.nav.removeClass("already-visited");this.trigger("unmarkVisited");return this},deselect:function(){this.nav.removeClass("active");this.el.hide();this.trigger("deselect");return this},enable:function(){this.log("enabling");this.nav.addClass("active");this._disabled=false;this.trigger("enabled");return this},disable:function(b){this.log("disabling");this._disabled=true;this.nav.removeClass("active already-visited");if(b){this.el.hide()}this.trigger("disabled");return this},isDisabled:function(){return this._disabled},alreadyVisited:function(){return this.nav.hasClass("already-visited")},isSelected:function(){return this.nav.hasClass("active")},reload:function(){this._loaded=true;this.trigger("reload");return this},on:function(){return this.wizard.on.apply(this,arguments)},trigger:function(){this.callListener("on"+arguments[0]);return this.wizard.trigger.apply(this,arguments)},toggleAlert:function(d,b){this.log("toggling alert to: "+b);b=typeof(b)=="undefined"?true:b;if(b){this.trigger("showAlert")}else{this.trigger("hideAlert")}var e;var c=this.el.children("h3").first().next("div.alert");if(c.length==0){if(!b){return this}this.log("couldn't find existing alert div, creating one");e=a("<div />");e.addClass("alert");e.addClass("hide");e.insertAfter(this.el.find("h3").first())}else{this.log("found existing alert div");e=c.first()}if(b){if(d!=null){this.log("setting alert msg to",d);e.html(d)}e.show()}else{e.hide()}return this},callListener:function(c){c=c.toLowerCase();this.log("looking for listener "+c);var f=window[this.el.data(c)];if(f){this.log("calling listener "+c);var d=this.wizard;try{var b=f(this)}catch(g){this.log("exception calling listener "+c+": ",g)}}else{this.log("didn't find listener "+c)}},problem:function(b){this.nav.find("a").toggleClass("wizard-step-error",b)},validate:function(){var e=false;var d=this;this.el.find("[data-validate]").each(function(l,m){d.log("validating individiual inputs");m=a(m);var j=m.data("validate");if(!j){return}var k={status:true,title:"Error",msg:""};var h=window[j](m);a.extend(k,h);if(!k.status){e=true;m.parent(".control-group").toggleClass("error",true);d.wizard.errorPopover(m,k.msg)}else{m.parent(".control-group").toggleClass("error",false);try{m.popover("destroy")}catch(n){m.popover("hide")}}});this.log("after validating inputs, failures is",e);var c=window[this.el.data("validate")];if(c){this.log("running html-embedded card validator");var f=c(this);if(typeof(f)=="undefined"||f==null){f=true}if(!f){e=true}this.log("after running html-embedded card validator, failures is",e)}this.log("running listener validator");var b=this.trigger("validate");if(typeof(b)=="undefined"||b==null){b=true}if(!b){e=true}this.log("after running listener validator, failures is",e);var g=!e;if(g){this.log("validated, calling listeners");this.trigger("validated")}else{this.log("invalid");this.trigger("invalid")}return g},log:function(){if(!window.console||!a.fn.wizard.logging){return}var b="card '"+this.name+"': ";var c=[b];c.push.apply(c,arguments)},isActive:function(){return this.nav.hasClass("active")}};Wizard=function(d,e){var i=['<div class="modal fade wizard-modal vineet1" data-backdrop="static" data-keyboard="false" role="dialog">','<div class="modal-content">','<div class="modal-header">','<div class="wizard-modal-header modal-header">','<button id= "closebtn" class="wizard-close close" data-dismiss = "modal" type="button">x</button>','<h3 class="wizard-title"></h3>','<span class="wizard-subtitle"></span>',"</div>",'<div class="pull-left wizard-steps">','<div class="wizard-nav-container">','<ul class="nav nav-list" style="padding-bottom:30px;">',"</ul>","</div>","</div>",'<form id="addempform">','<div class="wizard-cards">','<div class="wizard-card-container">',"</div>",'<div class="wizard-modal-footer">','<div class="wizard-buttons-container">','<button class="btn wizard-back" type="button" name="amp_self_activation_back_button_">Back</button>','<button id = "addempbtn"  class="btn btn-primary wizard-next amplify-submit-button" type="button" name="amp_self_activation_next_button_">Next</button>',"</div>","</div>","</div>","</form>","</div>"];this.args={submitUrl:"",width:900,progressBarCurrent:false,increaseHeight:0,buttons:{nextText:"Next",backText:"Back",submitText:"Submit",submittingText:"Submitting..."}};a.extend(this.args,e||{});this.markup=a(d);this.submitCards=this.markup.find(".wizard-error,.wizard-failure,.wizard-success,.wizard-loading");this.el=a(i.join("\n"));this.el.find(".wizard-card-container").append(this.markup.find(".wizard-card")).append(this.submitCards);a("body").append(this.el);this.closeButton=this.el.find("button.wizard-close");this.footer=this.el.find(".wizard-modal-footer");this.backButton=this.footer.find(".wizard-back");this.nextButton=this.footer.find(".wizard-next");this.progress=this.el.find(".progress");this._cards=[];this.cards={};this._readyToSubmit=false;this.percentComplete=0;this._submitting=false;this._events={};this._firstShow=true;this._createCards();this.nextButton.click(this,this._handleNextClick);this.backButton.click(this,this._handleBackClick);this.backButton.text(this.args.buttons.backText);this.nextButton.text(this.args.buttons.nextText);var b=230;var h=b+this.args.increaseHeight;this.el.find(".wizard-nav-container").css("height",h);this.el.find(".wizard-steps").css("height",(h+45)+"px");this.submitCards.css("height",(h+80)+"px");this.el.css("width",this.args.width);if(a.fn.slimScroll&&false){var f={position:"left",height:"360px",size:"8px",distance:"5px",railVisible:true,disableFadeOut:true};a.extend(f,this.args.slimScroll||{});this.el.find(".wizard-nav-container").slimScroll(f)}var c=this;this.closeButton.click(function(){c.reset();c.close()});this.el.find(".wizard-steps").on("click","li.already-visited a.wizard-nav-link",this,function(k){var j=parseInt(a(k.target).data("navindex"));k.data.setCard(j)});var g=this.markup.children("h1").first();if(g.length){this.setTitle(g.text())}this.on("submit",this._defaultSubmit)};Wizard.prototype={errorPopover:function(b,d){this.log("launching popover on",b);var c=b.popover({content:d,trigger:"manual"}).popover("show").next(".popover");c.addClass("error-popover");return c},destroyPopover:function(b){b=a(b);b.parent(".control-group").toggleClass("error",false);var c=b.prev();try{c.popover("destroy")}catch(d){c.popover("hide")}},hidePopovers:function(c,d){this.log("hiding all popovers");var b=this;this.el.find(".error-popover").each(function(e,f){b.destroyPopover(f)})},eachCard:function(b){a.each(this._cards,b);return this},getActiveCard:function(){this.log("getting active card");var b=null;a.each(this._cards,function(d,c){if(c.isActive()){b=c;return false}});if(b){this.log("found active card",b)}else{this.log("couldn't find an active card")}return b},setTitle:function(b){this.log("setting title to",b);this.el.find(".wizard-title").first().text(b);return this},setSubtitle:function(b){this.log("setting subtitle to",b);this.el.find(".wizard-subtitle").first().text(b);return this},changeNextButton:function(c,b){this.log("changing next button, text: "+c,"class: "+b);if(typeof(b)!="undefined"){this.nextButton.removeClass("btn-success btn-primary")}if(b){this.nextButton.addClass(b)}this.nextButton.text(c);return this},hide:function(){this.log("hiding");this.el.modal("hide");return this},close:function(){this.log("closing");this.el.modal("hide");return this},show:function(){this.log("showing");if(this._firstShow){this.setCard(0);this._firstShow=false}this.el.modal();return this},on:function(b,c){this.log("adding listener to event "+b);this._events[b]=c;return this},trigger:function(){var d=arguments[0];var c=Array.prototype.slice.call(arguments);c.shift();c.unshift(this);this.log("firing event "+d);var f=this._events[d];var b=null;if(typeof(f)=="function"){this.log("found event handler, calling "+d);try{b=f.apply(this,c)}catch(g){this.log("event handler "+d+" had an exception")}}else{this.log("couldn't find an event handler for "+d)}return b},reset:function(){this.log("resetting");this.updateProgressBar(0);this.hideSubmitCards();this.setCard(0);this.lockCards();this.enableNextButton();this.showButtons();this.hidePopovers();this.trigger("reset");return this},log:function(){if(!window.console||!a.fn.wizard.logging){return}var b="wizard "+this.el.id+": ";var c=[b];c.push.apply(c,arguments)},_abstractIncrementStep:function(d,e){var c=this.getActiveCard();var b;if(c){this.log("searching for valid next card");while(true){b=e(c);if(b){this.log("looking at card",b.index);if(b.isDisabled()){this.log("card "+b.index+" is disabled/locked, continuing");c=b;continue}else{return this.setCard(c.index+d)}}else{this.log("next card is not defined, breaking");break}}}else{this.log("current card is undefined")}},incrementCard:function(){this.log("incrementing card");var b=this._abstractIncrementStep(1,function(c){return c.next});this.trigger("incrementCard");return b},decrementCard:function(){this.log("decrementing card");var b=this._abstractIncrementStep(-1,function(c){return c.prev});this.trigger("decrementCard");return b},setCard:function(g){this.log("setting card to "+g);this.hideSubmitCards();var c=this.getActiveCard();if(this._submitting){this.log("we're submitting the wizard already, can't change cards");return c}var b=this._cards[g];if(b){if(b.isDisabled()){this.log("new card is currently disabled, returning");return c}if(c){if(g>c.index){var d=c;var f=false;while(d.index!=b.index){if(d.index!=c.index){d.prev.deselect();d.prev.markVisited();d.select()}f=d.validate();if(!f){return d}d=d.next}d.prev.deselect();d.prev.markVisited()}c.deselect();c.markVisited()}b.select();if(this.args.progressBarCurrent){var e=this.percentComplete;this.percentComplete=g*100/this._cards.length;this.updateProgressBar(this.percentComplete)}else{var e=this.percentComplete;this.percentComplete=g*100/this._cards.length;this.percentComplete=Math.max(e,this.percentComplete);this.updateProgressBar(this.percentComplete)}return b}else{this.log("couldn't find card "+g)}},updateProgressBar:function(b){this.log("updating progress to "+b+"%");this.progress.find(".bar").css({width:b+"%"});this.percentComplete=b;this.trigger("progressBar",b);if(b==100){this.log("progress is 100, animating progress bar");this.progress.addClass("active")}else{if(b==0){this.log("progress is 0, disabling animation");this.progress.removeClass("active")}}},getNextCard:function(){var b=this.getActiveCard();if(b){return b.next}},lockCards:function(){this.log("locking nav cards");this.eachCard(function(c,b){b.unmarkVisited()});return this},disableCards:function(){this.log("disabling all nav cards");this.eachCard(function(c,b){b.disable()});return this},enableCards:function(){this.log("enabling all nav cards");this.eachCard(function(c,b){b.enable()});return this},hideCards:function(){this.log("hiding cards");this.eachCard(function(c,b){b.deselect()});this.hideSubmitCards();return this},hideButtons:function(){this.log("hiding buttons");this.nextButton.hide();this.backButton.hide();return this},showButtons:function(){this.log("showing buttons");this.nextButton.show();this.backButton.show();return this},getCard:function(c){var b=a(c).parents(".wizard-card").first()[0];if(b){var d=null;this.eachCard(function(f,e){if(b==e.el[0]){d=e;return false}return true});return d}else{return null}},_createCards:function(){var f=null;var d=null;var e=0;var b=null;var g=this;var c=this;var h=this.el.find(".wizard-cards .wizard-card");a.each(h,function(k,j){j=a(j);f=b;b=new WizardCard(g,j,k,f,d);c._cards.push(b);if(b.name){c.cards[b.name]=b}if(f){f.next=b}c.el.find(".wizard-steps .nav-list").append(b.nav)})},showSubmitCard:function(c){this.log("showing "+c+" submit card");var b=this.el.find(".wizard-"+c);if(b.length){this.hideCards();this.el.find(".wizard-"+c).show()}else{this.log("couldn't find submit card "+c)}},hideSubmitCard:function(b){this.log("hiding "+b+" submit card");this.el.find(".wizard-"+b).hide()},hideSubmitCards:function(){var b=this;a.each(["success","error","failure","loading"],function(d,c){b.hideSubmitCard(c)})},enableNextButton:function(){this.log("enabling next button");this.nextButton.removeAttr("disabled");return this},disableNextButton:function(){this.log("disabling next button");this.nextButton.attr("disabled","disabled");return this},serializeArray:function(){var b=this.el.children("form").first();return b.serializeArray()},serialize:function(){var b=this.el.children("form").first();return b.serialize()},submitSuccess:function(){this.log("submit success");this._submitting=false;this.showSubmitCard("success");this.trigger("submitSuccess")},submitFailure:function(){this.log("submit failure");this._submitting=false;this.showSubmitCard("failure");this.trigger("submitFailure")},submitError:function(){this.log("submit error");this._submitting=false;this.showSubmitCard("error");this.trigger("submitError")},_submit:function(){this.log("submitting wizard");this._submitting=true;this.lockCards();this.backButton.hide();this.showSubmitCard("loading");this.updateProgressBar(100);this.changeNextButton(this.args.buttons.submittingText,false);this.disableNextButton();var b=this.trigger("submit");this.trigger("loading")},_onNextClick:function(){this.log("handling 'next' button click");var b=this.getActiveCard();if(this._readyToSubmit&&b.validate()){this._submit()}else{b=this.incrementCard()}},_onBackClick:function(){this.log("handling 'back' button click");var b=this.decrementCard()},_handleNextClick:function(b){var c=b.data;c._onNextClick.call(c)},_handleBackClick:function(b){var c=b.data;c._onBackClick.call(c)},_defaultSubmit:function(b){a.ajax({type:"POST",url:b.args.submitUrl,data:b.serialize(),dataType:"json",success:function(c){b.submitSuccess();b.hideButtons();b.updateProgressBar(0)},error:function(){b.submitFailure();b.hideButtons()}})}}}(window.jQuery));