/**************************************************************
*
* CLASSE JAVASCRIPT COMBO BOX
*
* CRIADO POR: CRISTIANO TAVELLA
* DATA: 12/05/2010
* OBS:
* EDITADO POR: CRISTIANO TAVELLA
* DATA: 12/05/2010
* OBS:
*
*************************************************************/



function imprimirCombo() {

    var mobile = verificarMobile();
    var v_this = this;
    var script = "";
    
    script += "<div id='boxCombo_" + this.id + "' onclick='" + this.elem + ".showCombo();' >";
    script += "<input type='text' id='" + this.id + "' style=' display:block; cursor:default; background:transparent; border:none; outline:0; '  readonly='readonly' /><input type='hidden' id='" + this.id + "_hidden' />";
    script += "</div>";
    
    if (this.checkbox) {
        script += "<div id='boxFundo_" + this.id + "' style='position:fixed; width:100%; height:100%; background-color:#000; opacity: 0.20;filter:alpha(opacity=20); left:0; top:0; display:none;z-index: 999'></div>" +
        "<div id='boxOptions_" + this.id + "' style='display:none;  outline:0;  background: #FFF;  position:fixed; z-index:9999; width:650px; height:480px; left:50%; top:50%; margin-top:-240px; margin-left:-325px; border:1px solid #999 '>" +
        "<div style='background:#B3B3B3; font-weight:bold; color:#FFF; padding:7px; height:15px;'><div style='float:left'>Selecione...</div><div style='float:right;'><span style='cursor:pointer' onclick='$(\"#boxOptions_" + this.id + "\").hide(); $(\"#boxFundo_" + this.id + "\").hide();'>FECHAR</span> ou pressione ESC</div></div>" +
        "<div id='boxChecks_" + this.id + "' style='height:350px; padding:20px; overflow-y:auto; overflow-x:hidden'></div>" +
        "<div style='height:30px; padding:15px; background:#EFEFEF; border-top:1px solid #CCC; text-align:center;'><input type='button' style='height:30px' value='Concluir' onclick='$(\"#boxOptions_" + this.id + "\").hide(); $(\"#boxFundo_" + this.id + "\").hide(); " + (typeof (this.atualizar) != "undefined" && this.atualizar != "" && !this.consultaOnChange ? this.elem.substring(0, this.elem.indexOf(".combo")) + ".atualizarBDCombos(\"" + this.atualizar + "\");" : "") + " " + (this.consultaOnChange ? this.elem.substring(0, this.elem.indexOf(".combo")) + ".filtrarResultado(" + this.elem + ");" : "") + "' />" +
        ""+
        "</div></div>";
    }
    else if (mobile != "") {
        script += '<div class="boxOptionsMobile" id="boxOptionsMobile_' + this.id + '">' +
	        '   <div class="OptionOpc">' +
    	    '       <input type="button" class="btnOptFecharMobile" value="Fechar" onclick="$(\'#boxOptionsMobile_' + this.id + '\').slideUp();" style="padding:10px 20px; height:40px; float:right; background:#CCC; border:1px solid #333;" />' +
            '       <input type="hidden" id="OptTmp" />' +
            '   </div>' +
            '   <div class="boxOptionsConteudoMobile"></div>    ' +
            '</div>';
    }
    else
        script += "<select class='boxOptions' id='boxOptions_" + this.id + "' multiple='multiple' onkeydown=' if(OnEnter(event)){ " + this.elem + ".populaInput();  $(\"#boxOptions_" + this.id + "\").hide(); " + (typeof (this.atualizar) != "undefined" && this.atualizar != "" && !this.consultaOnChange ? this.elem.substring(0, this.elem.indexOf(".combo")) + ".atualizarBDCombos(\"" + this.atualizar + "\");" : "") + " " + (this.consultaOnChange ? this.elem.substring(0, this.elem.indexOf(".combo")) + ".filtrarResultado(" + this.elem + ");" : "") + "}' onclick='" + this.elem + ".populaInput();  " + (typeof (this.atualizar) != "undefined" && this.atualizar != "" && !this.consultaOnChange ? this.elem.substring(0, this.elem.indexOf(".combo")) + ".atualizarBDCombos(\"" + this.atualizar + "\");" : "") + " " + (this.consultaOnChange ? this.elem.substring(0, this.elem.indexOf(".combo")) + ".filtrarResultado(" + this.elem + ");" : "") + "' style='display:none;  outline:0;  background: #FFF;  position:absolute; z-index:9999; '></select>";

    $(this.destino).html(script);

    //printa os valores
    if (this.checkbox)
        $("#boxChecks_" + this.id).html("<div style='color:#000; float:left;  cursor:default; width: 290px;  background:#fff'  onmouseover=\"$(this).css(\'background-color\', \'#3399FF\'); $(this).css(\'color\', \'#FFF\');\" onmouseout=\"$(this).css(\'background-color\', \'#FFF\'); $(this).css(\'color\', \'#000\'); \"><label><input class='checks_" + this.id + "' type='checkbox' onclick='if($(this).attr(\"checked\")){ $(\".checks_" + this.id + "\").attr(\"checked\",false); $(this).attr(\"checked\",true); }else{ $(\".checks_" + this.id + "\").attr(\"checked\",false); $(this).attr(\"checked\",false); } " + this.elem + ".populaInput(); ' style='width:15px; height:13px; .height:25px;  padding:0px; margin:0px; margin-left:5px' value='' label='Todos' checked='checked' /><input type='text' style='font-size:12px; background:transparent; border:none; cursor:default; width:250px;' readonly='readonly' value=\"Todos\"  onmouseover=\" $(this).css(\'color\', \'#FFF\');\" onmouseout=\"$(this).css(\'color\', \'#000\'); \"  /></label></div><br clear='all' />");

    var vazio = 0;
    for (var i = 0; i < this.options.length; i++) {
        if (typeof (this.options[i].selected) != " undefined" && this.options[i].selected)
            vazio++;
    }
    for (var i = 0; i < this.options.length; i++) {        
        if (!this.checkbox) {
            if (mobile != "")
                $('#boxOptionsMobile_' + this.id + ' .boxOptionsConteudoMobile').append("<div class='" + (vazio == 0 && i == 0 ? "itemSel" : (typeof (this.options[i].selected) != " undefined" && this.options[i].selected ? "itemSel" : "itemNSel")) + "' value='" + this.options[i].value + "'  onclick=' $(\"#boxOptionsMobile_" + this.id + " .boxOptionsConteudoMobile .itemSel\").attr(\"class\", \"itemNSel\"); $(this).attr(\"class\", \"itemSel\");  " + this.elem + ".populaInput(); " + (typeof (this.atualizar) != "undefined" && this.atualizar != "" && !this.consultaOnChange ? this.elem.substring(0, this.elem.indexOf(".combo")) + ".atualizarBDCombos(\"" + this.atualizar + "\");" : "") + " " + (this.consultaOnChange ? this.elem.substring(0, this.elem.indexOf(".combo")) + ".filtrarResultado(" + this.elem + ");" : "") + " ' >" + this.options[i].label + "</div>");
            else
                $("#boxOptions_" + this.id).append("<option value='" + this.options[i].value + "' " + (vazio == 0 && i == 0 ? "selected='selected'" : (typeof (this.options[i].selected) != " undefined" && this.options[i].selected ? "selected='selected'" : "")) + ">" + this.options[i].label + "</option>");
        }        
        else {
            $("#boxChecks_" + this.id).append("<div style='color:#000; float:left; margin:3px; cursor:default; width: 290px;  background:#fff'  onmouseover=\"$(this).css(\'background-color\', \'#3399FF\'); $(this).css(\'color\', \'#FFF\');\" onmouseout=\"$(this).css(\'background-color\', \'#FFF\'); $(this).css(\'color\', \'#000\'); \"><label><input class='checks_" + this.id + "' type='checkbox' onclick='" + this.elem + ".populaInput(); ' style='width:15px; height:13px; .height:25px; padding:0px; margin-left:5px' value='" + this.options[i].value + "' label='" + this.options[i].label + "' " + (typeof (this.options[i].selected) != " undefined" && this.options[i].selected ? "checked='checked'" : "") + " /><input type='text' style='font-size:12px; background:transparent; border:none; cursor:default; width:250px;' readonly='readonly' value=\"" + this.options[i].label + "\"  onmouseover=\" $(this).css(\'color\', \'#FFF\');\" onmouseout=\"$(this).css(\'color\', \'#000\'); \"  /></label></div>");
        }
    }
    this.populaInput();

    //Oculta optionbox com botão ESC
    $(document).bind("keydown", function (event) {
        var keycode = (event.keyCode ? event.keyCode : (event.which ? event.which : event.charCode));
        if (keycode == 27) {
            if (mobile != "" && !v_this.checkbox) {
                $('#boxOptionsMobile_' + v_this.id).slideUp();
            }
            else {
                $("#boxOptions_" + v_this.id).hide();
                if (v_this.checkbox)
                    $("#boxFundo_" + v_this.id).hide();
            }
        }
    });

    if (!this.checkbox) {
        //Ocultar quando clicar fora do combo
        $("#boxCombo_" + v_this.id).click(function () {
            return false;
        });

        $(document).click(function () {
            if (mobile != "") {
                $('#boxOptionsMobile_' + v_this.id).slideUp();
            }
            else {
                $("#boxOptions_" + v_this.id).hide();
            }
        });
    }

}

