﻿    var InitDomain = function(){
    try{
        Forms_Set();
    }
    catch(e){
        Log(e.message);
    }
    
    try{
        Flash_Start();
    }
    catch(e){
        Log(e.message);
    }
    
    try{
        PartialSave_Configure();
    }
    catch(e){
        Log(e.message);
    }
    
    try {
        Expandables_Start();
    }catch(e){
        Log(e.message);
    }
}


var Forms_Set = function() {

    $j(".date").mask("99/99/9999");
    $j(".cpf").mask("999.999.999-99", { completed: function() {
        
    }
    });
    $j(".cnpj").mask("99.999.999/9999-99");
    $j(".telefone").mask("9999-9999");
    $j(".cep").mask("99999-999");

    $j(".number").bind("keyup", function() {
        this.value = this.value.replace(/[^\d]/gi, "");
    })

    $j(".alpha").bind("keyup", function() {
        this.value = this.value.replace(/[^\w\sáÁãÃâÂàÀéÉêÊíÍóÓõÕôÔúÚüÜçÇ]|\d/gi, "");
        this.value = this.value.replace(/\s{2,}/gi, " ");
    })

    $j(".alnum").bind("keyup", function() {
        this.value = this.value.replace(/[^\w\d\sáÁãÃâÂàÀéÉêÊíÍóÓõÕôÔúÚüÜçÇ]/gi, "");
    })

    $j(".cepResidencia").bind("focusout", function() {
        BuscarCEP(this.value, "residencial");
    });

    $j(".cepEmpresa").bind("focusout", function() {
        BuscarCEP(this.value, "empresa");
    });

    $j("input, select, textarea").each(function() {
        $j(this).addClass(this.type);
    }
    );

    $j(".view-only").attr("disabled", true);

    $j(".naturezaOcupacao").bind("change", NaturezaOcupacao_Change);
    $j(".naturezaOcupacao").trigger("change");

    $j(".money").maskMoney({ symbol: "R$", decimal: ",", thousands: "." });

    $j("form.validate-me").bind("submit", Validar);

    $j("input.btnNao").bind("click", function() {
        alert("Você deve concordar com os termos do contrato para prosseguir.");
    });
}

