
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(window.innerWidth) {
            // Firefox
            altura  = parseInt(window.innerHeight);
            largura = parseInt(window.innerWidth);
        } 
        else if (document.body.offsetHeight) {
        	altura  = parseInt(document.body.offsetHeight) - 70;
        	largura = parseInt(document.body.offsetWidth);
        }
        else {
            // IE
            altura  = parseInt(document.documentElement.clientHeight);
            largura = parseInt(document.documentElement.clientWidth) + 21;
        }
        
        // Define o tamanho da div do centro para deixar o site na altura certa
        var alturaCentro = parseInt(altura - 300);
        if(!Prototype.Browser.IE || document.body.offsetHeight) {
            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);
        }

    },
	
    
    /* 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;
        }

	}
	
}