function showCombo() {
    var mobile = verificarMobile();

    if (mobile != "" && !this.checkbox) {
        $('.boxOptionsMobile').slideUp();
        
        var otph = this.options.length * 61;
        if ((otph + 60) > getJanela().height) {
            otph = getJanela().height - 60;
            $('#boxOptionsMobile_' + this.id + ' .boxOptionsConteudoMobile').css("overlflow", "auto");
        }
        else
            $('#boxOptionsMobile_' + this.id + ' .boxOptionsConteudoMobile').css("overlflow", "hidden");

        $('#boxOptionsMobile_' + this.id + '').css("height", (otph + 60) + "px");
        $('#boxOptionsMobile_' + this.id + ' .boxOptionsConteudoMobile').css("height", otph + "px");

        $('#boxOptionsMobile_' + this.id).slideDown();
    }
    else {
        if ($("#boxOptions_" + this.id).css("display") != "none") {
            $(".boxOptions").hide();
            return;
        }
        $(".boxOptions").hide();
        if (!this.checkbox) {
            $("#boxOptions_" + this.id).css("top", getPosicaoElemento(this.id).top + parseInt($("#" + this.id).css("height")) + parseInt($("#" + this.id).css("padding-top")) + parseInt($("#" + this.id).css("padding-bottom")) - 1);
            $("#boxOptions_" + this.id).css("left", getPosicaoElemento(this.id).left);
        }
        if ($("#boxOptions_" + this.id).css("display") == "none") {
            $("#boxOptions_" + this.id).show();
            if (this.checkbox)
                $("#boxFundo_" + this.id).show();
            $("#boxOptions_" + this.id).focus();
        }
        else {
            $("#boxOptions_" + this.id).hide();
            if (this.checkbox)
                $("#boxFundo_" + this.id).hide();
        }
    }

    
    
}

function populaInput() {
    var mobile = verificarMobile();

    if (this.checkbox) {
        var v_val = "";
        var v_label = "";
        $(".checks_" + this.id).each(function () {
            if ($(this).attr("checked")) {
                if ($.trim($(this).val()) != "Todos") {
                    v_val += (v_val == "" ? "" : ",") + $(this).val();
                    v_label += (v_label == "" ? "" : ",") + $(this).attr("label");
                }
            }
        });

        this.val = v_val.replace("Todos,", "");
        this.label = v_label.replace("Todos,", "");
        $("#" + this.id).val(this.label);
        $("#" + this.id + "_hidden").val(this.val);

        if (this.val != "") {
            var i = 0;
            $(".checks_" + this.id).each(function () {
                if (i == 0)
                    $(this).attr("checked", false);
                i++;
            });
        }
        else {
            this.val = "";
            this.label = "Todos";
            $("#" + this.id).val(this.label);
            $("#" + this.id + "_hidden").val(this.val);
        }

    }
    else if (mobile != "") {
        this.val = $('#boxOptionsMobile_' + this.id + ' .boxOptionsConteudoMobile .itemSel').attr("value");
        this.label = $('#boxOptionsMobile_' + this.id + ' .boxOptionsConteudoMobile .itemSel').text();
        $("#" + this.id).val(this.label);
        $("#" + this.id + "_hidden").val(this.val);
    }
    else if (this.radio) {
        this.val = $("input[name='" + this.id + "']:checked").val();
        this.label = $("input[name='" + this.id + "']:checked").attr("label");
    }
    else if (this.lista) {
        var v_this = this;
        $(".lista_" + this.id).css('font-weight', "normal");
        $(".lista_" + this.id).css('cursor', "pointer");
        $(".lista_" + this.id).each(function () {
            if ($(this).attr("selected") == "true") {
                v_this.val = $(this).attr("val");
                v_this.label = $(this).attr("label");
                $(this).css('font-weight', "bold");
                $(this).css('cursor', "default");
            }

        });
        this.val = v_this.val;
        this.label = v_this.label;
    }
    else if ($.trim($("#boxOptions_" + this.id + " option:selected").text()) != "") {
        this.val = $("#boxOptions_" + this.id).val();
        this.label = $("#boxOptions_" + this.id + " option:selected").text();
        $("#" + this.id).val(this.label);
        $("#" + this.id + "_hidden").val(this.val);
    }
}