var PartialSave_Configure = function() {

    $j("div.dados-pessoais").bind("focusout", function() {
        if (
                $j("input.nomeCompleto").val().length > 0
                && $j("input.email").val().length > 0
                && $j("select.sexo option:selected").length > 0
                && $j("select.sexo option:selected").val() != "0"
                && $j("select.estadoCivil option:selected").length > 0
                && $j("select.estadoCivil option:selected").val() != "0"
                && $j("input.dataNascimento").val().length > 0
                && $j("select.nacionalidade option:selected").length > 0
                && $j("select.nacionalidade option:selected").val() != "0"
                && $j("select.naturalUf option:selected").length > 0
                && $j("select.naturalUf option:selected").val() != "0"
                && $j("input.naturalidade").val().length > 0
                && $j("input.nomeMae").val().length > 0
                && $j("input.identidade").val().length > 0
                && $j("input.orgaoEmissor").val().length > 0
                && $j("select.orgaoEmissorUf option:selected").length > 0
                && $j("select.orgaoEmissorUf option:selected").val() != "0"
                && $j("input.cpf").val().length > 0
                && $j("select.exposicaoPolitica option:selected").length > 0
                && $j("select.exposicaoPolitica option:selected").val() != "-1"
        ) {

            if (!$j("div.dados-residencia").is(":visible")) {
                $j("a.dados-residencia").trigger("click");
            }

            if (!$j("div.dados-trabalho").is(":visible")) {
                $j("a.dados-trabalho").trigger("click");
            }

            PartialSave();
        }

    });

    $j("div.dados-residencia").bind("focusout", function() {
        if (
                $j("input.cepResidencia").val().length > 0
                && $j("input.enderecoResidencia").val().length > 0
                && $j("input.numeroResidencia").val().length > 0
                && $j("input.bairroResidencia").val().length > 0
                && $j("input.bairroResidencia").val().length > 0
                && $j("select.estadoResidencia option:selected").length > 0
                && $j("select.estadoResidencia option:selected").val() != "0"
                && $j("input.cidadeResidencia").val().length > 0
                && $j("input.dddResidencia").val().length > 0
                && $j("input.telefoneResidencia").val().length > 0
                && $j("input.tempoAnosResidencia").val().length > 0
                && $j("input.tempoMesesResidencia").val().length > 0
                && $j("select.tipoResidencia option:selected").length > 0
                && $j("select.tipoResidencia option:selected").val() != "0"
        ) {
            if (!$j("div.dados-trabalho").is(":visible")) {
                $j("a.dados-trabalho").trigger("click");
            }

            if (!$j("div.dados-referencia").is(":visible")) {
                $j("a.dados-referencia").trigger("click");
            }

            PartialSave();
        }

    });

    $j("div.dados-trabalho").bind("focusout", function() {
        if (
                $j("select.naturezaOcupacao option:selected").length > 0
                && $j("select.naturezaOcupacao option:selected").val() != "0"
                && $j("input.tempoAtividade").val().length > 0
                && $j("select.unidadeTempoAtividade option:selected").length > 0
                && $j("select.unidadeTempoAtividade option:selected").val() != "0"
                && $j("select.profissaoEmpresa option:selected").length > 0
                && $j("select.profissaoEmpresa option:selected").val() != "0"
                && $j("input.rendaEmpresa").val().length > 0
        ) {
            if (!$j("div.dados-referencia").is(":visible")) {
                $j("a.dados-referencia").trigger("click");
            }

            if (!$j("div.dados-banco").is(":visible")) {
                $j("a.dados-banco").trigger("click");
            }

            PartialSave();
        }

    });

    $j("div.dados-referencia").bind("focusout", function() {
        if (
                $j("input.nomeReferencia").val().length > 0
                && $j("select.parentescoReferencia option:selected").length > 0
                && $j("select.parentescoReferencia option:selected").val() != "0"
                && $j("input.dddReferencia").val().length > 0
                && $j("input.telefoneReferencia").val().length > 0
        ) {
            if (!$j("div.dados-banco").is(":visible")) {
                $j("a.dados-banco").trigger("click");
            }

            PartialSave();
        }

    });

    $j("div.dados-banco").bind("focusout", function() {
        if (
                $j("input.nomeReferencia").val().length > 0
                && $j("select.parentescoReferencia option:selected").length > 0
                && $j("select.parentescoReferencia option:selected").val() != "0"
                && $j("input.dddReferencia").val().length > 0
                && $j("input.telefoneReferencia").val().length > 0
        ) {
            if (!$j("div.dados-banco").is(":visible")) {
                $j("a.dados-banco").trigger("click");
            }

            PartialSave();
        }

    });
}

var Flash_Start = function() {
    $j('.flash').flash({
        src: HEADER_FLASH,
        width: 922,
        height: 340,
        wmode: 'transparent'
    });
    /*
    $j('.flash').flash({
    src: siteroot + '/swf/proposal/flash.swf',
    width: 922,
    height: 340,
    wmode: 'transparent'
    });
    */
}

var ConfigurarCampos = function() {
    var digits = function(str) {
        return str.replace(/[^\d]/gi, "");
    }

    $j(".view-only").attr("disabled", false);

    var fields = $j("form.validate-me").serializeArray();
    var data = {};

    $j.each(fields, function() {

        if (!data[this.name]) {
            data[this.name] = this.value;
        }
        else {
            if (isArray(data[this.name])) {
                data[this.name][data[this.name].length] = this.value;
            } else {
                var prev = data[this.name];
                data[this.name] = [prev, this.value];
            }
        }
    });


    $j("#proposal_prospect_cpf").val(digits(data["proposal.prospect.cpf"]));
    $j("#proposal_prospect_homeinfo_address_postalcode").val(digits(data["proposal.prospect.homeinfo.address.postalcode"]));
    $j("#proposal_prospect_homeinfo_telefoneresidencial_number").val(digits(data["proposal.prospect.homeinfo.telefoneresidencial.number"]));
    $j("#proposal_prospect_homeinfo_telefonecelular_number").val(digits(data["proposal.prospect.homeinfo.telefonecelular.number"]));
    $j("#proposal_prospect_workinfo_cnpj").val(digits(data["proposal.prospect.workinfo.cnpj"]));
    $j("#proposal_prospect_workinfo_address_postalcode").val(digits(data["proposal.prospect.workinfo.address.postalcode"]));
    $j("#proposal_prospect_workinfo_telefonecomercial_number").val(digits(data["proposal.prospect.workinfo.telefonecomercial.number"]));
    $j("#proposal_prospect_references_0_telefone_number").val(digits(data["proposal.prospect.references[0].telefone.number"]));
    $j("#proposal_prospect_references_1_telefone_number").val(digits(data["proposal.prospect.references[1].telefone.number"]));
    $j("#proposal_prospect_billinginfo_agencynumber").val(digits(data["proposal.prospect.billinginfo.agencynumber"]));

}

