function showJSParameter(param) {
alert(param);
}
function setFocus(elementId) {
	document.getElementById(elementId).focus();
	}

	function showFile(data) {		
		var jsonData = eval('('+data+')'); 
	    window.open(jsonData.nome);
	}

	function mascara(o,f){
	    v_obj=o
	    v_fun=f
	    setTimeout("execmascara()",1)
	}

	function execmascara(){
	    v_obj.value=v_fun(v_obj.value)
	}
	          function data(v){
	              var mydata = ''; 
	              mydata = mydata + v; 
	              if (mydata.length == 2){ 
	                  mydata = mydata + '/'; 
	                  v= mydata; 
	              } 
	              if (mydata.length == 5){ 
	                  mydata = mydata + '/'; 
	                v = mydata; 
	              } 
	              if (mydata.length == 10){ 
	                  verifica_data(v); 
	              }  
	            return v;
	          }
	          function verifica_data (v) { 

	            dia = (v.substring(0,2)); 
	            mes = (v.substring(3,5)); 
	            ano = (v.substring(6,10)); 

	            situacao = ""; 
	            // verifica o dia valido para cada mes 
	            if ((dia < 01)||(dia < 01 || dia > 30) && (  mes == 04 || mes == 06 || mes == 09 || mes == 11 ) || dia > 31) { 
	                situacao = "falsa"; 
	            } 

	            // verifica se o mes e valido 
	            if (mes < 01 || mes > 12 ) { 
	                situacao = "falsa"; 
	            } 

	            // verifica se e ano bissexto 
	            if (mes == 2 && ( dia < 01 || dia > 29 || ( dia > 28 && (parseInt(ano / 4) != ano / 4)))) { 
	                situacao = "falsa"; 
	            } 
	    
	            if (v.value == "") { 
	                situacao = "falsa"; 
	            } 
	    
	            if (situacao == "falsa") { 
	                alert("Data invalida!"); 
	                v.focus(); 
	            } 
	          }           
	          
	          
	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
	}

	function soNumeros(v){
	    return v.replace(/\D/g,"")
	}
	function soNumerosEponto(v){
	    v = v.replace(/\D/g,"")
	    v = v.replace(/(\d{2})(\d)/,"$1.$2") 
	    return v
	}
	function soNumerosPonto(v){
		 v = v.replace(/[A-Za-z]/,"")
		 v = v.replace(/[!#$%&'*+\/=?^`´"\\{|}~-]/,"")
		 v = v.replace(/[\,\(\)\;\:]/,"")
		 v = v.replace(/[\<\>\@]/,"")
	    return v
	}

	function telefone(v){
	    v=v.replace(/\D/g,"")                 //Remove tudo o que não é dígito
	    v=v.replace(/^(\d\d)(\d)/g,"($1) $2") //Coloca parênteses em volta dos dois primeiros dígitos
	    v=v.replace(/(\d{4})(\d)/,"$1-$2")    //Coloca hífen entre o quarto e o quinto dígitos
	    return v
	}

	function cpf(v){
	    v=v.replace(/\D/g,"")                    //Remove tudo o que não é dígito
	    v=v.replace(/(\d{3})(\d)/,"$1.$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
	    v=v.replace(/(\d{3})(\d)/,"$1.$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
	                                             //de novo (para o segundo bloco de números)
	    v=v.replace(/(\d{3})(\d{1,2})$/,"$1-$2") //Coloca um hífen entre o terceiro e o quarto dígitos
	    return v
	}

	function cep(v){
	    v=v.replace(/\D/g,"")               //Remove tudo o que não é dígito
	    v=v.replace(/^(\d{5})(\d)/,"$1-$2") //Esse é tão fácil que não merece explicações
	    return v
	}



	function hora(v){
		
	    v=v.replace(/\D/g,"")               //Remove tudo o que não é dígito
	    v=v.replace(/^(\d{2})(\d)/,"$1:$2") //Esse é tão fácil que não merece explicações
	    return v
	}

	function cnpj(v){
	    v=v.replace(/\D/g,"")                           //Remove tudo o que não é dígito
	    v=v.replace(/^(\d{2})(\d)/,"$1.$2")             //Coloca ponto entre o segundo e o terceiro dígitos
	    v=v.replace(/^(\d{2})\.(\d{3})(\d)/,"$1.$2.$3") //Coloca ponto entre o quinto e o sexto dígitos
	    v=v.replace(/\.(\d{3})(\d)/,".$1/$2")           //Coloca uma barra entre o oitavo e o nono dígitos
	    v=v.replace(/(\d{4})(\d)/,"$1-$2")              //Coloca um hífen depois do bloco de quatro dígitos
	    return v
	}

	function changeButtonBackground(element, over){
		id = element.id;
		idLeft = id+'pnLeft';
		idCenter = id+'pnCenter';
		idRight = id+'pnRight';	
		
		if (over == true) {
			document.getElementById(idLeft).style.backgroundImage= "url('imagens/ladoesquerdo.png')";
			document.getElementById(idCenter).style.backgroundImage= "url('imagens/meio.png')";
			document.getElementById(idRight).style.backgroundImage= "url('imagens/ladodireito.png')";
		} else {
			document.getElementById(idLeft).style.backgroundImage= "url('imagens/ladoesquerdo1.png')";
			document.getElementById(idCenter).style.backgroundImage= "url('imagens/meio1.png')";
			document.getElementById(idRight).style.backgroundImage= "url('imagens/ladodireito1.png')";	
		}
	}
		
		
		
	function formatadorDecimal(objTextBox, SeparadorMilesimo, SeparadorDecimal, e, quantidadeDeDecimais){
	  
		if (quantidadeDeDecimais == 2){
			return formatadorDoisDecimais(objTextBox, SeparadorMilesimo, SeparadorDecimal, e)
		
			
		}else if (quantidadeDeDecimais == 3){
			return formatadorTresDecimais(objTextBox, SeparadorMilesimo, SeparadorDecimal, e)
		}
		
		
	}
	 


	function formatadorDoisDecimais(objTextBox, SeparadorMilesimo, SeparadorDecimal, e){
	    var sep = 0;
	    var key = '';
	    var i = j = 0;
	    var len = len2 = 0;
	    var strCheck = '0123456789';
	    var aux = aux2 = '';
	   
	    var whichCode = (window.addEventListener) ? e.which : e.keyCode;
	    // var whichCode = (window.Event) ? e.which : e.keyCode;    
	    // 13=enter, 8=backspace as demais retornam 0(zero)
	    // whichCode==0 faz com que seja possivel usar todas as teclas como delete, setas, etc    
	    if ((whichCode == 13) || (whichCode == 0) || (whichCode == 8))
	    	return true;
	    key = String.fromCharCode(whichCode); // Valor para o código da Chave
	 
	 
	    if (strCheck.indexOf(key) == -1) 
	    	return false; // Chave inválida
	    len = objTextBox.value.length;
	    for(i = 0; i < len; i++)
	        if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) 
	        	break;
	    aux = '';
	    for(; i < len; i++)
	        if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) 
	        	aux += objTextBox.value.charAt(i);
	    aux += key;
	    len = aux.length;
	    if (len == 0) 
	    	objTextBox.value = '';
	    if (len == 1) 
	    	objTextBox.value = '0'+ SeparadorDecimal + '0' + aux;
	    if (len == 2) 
	    	objTextBox.value = '0'+ SeparadorDecimal + aux;
	    if (len > 2) {
	        aux2 = '';
	        for (j = 0, i = len - 3; i >= 0; i--) {
	            if (j == 3) {
	                aux2 += SeparadorMilesimo;
	                j = 0;
	            }
	            aux2 += aux.charAt(i);
	            j++;
	        }
	        objTextBox.value = '';
	        len2 = aux2.length;
	        for (i = len2 - 1; i >= 0; i--)
	        	objTextBox.value += aux2.charAt(i);
	        objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);
	    }
	    return false;
	}



	function formatadorTresDecimais(objTextBox, SeparadorMilesimo, SeparadorDecimal, 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;    
	    // 13=enter, 8=backspace as demais retornam 0(zero)
	    // whichCode==0 faz com que seja possivel usar todas as teclas como delete, setas, etc    
	    
	    if ((whichCode == 13) || (whichCode == 0) || (whichCode == 8))
	    	return true;
	    
	    key = String.fromCharCode(whichCode); // Valor para o código da Chave
	 
	 
	    if (strCheck.indexOf(key) == -1) 
	    	return false; // Chave inválida
	    
	    len = objTextBox.value.length;
	    
	    for(i = 0; i < len; i++)
	        if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) 
	        	break;
	    aux = '';
	    for(; i < len; i++)
	        if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) 
	        	aux += objTextBox.value.charAt(i);
	    
	    aux += key;
	    len = aux.length;
	    
	    if (len == 0) 
	    	objTextBox.value = '';
	    if (len == 1) 
	    	objTextBox.value = '0'+ SeparadorDecimal + '00' + aux;
	    if (len == 2) 
	    	objTextBox.value = '0'+ SeparadorDecimal + '0' + aux;
	    if (len == 3)
	    	objTextBox.value = '0'+ SeparadorDecimal + aux;
	      	
	    if (len > 3) {
	        aux2 = '';
	        for (j = 0, i = len - 4; i >= 0; i--) {
	            if (j == 3) {
	                aux2 += SeparadorMilesimo;
	                j = 0;
	            }
	            aux2 += aux.charAt(i);
	            j++;
	        }
	        objTextBox.value = '';
	        len2 = aux2.length;
	        for (i = len2 -1; i >= 0; i--)
	        	objTextBox.value += aux2.charAt(i);
	        objTextBox.value += SeparadorDecimal + aux.substr(len - 3, len);
	    }
	    return false;
	}





	function highlight(e) {
	var targ
	if (!e) var e = window.event
	if (e.target) targ = e.target
	else if (e.srcElement) targ = e.srcElement
	if (targ.nodeType == 3) // defeat Safari bug
	   targ = targ.parentNode
	var tname
	tname=targ.tagName
	//alert("You clicked on a " + tname + " element.");

	if (targ.tagName=='TD') {
	var tr = targ.parentNode;
	var previousClass = tr.className;
	//alert('Classe da TR= '+previousClass);
	tr.className = 'dataTableHighlight';
	//tr.onmouseover = function() { tr.className='dataTableHighlight' };  
	tr.onmouseout = function() { tr.className=previousClass };
	}
	}