function setOptions(dados) {
    var mobile = verificarMobile();

    this.options = dados.slice(0);
    //printa os valores
    if (this.slider && mobile == "") {

         $('#' + this.id).slider( "option", "step", (this.options[3].value == 2100 ? 100 : 100000) );
         $('#' + this.id).slider( "option", "min", this.options[0].value);
         $('#' + this.id).slider( "option", "max", this.options[3].value);
         $('#' + this.id).slider("option", "values", [this.options[1].value, this.options[2].value]);

         $('#' + this.id + '_val1').html("qualquer valor");
         $('#' + this.id + '_val2').html("qualquer valor");
         this.val = "";
         this.label = "";

        return;
    }

    if (this.checkbox)
        $("#boxChecks_" + this.id).html("<div style='color:#000; float:left; margin:3px; cursor:default;  width: 290px; background:#fff'  onmouseover=\"$(this).css(\'background-color\', \'#3399FF\'); $(this).css(\'color\', \'#FFF\');\" onmouseout=\"$(this).css(\'background-color\', \'#FFF\'); $(this).css(\'color\', \'#000\'); \"><label><input class='checks_" + this.id + "' type='checkbox' onclick='if($(this).attr(\"checked\")){ $(\".checks_" + this.id + "\").attr(\"checked\",false); $(this).attr(\"checked\",true); }else{  $(this).attr(\"checked\",true); } " + this.elem + ".populaInput(); ' style='width:15px;height:13px; .height:25px;  padding:0px; margin-left:5px' value='Todos' label='Todos' checked='checked' /><input type='text' style='font-size:12px; background:transparent; border:none; cursor:default; width:250px;' readonly='readonly' value=\"Todos\"  onmouseover=\" $(this).css(\'color\', \'#FFF\');\" onmouseout=\"$(this).css(\'color\', \'#000\'); \"  /></label></div><br clear='all' />");
    else if (mobile != "") {
        $('#boxOptionsMobile_' + this.id + ' .boxOptionsConteudoMobile').html('');
    } 
    else if(this.lista)
        $("#boxLista_" + this.id).html("");
    else
        $("#boxOptions_" + this.id).html('');
    
    var vazio = 0;

    for (var i = 0; i < this.options.length; i++) {
        if (typeof (this.options[i].selected) != " undefined" && this.options[i].selected)
            vazio++;
    }
    for (var i = 0; i < this.options.length; i++) {
        
        if (this.lista) {
            $("#boxLista_" + this.id).append("<div class='lista_" + this.id + "' " + (typeof (this.options[i].selected) != " undefined" && this.options[i].selected ? " selected='true'" : " selected='false'") + " val='" + this.options[i].value + "' label='" + this.options[i].label + "' style='cursor:pointer;' onclick=' $(\".lista_" + this.id + "\").attr(\"selected\",\"false\");  $(this).attr(\"selected\",\"true\"); " + this.elem + ".populaInput(); " + (typeof (this.atualizar) != "undefined" && this.atualizar != "" && !this.consultaOnChange ? this.elem.substring(0, this.elem.indexOf(".combo")) + ".atualizarBDCombos(\"" + this.atualizar + "\");" : "") + " " + (this.consultaOnChange ? this.elem.substring(0, this.elem.indexOf(".combo")) + ".filtrarResultado(" + this.elem + ");" : "") + "  '>-" + this.options[i].label + " </div>");
        }        
        else if (this.checkbox) {
            $("#boxChecks_" + this.id).append("<div style='color:#000; float:left; margin:3px; cursor:default; width: 290px;  background:#fff'  onmouseover=\"$(this).css(\'background-color\', \'#3399FF\'); $(this).css(\'color\', \'#FFF\');\" onmouseout=\"$(this).css(\'background-color\', \'#FFF\'); $(this).css(\'color\', \'#000\'); \"><label><input class='checks_" + this.id + "' type='checkbox' onclick='" + this.elem + ".populaInput(); ' style='width:15px; height:13px; .height:25px; padding:0px; margin-left:5px' value='" + this.options[i].value + "' label='" + this.options[i].label + "' " + (typeof (this.options[i].selected) != " undefined" && this.options[i].selected ? "checked='checked'" : "") + " /><input type='text' style='font-size:12px; background:transparent; border:none; cursor:default; width:250px;' readonly='readonly' value=\"" + this.options[i].label + "\"  onmouseover=\" $(this).css(\'color\', \'#FFF\');\" onmouseout=\"$(this).css(\'color\', \'#000\'); \"  /></label></div>");
        }
        else if (mobile != "") {
            $('#boxOptionsMobile_' + this.id + ' .boxOptionsConteudoMobile').append("<div class='" + (vazio == 0 && i == 0 ? "itemSel" : (typeof (this.options[i].selected) != " undefined" && this.options[i].selected ? "itemSel" : "itemNSel")) + "' value='" + this.options[i].value + "'  onclick=' $(\"#boxOptionsMobile_" + this.id + " .boxOptionsConteudoMobile .itemSel\").attr(\"class\", \"itemNSel\"); $(this).attr(\"class\", \"itemSel\");  " + this.elem + ".populaInput(); ' >" + this.options[i].label + "</div>");
        }
        else {
            $("#boxOptions_" + this.id).append("<option value='" + this.options[i].value + "' " + (vazio == 0 && i == 0 ? "selected='selected'" : (typeof (this.options[i].selected) != " undefined" && this.options[i].selected ? "selected='selected'" : "")) + ">" + this.options[i].label + "</option>");
        }
    }
    this.populaInput();
}


function imprimirSlider() {
    //printa os valores
    var script = '<div id="' + this.id + '"></div>';
    script += '<div style="float:left; margin-top:5px; font-size:10px" >De: <span id="' + this.id + '_val1"  style="  font-weight:bold;" >qualquer valor</span ></div>';
    script += '<div style="float:right; margin-top:5px;font-size:10px" >Até: <span id="' + this.id + '_val2"  style=" font-weight:bold;">qualquer valor</span ></div>';
    $(this.destino).html(script);

    //chama o slider
    /*var j = document.createElement("script");
    j.type = "text/javascript";
    j.src = v_raiz + "Scripts/jquery-ui-1.8.13.custom.min.js";
    document.body.appendChild(j);*/
    carregaSlider();

    var j = document.createElement("link");
    j.type = "text/css";
    j.rel = "stylesheet";
    j.href = v_raiz + "Scripts/slider.css";
    document.body.appendChild(j);

    var v_this = this;
    var v_min, v_max, v_min_sel, v_max_sel;
    v_min = parseInt(v_this.options[0].value);
    v_max = parseInt(v_this.options[3].value);
    v_min_sel = parseInt(v_this.options[1].value);
    v_max_sel = parseInt(v_this.options[2].value);

    if (v_min_sel == v_min || v_min_sel == "0")
        $('#' + this.id + '_val1').html("qualquer valor");
    else
        $('#' + this.id + '_val1').html(formataMoeda(v_min_sel));

    if (v_max_sel == v_max || v_max_sel == "0")
        $('#' + this.id + '_val2').html("qualquer valor");
    else
        $('#' + this.id + '_val2').html(formataMoeda(v_max_sel));

    if (v_min_sel != v_min && v_max_sel != v_max) {
        this.val = v_min_sel + "_" + v_max_sel;
        this.label = v_min_sel + "_" + v_max_sel;
    }

    switch (v_min_sel) {
        case 1250: v_min_sel = 1100; break;
        case 1500: v_min_sel = 1200; break;
        case 2000: v_min_sel = 1300; break;
        case 3000: v_min_sel = 1400; break;
        case 5000: v_min_sel = 1500; break;
        case 7500: v_min_sel = 1600; break;
        case 10000: v_min_sel = 1700; break;
        case 12500: v_min_sel = 1800; break;
        case 15000: v_min_sel = 1900; break;
        case 30000: v_min_sel = 2000; break;
        case 1500000: v_min_sel = 1100000; break;
        case 3000000: v_min_sel = 1200000; break;
    }

    switch (v_max_sel) {
        case 0: v_max_sel = v_max; break;
        case 1250: v_max_sel = 1100; break;
        case 1500: v_max_sel = 1200; break;
        case 2000: v_max_sel = 1300; break;
        case 3000: v_max_sel = 1400; break;
        case 5000: v_max_sel = 1500; break;
        case 7500: v_max_sel = 1600; break;
        case 10000: v_max_sel = 1700; break;
        case 12500: v_max_sel = 1800; break;
        case 15000: v_max_sel = 1900; break;
        case 30000: v_max_sel = 2000; break;
        case 1500000: v_max_sel = 1100000; break;
        case 3000000: v_max_sel = 1200000; break;
    }


    $(function () {
        $('#' + v_this.id).slider({
            range: true,
            animate: true,
            step: (v_max == 2100 ? 100 : 100000),
            min: v_min,
            max: v_max,
            values: [v_min_sel, v_max_sel],
            slide: function (event, ui) {

                if (ui.values[0] == $('#' + v_this.id).slider("option", "min")) {
                    var txtmin = "qualquer valor";
                }
                else {
                    var txtmin = ui.values[0];
                }

                if (ui.values[1] == $('#' + v_this.id).slider("option", "max")) {
                    var txtmax = "qualquer valor";
                }
                else {
                    var txtmax = ui.values[1];
                }

                switch (txtmin) {
                    case 1100: txtmin = 1250; break;
                    case 1200: txtmin = 1500; break;
                    case 1300: txtmin = 2000; break;
                    case 1400: txtmin = 3000; break;
                    case 1500: txtmin = 5000; break;
                    case 1600: txtmin = 7500; break;
                    case 1700: txtmin = 10000; break;
                    case 1800: txtmin = 12500; break;
                    case 1900: txtmin = 15000; break;
                    case 2000: txtmin = 30000; break;
                    case 1100000: txtmin = 1500000; break;
                    case 1200000: txtmin = 3000000; break;
                }

                switch (txtmax) {
                    case 1100: txtmax = 1250; break;
                    case 1200: txtmax = 1500; break;
                    case 1300: txtmax = 2000; break;
                    case 1400: txtmax = 3000; break;
                    case 1500: txtmax = 5000; break;
                    case 1600: txtmax = 7500; break;
                    case 1700: txtmax = 10000; break;
                    case 1800: txtmax = 12500; break;
                    case 1900: txtmax = 15000; break;
                    case 2000: txtmax = 30000; break;
                    case 1100000: txtmax = 1500000; break;
                    case 1200000: txtmax = 3000000; break;
                }

                $('#' + v_this.id + '_val1').html(formataMoeda(txtmin));
                $('#' + v_this.id + '_val2').html(formataMoeda(txtmax));

                if (txtmin == "qualquer valor" && txtmax != "qualquer valor") {
                    eval(v_this.elem + ".val = '0_" + txtmax + "';");
                    eval(v_this.elem + ".label = '0_" + txtmax + "';");
                }
                else if (txtmin != "qualquer valor" && txtmax == "qualquer valor") {
                    eval(v_this.elem + ".val = '" + txtmin + "_0';");
                    eval(v_this.elem + ".label = '" + txtmin + "_0';");
                }
                else if (txtmin != "qualquer valor" && txtmax != "qualquer valor") {
                    eval(v_this.elem + ".val = '" + txtmin + "_" + txtmax + "';");
                    eval(v_this.elem + ".label = '" + txtmin + "_" + txtmax + "';");
                }
                else {
                    eval(v_this.elem + ".val = '';");
                    eval(v_this.elem + ".label = '';");
                }



            },
            change: function (event, ui) { eval((typeof (v_this.atualizar) != "undefined" && v_this.atualizar != "" && !v_this.consultaOnChange ? v_this.elem.substring(0, v_this.elem.indexOf(".combo")) + ".atualizarBDCombos(\"" + v_this.atualizar + "\");" : "") + " " + (v_this.consultaOnChange ? v_this.elem.substring(0, v_this.elem.indexOf(".combo")) + ".filtrarResultado(" + v_this.elem + ");" : "")); }
        });
        $('.ui-widget-header').css('background-color', $('.fundo1').css('background-color'));
        $('.ui-widget-content').css('border-color', $('.fundo2').css('background-color'));
        $('.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default').css('background-color', $('.fundo2').css('background-color'));
        $('.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default').css('border-color', $('.fundo1').css('background-color'));
    });

}

