function isDate(pStr)
{
  var reDate = /^((0?[1-9]|[12]\d)\/(0?[1-9]|1[0-2])|30\/(0?[13-9]|1[0-2])|31\/(0?[13578]|1[02]))\/(19|20)?\d{2}$/;
  if (reDate.test(pStr)) 
  {
	return true;
  } 
  else if (pStr != null && pStr != "") 
  {
	return false;
  }
}

function inverteData(lt) {
  var d, m, a;
  d = lt.substr(0,2);
  m = lt.substr(3,2);
  a = lt.substr(6,4);
  return String(a) + String(m) + String(d);
}


function isTime(pStr)
{
	var reTime = /^([0-2][0-4]|[0-1][0-9]|[1-24]):([0-5][0-9])$/;
	if (reTime.test(pStr)) 
	{
		return true;
	} 
	else if (pStr != null && pStr != "") 
	{
		return false;
	}
}

function isEmail(obj)
{
	if (obj.length == 0)
	{
		return false;
	}
	if (obj.indexOf ('@',0) == -1 || obj.indexOf ('.',0) == -1)
	{
		return false;
	}
	else
	{
		return true;
	}
}

function FormataHora(field, e)
{
	var tecla;
	var iBrw = new BrowserInfo();
	var IExp = ((iBrw.name == 'Netscape') ? 0 : 1)
	if(IExp)
		tecla = e.keyCode;
	else
		tecla = e.which;
	
	if (field.value.length == 2)
	{ 
		field.value += ":";
	}
}

function FormataPlaca(field, e)
{
	var tecla;
	var iBrw = new BrowserInfo();
	var IExp = ((iBrw.name == 'Netscape') ? 0 : 1)
	if(IExp)
		tecla = e.keyCode;
	else
		tecla = e.which;
	
	if (field.value.length < 3)
	{ 
		if ( (tecla > 64 && tecla < 91) || (tecla > 96 && tecla < 123) ) /* Valida apenas letras */
		{
			if(tecla > 96 && tecla < 123)
			{
				if(IExp)
				{
					e.keyCode = parseInt(tecla) - 32;
					e.returnValue = true;
				}
				else
				{
					e.target.value += String.fromCharCode(e.charCode - 32);
					e.preventDefault();
				}
			}
		}
		else
		{
			if( tecla != '8' && tecla != '0' )
			{
				if(!IExp)
					e.preventDefault();
				else
					e.returnValue = false;	 
			}
		}
	}
	else if ((field.value.length < 7) && (tecla > 47 && tecla < 58)) 		/* Valida apenas números */
	{
		if(IExp)
			e.returnValue = true;
	}
	else 
	{
		if( tecla != '8' && tecla != '0' )
		{
			if(IExp)		
				e.returnValue = false;
			else
				e.preventDefault();
		}
	}
}

function F_Placa(campo, op)
{
	var new_campo;
	var p1, p2;
	var iBrw = new BrowserInfo();
	var IExp = ((iBrw.name == 'Netscape') ? 0 : 1)
	
	/* onBlur */
	if(op)
	{
		if(campo.length > 3)
		{
			if(IExp)
			{
				new_campo = campo.replace("-","");
				if(new_campo.length == 7)
				{
					p1 = new_campo.substr(0,3);	
					p2 = new_campo.substr(3,4);	
					return p1 + "-" + p2;
				}
				else
				{
					return campo;
				}
			}
			else
			{
				if(campo.length == 7)
				{
					p1 = campo.substr(0,3);	
					p2 = campo.substr(3,4);	
					return p1 + "-" + p2;
				}
				else
				{
					return campo;
				}
			}
		}
		else
			return campo;
	}
	else 	/* onFocus */
	{
		return campo.replace("-","");
	}
}

function BrowserInfo()
{
  this.name = navigator.appName;
  this.codename = navigator.appCodeName;
  this.version = navigator.appVersion.substring(0,4);
  this.platform = navigator.platform;
  this.javaEnabled = navigator.javaEnabled();
  this.screenWidth = screen.width;
  this.screenHeight = screen.height;
}

function RetiraAspas(e)
{
	var iBrw = new BrowserInfo();
	var IExp = ((iBrw.name == 'Netscape') ? 0 : 1)
	if(IExp)
	{
		if(e.keyCode == 34 || e.keyCode == 39)
		{
			e.returnValue = false;
		}
	}
	else
	{
		if(e.which == 34 || e.which == 39)
		{
			e.preventDefault();
		}
	}
}

function LimitaCampo(fld,e,tam)
{
	var iBrw = new BrowserInfo();
	var IExp = ((iBrw.name == 'Netscape') ? 0 : 1)

	if(fld.value.length >= tam)
	{
		if(IExp)
			e.returnValue = false;
		else
		{
			if(e.which != 8)
				e.preventDefault()
		}
	}
}

