function JanelaCentro(mypage, name, w, h, scroll) 
{
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
	win = window.open(mypage, name, winprops)

	//Esse if verifica a versão do Browser
	if (parseInt(navigator.appVersion) >= 4) 
	{ 
		win.window.focus(); 
	}
}
//Função para formatar valor numérico

function FormataValor(campo,tammax,teclapres) 
{

	var tecla = teclapres.keyCode;
	var vr = campo.value;
	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 <= 2 ){ 
	 		campo.value = vr ; }
	 	tam = tam - 1;
	 	if ( (tam > 2) && (tam <= 5) ){
	 		campo.value = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 6) && (tam <= 8) ){
	 		campo.value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 9) && (tam <= 11) ){
	 		campo.value = 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) ){
	 		campo.value = 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) ){
	 		campo.value = 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 ) ;}
	}
}
function ConfirmaValor(campo)
{
	if (campo.value.length == 1)
	{
		campo.value = campo.value + ",00";
	}
	else if (campo.value.length == 2)
	{
		campo.value = campo.value + ",00";
	}
	else if (campo.value.length == 3)
	{
		campo.value = campo.value + ",00";
	}
}

//====================================================================================================================
//====================================================================================================================

//Função para conferir a hora

function ConfereHora(ObjetoHora)
{	
   	ObjetoHora.value = ObjetoHora.value.replace(":","")
	if (ObjetoHora.value.length > 0)
	{
        	if (ObjetoHora.value.length < 4)
	        {
		        alert('Tamanho de hora inválido, utilize o formato HH:MM');
        		ObjetoHora.focus();
        	}
        	else
        	{
	        	ObjetoHora.value = ObjetoHora.value.substr(0,2)+':'+ObjetoHora.value.substr(2,2);
			
        		if (ObjetoHora.value.substr(0,2) > 23)
	        	{
		        	alert('Hora inválida');
		        	//ObjetoHora.value=""
			        ObjetoHora.focus();
     			}
        		if (ObjetoHora.value.substr(3,2) > 59)
		      	{
		        	alert('Minutos inválido');
		        	//ObjetoHora.value=""
			        ObjetoHora.focus();
   				}	
        	}
	}
}
//Função para formatar o campo de telefone
//Obs.: precisa passar o nome do formulario e do campo no evento.

function FormataTel(campo, event) 
{ 
	var BACKSPACE= 8;
	var DEL=46; 
	var key; 
	var tecla; 
	CheckTAB=true; 
	if(navigator.appName.indexOf("Netscape")!= -1) 
	{
		tecla= event.which; 
	}  
	else 
	{  
		tecla= event.keyCode; 
  	}
	key = String.fromCharCode( tecla); 
	if ( tecla == 13 ) 
		return false; 
 
	if ( tecla != BACKSPACE  ) 
	{
		if ( tecla != DEL)
		{
			if (campo.value.length == 1)
			{
				campo.value = "(" + campo.value
			}
			else if (campo.value.length == 3)
			{
				campo.value = campo.value + ")"
			}
			else if (campo.value.length == 8)
			{
				campo.value = campo.value + "-"
			}
		}					
  	}
	else
	{
		return false; 
	}
} 
function VerificaTel(campo,foco)
{
	if (campo.length > 0)
	{
		if (campo.length < 13)
		{
			alert('Utilize o formato: (XX)9999-9999')
			foco.value = ""
			foco.focus();
		}
		else
		{
			if (campo.indexOf('(') != 0)
			{
				alert('Utilize o formato: (XX)9999-9999')
				foco.value = ""
				foco.focus();
			}
			if (campo.indexOf(')') != 3)
			{
				alert('Utilize o formato: (XX)9999-9999')
				foco.value = ""
				foco.focus();
			}					
			if (campo.indexOf('-') != 8)
			{
				alert('Utilize o formato: (XX)9999-9999')
				foco.value = ""
				foco.focus();
			}					
		}
	}		
}

