!function($,undefined){$.widget("db.jWizard",{$steps:null,$current:null,widgetEventPrefix:"wizard",_create:function(){var o=this.options;if(this._super){this._super()}else{$.Widget.prototype._create.call(this)}if(o.disabled)this.disable();this.element.addClass("ui-widget jw-widget");this._buildSteps();if(o.title)this._buildTitle();if(o.menu)this._buildMenu();this._buildButtons();if(o.progress)this._buildProgress()},destroy:function(){var o=this.options;this.element.removeClass("ui-widget jw-widget jw-hasprogress");if(o.progress)this._destroyProgress();this._destroyButtons();if(o.menu)this._destroyMenu();if(o.title)this._destroyTitle();this._destroySteps();if(this._super){this._super()}else{$.Widget.prototype.destroy.call(this)}},first:function(){return this.step(this.$steps.first())},last:function(){return this.step(this.$steps.last())},cancel:function(){this._trigger("cancel")},prev:function(){return this.step(this.$current.prev())},next:function(){return this.step(this.$current.next())},finish:function(){this._trigger("finish")},step:function($step){var wizard=this,dfd=$.Deferred();if(typeof $step==="number"){$step=this.$steps.eq($step)}function goback(){wizard._enableButtons();wizard._enter(wizard.$current).then(dfd.resolve,dfd.reject)}function proceed(){wizard._enableButtons();dfd.resolve()}this._disableButtons();this._leave(this.$current).then(function(){wizard._enter($step).then(proceed,goback)},goback);return dfd.promise()},_leave:function($step){var hide=$.Event("stephide"),dfd=$.Deferred(),effect=this.options.effects.steps.hide;function done(){$step.trigger("stephidden");dfd.resolve()}if($step){$step.trigger(hide);if(hide.isDefaultPrevented()){dfd.reject()}else{if(this._hide){this._hide($step,effect,done)}else{$step.hide(effect,done)}}}else{dfd.resolve()}return dfd.promise()},_enter:function($step){var wizard=this,show=$.Event("stepshow"),dfd=$.Deferred(),effect=this.options.effects.steps.show;function done(){wizard.$current=$step;wizard._updateTitle();wizard._updateMenu();wizard._updateButtons();wizard._updateProgress();$step.trigger("stepshown");dfd.resolve()}if($step){$step.trigger(show);if(show.isDefaultPrevented()){dfd.reject()}else{if(this._show){this._show($step,effect,done)}else{$step.show(effect,done)}}}else{dfd.resolve()}return dfd.promise()},_buildTitle:function(){if(this.$title)return;this.$title=$('
');this.$header=$('