var saving = false;
var PartialSave = function() {


    if (saving)
        return false;

    saving = true;

    var digits = function(str) {
        return str.replace(/[^\d]/gi, "");
    }

    $j(".view-only").attr("disabled", false);

    var fields = $j("form.validate-me").serializeArray();
    var data = {};

    $j.each(fields, function() {

        if (!data[this.name]) {
            data[this.name] = this.value;
        }
        else {
            if (isArray(data[this.name])) {
                data[this.name][data[this.name].length] = this.value;
            } else {
                var prev = data[this.name];
                data[this.name] = [prev, this.value];
            }
        }
    });

    if ($j.trim(data["proposal.prospect.name"]).length <= 0) {
        $j(".view-only").attr("disabled", true);
        return false;
    }

    if ($j.trim(data["proposal.prospect.email"]).length <= 0) {
        return true;
    }

    data["proposal.prospect.cpf"] = digits(data["proposal.prospect.cpf"]);
    data["proposal.prospect.homeinfo.address.postalcode"] = digits(data["proposal.prospect.homeinfo.address.postalcode"]);
    data["proposal.prospect.homeinfo.telefoneresidencial.number"] = digits(data["proposal.prospect.homeinfo.telefoneresidencial.number"]);
    data["proposal.prospect.homeinfo.telefonecelular.number"] = digits(data["proposal.prospect.homeinfo.telefonecelular.number"]);
    data["proposal.prospect.workinfo.cnpj"] = digits(data["proposal.prospect.workinfo.cnpj"]);
    data["proposal.prospect.workinfo.address.postalcode"] = digits(data["proposal.prospect.workinfo.address.postalcode"]);
    data["proposal.prospect.workinfo.telefonecomercial.number"] = digits(data["proposal.prospect.workinfo.telefonecomercial.number"]);
    data["proposal.prospect.references[0].telefone.number"] = digits(data["proposal.prospect.references[0].telefone.number"]);
    data["proposal.prospect.references[1].telefone.number"] = digits(data["proposal.prospect.references[1].telefone.number"]);
    data["proposal.prospect.billinginfo.agencynumber"] = digits(data["proposal.prospect.billinginfo.agencynumber"]);



    $j.ajax({
        type: "POST",
        url: siteroot + "/proposal/partialsave.aspx?_rnd=" + getNewRndNumber(),
        dataType: "text",
        data: data,
        success: function(data, status) {
            $j(".view-only").attr("disabled", true);
            saving = false;
            return;
            var proposal = data;

            $j("#proposal_id").val(proposal.Id);
            $j("#proposal_prospect_id").val(proposal.Prospect.Id);


            if (proposal.Prospect.HomeInfo != null) {
                $j("#proposal_prospect_homeinfo_id").val(proposal.Prospect.HomeInfo.Id);

                if (proposal.Prospect.HomeInfo.Address != null)
                    $j("#proposal_prospect_homeinfo_address_id").val(proposal.Prospect.HomeInfo.Address.Id);

                if (proposal.Prospect.HomeInfo.TelefoneResidencial != null)
                    $j("#proposal_prospect_homeinfo_telefoneresidencial_id").val(proposal.Prospect.HomeInfo.TelefoneResidencial.Id);

                if (proposal.Prospect.HomeInfo.TelefoneCelular != null)
                    $j("#proposal_prospect_homeinfo_telefonecelular_id").val(proposal.Prospect.HomeInfo.TelefoneCelular.Id);
            }

            if (proposal.Prospect.WorkInfo != null) {
                $j("#proposal_prospect_workinfo_id").val(proposal.Prospect.WorkInfo.Id);

                if (proposal.Prospect.WorkInfo.Address != null)
                    $j("#proposal_prospect_workinfo_address_id").val(proposal.Prospect.WorkInfo.Address.Id);

                if (proposal.Prospect.WorkInfo.TelefoneComercial != null)
                    $j("#proposal_prospect_workinfo_telefonecomercial_id").val(proposal.Prospect.WorkInfo.TelefoneComercial.Id);


            }

            if (proposal.Prospect.References != null && proposal.Prospect.References.length > 0) {
                for (i = 0; i < proposal.Prospect.References.length; i++) {
                    if (proposal.Prospect.References[i] != null) {
                        $j("#proposal_prospect_references_" + i + "_id").val(proposal.Prospect.References[i].Id);

                        if (proposal.Prospect.References[i].Telefone != null) {
                            $j("#proposal_prospect_references_" + i + "_telefone_id").val(proposal.Prospect.References[i].Telefone.Id);
                        }
                    }
                }

            }

            if (proposal.Prospect.BillingInfo != null)
                $j("#proposal_prospect_billinginfo_id").val(proposal.Prospect.BillingInfo.Id);


            $j(".view-only").attr("disabled", true);
            saving = false;

        },
        error: function(a, b, c) {
            saving = false;
        }
    });

}