function FormatarData(campo,e) 
{
	var cod="";
	if(document.all) 
	{
		cod = event.keyCode;
	}
	else 
	{
		cod = e.which;
	}
	if(cod == 8) return;
	if (cod < 48 || cod > 57)
	{
		cod = 0;
		return false;
	}
	tam=campo.value.length; 
	if(tam > 9) 
		return false;
	var caract = String.fromCharCode(cod);
	if(tam == 2 || tam == 5) 
	{
		campo.value += "/" + caract; 
		return false;
	} 
	campo.value += caract; 
	return false; 
}

function F_Data(campo)
{
	if(!isDate(campo))
	{
		return campo;
	}
	else
	{
		var p = campo.split("/");
		if(p[2].length == 2)
		{
			if( parseFloat(p[2]) <= 11 ) // Se for digitado 00, 01, 02, ..., 09
			{
				p[2] = 2000 + parseFloat(p[2]);
			}
			else
			{
				p[2] = 1900 + parseFloat(p[2]);
			}
		}
		return (p[0] + "/" + p[1] + "/" + p[2]);
	}
}

var isNS4 = (navigator.appName=="Netscape")?1:0;

function ApenasNumeros(e)
{
	var isNS4 = ((navigator.appName=="Netscape") ? 1 : 0 );
	if(!isNS4)
	{
		if(e.keyCode < 48 || e.keyCode > 57)
		{
			e.returnValue = false;
		}
	}
	else
	{	
		if( (e.which < 48 || e.which > 57) && (e.which != '8' && e.which != '0') )
		{
			e.preventDefault();
		}
	}
}

function ExibeGaleria(CD_Glr)
{
	if(!isNaN(CD_Glr))
	{
		location.href = 'galeria_fotos.php?CD_Glr=' + CD_Glr;
	}
	else
	{
		alert('Código da Galeria inválido!');
	}
}

// Tamanho da string
String.prototype.len = function()
{
	return this.length;
}

