/* 	
	Autor: Joaquim Venancio
	Site: joaquimvenancio.com
*/

function loadFunctions() {
	// Not used
}
function getURL(url_) {
	window.location = url_;
}
// Funções de Efeitos
function clickMenu(element) {
	if (document.getElementById(element).style.display == 'none') new Effect.BlindDown(element, {duration:0.5});
	else new Effect.BlindUp(element, {duration:0.5});
	return false;
}
function openAnc(element) {
	if(element.substr(3) != 'Outros' && document.getElementById(element).style.display == 'none') {
		clickAnc(element.substr(3));
	}
	document.getElementById(element).style.display = (document.getElementById(element).style.display == 'none')?'block':'none';
	return false;
}
function clickItem(element) {
	if (document.getElementById(element).style.display == 'none') new Effect.BlindDown(element, {duration:0.32});
	else new Effect.BlindUp(element, {duration:0.32});
	return false;
}
function showItem(element) {
	document.getElementById(element).style.display = (document.getElementById(element).style.display == 'none')?'block':'none';
//	else new Effect.BlindUp(element, {duration:0.5});
	return false;
}
/* Não está sendo usado, caso necessário adicionar no load: dragdrop
function criarLista(elemento,tipoTag) {
     	Sortable.create(elemento,{tag:tipoTag});
}
*/
// Função para display do Flash
function entregaActiveX(content) {	
	document.write(content);	
}
function go(url_) {
	window.location = url_;
	return false;
}
function showImage(url_) {
	alert('Abrir imagem '+url_);
	return false;
}
// Ajax Base
var xmlhttp=false;
try {
	xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
	try {
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	} catch (E) {
		xmlhttp = false;
	}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
	xmlhttp = new XMLHttpRequest();
}
// - Ajax Base
function gid(id_){
	return document.getElementById(id_);
}
function getAjax(url_, id_) {
	var element = document.getElementById(id_);
	xmlhttp.open('GET', url_ + '&r=' + Math.random() );
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			element.innerHTML = xmlhttp.responseText;
		}
	}
	xmlhttp.send(null);
} 
function getAjaxFunc(url_) {
	xmlhttp.open('GET', url_ + '&r=' + Math.random() );
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			eval(xmlhttp.responseText);
		}
	}
	xmlhttp.send(null);
} 
function getAjaxAsync(url_) {
	xmlhttp.open('GET', url_ + '&r=' + Math.random() );
	xmlhttp.send(null);
} 
function clickAnc(cd_) {
	getAjaxAsync('/ae/inc/clickEmpresa.asp?cid='+cd_);
}

function ValidaEmail(campo){
    email = campo.value;
    if (email != '') {
        if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email))) {
            alert("O e-mail informado não é válido.");
            campo.value = '';
            campo.focus();
            return false;
        }
    }	
	
}