var Expandables_Start = function(){
    
    $j(".meioBox h3 a").each(function(){
        var link = $j(this);
        var className = $j.trim(this.className.replace(/(closed)|(next.*)/gi,""));
        var div = link.parent().parent().find("div." + className);
        
        var height= div.height();
        
        if($j.browser.msie)
            height = height + 20;
            
        div.data("height",height);
    });
    
    $j(".meioBox h3 a").bind("click",function(){
        
        var link = $j(this);
        var className = $j.trim(this.className.replace(/(closed)|(next.*)/gi,""));
        var div = link.parent().parent().find("div." + className);
        var rod = link.parent().parent().find("div.rod-" + className);
        
        if(div.is(":visible")) {
            
            link.addClass("closed");
                        
            div.animate({opacity: 0, style:'overflow: hidden', height: 0},250, function(){
                $j(this).hide();
                rod.css("background","url("+content+"/img/imgRdpFormClosed.gif) no-repeat");
            });
        }
        else {
            
            link.removeClass("closed");
            
            $j(this).show(150, function(){
                div.animate({opacity: 1, style:'overflow: hidden', height: div.data("height")},250);
                rod.css("background","url("+content+"/img/imgRdpForm.gif) no-repeat");
            });
        }
        return false;
    });
}

var Alert = function(obj, erro){
    
    if(!erro){
        alert(obj);
        return true;
    }
    
    var erro = erro || "Erro de preenchimento";
    
    var parentDivName = $j(obj).parents(".txtBox:first")[0].className.replace("txtBox ","");
    
    if(!$j("div." + parentDivName).is(":visible"))
        $j("a." + parentDivName).trigger("click");
    
    var nome = $j(obj).parents("label").text().replace(erro, "");
    nome = nome.replace("*","");
    nome = nome.substring(0,nome.indexOf(":"));
    
    
    
    var div = document.createElement("div");
    $j(div).addClass("error-alert");
    
    var p = document.createElement("p");
    
    var h = document.createElement("h6");
    $j(h).append(nome || "Erro de preenchimento");
    
    var a = document.createElement("a");
    $j(a)
        .attr("href","close")
        .bind("click", function(){
                $j.unblockUI();
                $j(obj).focus();
                return false;
            }
        );  
    
    $j(h).append(a);

    $j(p).append(h);

    var span = document.createElement("span");
    $j(span).append(erro);    
        
    $j(p).append(span);
        
    var OK = document.createElement("a");
    $j(OK)
        .attr("href","#")
        .text("OK")
        .bind("click", function(){
                $j.unblockUI();
                $j(obj).focus();
                return false;
            }
        );
            
    $j(p).append(OK);
    
    $j(div).append(p);
        
    $j.blockUI({message: div, css: {borderWidth: 0, backgroundColor: 'transparent', cursor: 'default'}, overlayCSS: {cursor: 'default'}});
}
