﻿Array.prototype.remove = function(from, to) {
    var rest = this.slice((to || from) + 1 || this.length);
    this.length = from < 0 ? this.length + from : from;
    return this.push.apply(this, rest);
};

var quoteProducts_products = [];

function quoteProducts_productClick(target) {
    var name = $($(target).find(".name")).val();

    if ($(target).hasClass("selected")) {
        $(target).removeClass("selected");
        quoteProducts_removeProduct(name);
    }
    else {
        $(target).addClass("selected");
        quoteProducts_addProduct(name);
    }
}

function quoteProducts_addProduct(name) {
    quoteProducts_products.push(name);

    quoteProducts_updateProductList();
}

function quoteProducts_removeProduct(name) {
    for (i = 0; i < quoteProducts_products.length; i++) {
        if (quoteProducts_products[i] == name) quoteProducts_products.remove(i);
    }

    quoteProducts_updateProductList();
}

function quoteProducts_updateProductList() {
    $(".productList").val(quoteProducts_products);
}

function menuNaoSelecionado(f) {
    f.className = "MenuNaoSelecionado";
}

function menuSelecionado(f) {
    f.className = "MenuSelecionado";
}

function menuNaoSelecionadoOrcamento(f) {
    if (!$(f).hasClass("selected")) {
        $(f).removeClass("MenuSelecionadoOrcamento");
        $(f).addClass("MenuNaoSelecionadoOrcamento");
    }
}

function menuSelecionadoOrcamento(f) {
    if (!$(f).hasClass("selected")) {
        $(f).removeClass("MenuNaoSelecionadoOrcamento");
        $(f).addClass("MenuSelecionadoOrcamento");
    }
}

function preencherFotosInstitucional(f, a, c) {
    moldalGallery.addPhoto(f, a, c);
}

function FotoPopupClick(f) {

    var t;
    var y;
    for (var x = 0; x < f.childNodes.length; x++) {
        if (f.childNodes[x].tagName != 'INPUT')
            continue;

        if (f.childNodes[x].className == 'urlImage') {
            t = f.childNodes[x].value;
        }
        if (f.childNodes[x].className == 'legenda') {
            y = f.childNodes[x].value;
        }
    }
    var id = document.getElementById("ctl00_ContentPlaceHolder1_popupImagens_imgGrandePopup");

    $(id).fadeOut("slow", function() {
        id.setAttribute("style", "background:url(" + t + ") no-repeat;");
        id.style.cssText = "background:url(" + t + ") no-repeat;";
    });
    $(id).fadeIn("slow");

    var nome = document.getElementById("ctl00_ContentPlaceHolder1_popupImagens_lblNomeProdutoPop");
    nome.innerHTML = y;


    return false;


}
function FotoPopupClickInst(f) {


    var t;
    var y;
    for (var x = 0; x < f.childNodes.length; x++) {
        if (f.childNodes[x].tagName != 'INPUT')
            continue;

        if (f.childNodes[x].className == 'urlImage') {
            t = f.childNodes[x].value;
        }
        if (f.childNodes[x].className == 'legenda') {
            y = f.childNodes[x].value;
        }
    }
    var id = document.getElementById("imgGrandePopup");

    $(id).fadeOut("slow", function() {
        id.setAttribute("style", "background:url(" + t + ") no-repeat;");
        id.style.cssText = "background:url(" + t + ") no-repeat;";
    });
    $(id).fadeIn("slow");

    var nome = document.getElementById("ctl00_ContentPlaceHolder1_popupImagens_lblNomeProdutoPop");
    nome.innerHTML = y;


    return false;
}


function EscolhidaImagem(f) {
    var dtvLista = document.getElementById("ctl00_ContentPlaceHolder1_popupImagens_dtvListaImagePopPI");
    var valor = (dtvLista.value * 8) + 1;
    var t = f.parentNode;
    var foto = document.getElementById("ctl00_ContentPlaceHolder1_popupImagens_lblFotoAtual");
    f.className = "imgSelecionda";
    var d = t.parentNode;
    for (var q = 0; q <= d.childNodes.length; q++) {
        var g = d.childNodes[q];
        for (m = 0; m < g.childNodes.length; m++) {
            if (g.childNodes[m].innerHTML != f.innerHTML) {
                if ((g.childNodes[m].className == 'ImagemListaPop') || (g.childNodes[m].className == 'imgSelecionda')) {
                    g.childNodes[m].className = 'ImagemListaPop';
                    valor++;
                }
            }
            else {
                foto.innerHTML = valor;
                g.childNodes[m].className = 'imgSelecionda';
            }
        }
    }
    return false;
}

