
var Geral = {
	
	carregar : function() {
        
        /*
         * Redimensiona o centro do site para se adequar as resoluções
         * apartir de 1024 x 768
         */
        var altura  = 0;
        var largura = 0;

        if(!Prototype.Browser.IE) {
            // Firefox
            altura  = parseInt(window.innerHeight);
            largura = parseInt(window.innerWidth);
        } else {
            // IE
            if(document.body.scrollHeight <= document.documentElement.clientHeight) {
	            altura  = parseInt(document.documentElement.clientHeight);
            }
            largura = parseInt(document.documentElement.clientWidth);
        }

        var alturaCentro = parseInt(altura - 283);
        if(!Prototype.Browser.IE) {
            try {
                $$("div.oeste")[0].style.minHeight = alturaCentro+"px";
                $$("div.centro")[0].style.minHeight = alturaCentro+"px";
                //$$("div.leste")[0].style.minHeight = alturaCentro+"px";
            } catch(e) {}
        } else {
        	try {
                $$("div.oeste")[0].style.height = alturaCentro+"px";
                $$("div.centro")[0].style.height = alturaCentro+"px";
                //$$("div.leste")[0].style.height = alturaCentro+"px";
            } catch(e){}
        }
        
        
        // Centraliza o site
        if(largura > 1024) {
        	margemEsquerda = (largura - 1000) / 2;
        	$$("div.container")[0].style.marginLeft = margemEsquerda + "px";
        }



        /*
         * Se tiver classe javascript de página interna, chama o
         * método que carrega os dados iniciais
         */
        try {
            if(Interna) Interna.carregar();
        } catch( e ) {
            //alert(e);
        }

    },

    /* Faz a quantidade de anos entre duas datas */
    retornaQuantidadeAnosEntreDatas : function(dataInicial, dataFinal){

        var ano, mes, dia;

        var divDataInicial = dataInicial.split("/");
        var divDataFinal = dataFinal.split("/");

        // Seta a quantidade de anos do indivíduo
        ano = divDataFinal[2] - divDataInicial[2];

        // Se o mês de inicio for maior que o de fim remove 1 do ano
        // Se forem iguais verifica se o dia de inicio for maior que o de fim
        // também removerá 1 do ano
        if((parseInt(divDataInicial[1]) - parseInt(divDataFinal[1])) > 0)
            ano = parseInt(ano) - 1;
        else if(((parseInt(divDataInicial[1]) - parseInt(divDataFinal[1])) == 0) && 
        		((parseInt(divDataInicial[0]) - parseInt(divDataFinal[0])) > 0))
            ano = parseInt(ano) - 1;

        return ano;
    },

    retornaDataLocal : function() {

		// Instancia a data
		var data = new Date();
        var dia, mes, ano;

		if(data.getDate() < 10) dia = "0"+ data.getDate();
		else dia = data.getDate();

		if(data.getMonth() < 10) mes = "0"+ (parseInt(data.getMonth()) + 1);
		else mes = parseInt(data.getMonth()) + 1;

		ano = data.getFullYear();

		// retorna a data correta
		return (dia +"/"+ mes +"/"+ ano);

	},

	retornaHoraLocal : function() {

		// Instancia a data
		var data = new Date();
        var hora, minuto, segundo;

		if(data.getHours() < 10) hora = "0"+ data.getHours();
		else hora = data.getHours();

		if(data.getMinutes() < 10) minuto = "0"+ data.getMinutes();
		else minuto = data.getMinutes();

		if(data.getSeconds() < 10) segundo = "0"+ data.getSeconds();
		else segundo = data.getSeconds();

		// retorna a hora local
		return (hora +":"+ minuto);

	},


    /* Verifica se um valor está dentro do array passado */
	pesquisaArray: function(valores, valor) {
		var retorno = false;
		for(i=0; i < valores.length; i++) {
			if(valores[i] == valor) {
				retorno = true;
				break;
			}
		}

		return retorno;
	},


    /**
     * Insere a máscara nos valores nos campos inputs no momento da digitação
     */
	validaCampo : function(campo, evento, mascara) {

		/*
			Códigos

			Neutros:
			8  - backspace
			9  - tab
			13 - enter
			16 - shift
			17 - ctrlt
			18 - alt
			20 - caps lock
			32 - espaço
			35 - end
			36 - home
			37 - seta esquerda
			38 - seta cima
			39 - seta direita
			40 - seta baixo
			46 - delet

			Números:
			48 - zero - 96
			.           .
			.           .
			.           .
			57 - nove - 105

			Textos:
			65 - a
			.
			.
			.
			90 - z
		*/

		// Seta os códigos que não afetam o evento
		var codigosValidos = Array(8, 9, 16, 17, 18, 20, 32, 35, 36, 37, 38, 39, 40, 46);

		// Pega o valor passado relativo ao codigo
        var codigo = 0;
        if(Prototype.Browser.IE)
            codigo = evento.keyCode;
        else
            codigo = evento.which;

        
        // Variavel para controle de caracteres
        var tamanho = 0;

        //alert($(campo).type + " - " + codigo + " - " + mascara);
		if(!this.pesquisaArray(codigosValidos, codigo) && $(campo).type != "select-one") {

			switch(mascara) {
				case "texto" :
						return true;
					break;

                case "letra" :
					if(codigo >= 65 && codigo <= 90)
						return true;
					else
						return false;
					break;

				case "numero" :
					if((codigo >= 48 && codigo <= 57) || (codigo >= 96 && codigo <= 105))
						return true;
					else
						return false;
					break;

                case "preco" :
                    if((codigo == 110 || 
                        codigo == 194 || 
                        codigo == 188 || 
                        codigo == 190) ||
                        ((codigo >= 48 && codigo <= 57) ||
                         (codigo >= 96 && codigo <= 105)))
						return true;
					else
						return false;
					break;

				case "cgc" :
					if(codigo < 40 || (codigo >= 96 && codigo <= 105)) {
						tamanho = $(campo).value.length;
						if(tamanho == 2 || tamanho == 6)
							$(campo).value = $(campo).value + ".";
						if(tamanho == 10)
							$(campo).value = $(campo).value + "/";
						if(tamanho == 15)
							$(campo).value = $(campo).value + "-";

						return true;

					} else {
						return false;
					}
					break;

				case "cpf" :
					if(codigo < 40 || (codigo >= 96 && codigo <= 105)) {
						tamanho = $(campo).value.length;
						if(tamanho == 3 || tamanho == 7)
							$(campo).value = $(campo).value + ".";
						if(tamanho == 11)
							$(campo).value = $(campo).value + "-";

						return true;

					} else {
						return false;
					}
					break;

				case "cep" :
					if(codigo < 40 || (codigo >= 96 && codigo <= 105)) {
						tamanho = $(campo).value.length;
						if(tamanho == 5)
							$(campo).value = $(campo).value + "-";

						return true;

					} else {
						return false;
					}
					break;

				case "telefone" :
					/*
					if(codigo < 40 || (codigo >= 96 && codigo <= 105)) {
						var tamanho = $(campo).value.length;
						if(tamanho == 2)
							$(campo).value = $(campo).value + " - ";

						return true;

					} else
						return false;
					*/
					break;

				case "data" :
					if(codigo < 40 || (codigo >= 96 && codigo <= 105)) {
						tamanho = $(campo).value.length;
						if(tamanho == 2 || tamanho == 5)
							$(campo).value = $(campo).value + "/";

						return true;

					} else {
						return false;
					}
					break;

				case "hora" :
					if(codigo < 40 || (codigo >= 96 && codigo <= 105)) {
						tamanho = $(campo).value.length;
						if(tamanho == 2)
							$(campo).value = $(campo).value + ":";

						return true;

					} else {
						return false;
					}
					break;
			}
		
        } else {
            return true;
        }

	},


    /*
     * Controla a imagem de fundo dos campos de login e senha
     */
    fundoCampoLogin : function(campo) {
        if($(campo).value == "") {
           if($(campo).id == "login") {
               $(campo).addClassName('ilogin');
           } else {
               $(campo).addClassName('isenha');
           }

        } else {
            $(campo).style.backgroundColor = "#fff";
            if($(campo).id == "login") {
               $(campo).removeClassName('ilogin');
           } else {
               $(campo).removeClassName('isenha');
           }
        }

    },


    /*
     * Chama o popup que mostra uma tela para o fornecedor distribuir
     * seus produtos com a Dalla Sul.
     */
    popupTrabalheConosco : function() {
        var top  = "250";
        var left = "";
        var width = 300;
        var height = 300;
        if(window.innerWidth)
            left = parseInt((parseInt(window.innerWidth) - parseInt(width)) / 2);
        else
            left = parseInt((parseInt(document.body.clientWidth) - parseInt(width)) / 2); // S� pro IE

        var janela = window.open("./web/application/views/distproduto/popuptrabalho.php", "Dalla_Sul", "width="+width+", height="+height+", top="+top+", left="+left+", scrollbars=no, status=no, menubar=no, toolbar=no, titlebar=no, directories=no, location=no");
        janela.focus();
    },


    /*
     * Chama o popup que mostras as vagas existentes.
     */
    popupVaga : function() {
        var top  = "150";
        var left = "";
        var width = 600;
        var height = 400;
        if(window.innerWidth)
            left = parseInt((parseInt(window.innerWidth) - parseInt(width)) / 2);
        else
            left = parseInt((parseInt(document.body.clientWidth) - parseInt(width)) / 2); // S� pro IE

        var janela = window.open("index.php?popupvaga", "Dalla_Sul", "width="+width+", height="+height+", top="+top+", left="+left+", scrollbars=yes, status=no, menubar=no, toolbar=no, titlebar=no, directories=no, location=no");
        janela.focus();
    }
	
}


