/* Inicio da Função para validar campo de moeda 
Para usar a função:
onKeyPress="FormataValor(this.id, 10, event)"onKeyUp="return autoTab(this, 9, event);"
*/
function FormataValor(id,tammax,teclapres) { 
    
        if(window.event) { // Internet Explorer
         var tecla = teclapres.keyCode; }
        else if(teclapres.which) { // Nestcape / firefox
         var tecla = teclapres.which;
        }


vr = document.getElementById(id).value;
vr = vr.toString().replace( "/", "" );
vr = vr.toString().replace( "/", "" );
vr = vr.toString().replace( ",", "" );
vr = vr.toString().replace( ".", "" );
vr = vr.toString().replace( ".", "" );
vr = vr.toString().replace( ".", "" );
vr = vr.toString().replace( ".", "" );
tam = vr.length;

if (tam < tammax && tecla != 8){ tam = vr.length + 1; }

if (tecla == 8 ){ tam = tam - 1; }

if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){
if ( tam <= 2 ){
document.getElementById(id).value = vr; }
if ( (tam > 2) && (tam <= 5) ){
document.getElementById(id).value = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ); }

if ( (tam >= 6) && (tam <= 8) ){
document.getElementById(id).value = vr.substr( 0, tam - 5 ) + '' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ); }

}
} // Fim da Função para validar campo de moeda


var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e) {
var keyCode = (isNN) ? e.which : e.keyCode; 
var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
if(input.value.length >= len && !containsElement(filter,keyCode)) {
input.value = input.value.slice(0, len);
input.form[(getIndex(input)+1) % input.form.length].focus();
}
function containsElement(arr, ele) {
var found = false, index = 0;
while(!found && index < arr.length)
if(arr[index] == ele)
found = true;
else
index++;
return found;
}
function getIndex(input) {
var index = -1, i = 0, found = false;
while (i < input.form.length && index == -1)
if (input.form[i] == input)index = i;
else i++;



return index;
}
return true;
}
//  Fim


function AbreJanelaGaleria(URL) {
  var width = 625;
  var height = 395;
  var left = 50;
  var top = 10
  window.open(URL, 'ema3', 'width='+width+', height='+height+', top='+top+', left='+left+', scrollbars=no, status=no, toolbar=no, location=no, directories=no, menubar=no, resizable=no, fullscreen=no');
}

function abrejanela(pagina, largura, altura, scrollbar) {
	var x = 0;
	var y = 0;
	x = (screen.availWidth - 12 - largura) / 2;
	y = (screen.availHeight - 48 - altura) / 2;
	var features = "screenX=" + x + ",screenY=" + y + ",width=" + largura + ",height=" + altura+",top="+y+",left="+x+",toolbar=no,scrollbars="+scrollbar;
	var NewWindow = window.open(pagina,'',features);
	NewWindow.focus();
	//MyWin = window.open(pagina,'', 'toolbar=no,width='+largura+',height='+altura+',scrollbars='+scrollbar);
}
function inicializa(campo){
	var frm;
	frm = document.frm;

	frm[campo].focus();
	frm[campo].select();
	frm[campo].focus();
}

function excluir(campo, valor, msg, arq){
	if(confirm(msg))
		window.location = arq + '?' + campo + '=' + valor;
}

function alterar(campo, valor, arq){
	stringCampo = "";
	campo = campo.split(',');
	valor = valor.split(',');
	
	for(i = 0; i < campo.length; i++){
		stringCampo += campo[i] + "=" + valor[i];
		
		if(i < campo.length-1)
			stringCampo += "&";
	}

	window.location = arq + '?' + stringCampo;
}

function incluir(pagina,local){
	if(local == '')
		local = '_parent';
	
	if(pagina == '')
		pagina = 'index.php';
		
	window.open(pagina,local);
}

function openWindow(pagina){
	
	if(pagina == '')
		pagina = 'index.php';
		
	window.location = pagina;
}

function listar(pagina){

	if(pagina == '')
		pagina = 'listar.php';

	document.location = pagina;
}

function sair(){
	document.location = '../index.php';
}

function validaNumeroInt(obj){
	var tecla = event.keyCode;

	if ((tecla < 48 || tecla > 57) && (event.keyCode != 8)) {
		event.keyCode = 0;
		return;
	}
}