function imprimirRadio() {
    //printa os valores
    var vazio = 0;
    for (var i = 0; i < this.options.length; i++) {
        if (typeof (this.options[i].selected) != " undefined" && this.options[i].selected)
            vazio++;
    }
    for (var i = 0; i < this.options.length; i++) {
        $(this.destino).append("<label><input name='" + this.id + "' type='radio' onclick='" + this.elem + ".populaInput(); " + (typeof (this.atualizar) != "undefined" && this.atualizar != "" && !this.consultaOnChange ? this.elem.substring(0, this.elem.indexOf(".combo")) + ".atualizarBDCombos(\"" + this.atualizar + "\");" : "") + " " + (this.consultaOnChange ? this.elem.substring(0, this.elem.indexOf(".combo")) + ".filtrarResultado(" + this.elem + ");" : "") + "' value='" + this.options[i].value + "' label='" + this.options[i].label + "'  " + (vazio == 0 && i == 0 ? "checked='checked'" : (typeof (this.options[i].selected) != " undefined" && this.options[i].selected ? "checked='checked'" : "")) + "  /> " + this.options[i].label + "</label>");

    }

    this.populaInput();
}

function imprimirLista() {
    //printa os valores
    var vazio = 0;
    for (var i = 0; i < this.options.length; i++) {
        if (typeof (this.options[i].selected) != " undefined" && this.options[i].selected)
            vazio++;
    }
    var script = "<div id='boxLista_" + this.id + "' >";

    for (var i = 0; i < this.options.length; i++) {
        script += "<label onclick='" + this.elem + ".populaInput(); " + (typeof (this.atualizar) != "undefined" && this.atualizar != "" && !this.consultaOnChange ? this.elem.substring(0, this.elem.indexOf(".combo")) + ".atualizarBDCombos(\"" + this.atualizar + "\");" : "") + " " + (this.consultaOnChange ? this.elem.substring(0, this.elem.indexOf(".combo")) + ".filtrarResultado(" + this.elem + ");" : "") + "'> " + this.options[i].label + "</label>";
    }

    script += "</div>";

    $(this.destino).append(script);

    this.populaInput();
}


function Combo(parametros) {
    // Inicia Variaveis
    this.destino = parametros.destino
    this.id = parametros.id
    this.atualizar = parametros.atualizar
    this.options = parametros.options;
    this.elem = parametros.elem;
    this.tipo = parametros.tipo;
    this.queryString = parametros.queryString;
    this.checkbox = (typeof (parametros.checkbox) == "undefined" ? false : parametros.checkbox);
    this.radio = (typeof (parametros.radio) == "undefined" ? false : parametros.radio);
    this.slider = (typeof (parametros.slider) == "undefined" ? false : parametros.slider);
    this.lista = (typeof (parametros.lista) == "undefined" ? false : parametros.lista);
    this.val = null;
    this.label = null;
    this.consultaOnChange = parametros.consultaOnChange


    //Métodos
    this.imprimirCombo = imprimirCombo;
    this.imprimirRadio = imprimirRadio;
    this.imprimirSlider = imprimirSlider;
    this.imprimirLista = imprimirLista;
    this.showCombo = showCombo;
    this.populaInput = populaInput;
    this.setOptions = setOptions;

    if (this.radio)
        this.imprimirRadio();
    else if (this.slider)
        this.imprimirSlider();
    else if (this.lista)
        this.imprimirLista();
    else
        this.imprimirCombo();
}

function getPosicaoElemento(elemID) {
    var offsetTrail = document.getElementById(elemID);
    var offsetLeft = 0;
    var offsetTop = 0;
    while (offsetTrail) {
        offsetLeft += offsetTrail.offsetLeft;
        offsetTop += offsetTrail.offsetTop;
        offsetTrail = offsetTrail.offsetParent;
    }
    if (navigator.userAgent.indexOf("Mac") != -1 &&
			typeof document.body.leftMargin != "undefined") {
        offsetLeft += document.body.leftMargin;
        offsetTop += document.body.topMargin;
    }
    return { left: offsetLeft, top: offsetTop };
}

function OnEnter(evt) {
    var key_code = evt.keyCode ? evt.keyCode :
						   evt.charCode ? evt.charCode :
						   evt.which ? evt.which : void 0;


    if (key_code == 13) {
        return true;
    }
}

function formataMoeda(valor) {
    if (valor == "qualquer valor")
        return valor;

    var preco = valor + "";
    var tam = preco.length;

    if (tam == 4)
        preco = preco.substr(0, 1) + '.' + preco.substr(1, 3);
    else if (tam == 5)
        preco = preco.substr(0, 2) + '.' + preco.substr(2, 3);
    else if (tam == 6)
        preco = preco.substr(0, 3) + '.' + preco.substr(3, 3);
    else if (tam == 7)
        preco = preco.substr(0, 1) + '.' + preco.substr(1, 3) + '.' + preco.substr(4, 3);
    else if (tam == 8)
        preco = preco.substr(0, 2) + '.' + preco.substr(2, 3) + '.' + preco.substr(5, 3);
    else if (tam == 9)
        preco = preco.substr(0, 3) + '.' + preco.substr(3, 3) + '.' + preco.substr(6, 3);

    return preco+",00";
}


