/*
	Biblioteca de fun��es javascript - Sinestesia Publicidade e Propaganda
*/

	//Associa uma funcao javascript a um evento em um objeto [crossbrownser]
	function addEvent( obj, type, fn )
	{
		if ( obj.attachEvent ) {
			obj['e'+type+fn] = fn;
			obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
			obj.attachEvent( 'on'+type, obj[type+fn] );
		} else {
			obj.addEventListener( type, fn, false );
		}
	}

	//Separa o endereco, o nome do arquivo e a extensao
	function extrairInformacoes(arq)
	{
		arq = arq.replace(/\\/g, "/");
		var Extensao = arq.substring(arq.lastIndexOf('.'));
		var Arquivo = arq.substring(arq.lastIndexOf('/') + 1, arq.length - Extensao.length);
		var Caminho = arq.substring(0, arq.length-Arquivo.length - Extensao.length);
		return {arquivo:Arquivo, extensao:Extensao, caminho:Caminho};
	}
	
	//Se n�o existe a palavra, adiciona
	function adicionaPalavra(nome, palavra){
		if (nome.indexOf(palavra) != -1) {
			return nome;
		} else {
			return (nome+palavra);
		}
	}
	
	//Adiciona as funcoes de focus, over, etc em seus respectivos componentes.
	function adicionaFocus()
	{
		var elementos = document.getElementsByTagName("input");
		for (i = 0; i < elementos.length; i++) {
			if ((elementos[i].type == "text") || (elementos[i].type == "file")) {
				elementos[i].className = "edit"; //Define a classe inicial como sendo edit, assim, faz-se desnecessario definir a mesma na cria��o do layout
				addEvent(elementos[i], "focus", function() { this.className = "edit_over"; return true; }); 
				addEvent(elementos[i], "blur", function() { this.className = "edit"; return true; }); 
			}
			if (elementos[i].type == "password") {
				elementos[i].className = "edit"; //Define a classe inicial como sendo edit, assim, faz-se desnecessario definir a mesma na cria��o do layout
				addEvent(elementos[i], "focus", function() { this.className = "edit_over"; return true; }); 
				addEvent(elementos[i], "blur", function() { this.className = "edit"; return true; }); 
			}
			if (elementos[i].type == "image") {
				elementos[i].className = "botao"; //Define a classe inicial como sendo botao, assim, faz-se desnecessario definir a mesma na cria��o do layout
				addEvent(elementos[i], "mouseover", function() { this.className = "botao_over"; this.src = (extrairInformacoes(this.src).caminho + adicionaPalavra(extrairInformacoes(this.src).arquivo, "_over") + extrairInformacoes(this.src).extensao); return true; }); 
				addEvent(elementos[i], "mouseout", function() { this.className = "botao"; this.src = (extrairInformacoes(this.src).caminho + extrairInformacoes(this.src).arquivo.substring(0,extrairInformacoes(this.src).arquivo.length-5) + extrairInformacoes(this.src).extensao); return true; }); 
			}
			if (elementos[i].type == "radio") {
				elementos[i].className = "radio"; //Define a classe inicial como sendo radio, assim, faz-se desnecessario definir a mesma na cria��o do layout
			}
			if (elementos[i].type == "checkbox") {
				elementos[i].className = "checkbox"; //Define a classe inicial como sendo checkbox, assim, faz-se desnecessario definir a mesma na cria��o do layout
			}
		}
		var elementos = document.getElementsByTagName("select");
		for (i = 0; i < elementos.length; i++) {
			elementos[i].className = "dropdown"; //Define a classe inicial como sendo dropdown, assim, faz-se desnecessario definir a mesma na cria��o do layout
			addEvent(elementos[i], "focus", function() { this.className = "dropdown_over"; return true; }); 
			addEvent(elementos[i], "blur", function() { this.className = "dropdown"; return true; }); 
		}
		var elementos = document.getElementsByTagName("textarea");
		for (i = 0; i < elementos.length; i++) {
			elementos[i].className = "area_texto"; //Define a classe inicial como sendo area_texto, assim, faz-se desnecessario definir a mesma na cria��o do layout
			addEvent(elementos[i], "focus", function() { this.className = "area_texto_over"; return true; }); 
			addEvent(elementos[i], "blur", function() { this.className = "area_texto"; return true; }); 
		}
		//Adiciona o over nas listagens e executa o efeito zebrado
		var elementos = document.getElementsByTagName("tr");
		for (i = 0; i < elementos.length; i++) {
			if (i % 2 == 0) {
				elementos[i].className = "registro"; //Define a classe inicial como sendo area_texto, assim, faz-se desnecessario definir a mesma na cria��o do layout
				addEvent(elementos[i], "mouseover", function() { this.className = "registro_over"; return true; }); 
				addEvent(elementos[i], "mouseout", function() { this.className = "registro"; return true; }); 
			} else {
				elementos[i].className = "registro_par"; //Define a classe inicial como sendo area_texto, assim, faz-se desnecessario definir a mesma na cria��o do layout
				addEvent(elementos[i], "mouseover", function() { this.className = "registro_par_over"; return true; }); 
				addEvent(elementos[i], "mouseout", function() { this.className = "registro_par"; return true; }); 
			}
		}
	}
	
	//Redireciona a pagina para um endereco
	function redireciona(endereco) {
		document.location = endereco;
		/*
			Se o componente que estiver usando esta fun��o for um input e estiver
			dentro de algum form, adicionar um "return false" depois do comando.
		*/
	}
	
	//Foca um elemento baseado no nome.
	function focar(nome)
	{
		var elemento = document.getElementById(nome);
		elemento.focus();
	}

	//Funcao para mascara de data
	function mascaraData(campoData)
		{
			var campo = document.getElementById(campoData);
			/*campo.setAttribute("maxlength", 10);*/
			if (campo.value.length == 2){
				data = campo.value + '/';
				campo.value = data;
				return true;              
			}
			if (campo.value.length == 5){
				data = campo.value + '/';
				campo.value = data;
				return true;              
			}
			if (campo.value.length > 10) {
				//campo.value = campo.value.substr(0,10);
			}
		}
	
	//Funcao para mascara de CNPJ
	function mascaraCNPJ(campoCNPJ){
		var campo = document.getElementById(campoCNPJ);
		campo.setAttribute('maxlength', 18);
		if (campo.value.length == 2){
			data = campo.value + '.';
			campo.value = data;
			return true;              
		}
		if (campo.value.length == 6){
			data = campo.value + '.';
			campo.value = data;
			return true;              
		}
		if (campo.value.length == 10){
			data = campo.value + '/';
			campo.value = data;
			return true;              
		}
		if (campo.value.length == 15){
			data = campo.value + '-';
			campo.value = data;
			return true;              
		}
	}
	
	//Funcao para mascara de CPF
	function mascaraCPF(campoCPF){
		var campo = document.getElementById(campoCPF);
		campo.setAttribute('maxlength', 14);
		if (campo.value.length == 3){
			data = campo.value + '.';
			campo.value = data;
			return true;              
		}
		if (campo.value.length == 7){
			data = campo.value + '.';
			campo.value = data;
			return true;              
		}
		if (campo.value.length == 11){
			data = campo.value + '-';
			campo.value = data;
			return true;              
		}
	}
	
	//Funcao para mascara de TEL
	function mascaraTEL(campoTEL){
		var campo = document.getElementById(campoTEL);
		campo.setAttribute('maxlength', 14);
		if (campo.value.length == 1){
			data = '(' + campo.value;
			campo.value = data;
			return true;              
		}
		if (campo.value.length == 3){
			data = campo.value + ') ';
			campo.value = data;
			return true;              
		}
		if (campo.value.length == 9){
			data = campo.value + '-';
			campo.value = data;
			return true;              
		}
	}
	
	//Funcao para mostra esconder div e afins
	function mostraEsconde(div){
		campo = document.getElementById(div).style.display;
		if(campo == 'none'){
			document.getElementById(div).style.display = 'block';
		}
		else{
			document.getElementById(div).style.display = 'none';
		}
		
	}
	
	//Funcao que esconde os div e afins
	function esconde(div){
		document.getElementById(div).style.display = 'none';
		
	}
	
	function mostra(div){
		document.getElementById(div).style.display = 'block';
		
	}

	function limpaValue(div){
		document.getElementById(div).value = '';

	}
	
	//Funcao para dar focus nos campos quando entra na pagina
	function campoFocus(campo){
		document.getElementById(campo).focus();
	}
	
	
	//Funcao para abrir o suporte
	function abreJanela(janela, caption, largura, altura){
		window.open(janela, caption,'height=' + altura + 'px , width='+largura+'px');
		return false;
	}
	
	function formataReais(fld, milSep, decSep, e) {
		var sep = 0;
		var key = '';
		var i = j = 0;
		var len = len2 = 0;
		var strCheck = '0123456789';
		var aux = aux2 = '';
		var whichCode = (window.Event) ? e.which : e.keyCode;
		
		if (whichCode == 13)
			return true;
		key = String.fromCharCode(whichCode);  // Valor para o c�digo da Chave
		if (strCheck.indexOf(key) == -1)
			return false;  // Chave inv�lida
		len = fld.value.length;
		for(i = 0; i < len; i++) {
			if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep))
				break;
		}
		aux = '';
		for(; i < len; i++) {
			if (strCheck.indexOf(fld.value.charAt(i))!=-1)
				aux += fld.value.charAt(i);
		}
		aux += key;
		len = aux.length;
		if (len == 0)
			fld.value = '';
		if (len == 1)
			fld.value = '0'+ decSep + '0' + aux;
		if (len == 2)
			fld.value = '0'+ decSep + aux;
		if (len > 2) {
			aux2 = '';
			for (j = 0, i = len - 3; i >= 0; i--) {
				if (j == 3) {
					aux2 += milSep;
					j = 0;
				}
				aux2 += aux.charAt(i);
				j++;
			}
			fld.value = '';
			len2 = aux2.length;
			for (i = len2 - 1; i >= 0; i--)
				fld.value += aux2.charAt(i);
			fld.value += decSep + aux.substr(len - 2, len);
		}
		return false;
	}
	
	function backspace(obj,event){
	/*
	Essa fun��o basicamente altera o  backspace nos input com m�scara reais para os navegadores IE e opera.
	O IE n�o detecta o keycode 8 no evento keypress, por isso, tratamos no keydown.
	Como o opera suporta o infame document.all, tratamos dele na mesma parte do c�digo.
	*/
	
	var whichCode = (window.Event) ? event.which : event.keyCode;
	if (whichCode == 8 && navigator.appName == 'Netscape') {	
		var valor = obj.value;
		var x = valor.substring(0,valor.length-1);
		obj.value = x;
		return false;
	
		}// end if		
	}// end backspace
	
	function extraiNome(nome){
		var caminho = new String(nome);
		return(caminho.substr(0,caminho.length-5));
	}

	function alteraClassBackLiga(id){
		document.getElementById(id).className = 'backgroundRollOver';
	}

	function alteraClassBackDesliga(id){
		document.getElementById(id).className = 'backgroundRollOout';
	}
	
	function alteraClassTitleLiga(id){
		document.getElementById(id).className = 'textoTituloRollover';
	}

	function alteraClassTitleDesliga(id){
		document.getElementById(id).className = 'textoTituloRollout';
	}

	function alteraClassPrecoLiga(id){
		document.getElementById(id).className = 'textoPrecoRollover';
	}

	function alteraClassPrecoDesliga(id){
		document.getElementById(id).className = 'textoPrecoRollout';
	}

	function alteraClassCanalLiga(id){
		document.getElementById(id).className = 'textoCanaisRollover';
	}

	function alteraClassCanalDesliga(id){
		document.getElementById(id).className = 'textoCanaisRollout';
	}