//Checa se o Cpf é váliso
function checacpf(campo){
  	
	var cpf = campo.value;
	if (cpf.length != 0){
		
		var i;
		var y;
		
		y = '';
		for(i=0; i<cpf.length;i++){
			if(cpf.charAt(i) == '.' || cpf.charAt(i) == '-') {   
				y += "";   
			} else {   
				y += cpf.charAt(i);   
			}
		}
	
		/*
		x=cpf;
		ponto=x.indexOf(".");
		barra=x.indexOf("/");
		hifen=x.indexOf("-");
		if (ponto >= 0)
		{
			alert("Não utilize caracteres de separacao de dados, use apenas numeros")
			return false
		}
		if (barra >= 0)
		{
			alert("Não utilize caracteres de separacao de dados, use apenas numeros")
			return false
		}
		if (hifen >= 0)
		{
			alert("Não utilize caracteres de separacao de dados, use apenas numeros")
			return false
		}
		*/
	
		//y=cpf;
		a=y.substr(0, 1);
		b=y.substr(1, 1);
		c=y.substr(2, 1);
		d=y.substr(3, 1);
		e=y.substr(4, 1);
		f=y.substr(5, 1);
		g=y.substr(6, 1);
		h=y.substr(7, 1);
		i=y.substr(8, 1);
		j=y.substr(9, 1);
		k=y.substr(10, 1);
		l=y.substr(11, 1);
		m=y.substr(12, 1);
		n=y.substr(13, 1);
	// Primeiro digito:
		a1 = (a*10);
		b1 = (b*9);
		c1 = (c*8);
		d1 = (d*7);
		e1 = (e*6);
		f1 = (f*5);
		g1 = (g*4);
		h1 = (h*3);
		i1 = (i*2);
		soma1 = (a1+b1+c1+d1+e1+f1+g1+h1+i1);
		mul1 = soma1 * 10;
		div1 = (parseInt(mul1/11));
		result1 = mul1 - (div1*11);        
		digito1 = result1;
		if (digito1 > 9)
		{
			digito1 = 0; 
		}
	// Segundo digito:
		a2 = (a*11)
		b2 = (b*10)
		c2 = (c*9)
		d2 = (d*8)
		e2 = (e*7)
		f2 = (f*6)
		g2 = (g*5)
		h2 = (h*4)
		i2 = (i*3)
		j2 = (j*2)
		soma2 = (a2+b2+c2+d2+e2+f2+g2+h2+i2+j2)
		mul2 = soma2 * 10
		div2 = (parseInt(mul2/11))
		result2 = mul2 - (div2*11)         
		digito2 = result2         
		if (digito2 > 9)
		{
			digito2 = 0; 
		}
		if (digito1 != j)
		{
			alert("CPF inválido!");
			campo.value = '';
			campo.focus();
			return false;
		}
		if (digito2 != k)
		{
			alert("CPF inválido!");
			campo.value = '';
			campo.focus();
			return false;
		}
		else  
			return true;	
	
	}
}

/*function checaCnpj(cnpj){
	 CNPJ = cnpj;
	 erro = new String;
	 //if (CNPJ.length < 18) erro += "É necessario preencher corretamente o número do CNPJ! "; 
	 //if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-")){
	// if (erro.length == 0) erro += "É necessário preencher corretamente o número do CNPJ! ";
	 //}
	 //substituir os caracteres que não são números
   if(document.layers && parseInt(navigator.appVersion) == 4){
		   x = CNPJ.substring(0,2);
		   x += CNPJ. substring (3,6);
		   x += CNPJ. substring (7,10);
		   x += CNPJ. substring (11,15);
		   x += CNPJ. substring (16,18);
		   CNPJ = x; 
   } else {
		   CNPJ = CNPJ. replace (".","");
		   CNPJ = CNPJ. replace (".","");
		   CNPJ = CNPJ. replace ("-","");
		   CNPJ = CNPJ. replace ("/","");
   }
   var nonNumbers = /\D/;
   if (nonNumbers.test(CNPJ)) erro += "A verificação de CNPJ suporta apenas números! "; 
   
   var a = [];
   var b = new Number;
   var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
   for (i=0; i<12; i++){
		   a[i] = CNPJ.charAt(i);
		   b += a[i] * c[i+1];
}
   if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
   b = 0;
   for (y=0; y<13; y++) {
		   b += (a[y] * c[y]); 
   }
   if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
   if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){
		   erro +="CNPJ Inválido.";
   }
   if (erro.length > 0){
		   alert(erro);
		   return false;
   } else {
		   //alert("CNPJ valido!");
   }	
}
 */
 
//FUNÇÃO QUE VALIDA CAMPOS NUMÉRICOS
function RetornaNumeros(caracter) {

   var tecla = 0;
   if (caracter.keyCode != '') {
      tecla = event.keyCode;
   }
   else {
      tecla = caracter.which;
   }

  if(tecla > 47 && tecla < 58) { // numeros de 0 a 9
		return true;
   }else 
      if ((tecla == 0) || (tecla == 8)) { // backspace e Del
        return true;
    }
      else {
         return false;
    }

}
 