function carregaSlider() {
    /*!
    * jQuery UI 1.8.13
    *
    * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
    * Dual licensed under the MIT or GPL Version 2 licenses.
    * http://jquery.org/license
    *
    * http://docs.jquery.com/UI
    */
    (function (c, j) {
        function k(a, b) { var d = a.nodeName.toLowerCase(); if ("area" === d) { b = a.parentNode; d = b.name; if (!a.href || !d || b.nodeName.toLowerCase() !== "map") return false; a = c("img[usemap=#" + d + "]")[0]; return !!a && l(a) } return (/input|select|textarea|button|object/.test(d) ? !a.disabled : "a" == d ? a.href || b : b) && l(a) } function l(a) { return !c(a).parents().andSelf().filter(function () { return c.curCSS(this, "visibility") === "hidden" || c.expr.filters.hidden(this) }).length } c.ui = c.ui || {}; if (!c.ui.version) {
            c.extend(c.ui, { version: "1.8.13",
                keyCode: { ALT: 18, BACKSPACE: 8, CAPS_LOCK: 20, COMMA: 188, COMMAND: 91, COMMAND_LEFT: 91, COMMAND_RIGHT: 93, CONTROL: 17, DELETE: 46, DOWN: 40, END: 35, ENTER: 13, ESCAPE: 27, HOME: 36, INSERT: 45, LEFT: 37, MENU: 93, NUMPAD_ADD: 107, NUMPAD_DECIMAL: 110, NUMPAD_DIVIDE: 111, NUMPAD_ENTER: 108, NUMPAD_MULTIPLY: 106, NUMPAD_SUBTRACT: 109, PAGE_DOWN: 34, PAGE_UP: 33, PERIOD: 190, RIGHT: 39, SHIFT: 16, SPACE: 32, TAB: 9, UP: 38, WINDOWS: 91 }
            }); c.fn.extend({ _focus: c.fn.focus, focus: function (a, b) {
                return typeof a === "number" ? this.each(function () {
                    var d = this; setTimeout(function () {
                        c(d).focus();
                        b && b.call(d)
                    }, a)
                }) : this._focus.apply(this, arguments)
            }, scrollParent: function () {
                var a; a = c.browser.msie && /(static|relative)/.test(this.css("position")) || /absolute/.test(this.css("position")) ? this.parents().filter(function () { return /(relative|absolute|fixed)/.test(c.curCSS(this, "position", 1)) && /(auto|scroll)/.test(c.curCSS(this, "overflow", 1) + c.curCSS(this, "overflow-y", 1) + c.curCSS(this, "overflow-x", 1)) }).eq(0) : this.parents().filter(function () {
                    return /(auto|scroll)/.test(c.curCSS(this, "overflow", 1) + c.curCSS(this,
"overflow-y", 1) + c.curCSS(this, "overflow-x", 1))
                }).eq(0); return /fixed/.test(this.css("position")) || !a.length ? c(document) : a
            }, zIndex: function (a) { if (a !== j) return this.css("zIndex", a); if (this.length) { a = c(this[0]); for (var b; a.length && a[0] !== document; ) { b = a.css("position"); if (b === "absolute" || b === "relative" || b === "fixed") { b = parseInt(a.css("zIndex"), 10); if (!isNaN(b) && b !== 0) return b } a = a.parent() } } return 0 }, disableSelection: function () {
                return this.bind((c.support.selectstart ? "selectstart" : "mousedown") + ".ui-disableSelection",
function (a) { a.preventDefault() })
            }, enableSelection: function () { return this.unbind(".ui-disableSelection") }
            }); c.each(["Width", "Height"], function (a, b) {
                function d(f, g, m, n) { c.each(e, function () { g -= parseFloat(c.curCSS(f, "padding" + this, true)) || 0; if (m) g -= parseFloat(c.curCSS(f, "border" + this + "Width", true)) || 0; if (n) g -= parseFloat(c.curCSS(f, "margin" + this, true)) || 0 }); return g } var e = b === "Width" ? ["Left", "Right"] : ["Top", "Bottom"], h = b.toLowerCase(), i = { innerWidth: c.fn.innerWidth, innerHeight: c.fn.innerHeight, outerWidth: c.fn.outerWidth,
                    outerHeight: c.fn.outerHeight
                }; c.fn["inner" + b] = function (f) { if (f === j) return i["inner" + b].call(this); return this.each(function () { c(this).css(h, d(this, f) + "px") }) }; c.fn["outer" + b] = function (f, g) { if (typeof f !== "number") return i["outer" + b].call(this, f); return this.each(function () { c(this).css(h, d(this, f, true, g) + "px") }) }
            }); c.extend(c.expr[":"], { data: function (a, b, d) { return !!c.data(a, d[3]) }, focusable: function (a) { return k(a, !isNaN(c.attr(a, "tabindex"))) }, tabbable: function (a) {
                var b = c.attr(a, "tabindex"), d = isNaN(b);
                return (d || b >= 0) && k(a, !d)
            }
            }); c(function () { var a = document.body, b = a.appendChild(b = document.createElement("div")); c.extend(b.style, { minHeight: "100px", height: "auto", padding: 0, borderWidth: 0 }); c.support.minHeight = b.offsetHeight === 100; c.support.selectstart = "onselectstart" in b; a.removeChild(b).style.display = "none" }); c.extend(c.ui, { plugin: { add: function (a, b, d) { a = c.ui[a].prototype; for (var e in d) { a.plugins[e] = a.plugins[e] || []; a.plugins[e].push([b, d[e]]) } }, call: function (a, b, d) {
                if ((b = a.plugins[b]) && a.element[0].parentNode) for (var e =
0; e < b.length; e++) a.options[b[e][0]] && b[e][1].apply(a.element, d)
            }
            }, contains: function (a, b) { return document.compareDocumentPosition ? a.compareDocumentPosition(b) & 16 : a !== b && a.contains(b) }, hasScroll: function (a, b) { if (c(a).css("overflow") === "hidden") return false; b = b && b === "left" ? "scrollLeft" : "scrollTop"; var d = false; if (a[b] > 0) return true; a[b] = 1; d = a[b] > 0; a[b] = 0; return d }, isOverAxis: function (a, b, d) { return a > b && a < b + d }, isOver: function (a, b, d, e, h, i) { return c.ui.isOverAxis(a, d, h) && c.ui.isOverAxis(b, e, i) }
            })
        }
    })(jQuery);
    ; /*!
 * jQuery UI Widget 1.8.13
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Widget
 */
    (function (b, j) {
        if (b.cleanData) { var k = b.cleanData; b.cleanData = function (a) { for (var c = 0, d; (d = a[c]) != null; c++) b(d).triggerHandler("remove"); k(a) } } else { var l = b.fn.remove; b.fn.remove = function (a, c) { return this.each(function () { if (!c) if (!a || b.filter(a, [this]).length) b("*", this).add([this]).each(function () { b(this).triggerHandler("remove") }); return l.call(b(this), a, c) }) } } b.widget = function (a, c, d) {
            var e = a.split(".")[0], f; a = a.split(".")[1]; f = e + "-" + a; if (!d) { d = c; c = b.Widget } b.expr[":"][f] = function (h) {
                return !!b.data(h,
a)
            }; b[e] = b[e] || {}; b[e][a] = function (h, g) { arguments.length && this._createWidget(h, g) }; c = new c; c.options = b.extend(true, {}, c.options); b[e][a].prototype = b.extend(true, c, { namespace: e, widgetName: a, widgetEventPrefix: b[e][a].prototype.widgetEventPrefix || a, widgetBaseClass: f }, d); b.widget.bridge(a, b[e][a])
        }; b.widget.bridge = function (a, c) {
            b.fn[a] = function (d) {
                var e = typeof d === "string", f = Array.prototype.slice.call(arguments, 1), h = this; d = !e && f.length ? b.extend.apply(null, [true, d].concat(f)) : d; if (e && d.charAt(0) === "_") return h;
                e ? this.each(function () { var g = b.data(this, a), i = g && b.isFunction(g[d]) ? g[d].apply(g, f) : g; if (i !== g && i !== j) { h = i; return false } }) : this.each(function () { var g = b.data(this, a); g ? g.option(d || {})._init() : b.data(this, a, new c(d, this)) }); return h
            }
        }; b.Widget = function (a, c) { arguments.length && this._createWidget(a, c) }; b.Widget.prototype = { widgetName: "widget", widgetEventPrefix: "", options: { disabled: false }, _createWidget: function (a, c) {
            b.data(c, this.widgetName, this); this.element = b(c); this.options = b.extend(true, {}, this.options,
this._getCreateOptions(), a); var d = this; this.element.bind("remove." + this.widgetName, function () { d.destroy() }); this._create(); this._trigger("create"); this._init()
        }, _getCreateOptions: function () { return b.metadata && b.metadata.get(this.element[0])[this.widgetName] }, _create: function () { }, _init: function () { }, destroy: function () { this.element.unbind("." + this.widgetName).removeData(this.widgetName); this.widget().unbind("." + this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass + "-disabled ui-state-disabled") },
            widget: function () { return this.element }, option: function (a, c) { var d = a; if (arguments.length === 0) return b.extend({}, this.options); if (typeof a === "string") { if (c === j) return this.options[a]; d = {}; d[a] = c } this._setOptions(d); return this }, _setOptions: function (a) { var c = this; b.each(a, function (d, e) { c._setOption(d, e) }); return this }, _setOption: function (a, c) { this.options[a] = c; if (a === "disabled") this.widget()[c ? "addClass" : "removeClass"](this.widgetBaseClass + "-disabled ui-state-disabled").attr("aria-disabled", c); return this },
            enable: function () { return this._setOption("disabled", false) }, disable: function () { return this._setOption("disabled", true) }, _trigger: function (a, c, d) { var e = this.options[a]; c = b.Event(c); c.type = (a === this.widgetEventPrefix ? a : this.widgetEventPrefix + a).toLowerCase(); d = d || {}; if (c.originalEvent) { a = b.event.props.length; for (var f; a; ) { f = b.event.props[--a]; c[f] = c.originalEvent[f] } } this.element.trigger(c, d); return !(b.isFunction(e) && e.call(this.element[0], c, d) === false || c.isDefaultPrevented()) }
        }
    })(jQuery);
    ; /*!
 * jQuery UI Mouse 1.8.13
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Mouse
 *
 * Depends:
 *	jquery.ui.widget.js
 */
    (function (b) {
        var d = false; b(document).mousedown(function () { d = false }); b.widget("ui.mouse", { options: { cancel: ":input,option", distance: 1, delay: 0 }, _mouseInit: function () { var a = this; this.element.bind("mousedown." + this.widgetName, function (c) { return a._mouseDown(c) }).bind("click." + this.widgetName, function (c) { if (true === b.data(c.target, a.widgetName + ".preventClickEvent")) { b.removeData(c.target, a.widgetName + ".preventClickEvent"); c.stopImmediatePropagation(); return false } }); this.started = false }, _mouseDestroy: function () {
            this.element.unbind("." +
this.widgetName)
        }, _mouseDown: function (a) {
            if (!d) {
                this._mouseStarted && this._mouseUp(a); this._mouseDownEvent = a; var c = this, f = a.which == 1, g = typeof this.options.cancel == "string" ? b(a.target).parents().add(a.target).filter(this.options.cancel).length : false; if (!f || g || !this._mouseCapture(a)) return true; this.mouseDelayMet = !this.options.delay; if (!this.mouseDelayMet) this._mouseDelayTimer = setTimeout(function () { c.mouseDelayMet = true }, this.options.delay); if (this._mouseDistanceMet(a) && this._mouseDelayMet(a)) {
                    this._mouseStarted =
this._mouseStart(a) !== false; if (!this._mouseStarted) { a.preventDefault(); return true }
                } true === b.data(a.target, this.widgetName + ".preventClickEvent") && b.removeData(a.target, this.widgetName + ".preventClickEvent"); this._mouseMoveDelegate = function (e) { return c._mouseMove(e) }; this._mouseUpDelegate = function (e) { return c._mouseUp(e) }; b(document).bind("mousemove." + this.widgetName, this._mouseMoveDelegate).bind("mouseup." + this.widgetName, this._mouseUpDelegate); a.preventDefault(); return d = true
            }
        }, _mouseMove: function (a) {
            if (b.browser.msie &&
!(document.documentMode >= 9) && !a.button) return this._mouseUp(a); if (this._mouseStarted) { this._mouseDrag(a); return a.preventDefault() } if (this._mouseDistanceMet(a) && this._mouseDelayMet(a)) (this._mouseStarted = this._mouseStart(this._mouseDownEvent, a) !== false) ? this._mouseDrag(a) : this._mouseUp(a); return !this._mouseStarted
        }, _mouseUp: function (a) {
            b(document).unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName, this._mouseUpDelegate); if (this._mouseStarted) {
                this._mouseStarted =
false; a.target == this._mouseDownEvent.target && b.data(a.target, this.widgetName + ".preventClickEvent", true); this._mouseStop(a)
            } return false
        }, _mouseDistanceMet: function (a) { return Math.max(Math.abs(this._mouseDownEvent.pageX - a.pageX), Math.abs(this._mouseDownEvent.pageY - a.pageY)) >= this.options.distance }, _mouseDelayMet: function () { return this.mouseDelayMet }, _mouseStart: function () { }, _mouseDrag: function () { }, _mouseStop: function () { }, _mouseCapture: function () { return true }
        })
    })(jQuery);
    ; /*
 * jQuery UI Slider 1.8.13
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Slider
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.mouse.js
 *	jquery.ui.widget.js
 */
    (function (d) {
        d.widget("ui.slider", d.ui.mouse, { widgetEventPrefix: "slide", options: { animate: false, distance: 0, max: 100, min: 0, orientation: "horizontal", range: false, step: 1, value: 0, values: null }, _create: function () {
            var b = this, a = this.options, c = this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"), f = a.values && a.values.length || 1, e = []; this._mouseSliding = this._keySliding = false; this._animateOff = true; this._handleIndex = null; this._detectOrientation(); this._mouseInit(); this.element.addClass("ui-slider ui-slider-" +
this.orientation + " ui-widget ui-widget-content ui-corner-all" + (a.disabled ? " ui-slider-disabled ui-disabled" : "")); this.range = d([]); if (a.range) { if (a.range === true) { if (!a.values) a.values = [this._valueMin(), this._valueMin()]; if (a.values.length && a.values.length !== 2) a.values = [a.values[0], a.values[0]] } this.range = d("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header" + (a.range === "min" || a.range === "max" ? " ui-slider-range-" + a.range : "")) } for (var j = c.length; j < f; j += 1) { if (j == 0) { e.push("<a class='ui-slider-handle ui-state-default ui-corner-all' id='ind1' href='#'></a>"); } else { e.push("<a class='ui-slider-handle ui-state-default ui-corner-all' id='ind2' href='#'></a>"); } }
            this.handles = c.add(d(e.join("")).appendTo(b.element)); this.handle = this.handles.eq(0); this.handles.add(this.range).filter("a").click(function (g) { g.preventDefault() }).hover(function () { a.disabled || d(this).addClass("ui-state-hover") }, function () { d(this).removeClass("ui-state-hover") }).focus(function () { if (a.disabled) d(this).blur(); else { d(".ui-slider .ui-state-focus").removeClass("ui-state-focus"); d(this).addClass("ui-state-focus") } }).blur(function () { d(this).removeClass("ui-state-focus") }); this.handles.each(function (g) {
                d(this).data("index.ui-slider-handle",
g)
            }); this.handles.keydown(function (g) {
                var k = true, l = d(this).data("index.ui-slider-handle"), i, h, m; if (!b.options.disabled) {
                    switch (g.keyCode) { case d.ui.keyCode.HOME: case d.ui.keyCode.END: case d.ui.keyCode.PAGE_UP: case d.ui.keyCode.PAGE_DOWN: case d.ui.keyCode.UP: case d.ui.keyCode.RIGHT: case d.ui.keyCode.DOWN: case d.ui.keyCode.LEFT: k = false; if (!b._keySliding) { b._keySliding = true; d(this).addClass("ui-state-active"); i = b._start(g, l); if (i === false) return } break } m = b.options.step; i = b.options.values && b.options.values.length ?
(h = b.values(l)) : (h = b.value()); switch (g.keyCode) {
                        case d.ui.keyCode.HOME: h = b._valueMin(); break; case d.ui.keyCode.END: h = b._valueMax(); break; case d.ui.keyCode.PAGE_UP: h = b._trimAlignValue(i + (b._valueMax() - b._valueMin()) / 5); break; case d.ui.keyCode.PAGE_DOWN: h = b._trimAlignValue(i - (b._valueMax() - b._valueMin()) / 5); break; case d.ui.keyCode.UP: case d.ui.keyCode.RIGHT: if (i === b._valueMax()) return; h = b._trimAlignValue(i + m); break; case d.ui.keyCode.DOWN: case d.ui.keyCode.LEFT: if (i === b._valueMin()) return; h = b._trimAlignValue(i -
m); break
                    } b._slide(g, l, h); return k
                }
            }).keyup(function (g) { var k = d(this).data("index.ui-slider-handle"); if (b._keySliding) { b._keySliding = false; b._stop(g, k); b._change(g, k); d(this).removeClass("ui-state-active") } }); this._refreshValue(); this._animateOff = false
        }, destroy: function () {
            this.handles.remove(); this.range.remove(); this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider"); this._mouseDestroy();
            return this
        }, _mouseCapture: function (b) {
            var a = this.options, c, f, e, j, g; if (a.disabled) return false; this.elementSize = { width: this.element.outerWidth(), height: this.element.outerHeight() }; this.elementOffset = this.element.offset(); c = this._normValueFromMouse({ x: b.pageX, y: b.pageY }); f = this._valueMax() - this._valueMin() + 1; j = this; this.handles.each(function (k) { var l = Math.abs(c - j.values(k)); if (f > l) { f = l; e = d(this); g = k } }); if (a.range === true && this.values(1) === a.min) { g += 1; e = d(this.handles[g]) } if (this._start(b, g) === false) return false;
            this._mouseSliding = true; j._handleIndex = g; e.addClass("ui-state-active").focus(); a = e.offset(); this._clickOffset = !d(b.target).parents().andSelf().is(".ui-slider-handle") ? { left: 0, top: 0} : { left: b.pageX - a.left - e.width() / 2, top: b.pageY - a.top - e.height() / 2 - (parseInt(e.css("borderTopWidth"), 10) || 0) - (parseInt(e.css("borderBottomWidth"), 10) || 0) + (parseInt(e.css("marginTop"), 10) || 0) }; this.handles.hasClass("ui-state-hover") || this._slide(b, g, c); return this._animateOff = true
        }, _mouseStart: function () { return true }, _mouseDrag: function (b) {
            var a =
this._normValueFromMouse({ x: b.pageX, y: b.pageY }); this._slide(b, this._handleIndex, a); return false
        }, _mouseStop: function (b) { this.handles.removeClass("ui-state-active"); this._mouseSliding = false; this._stop(b, this._handleIndex); this._change(b, this._handleIndex); this._clickOffset = this._handleIndex = null; return this._animateOff = false }, _detectOrientation: function () { this.orientation = this.options.orientation === "vertical" ? "vertical" : "horizontal" }, _normValueFromMouse: function (b) {
            var a; if (this.orientation === "horizontal") {
                a =
this.elementSize.width; b = b.x - this.elementOffset.left - (this._clickOffset ? this._clickOffset.left : 0)
            } else { a = this.elementSize.height; b = b.y - this.elementOffset.top - (this._clickOffset ? this._clickOffset.top : 0) } a = b / a; if (a > 1) a = 1; if (a < 0) a = 0; if (this.orientation === "vertical") a = 1 - a; b = this._valueMax() - this._valueMin(); return this._trimAlignValue(this._valueMin() + a * b)
        }, _start: function (b, a) {
            var c = { handle: this.handles[a], value: this.value() }; if (this.options.values && this.options.values.length) {
                c.value = this.values(a);
                c.values = this.values()
            } return this._trigger("start", b, c)
        }, _slide: function (b, a, c) {
            var f; if (this.options.values && this.options.values.length) { f = this.values(a ? 0 : 1); if (this.options.values.length === 2 && this.options.range === true && (a === 0 && c > f || a === 1 && c < f)) c = f; if (c !== this.values(a)) { f = this.values(); f[a] = c; b = this._trigger("slide", b, { handle: this.handles[a], value: c, values: f }); this.values(a ? 0 : 1); b !== false && this.values(a, c, true) } } else if (c !== this.value()) {
                b = this._trigger("slide", b, { handle: this.handles[a], value: c });
                b !== false && this.value(c)
            }
        }, _stop: function (b, a) { var c = { handle: this.handles[a], value: this.value() }; if (this.options.values && this.options.values.length) { c.value = this.values(a); c.values = this.values() } this._trigger("stop", b, c) }, _change: function (b, a) { if (!this._keySliding && !this._mouseSliding) { var c = { handle: this.handles[a], value: this.value() }; if (this.options.values && this.options.values.length) { c.value = this.values(a); c.values = this.values() } this._trigger("change", b, c) } }, value: function (b) {
            if (arguments.length) {
                this.options.value =
this._trimAlignValue(b); this._refreshValue(); this._change(null, 0)
            } else return this._value()
        }, values: function (b, a) {
            var c, f, e; if (arguments.length > 1) { this.options.values[b] = this._trimAlignValue(a); this._refreshValue(); this._change(null, b) } else if (arguments.length) if (d.isArray(arguments[0])) { c = this.options.values; f = arguments[0]; for (e = 0; e < c.length; e += 1) { c[e] = this._trimAlignValue(f[e]); this._change(null, e) } this._refreshValue() } else return this.options.values && this.options.values.length ? this._values(b) :
this.value(); else return this._values()
        }, _setOption: function (b, a) {
            var c, f = 0; if (d.isArray(this.options.values)) f = this.options.values.length; d.Widget.prototype._setOption.apply(this, arguments); switch (b) {
                case "disabled": if (a) { this.handles.filter(".ui-state-focus").blur(); this.handles.removeClass("ui-state-hover"); this.handles.attr("disabled", "disabled"); this.element.addClass("ui-disabled") } else { this.handles.removeAttr("disabled"); this.element.removeClass("ui-disabled") } break; case "orientation": this._detectOrientation();
                    this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-" + this.orientation); this._refreshValue(); break; case "value": this._animateOff = true; this._refreshValue(); this._change(null, 0); this._animateOff = false; break; case "values": this._animateOff = true; this._refreshValue(); for (c = 0; c < f; c += 1) this._change(null, c); this._animateOff = false; break
            }
        }, _value: function () { var b = this.options.value; return b = this._trimAlignValue(b) }, _values: function (b) {
            var a, c; if (arguments.length) {
                a = this.options.values[b];
                return a = this._trimAlignValue(a)
            } else { a = this.options.values.slice(); for (c = 0; c < a.length; c += 1) a[c] = this._trimAlignValue(a[c]); return a }
        }, _trimAlignValue: function (b) { if (b <= this._valueMin()) return this._valueMin(); if (b >= this._valueMax()) return this._valueMax(); var a = this.options.step > 0 ? this.options.step : 1, c = (b - this._valueMin()) % a; alignValue = b - c; if (Math.abs(c) * 2 >= a) alignValue += c > 0 ? a : -a; return parseFloat(alignValue.toFixed(5)) }, _valueMin: function () { return this.options.min }, _valueMax: function () { return this.options.max },
            _refreshValue: function () {
                var b = this.options.range, a = this.options, c = this, f = !this._animateOff ? a.animate : false, e, j = {}, g, k, l, i; if (this.options.values && this.options.values.length) this.handles.each(function (h) {
                    e = (c.values(h) - c._valueMin()) / (c._valueMax() - c._valueMin()) * 100; j[c.orientation === "horizontal" ? "left" : "bottom"] = e + "%"; d(this).stop(1, 1)[f ? "animate" : "css"](j, a.animate); if (c.options.range === true) if (c.orientation === "horizontal") {
                        if (h === 0) c.range.stop(1, 1)[f ? "animate" : "css"]({ left: e + "%" }, a.animate);
                        if (h === 1) c.range[f ? "animate" : "css"]({ width: e - g + "%" }, { queue: false, duration: a.animate })
                    } else { if (h === 0) c.range.stop(1, 1)[f ? "animate" : "css"]({ bottom: e + "%" }, a.animate); if (h === 1) c.range[f ? "animate" : "css"]({ height: e - g + "%" }, { queue: false, duration: a.animate }) } g = e
                }); else {
                    k = this.value(); l = this._valueMin(); i = this._valueMax(); e = i !== l ? (k - l) / (i - l) * 100 : 0; j[c.orientation === "horizontal" ? "left" : "bottom"] = e + "%"; this.handle.stop(1, 1)[f ? "animate" : "css"](j, a.animate); if (b === "min" && this.orientation === "horizontal") this.range.stop(1,
1)[f ? "animate" : "css"]({ width: e + "%" }, a.animate); if (b === "max" && this.orientation === "horizontal") this.range[f ? "animate" : "css"]({ width: 100 - e + "%" }, { queue: false, duration: a.animate }); if (b === "min" && this.orientation === "vertical") this.range.stop(1, 1)[f ? "animate" : "css"]({ height: e + "%" }, a.animate); if (b === "max" && this.orientation === "vertical") this.range[f ? "animate" : "css"]({ height: 100 - e + "%" }, { queue: false, duration: a.animate })
                }
            }
        }); d.extend(d.ui.slider, { version: "1.8.13" })
    })(jQuery);
    ;
}