function textbox_focus(f) {
    $(f).addClass("focus");
}

function textbox_blur(f) {
    $(f).removeClass("focus");
}

function SetDefaultValue(oSender, sText) {
    if (oSender.value == sText)
        oSender.value = "";

    oSender.onblur = function() {
        if (this.value == "")
            this.value = sText;
        textbox_blur(oSender);
    }
}




function OnSucceeded(result, userContext, methodName) {
}

function OnFailed(error, userContext, methodName) {
}

var headSelected = null;

function AtualizarDadosLocal(f) 
{

    var heads = $(".headquarter");

    $("#modalHeadquerters").fadeIn("slow");
    if (headSelected != null) {
        $(headSelected).fadeOut("slow", function() { $(heads[f]).fadeIn("slow"); });
    }
    else {
        $(heads[f]).fadeIn("slow");
    }

    headSelected = $(heads[f]);
    $("#modalHeadquerters").fadeOut("slow");
}


//@Descrição
//Faz com que o campo só entre caracteres númericos
//@Aplicação
//<input type="text" onfocus="OnlyNumber(this)">
function OnlyNumber(obj) {
    obj.onkeypress = function(ev) {
	
		var keys = "0123456789- ";
		var key;
		
        if (window.event)
			key = String.fromCharCode(event.keyCode);
		else
			key = String.fromCharCode(event.keyCode);
			
			//window.console.log(ev.which);
			//window.console.log(();
			
			/*if(event.keyCode == 32)
				return true;
			
            if (event.keyCode < 48 || event.keyCode > 57)
                if (event.keyCode != 13)
                	return false;
        } else {
            if (ev.which < 48 || ev.which > 57)
                if (ev.which != 13 && ev.which != 8 && ev.which != 0)
                	return false;
        }*/
		//}
		
		return (keys.indexOf(key) != -1);
    }
}

function showPopupFade(str) {
    //Div POpuo
    $("#" + str + "_PW-1").fadeIn("slow");

    //ModAL
    $("#" + str + "_DXPWMB-1").css("display", "none").fadeIn("slow");


    popImagens.Show();
    document.body.style.overflowY = 'visible';
}

function hidePopupFade(str) {


    //ModAL
    $("#" + str + "_DXPWMB-1").fadeOut("slow");

    //Div POpuo
    $("#" + str + "_PW-1").fadeOut("slow", function() { popImagens.Hide() });


}


function EditarMensagem(oSpan) {
    var txtMensagem = document.getElementById("ctl00_corpoContentPlaceHolder_txtMensagem");

    if ($(oSpan).hasClass("selected")) {
        $(oSpan).removeClass("MenuSelecionadoOrcamento").removeClass("selected");
        $(oSpan).addClass("MenuNaoSelecionadoOrcamento");

        txtMensagem.value = txtMensagem.value.replace(", " + trim(oSpan.innerText) + ". ", ". ");
        txtMensagem.value = txtMensagem.value.replace(trim(oSpan.innerText) + ". ", "");
        txtMensagem.value = txtMensagem.value.replace(trim(oSpan.innerText) + ", ", "");
        txtMensagem.value = txtMensagem.value.replace(", " + trim(oSpan.innerText), "");
    } else {
        $(oSpan).removeClass("MenuNaoSelecionadoOrcamento");
        $(oSpan).addClass("MenuSelecionadoOrcamento").addClass("selected");

        if (txtMensagem.value.charAt(txtMensagem.value.length - 2) == '.') {
            txtMensagem.value = txtMensagem.value.substring(0, txtMensagem.value.length - 2);
            txtMensagem.value = txtMensagem.value + ", " + trim(oSpan.innerText) + ". ";
        } else {
            txtMensagem.value = txtMensagem.value + trim(oSpan.innerText) + ". ";
        }
    }
}