//MÁSCARA DE VALORES
function txtBoxFormat(objeto, sMask, evtKeyPress) {
	var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;
	
	if(document.all) { // Internet Explorer
		nTecla = evtKeyPress.keyCode; 
	}else if(document.layers) { // Nestcape
		nTecla = evtKeyPress.which;
	}
	
	sValue = objeto.value;
	
	// Limpa todos os caracteres de formatação que
	// já estiverem no campo.
	sValue = sValue.toString().replace( "-", "" );
	sValue = sValue.toString().replace( "-", "" );
	sValue = sValue.toString().replace( ".", "" );
	sValue = sValue.toString().replace( ".", "" );
	sValue = sValue.toString().replace( "/", "" );
	sValue = sValue.toString().replace( "/", "" );
	sValue = sValue.toString().replace( ":", "" );
	sValue = sValue.toString().replace( ":", "" );
	sValue = sValue.toString().replace( "(", "" );
	sValue = sValue.toString().replace( "(", "" );
	sValue = sValue.toString().replace( ")", "" );
	sValue = sValue.toString().replace( ")", "" );
	sValue = sValue.toString().replace( " ", "" );
	sValue = sValue.toString().replace( " ", "" );
	fldLen = sValue.length;
	mskLen = sMask.length;
	
	i = 0;
	nCount = 0;
	sCod = "";
	mskLen = fldLen;
	
	while (i <= mskLen) {
		bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/") || (sMask.charAt(i) == ":"))
		bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))
	
		if (bolMask) {
			sCod += sMask.charAt(i);
			mskLen++; 
		}else {
			sCod += sValue.charAt(nCount);
			nCount++;
		}
		i++;
	}
	
	objeto.value = sCod;
	if (nTecla != 8) { // backspace
		if (sMask.charAt(i-1) == "9") { // apenas números...
			return ((nTecla > 47) && (nTecla < 58)); // números de 0 a 9
		} else { // qualquer caracter...
			return true;
		} 
	}else {
		return true;
	}
}

//Função que valida o tamanho do campo CEP
function validaCep(campo){
	cep = campo.value;
	if(cep.length >0){
		if(cep.length < 9){
			alert('Cep inválido!');
			campo.value = '';
			campo.focus();
			return false;
		}
	}
		
	return true;
}

//Valida Telefone
function validaTelefone(campo){
	telefone = campo.value;
	if(telefone.length >0){
		if(telefone.length < 13){
			alert('Número de telefone inválido!');
			campo.value = '';
			campo.focus();
			return false;
		}
	}
		
	return true;
}

//Verifica a data
function validaData(campo){
	data = campo;
	
	if (data.value != "") {
		
		dia = (data.value.substring(0,2));
		mes = (data.value.substring(3,5)); 
		ano = (data.value.substring(6,10)); 
		situacao = ""; 
		
		if ((dia < 01)||(dia < 01 || dia > 30) && (  mes == 04 || mes == 06 || mes == 09 || mes == 11 ) || dia > 31) { 
			situacao = "falsa"; 
		} 
		
		if (mes < 01 || mes > 12 ) { 
			situacao = "falsa"; 
		}
		
		if (mes == 2 && ( dia < 01 || dia > 29 || ( dia > 28 && (parseInt(ano / 4) != ano / 4)))) { 
			situacao = "falsa"; 
		} 
		
		if (data.value.length < 10) {
			situacao = "falsa"; 
		}
		
		if (situacao == "falsa") { 
			alert("Data inválida!"); 
			data.value = "";
			data.focus();
			return false;
		}
	} 	
}

 /*Função  Pai de Mascaras*/
function Mascara(o,f){
	v_obj=o
	v_fun=f
	setTimeout("execmascara()",1)
}

/*Função que Executa os objetos*/
function execmascara(){
	v_obj.value=v_fun(v_obj.value)
}

/*Função que Determina as expressões regulares dos objetos*/
function leech(v){
	v=v.replace(/o/gi,"0")
	v=v.replace(/i/gi,"1")
	v=v.replace(/z/gi,"2")
	v=v.replace(/e/gi,"3")
	v=v.replace(/a/gi,"4")
	v=v.replace(/s/gi,"5")
	v=v.replace(/t/gi,"7")
	return v
}

/*Função que permite apenas numeros*/
function Integer(v){
	return v.replace(/\D/g,"")
}

/*Função que padroniza telefone (11) 4184-1241*/
function Telefone(v){
	v=v.replace(/\D/g,"")                 
	v=v.replace(/^(\d\d)(\d)/g,"($1) $2") 
	v=v.replace(/(\d{4})(\d)/,"$1-$2")    
	return v
}

/*Função que padroniza telefone (11) 41841241*/
function TelefoneCall(v){
	v=v.replace(/\D/g,"")                 
	v=v.replace(/^(\d\d)(\d)/g,"($1) $2")    
	return v
}