//Função para formatar o campo do cep
//Obs.: precisa passar o nome do formulario e do campo no evento.

function FormataCep(Formulario,Campo)
{
	var strCampo;
	eval("strCampo = document." + Formulario + "." + Campo);
	
	if (strCampo.value.length == 5)
	{
		strCampo.value = strCampo.value + "-"
	}

}
//---------------------------------------------------------------------------
//		FUNÇÃO MASCARA SOMENTE NUMERO OU LETRA
//---------------------------------------------------------------------------
	function formatar(src, mask) {
		var i = src.value.length;
		var saida = mask.substring(i,i+1);
		var ascii = event.keyCode;
		if (saida == "A") {
			if ((ascii >=97) && (ascii <= 122)) { event.keyCode -= 32; }
			else { event.keyCode = 0; }
		} else if (saida == "0") {
			if ((ascii >= 48) && (ascii <= 57)) { return }
			else { event.keyCode = 0 }
		} else if (saida == "#") {
			return;
		} else {
			src.value += saida;
			i += 1
			saida = mask.substring(i,i+1);
			if (saida == "A") {
				if ((ascii >=97) && (ascii <= 122)) { event.keyCode -= 32; }
				else { event.keyCode = 0; }
			} else if (saida == "0") {
				if ((ascii >= 48) && (ascii <= 57)) { return }
				else { event.keyCode = 0 }
			} else { return; }
		}
	}

//-----------------------------------------------------------------------------
// 		VALIDAR DATA
//-----------------------------------------------------------------------------
function check_date(field)
{
var checkstr = "0123456789";
var DateField = field;
var Datevalue = "";
var DateTemp = "";
var seperator = "/";
var day;
var month;
var year;
var leap = 0;
var err = 0;
var i;
   err = 0;
   DateValue = DateField.value;
   /* Deleta todos os caracteres exceto de 0 a 9. */
   for (i = 0; i < DateValue.length; i++) {
	  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
	     DateTemp = DateTemp + DateValue.substr(i,1);
	  }
   }
   DateValue = DateTemp;
   
   if (DateValue.length == 6) {
      DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
   if (DateValue.length != 8) {
      err = 19;}
   
   year = DateValue.substr(4,4);
   if ((year == 0) || (year <1800) || (year>2099)){
      err = 20;
   }
   
   month = DateValue.substr(2,2);
   if ((month < 1) || (month > 12)) {
      err = 21;
   }
   
   day = DateValue.substr(0,2);
   if (day < 1) {
     err = 22;
   }
  
   if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
      leap = 1;
   }
   if ((month == 2) && (leap == 1) && (day > 29)) {
      err = 23;
   }
   if ((month == 2) && (leap != 1) && (day > 28)) {
      err = 24;
   }
   
   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
      err = 25;
   }
   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
      err = 26;
   }
   
   if ((day == 0) && (month == 0) && (year == 00)) {
      err = 0; day = ""; month = ""; year = ""; seperator = "";
   }

   if (err == 0) {
      DateField.value = day + seperator + month + seperator + year;
   }
   
   else {
      alert("Insira uma data válida.");
      DateField.value=""
      DateField.focus();
   }
}
//====================================================================================================================
function SomenteNumeros(input)
	{
	if ((event.keyCode<48)||(event.keyCode>57))
		event.returnValue = false;
	}
//Inicio Funcao janela POPUP
	function MM_openBrWindow(theURL,winName,features) { //v2.0
		window.open(theURL,winName,features);
	}
//#Fim da Funcao janela POPUP

//Inicio Funcao muda cor tabela - MENU
	function mOvr(src,clrOver) {
	if (!src.contains(event.fromElement)) {
		  src.style.cursor = 'DEFAULT';
		  src.bgColor = clrOver;
		}
	}
	function mOut(src,clrIn) {
		if (!src.contains(event.toElement)) {
		  src.style.cursor = 'default';
		  src.bgColor = clrIn;
		}
	}
