/* Created by jankoatwarpspeed.com */

(function($) {
    $.fn.formToWizard = function(options) {
        options = $.extend({  
            submitButton: "" 
        }, options); 
        
        var element = this.parent();

        var steps = $(element).find("fieldset");
        var count = steps.size();
        var submmitButtonName = "#" + options.submitButton;
        $(submmitButtonName).hide();

        // 2
        $(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>");

            // 2
            var name = $(this).find("legend").html();
            
			$("#steps").append("<li id='stepDesc" + i + "'>"+name+"</li>");

            if (i == 0) {
                createNextButton(i);
                selectStep(i);
            }
            else if (i == count - 1) {
                $("#step" + i).hide();
                createPrevButton(i);
            }
            else {
                $("#step" + i).hide();
                createPrevButton(i);
                createNextButton(i);
            }
        });

        function createPrevButton(i) {
            var stepName = "step" + i;
            $("#" + stepName + "commands").append("<a href='#' id='" + stepName + "Prev' class='prev'></a>");

            $("#" + stepName + "Prev").bind("click", function(e) {
					$("#erros-preenchimentos").slideUp();
                	$("#" + stepName).hide();
                	$("#step" + (i - 1)).show();
                	$(submmitButtonName).hide();
                	selectStep(i - 1);
            });
        }
		
        function createNextButton(i) {
            var stepName = "step" + i;
            $("#" + stepName + "commands").append("<a href='#' id='" + stepName + "Next' class='next'></a>");
			
            $("#" + stepName + "Next").bind("click", function(e) {
				var res = evaluate_fields(i); 
				if(res == true){
					$("#erros-preenchimentos").slideUp();
					$("#" + stepName).hide();
					$("#step" + (i + 1)).show();
					if (i + 2 == count)
						$(submmitButtonName).show();
					selectStep(i + 1);
				}else{
					$("#erros-textos").html("<h2>Erros encontrados no preenchimento:</h2><br>");
					$("#erros-textos").append(res);
					$("#erros-preenchimentos").slideDown();	
				}
            });
        }

        function selectStep(i) {
            $("#steps li").removeClass("current");
            $("#stepDesc" + i).addClass("current");
        }
		
		function evaluate_fields(i){
			var err = "";			
			switch(i){
				case 0:
					//Dados Pessoais
					if(!$("#nome").val()) err += "Preencha o <label for='nome'>nome</label>;<br>";
					if(!$("#cpf").val()) err += "Preencha o <label for='cpf'>cpf</label>;<br>";
					if(!$("#datanasc").val()) err += "Preencha a <label for='datanasc'>data de nascimento</label>;<br>";
					if(!$("#tel").val()) err += "Preencha o <label for='tel'>telefone</label>;<br>";
					if(!$("#telc").val()) err += "Preencha o <label for='telc'>celular</label>;<br>";
					if(!$("#email").val()) err += "Preencha o <label for='email'>email</label>;<br>";
					if(!$("#endereco").val()) err += "Preencha o <label for='endereco'>endereço</label>;<br>";
					if(!$("#cep").val()) err += "Preencha o <label for='cep'>CEP</label>;<br>";
					if(!$("#bairro").val()) err += "Preencha o <label for='bairro'>bairro</label>;<br>";
					if(!$("#cidade").val()) err += "Preencha a <label for='cidade'>cidade</label>;<br>";
					break;
				case 1:
					//Escolaridade
					$('#escolaridade input').each(function(){
						if($(this).attr("name") == "nome_curso[]" && $(this).val() == "") err+="Preencha o nome do Curso;<br>";
						if($(this).attr("name") == "instituicao[]" && $(this).val() == "") err+="Preencha a instituição do Curso;<br>";
						if($(this).attr("name") == "curso_dt_ini[]" && $(this).val() == "") err+="Preencha data de inicio do Curso;<br>";
					});
					break;
				case 2:
					//Experiencia
					$('#experiencia input,#experiencia textarea').each(function(){
						if($(this).attr("name") == "nome_empresa[]" && $(this).val() == "") err+="Preencha o nome da Empresa;<br>";
						if($(this).attr("name") == "cargo[]" && $(this).val() == "") err+="Preencha o cargo ocupado;<br>";
						if($(this).attr("name") == "atribuicoes[]" && $(this).val() == "") err+="Preencha as suas atribuições;<br>";
						if($(this).attr("name") == "experiencia_dt_ini[]" && $(this).val() == "") err+="Preencha data de inicio da experiência;<br>";
					});
					break;
			}
			if(err != ""){
				return err;
			}else{
				return true;
			}
		}

    }
})(jQuery); 