function formataData( campo, e ) {
    car = (navigator.appName == "Netscape" ) ? e.which : e.keyCode;
    var key = '';
    var whichCode = (window.Event) ? e.which : e.keyCode;
    key = String.fromCharCode(whichCode);
    
    var strCheck = 'abcdefghijklmnopqwrstyuvç`´^~?;:.><,-_)(*&¨%$#@!{[}]ªº/'; /*'0123456789';*/

    if (strCheck.indexOf(key) != -1){
    	return false;   	
   	}
    if ( ( car < 48 || car > 57 ) && ( car > 31 ) ) return false;
    if ( ( campo.value.length == 2 ) || ( campo.value.length == 5 ) ) {
        if (car != 8) {
        	campo.value += '/';
        }
    }

    return true;
}

function verificaCampo(campo,msg,local){
	var frm;

	frm = document.frm;
	if(frm[campo].value == ''){
		parent.document.getElementById(local).innerHTML = msg;
		frm[campo].focus();
		return false;
	}
	
	return true;
}

function message(param){
	switch(param){
		case 1:
		parent.document.getElementById('msg').innerHTML = 'O arquivo tem de ser no formato HTML e n&atilde;o pode ter nem espa&ccedil;os nem caracteres especiais';
		break;
		case 2:
		parent.document.getElementById('msg').innerHTML = 'Campo obrigatório.';
		break;
		case 3:
		parent.document.getElementById('msg').innerHTML = 'O nome da foto n&atilde;o pode ter espa&ccedil;o';
		break;
		case 4:
		parent.document.getElementById('msg').innerHTML = 'O arquivo deve ter a extens&atilde;o DOC e o nome sem espa&ccedil;os ou caracteres especiais';
		break;
		default:
		parent.document.getElementById('msg').innerHTML = '';
	}
function message(param){
	switch(param){
		case 1:
		parent.document.getElementById('msg').innerHTML = 'O arquivo tem de ser no formato HTML e n&atilde;o pode ter nem espa&ccedil;os nem caracteres especiais';
		break;
		case 2:
		parent.document.getElementById('msg').innerHTML = 'Campo obrigatório.';
		break;
		case 3:
		parent.document.getElementById('msg').innerHTML = 'O nome da foto n&atilde;o pode ter espa&ccedil;o';
		break;
		case 4:
		parent.document.getElementById('msg').innerHTML = 'O arquivo deve ter a extens&atilde;o DOC e o nome sem espa&ccedil;os ou caracteres especiais';
		break;
		default:
		parent.document.getElementById('msg').innerHTML = '';
	}
}
}
function fPulaCampo(campo1,campo2,iTam,tpcampo)
	{
		if(bPula)
		{
			
			if (tpcampo == "data")
				{
			    	Filtro(campo1,'data');
				}
				if (tpcampo == "hora")
				{
			    	Filtro(campo1,'hora');

				}
			if (campo1.value.length >= iTam)
			{ 
				campo2.focus(); 
			}
				
		}
		
		return;
		
	}
function Filtro(Objeto,tpCampo) {
    if (navigator.appName.substr(0,9) != "Microsoft") {
        return;
    }

    if (window.event.keyCode == 37 || window.event.keyCode == 8
            || window.event.keyCode == 36 || window.event.keyCode == 46
            || window.event.keyCode == 16 || window.event.keyCode == 9)
        return;

    if (window.event.keyCode == 111 || window.event.keyCode == 191) {
	    if (tpCampo == "data") {
		    if (Objeto.value.length == 3 || Objeto.value.length == 6) {
			    return;
		    }
		    if (Objeto.value.length == 4 || Objeto.value.length == 7) {
			    var newpos = Objeto.value.length - 1;
			    Objeto.value = Objeto.value.substring(0,newpos);
			    return;
		    }
	    }
    }

    if (window.event.keyCode == 39) {
	    if (tpCampo == "data") {
            if (Objeto.value.length == 2 || Objeto.value.length == 5) {
			    Objeto.value = Objeto.value + "/";
            }
        }
        return;
    }

	if (tpCampo == "orgaoEmissor") {
    	Objeto.value = PassaDominio(Objeto.value, "0123456789ABCDEFGHIJLMNOPQRSTUVXZabcdefghijlmnopqrstuvxz");
		Objeto.value = FmtLacre(Objeto.value);
		return;
	}

	Objeto.value = PassaDominio(Objeto.value, "0123456789");
	if (tpCampo == "data") {
		Objeto.value = FmtData(Objeto.value);
	}
	if (tpCampo == "DataMesAno") {
		Objeto.value = FmtDataMesAno(Objeto.value);
	}
	if (tpCampo == "valor") {	
		Objeto.value = FmtCurr(Objeto.value);
	}
	if (tpCampo == "hora") {	
		Objeto.value = FmtHora(Objeto.value);
	}
	if (tpCampo == "lacre") {	
		Objeto.value = FmtLacre(Objeto.value);
	}
}