// Somente numeros
String.prototype.onlynumber = function()
{
	return this.replace(/[^0-9]/g, "");
}
// Mascara de valor
String.prototype.mascara = function()
{
	tam = this.length
	vr = this
	if ( tam <= 2 ){ return this }
	if ( (tam > 2) && (tam <= 5) ){
		return  vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ) ; }
	if ( (tam >= 6) && (tam <= 8) ){
		return  vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
	if ( (tam >= 9) && (tam <= 11) ){
		return  vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
	if ( (tam >= 12) && (tam <= 14) ){
		return  vr.substr( 0, tam - 11 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
	if ( (tam >= 15) && (tam <= 17) ){
		return  vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ;}
}
// Tirar espaço do mascarado
String.prototype.ltrim_masked = function()
{
	size = this.length
	masked = this
	if (size == 1){masked = '0,0'+ masked}
	if (size == 2){masked = '0,'+ masked}
	if (size == 3){masked = masked.replace('00,','0,')}
	if (masked == '00' || masked == '0,0' || masked =='0,00' || masked == '00,00' || masked == '000,00' || masked == '0.000,00' || masked == '00.000,00' || masked == '000.000,00'){masked = ''}
	if (size == 5 && masked.substr(0,1)== '0' ){masked = masked.replace('0','')}
	if (size == 6 && masked.substr(0,1)== '0' ){masked = masked.replace('0','')}
	if (size == 6 && masked.substr(0,2)== '00' ){masked = masked.replace('00','')}
	if (size == 8 && masked.substr(0,2)== '0.' ){masked = masked.replace('0.','')}
	if (size == 9 && masked.substr(0,3)== '00.' ){masked = masked.replace('00.','')}
	return masked
}
// Formatar valor
function FormataValor(campo) 
{
	vlr = form[campo].value
	vlr = vlr.onlynumber()
	vlr = vlr.mascara()
	vlr = vlr.ltrim_masked()
	form[campo].value = vlr
}

function AtualizaTam(id, fieldName, Tmax, form) {
	if(form != '') {
		var tam = document.forms[form].elements[fieldName].value.length;
		if(tam == 0) {
			document.getElementById(id).innerHTML = "&nbsp;";
		}
		else {
			document.getElementById(id).innerHTML = tam + "/" + Tmax;
		}
	}
}

function FormataCEP(cep)
{
	if(cep.length == 8)
	{
		var cep_num = cep.onlynumber();
		var parte1 = cep_num.substr(0, 5);
		var parte2 = cep_num.substr(5, 3);
		return parte1 + "-" + parte2;
	}
	else
	{
		return cep;
	}
}

function CheckSession(txt)
{
	if(txt.substring(0,19) == "<script id=session>")
	{
		document.write(txt);
	}
	else
	{
		return txt;
	}
}

function FormataTelefone(objeto,tammax,teclapres)
{
	if(teclapres.keyCode != 0)
	{
		var tecla;
		var isNS4 = ((navigator.appName=="Netscape") ? 1 : 0 );
		
		if(!isNS4)
			tecla = teclapres.keyCode;
		else
			tecla = teclapres.which;
		
		vr = objeto.value.onlynumber();
		
		vr = vr.replace( "(", "" );
		vr = vr.replace( ")", "" );
		vr = vr.replace( " ", "" );
		vr = vr.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 <= 4 ) 
			{ 
				objeto.value = vr ;
			}
			if ( (tam > 4) && (tam <= 8) ) 
			{
				objeto.value = vr.substr(0,tam-4) + '-' + vr.substr( tam - 4, tam ) ;
			}
			if ( (tam >= 9) && (tam <= 10) ) 
			{
				objeto.value = '(' + vr.substr(0,2) + ') ' + vr.substr(2,tam-6) + '-' + vr.substr(tam-4,tam) ;			
			}
		}		
	}
	else
	{
		vr = objeto.value.onlynumber();
		tam = vr.length;
		if (tam < tammax && tecla != 8) 
		{
			tam = vr.length + 1 ;
		}
		
		if (tecla == 8 ) 
		{
			tam = tam - 1 ;
		}

		if ( tam <= 4 ) 
			objeto.value = vr ;
		if ( (tam > 4) && (tam <= 8) ) 
			objeto.value = vr.substr(0,tam-4) + '-' + vr.substr( tam - 4, tam ) ;
		if ( (tam >= 9) && (tam <= 10) ) 
			objeto.value = '(' + vr.substr(0,2) + ') ' + vr.substr(2,tam-6) + '-' + vr.substr(tam-4,tam) ;			
	}
	
}
//FormataTelefone(this,10,event);

function Dia(Data_DDMMYYYY)
{
	string_data = Data_DDMMYYYY.toString();
	posicao_barra = string_data.indexOf("/");
	if (posicao_barra!= -1)
	{
		dia = string_data.substring(0,posicao_barra);
		return dia;
	}
	else
	{
		return false;
	}
}

function Mes(Data_DDMMYYYY)
{
	string_data = Data_DDMMYYYY.toString();
	posicao_barra = string_data.indexOf("/");
	if (posicao_barra!= -1)
	{
		dia = string_data.substring(0,posicao_barra);
		string_mes = string_data.substring(posicao_barra+1,string_data.length);
		posicao_barra = string_mes.indexOf("/");

		if (posicao_barra!= -1)
		{
			mes = string_mes.substring(0,posicao_barra);
			mes = Math.floor(mes);
			return mes;
		}
		else
		{
			return false;
		}
	}
	else
	{
		return false;
	}
}

function Ano(Data_DDMMYYYY)
{
	string_data = Data_DDMMYYYY.toString();
	posicao_barra = string_data.indexOf("/");
	if (posicao_barra!= -1)
	{
		dia = string_data.substring(0,posicao_barra);
		string_mes = string_data.substring(posicao_barra+1,string_data.length);
		posicao_barra = string_mes.indexOf("/");

		if (posicao_barra!= -1)
		{
			mes = string_mes.substring(0,posicao_barra);
			mes = Math.floor(mes);
			ano = string_mes.substring(posicao_barra+1,string_mes.length);
			return ano;
		}
		else
		{
			return false;
		}
	}
	else
	{
		return false;
	}
}

function Calcula_Data(data_DDMMYYYY,dias,adicao)
{
	Var_Dia=Dia(data_DDMMYYYY);
	Var_Mes=Mes(data_DDMMYYYY);
	Var_Mes=Math.floor(Var_Mes)-1;
	Var_Ano=Ano(data_DDMMYYYY);

	var data = new Date(Var_Ano,Var_Mes,Var_Dia);

	if (adicao == true)
	{
		var diferenca = data.getTime() + (dias * 1000 * 60 * 60 * 24);
	}
	else
	{
		var diferenca = data.getTime() - (dias * 1000 * 60 * 60 * 24);
	}

	var diferenca = new Date(diferenca);
	return diferenca.getDate() + '/' + ( parseInt(diferenca.getMonth()) + 1) + '/' + diferenca.getYear();

}

function Calcula_Dias(data1_DDMMYYYY,data2_DDMMYYYY)
{
	Var_Dia1=Dia(data1_DDMMYYYY);
	Var_Mes1=Mes(data1_DDMMYYYY);
	Var_Mes1=Math.floor(Var_Mes1)-1;
	Var_Ano1=Ano(data1_DDMMYYYY);
	var data1 = new Date(Var_Ano1,Var_Mes1,Var_Dia1);
	
	Var_Dia2=Dia(data2_DDMMYYYY);
	Var_Mes2=Mes(data2_DDMMYYYY);
	Var_Mes2=Math.floor(Var_Mes2)-1;
	Var_Ano2=Ano(data2_DDMMYYYY);
	var data2 = new Date(Var_Ano2,Var_Mes2,Var_Dia2);
	
	var diferenca = data1.getTime() - data2.getTime();
	var diferenca = Math.floor(diferenca / (1000 * 60 * 60 * 24));
	return diferenca;
}

function showMessage(msg) {
	alert('Sr(a). Usuário(a), \n\n' + msg);
}

function findKeyEnter(e, functionName) {
	var iBrw = new BrowserInfo();
	var IExp = ((iBrw.name == 'Netscape') ? 0 : 1);
	if(IExp) {
		if(e.keyCode == 13) {
			eval(functionName);
		}
	} else {
		if(e.which == 13) {
			eval(functionName);
		}
	}
}