//Elimina os espaços em branco no começo e final da string
function trim(str) {
    return str.replace(/^\s+|\s+$/g, "");
}

///Simula o OnChange do combobox do ajax control toolkit da página de produtos
var comboboxActive;
var ultimoIndiceOrigem = "0";
var ultimoIndiceMaterial = "0";
var ultimoIndiceCor = "0";
function onChangeCombobox(ev) {
    var nomeTextBox = this.id;
    var nomeHiddenField = this.id.replace("_TextBox", "_HiddenField");

    //verifica o indice do combobox e aluna a ação caso naum mudar
    if (this.id.indexOf("Origem") != -1) {
        if (ultimoIndiceOrigem == $("#" + nomeHiddenField).val())
            return;
        else
            ultimoIndiceOrigem = $("#" + nomeHiddenField).val();
    }
    else if (this.id.indexOf("Material") != -1) {
        if (ultimoIndiceMaterial == $("#" + nomeHiddenField).val())
            return;
        else
            ultimoIndiceMaterial = $("#" + nomeHiddenField).val();
    }
    else if (this.id.indexOf("Color") != -1) {
        if (ultimoIndiceCor == $("#" + nomeHiddenField).val())
            return;
        else
            ultimoIndiceCor = $("#" + nomeHiddenField).val();
    }

    this.style.backgroundImage = "url('images/produtos/preload_filtro_bandeira.gif')";

    //Atualiza o DataView de produtos
    dataView.PerformCallback();

    //Guarda o elemento em uma variavel global para ser usada na function "endCallBackDataViewProdutos"
    comboboxActive = this;
}


//Executa ao dar executar o CustomCallback do dataview dos produtos
function endCallBackDataViewProdutos(s, e) {
    if (comboboxActive != null) {
        if (comboboxActive.value.indexOf("ANY") != -1)
            comboboxActive.style.backgroundImage = "url(images/produtos/flag_indeterminada.jpg)";
        else if (comboboxActive.id.indexOf("Origem") != -1)
            comboboxActive.style.backgroundImage = "url(images/flags/" + comboboxActive.value.replace(' ', '_') + ".png)";
        else if (comboboxActive.id.indexOf("Material") != -1)
            comboboxActive.style.backgroundImage = "url(images/material/" + comboboxActive.value.replace(' ', '_') + ".png)";
        else if (comboboxActive.id.indexOf("Color") != -1)
            comboboxActive.style.backgroundImage = "url(images/cor/" + comboboxActive.value.replace(' ', '_') + ".png)";
    }

    //Elemina todas as formas de paginações
    if ($(".gvwProdutosPagerStyle").size() == 0)
        $("#tablePaginacao").css("visibility", "hidden");
    else
        $("#tablePaginacao").css("visibility", "visible");
}

//Troca a classe do textbox de produtos, quando o usuário digita 
//uma palavra que naum contem na lista de produtos
var ProcurarNomeDataSource;
function txtProcurarNome_KeyUp(ev) {
    for (i = 0; i < ProcurarNomeDataSource.length; i++) {
        if (new RegExp(this.value, "i").test(ProcurarNomeDataSource[i])) {
            $(this).removeClass("TextBoxStyleErro").addClass("textbox");
            return;
        }
    }
    
    $(this).removeClass("textbox").addClass("TextBoxStyleErro");
}

//Classe para ser instanciado o Popup
function Popup(popupID) {

    //Identificação do objeto
    this.popupID = popupID;
    
    //Instancia em JQuery do popup
    this.oPopup = $("#"+popupID);
    
    //Responsavel por exibir o popup na tela
    this.show = function() {
        this.oPopup.css("margin-left", "-" + (this.oPopup.width()/2) + "px");
        this.oPopup.fadeIn("fast");
    }

    //Responsavel de ocultar o popup na tela
    this.hide = function() {
        this.oPopup.fadeOut("fast");
    }

    //Responsavel por escrever o texto no cabeçalho do popup
    this.setHeaderText = function(sText) {
        $("#" + this.popupID + " .cabecalhoPopup").text(sText);
    }

    //Responsavel por escrever o texto no conteudo do popup
    this.setText = function(sText) {
        $("#" + this.popupID + " .textoPopup").text(sText);
    }
}