function validaCpf(campo){
	if (campo.value.length == 3 || campo.value.length == 7){
		campo.value +=".";
	}
	if (campo.value.length == 11){
		campo.value +="-";
	} /* Para usar esta função e so colcoar onkeypress="return validaNumero(event);" size="14" maxlength="14" onkeyup="validaCpf(this);" */
}

function validaCep(campo){
	if (campo.value.length == 2){
		campo.value +=".";
	}
	if (campo.value.length == 6){
		campo.value +="-";
	}
}

/**
 * formata o telefone com ddd
 * onkeypress="return formataTelefoneComDDD(this, event)"
 */
function formataTelefoneComDDD(campo, event) {
    var key = window.event ? event.keyCode : event.which;
    var retorno = false;
    var valor = "";
    var teste = campo.value;
    
    
    /* Descricao dos keyCodes
    * 0 = Tab
    * 8 = backspace
    * 35 = end
    * 36 = home
    * 37 = seta esqueda
    * 39 = seta direita
    * 45 = insert
    * 48 - 57 = numeros no teclado alfabetico
    */
    if (key == 0){
        return true;
    }
    if ((key != 8 && key != 37 && key != 39 && key != 35 && key != 36 && key != 45 && key >= 48 && key <= 57)) {
        retorno = true;
    }
    else{
        retorno = false;
    }
    
    var teste2 = "";
    
    //tratando o backspace.
    var tamanho = teste.length;
    
    for (var i = 0; i < tamanho; i++) {
        if (!isNaN(teste.charAt(i)) && teste.charAt(i) != " ") {
            teste2 += teste.charAt(i);
        }
    }
    
    if (key == 8 && teste2.length > 0){
        teste2 = teste2.substring(0, teste2.length -1);
    }

    // obtendo o tamanho do texto
    var t1 = teste2.length;
    
    if (t1 <= 1) {
      valor = '(' + teste2;
    } else if (t1 > 1 && t1 <= 5) {
        valor = '(' + teste2.substring(0, 2) + ') ' +  teste2.substring(2);
    } else if (t1 > 5 && t1 <= 9) {
        valor = '(' + teste2.substring(0, 2) + ') ' +  teste2.substring(2, teste2.length - 3) + '-' + teste2.substring(teste2.length - 3);
    } else {
        return false;
    } 
            
    campo.value = valor;
    
    return retorno;
}

function checkMail(mail){
    var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
    if(typeof(mail) == "string"){
        if(er.test(mail)){ return true; }
    }else if(typeof(mail) == "object"){
        if(er.test(mail.value)){ 
                    return true; 
                }
    }else{
        return false;
        }
}
/**   comentei aki para o problema hacker
function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
//-->

/**
 * Formata um campo cep durante a digitação do usuário.
 * Essa função deve ser utilizada da seguinte maneira:
 * onkeypress="return formataCep(this, event);"
 */
function formataCep(campo, e) {
    car = window.event ? e.keyCode : e.which;
    key = car;
    
    if (key == 0 || key == 8  || key == 9 || key == 37 || 
         key == 39 || key == 35 ||
         key == 36 || key == 45) {

        return true;
    }
    
    if ((key < 48 || key > 57) && (key < 96 || key > 105) && (key != 46)){
        return false;
    }

    switch(campo.value.length){
        case 2:
            campo.value+='.';
            break;
		case 6:
            campo.value+='-';
            break;
        case 10:
           return false;
    }

    return true;
}

/*
 *  Funcao para fazer formatacao de CPF : 008.225.764-73
 *                      
 *  Utilizar da seguinte forma: 
 *  onkeypress="return formataCpf(this, event);
*/
function formataCpf(campo, e){
    car = window.event ? e.keyCode : e.which;
    key = car;
    
    if (key == 0 || key == 8  || key == 37 || 
         key == 39 || key == 35 ||
         key == 36 || key == 45) {

        return true;
    }
    
    if (key < 48 || key > 57){
        return false;
    }

    switch(campo.value.length) {
        case 3:
            campo.value+='.';
            break;
        case 7:
            campo.value+='.';
            break;
        case 11:
            campo.value+='-';
            break;
        case 14: 
            return false;
    }

    return true;
}