//#Fim da Funcao muda cor tabela - MENU

//Inicio Funcao que atualiza pag. qdo carregado pelo Netscape versão 4
	function MM_reloadPage(init) {  //reloads the window if Nav4 resized
	  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
		document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
	  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
	}
	MM_reloadPage(true);
//#Fim da Funcao que atualiza pag. qdo carregado pelo Netscape versão 4

//Inicio Funcao que verifica CPF e retorna na variavel errocpfcnpj o resultado
	function verificaCPF(numero) { 
  	  if (numero == "00000000000" || numero == "11111111111" || numero == "22222222222" || numero == "33333333333" || numero == "44444444444" || numero == "55555555555"
		  ||numero == "66666666666" || numero == "77777777777" || numero == "88888888888" || numero == "99999999999" ||  numero.length < 11 || numero.length > 11 ) {
    	  errocpfcnpj = true
		  return false; 
	  } 
	  
 	  var checkOK = "0123456789";
	  var checkStr = numero;
	  var validade = true;
	  var decPoints = 0;
	  var allNum = "";
	  for (i = 0;  i < checkStr.length;  i++) {
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
		  if (ch == checkOK.charAt(j))
			break;
		if (j == checkOK.length){
		  validade = false;
		  break;
		}
		allNum += ch;
	  }
	  if (!validade) {
    	errocpfcnpj = true
		return false;    
	  }

	 var primeiro = numero.charAt(0); 
	 var n = false;
	 for (i=0; i<=10; i++)  {  
	   c = numero.charAt(i); 
	   if(! (c >= "0")&&(c <= "9"))    { 
		errocpfcnpj = true
		return false;
	   } 
	   if( c!=primeiro )n = true;
	 }  
	 if( ! n ){
		errocpfcnpj = true
		return false;
	 }
	 soma=0; 
	 for ( i=0; i<9; i++ ) { 
		soma += (10-i) * ( eval(numero.charAt(i)) ); 
	 }
	 vdigito = 11-(soma % 11); 
	 if ( (soma % 11) < 2 ) vdigito = 0; 
	 if ( eval(numero.charAt(9)) != vdigito ){
		errocpfcnpj = true
		return false;
	 }
	 soma=0; 
	 for ( i=0; i<9; i++ ) { 
		soma += (11-i) * ( eval(numero.charAt(i)) ); 
	 } 
	 soma += 2 * ( eval(numero.charAt(9)) ); 
	 vdigito = 11-(soma % 11); 
	 if ( (soma % 11) < 2 ) vdigito = 0; 
	 if ( eval(numero.charAt(10)) != vdigito){
		errocpfcnpj = true			
		return false;
	 }
	 errocpfcnpj = false
	 //se chegou aki o cpf esta ok
	} 
//# Fim da Funcao que verifica CPF e retorna na variavel errocpfcnpj o resultado	