// RECONHECER iPhone, iPad, Windows Phone, Android, etc.

function verificarMobile() {
    var versaoMobile = "";

    var ua = navigator.userAgent.toLowerCase();
    // Lista de substrings a procurar para ser identificado como mobile WAP
    var uMobile = 'iphone;ipod;ipad;windows phone;android;iemobile 8';
    // Sapara os itens individualmente em um array
    v_uMobile = uMobile.split(';');
    // percorre todos os itens verificando se eh mobile

    for (i = 0; i <= v_uMobile.length; i++) {
        eval("var RegExp = /" + v_uMobile[i] + "/;");
        if (ua.match(RegExp) != null) {
            versaoMobile = ua.match(RegExp)[0];
        }
    }

    return versaoMobile;
}

function getJanela() {
    var winW, winH;
    if (document.body && document.body.offsetWidth) {
        winW = document.body.offsetWidth;
        winH = document.body.offsetHeight;
    }
    if (document.compatMode == 'CSS1Compat' &&
		document.documentElement &&
		document.documentElement.offsetWidth) {
        winW = document.documentElement.offsetWidth;
        winH = document.documentElement.offsetHeight;
    }
    if (window.innerWidth && window.innerHeight) {
        winW = window.innerWidth;
        winH = window.innerHeight;
    }

    return { width: winW, height: winH };
}