/*Função que padroniza CPF*/
function Cpf(v){
	v=v.replace(/\D/g,"")                    
	v=v.replace(/(\d{3})(\d)/,"$1.$2")       
	v=v.replace(/(\d{3})(\d)/,"$1.$2")       
											 
	v=v.replace(/(\d{3})(\d{1,2})$/,"$1-$2") 
	return v
}

/*Função que padroniza CEP*/
function Cep(v){
	v=v.replace(/D/g,"")                
	v=v.replace(/^(\d{5})(\d)/,"$1-$2") 
	return v
}

/*Função que padroniza CNPJ*/
function Cnpj(v){
	v=v.replace(/\D/g,"")                   
	v=v.replace(/^(\d{2})(\d)/,"$1.$2")     
	v=v.replace(/^(\d{2})\.(\d{3})(\d)/,"$1.$2.$3") 
	v=v.replace(/\.(\d{3})(\d)/,".$1/$2")           
	v=v.replace(/(\d{4})(\d)/,"$1-$2")              
	return v
}

/*Função que permite apenas numeros Romanos*/
function Romanos(v){
	v=v.toUpperCase()             
	v=v.replace(/[^IVXLCDM]/g,"") 
	
	while(v.replace(/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,"")!="")
		v=v.replace(/.$/,"")
	return v
}

/*Função que padroniza o Site*/
function Site(v){
	v=v.replace(/^http:\/\/?/,"")
	dominio=v
	caminho=""
	if(v.indexOf("/")>-1)
		dominio=v.split("/")[0]
		caminho=v.replace(/[^\/]*/,"")
		dominio=dominio.replace(/[^\w\.\+-:@]/g,"")
		caminho=caminho.replace(/[^\w\d\+-@:\?&=%\(\)\.]/g,"")
		caminho=caminho.replace(/([\?&])=/,"$1")
	if(caminho!="")dominio=dominio.replace(/\.+$/,"")
		v="http://"+dominio+caminho
	return v
}

/*Função que padroniza DATA*/
function Data(v){
	v=v.replace(/\D/g,"") 
	v=v.replace(/(\d{2})(\d)/,"$1/$2") 
	v=v.replace(/(\d{2})(\d)/,"$1/$2") 
	return v
}

/*Função que padroniza DATA*/
function Hora(v){
	v=v.replace(/\D/g,"") 
	v=v.replace(/(\d{2})(\d)/,"$1:$2")  
	return v
}

/*Função que padroniza valor monétario*/
function Valor(v){
	v=v.replace(/\D/g,"") //Remove tudo o que não é dígito
	v=v.replace(/^[+-]?((\d+|\d{1,3}(\.\d{3})+)(\,\d*)?|\,\d+)$/,"$3.");
	//v=v.replace(/(\d{3})(\d)/g,"$1,$2")
	v=v.replace(/(\d)(\d{2})$/,"$1,$2") //Coloca ponto antes dos 2 últimos digitos
	return v
}

/*Função que padroniza Area*/
function Area(v){
	v=v.replace(/\D/g,"") 
	v=v.replace(/(\d)(\d{2})$/,"$1,$2") 
	return v
	
}

function moeda(z){                  
	v = z.value;                
	v=v.replace(/\D/g,"")  //permite digitar apenas números        
	v=v.replace(/[0-9]{12}/,"inválido")   //limita pra máximo 999.999.999,99        
	v=v.replace(/(\d{1})(\d{8})$/,"$1.$2")  //coloca ponto antes dos últimos 8 digitos        
	v=v.replace(/(\d{1})(\d{5})$/,"$1.$2")  //coloca ponto antes dos últimos 5 digitos        
	v=v.replace(/(\d{1})(\d{1,2})$/,"$1,$2")        //coloca virgula antes dos últimos 2 digitos                
	z.value = v;        
}

function validaValor(campo){
	valor = campo.value;
	if(valor.length >0){
		if(valor.length < 4){
			alert('Valor inválido!');
			campo.value = '';
			campo.focus();
			return false;
		}
	}
	return true;
}

function textCounter(field, countfield, maxlimit){
	alert(field.value)
	if (field.value.length > maxlimit){
		field.value = field.value.substring(0, maxlimit);
	}else{ 
		countfield.value = maxlimit - field.value.length;
	}
}
 
