(function($){$.fn.formToWizard=function(options){options=$.extend({submitButtonContainer:""},options);var element=this;var steps=$(element).find("fieldset");var count=steps.size();var submitContainer=$(this).find("#"+options.submitButtonContainer);var nbGlobalError=$(element).find("ul.error_list").size();var isOneStepVisible=false;$(element).before("<ul id='steps'></ul>");steps.each(function(i){$(this).wrap("<div id='step"+i+"'></div>");$(this).append("<p id='step"+i+"commands'></p>");var name=$(this).find("legend").html();var nbStepError=$(this).find("ul.error_list").size();var errorHtml="";if(nbStepError>0){errorHtml="<span class=\"step-error\"> - "+nbStepError+" erreurs - </span>"}$("#steps").append("<li id='stepDesc"+i+"'><a href=\"#\">Etape "+(i+1)+"<span>"+name+"</span>"+errorHtml+"</a></li>");addClickOnStep(i);if(i==0){createNextButton(i);selectStepOnError(i,nbGlobalError,nbStepError)}else if(i==count-1){selectStepOnError(i,nbGlobalError,nbStepError);createPrevButton(i);createSubmitButton(i,submitContainer)}else{selectStepOnError(i,nbGlobalError,nbStepError);createPrevButton(i);createNextButton(i)}});function createPrevButton(i){var stepName="step"+i;$("#"+stepName+"commands").append("<a href='#' id='"+stepName+"Prev' class='prev'>< Précédent</a>");$("#"+stepName+"Prev").bind("click",function(e){$("#"+stepName).hide();$("#step"+(i-1)).show();selectStep(i-1)})}function createSubmitButton(i,submitContainer){var stepName="step"+i;$("#"+stepName+"commands").append($(submitContainer).html());$(submitContainer).remove()}function createNextButton(i){var stepName="step"+i;$("#"+stepName+"commands").append("<a href='#' id='"+stepName+"Next' class='next'>Suivant ></a>");$("#"+stepName+"Next").bind("click",function(e){$("#"+stepName).hide();$("#step"+(i+1)).show();selectStep(i+1)})}function selectStep(i){$("#steps li").removeClass("current");$("#stepDesc"+i).addClass("current")}function selectStepOnError(i,globalError,stepError){if(globalError>0&&stepError>0&&!isOneStepVisible){selectStep(i);isOneStepVisible=true}else{if(globalError==0){if(i==0){selectStep(i)}else{$("#step"+i).hide()}}else{$("#step"+i).hide()}}}function addClickOnStep(i){$("#stepDesc"+i).bind("click",function(e){for(var f=0;f<=count;f++){$("#step"+f).hide()}$("#step"+i).show();selectStep(i)})}}})(jQuery);