//Inicio da Funcao que verifica CNPJ e retorna na variavel errocpfcnpj o resultado	
	function verificaCNPJ(numero)  
	{  
  	  if (numero == "00000000000000" || numero == "11111111111111" || numero == "22222222222222" || numero == "33333333333333" || numero == "44444444444444" || numero == "55555555555555"
		  ||numero == "66666666666666" || numero == "77777777777777" || numero == "88888888888888" || numero == "99999999999999" ||  numero.length < 14 || numero.length > 14 ) {
    	  errocpfcnpj = true
		  return false; 
	  } 
	  var checkOK = "0123456789";
	  var checkStr = numero;
	  var validade = true;
	  var decPoints = 0;
	  var allNum = "";
	  for (i = 0;  i < checkStr.length;  i++) {
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
		  if (ch == checkOK.charAt(j))
			break;
		if (j == checkOK.length){
		  validade = false;
		  break;
		}
		allNum += ch;
	  }
	  if (!validade) {
    	errocpfcnpj = true
		return false;    
	  }
		  
	 var primerio = numero.charAt(0);  
	 var multiplo,verificador,a, b = ""; 
	 var i,j,d,resu = 0; 
	 for ( var i=0; i<=13; i++ )  
	 {   
	   var c = numero.charAt(i);  
	   if( ! (c>="0")&&(c<="9") ) {
    	  errocpfcnpj = true
		  return false; 
	   } 
	   if( c!=primerio ) { vcpf = true; } 
	 }   
	 if( ! vcpf ){
		errocpfcnpj = true
		return false; 
	 }  
	 a = numero.substring(0,12);  
	 b = numero.substring(12,15); 
	 multiplo = "543298765432"; 
	 verificador = ""; 
	 for ( j=1; j<3; j++ ) {  
	  resu = 0; 
	  for ( i=0; i<12; i++ ) { 
		resu += eval( a.charAt(i) )* eval( multiplo.charAt(i) );} 
		if( j == 2 ){ resu += (2 * d); }  
		d = ((resu*10) % 11); 
		if( d == 10 ){ d = 0; } 
		verificador = verificador + d; 
		multiplo = "654329876543"; 
	 }   
	 if( verificador != b ) { 
		errocpfcnpj = true
		return false 
	 } else {
		errocpfcnpj = false
		//se chegou aki o cnpj esta ok - return true 
	 }  
	}  
//# Fim da Funcao que verifica CNPJ e retorna na variavel errocpfcnpj o resultado	

//Inicio Funcao que verifica preço correto
	function verificaValor(campo){
		valor = campo;
		erro = false
		pos=valor.length-3;
		reais = valor.substr(0,(pos))
		centavos = valor.substr(pos+1,valor.length);	
	
		//---tira o ponto
		i = 0;
		while (i<reais.length){
			j=(reais.substr(i,1));
			caracter=j.charCodeAt(0);
			if (caracter==46){
				reais=reais.replace(j,'')
			}else{
				++i;	
			}
		}
		i = 0;
		while (i<centavos.length){
			j=(centavos.substr(i,1));
			caracter=j.charCodeAt(0);
			if (caracter==46){
				centavos=centavos.replace(j,'')
			}else{
				++i;	
			}
		}

		if (valor.charCodeAt(pos) !== 44){erro = true;	};//alert("falta a virgula")
		if (valor.length < 3){erro = true;	};//alert("tamanho inválido")
		if (reais.length < 1 || centavos.length !== 2){erro = true;	};//alert("tamanhos inválidos")
		//if (reais.length > 0 && eval(reais) == 0){erro = true;	};//alert("valor menor que 1 real")

		//---testa digitos
		var checkOK = "0123456789";
		var validade = true;
		var checkStr = reais + centavos;
		//alert("TESTANDO OS DIGITOS "+checkStr);
		var decPoints = 0; var allNum = "";
		for (i = 0;  i < checkStr.length;  i++) {
			ch = checkStr.charAt(i);
			for (j = 0;  j < checkOK.length;  j++)
				if (ch == checkOK.charAt(j))
					break;
				if (j == checkOK.length){
				  validade = false;
				  break;
				}
			allNum += ch;
		}
		if (!validade) {erro = true;	};//alert("digitos invalidos");
		if(eval(reais < 1))  {erro = true;	};//alert("valor eh zero");
	
		//--coloca os pontos
		if(erro !== true){
			x = 0;
			temp2 = "";
			for(i = reais.length; i > 0;  i--) {
				//alert(1)
				temp2 = reais.substr((i-1), 1) + temp2
				//alert(temp2)
				x++;
				if(i > 1 && x == 3){
					temp2 = "." + temp2
					x = 0
				}
			}
			reais = temp2
			valor = reais+","+centavos
			
		return valor;

		}else{
			return "0";
		}	
	}
//#FIM da Funcao que verifica preço correto