if (verificarMobile != "") {
        /*
         * jQuery jScrollTouch2 plugin 2.1  
         *
         * Copyright (c) 2010 Damien Rottemberg damien@dealsurf.com
         *
         * Dual licensed under the MIT and GPL licenses:
         *   http://www.opensource.org/licenses/mit-license.php
         *   http://www.gnu.org/licenses/gpl.html
         * 
         * Change: smoother scroll with accesleration and ease
         *
         */


        (function($){
          $.fn.jScrollTouch = function (optionSettings) {
	          if(!optionSettings) optionSettings = {};
	        if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) {
 		        var isTouchScreen = 1;
 	        }else{
 		        var isTouchScreen = 0;
 	        }
 	        if(isTouchScreen){
 		
 		        optionDefault = {ease:650,displayScrollBar:true,wrapperClass:'',wrapperStyle:{}};
 		
 		        var options = $.extend(optionDefault,optionSettings);
	 	
 		        $(this).css({'overflow': 'hidden'});
 		        if($(this).css('position') != 'relative' && $(this).css('position') != 'absolute'){
 			        $(this).css({'position': 'relative'});
 		        } 
	 	
		        return this.each(function() {
		
			        var wrapper = $("<div class='jScrollTouch "+options.wrapperClass+"' style ='-webkit-transition-property: -webkit-transform; -webkit-transition-duration: "+options.ease+"ms; -webkit-transition-timing-function: ease-out; -webkit-transition-delay: initial; -webkit-transform: translate3d(0px, 0px, 0px); '/>");
			        wrapper.css(options.wrapperStyle);
			        $(this).wrapInner(wrapper);
			        var cont = $(this);
			        var top=0;
			        var stopY=0;
			        var minY = 0;
			        var maxY =0;
			        var realheight = 0;
			        var doTranslateY = 0;
			        var fullheight = 0;
			        var scrollbarV_length = 0;
			
			        var left=0;
			        var stopX=0;
			        var minX = 0;
			        var realwidth = 0;
			        var maxX = 0;
			        var doTranslateX =false;
			        var fullwidth = 0;
			        var scrollbarH_length = 0;
			
			        var scrollbarV = $('<div style="-webkit-transition-property: top; -webkit-transition-duration: '+options.ease+'ms; -webkit-transition-timing-function: ease-out; -webkit-transition-delay: initial;"></div>');
			        var scrollbarH = $('<div style="-webkit-transition-property: left; -webkit-transition-duration: '+options.ease+'ms; -webkit-transition-timing-function: ease-out; -webkit-transition-delay: initial"></div>');
			
			        cont.append(scrollbarV);
			        cont.append(scrollbarH);
			
			        function init(){
				        realheight = 0;
				        $('.jScrollTouch',cont).children().each(function(){
					        realheight = realheight+ $(this).height();
				        });
				        doTranslateY = realheight>cont.height();
				        fullheight = realheight;
				        scrollbarV_length = cont.innerHeight()*(cont.innerHeight()/fullheight)+2;
				        maxY = fullheight-cont.height();
				
				        realwidth = (Math.max.apply(Math, $('.jScrollTouch',cont).children().map(function(){ return $(this).width(); }).get()));
				        doTranslateX =realwidth >cont.width();
				        fullwidth = realwidth ;
				        maxX = realwidth-cont.width();
				        scrollbarH_length = cont.innerWidth()*(cont.innerWidth()/fullwidth)+2;
				
				        scrollbarV.css({'display':'none','position':'absolute','width':'5px','height':scrollbarV_length+'px','background':'black','border':'1px white solid','-webkit-border-radius':'5px','opacity':'0.9'});
				        scrollbarH.css({'display':'none','position':'absolute','height':'5px','width':scrollbarH_length+'px','background':'black','border':'1px white solid','-webkit-border-radius':'5px','opacity':'0.9'});
				
			
			        }
			
			
			
			
			
			        cont.unbind('mousemove touchmove mouseup touchend');
			
			        cont.bind('mousedown touchstart',function(e){			
				        if(isTouchScreen && e.originalEvent.touches){
					        e = e.originalEvent.touches[0];
				        }
				        var sY = e.pageY;
				        var sX = e.pageX;
				
				        init();
				
				        if(doTranslateY && options.displayScrollBar) scrollbarV.fadeIn(300);
				        if(doTranslateX && options.displayScrollBar) scrollbarH.fadeIn(300);
				
				        cont.bind('mousemove touchmove ',function(ev){
					        if(isTouchScreen && ev.originalEvent.touches){
						        ev.preventDefault();
						        ev = ev.originalEvent.touches[0];
					        }	
					        top = (ev.pageY-sY);
					        left = (ev.pageX-sX);
					        var tX = (doTranslateX)?stopX+left:0;
					        var tY = (doTranslateY)?(stopY+top):0;
					        $('.jScrollTouch',cont).css({"-webkit-transform": "translate3d("+tX+"px, "+tY+"px, 0px)"});
					        if(doTranslateY)  scrollbarV.css({'left':(cont.innerWidth()-7)+'px','top':(-tY*cont.innerHeight()/fullheight)+'px'});
					        if(doTranslateX)  scrollbarH.css({'top':(cont.innerHeight()-7)+'px','left':(-tX*cont.innerWidth()/fullwidth)+'px'});
					
				        });
				        cont.bind('mouseup touchend',function(ev){	
					        cont.unbind('mousemove touchmove mouseup touchend');
					        stopY = stopY + top;
					        stopX = stopX + left;
					        stopY = (doTranslateY)?Math.max(Math.min(stopY,minY),-maxY):0;
					        stopX =(doTranslateX)? Math.max(Math.min(stopX,minX),-maxX):0;
					        $('.jScrollTouch',cont).css({"-webkit-transform": "translate3d("+stopX+"px, "+stopY+"px, 0px)"});
					        if(doTranslateY)  scrollbarV.css({'left':(cont.innerWidth()-7)+'px','top':(-stopY*cont.innerHeight()/fullheight)+'px'});
					        if(doTranslateX)  scrollbarH.css({'top':(cont.innerHeight()-7)+'px','left':(-stopX*cont.innerWidth()/fullwidth)+'px'});
				
					        if(doTranslateY) scrollbarV.fadeOut(300, function() { $(this).hide(); });
					        if(doTranslateX) scrollbarH.fadeOut(300, function() { $(this).hide(); });
					
				        });
			        });
		        });
	        }
        };
    })(jQuery);

    $(document).ready(function () {
        $('.boxOptionsConteudoMobile').jScrollTouch();
    });
}
