<!--

function abre_janela(titulo, pagina, largura, altura)
{
	var janela = window.open(pagina,titulo,'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,menubar=no,width=' + largura + ',height=' + altura);
}

function abre_janela_noscroll(titulo, pagina, largura, altura)
{
	var janela = window.open(pagina,titulo,'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,menubar=no,width=' + largura + ',height=' + altura);
}

function abre_janela_tamvar(titulo, pagina, largura, altura)
{
	var janela = window.open(pagina,titulo,'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,menubar=no,width=' + largura + ',height=' + altura);
}

function confirma_remocao(msg, url)
{
	if(confirm(msg))
		window.location=url;
	else
		window.location='#';
}

function ValidaData(data) {
	// Valida se a data entrada eh valida e se esta no formato dd/mm/aaaa
	// ou se é nula
	var dt;
	var fc_i;
	var fc_a1;
	var fc_str;
	var fc_CharsValidos = "0123456789";
	var fc_dia = data.substring(0, 2);
	var fc_b1 = data.substring(2, 3);
	var fc_mes = data.substring(3, 5);
	var fc_b2 = data.substring(5, 6);
	var fc_ano = data.substring(6, 10);
	
	var data_splited;
	if (data.indexOf("/") > -1)
		data_splited = data.split("/");
	if (data.indexOf("-") > -1)
		data_splited = data.split("-");
	
	if (data_splited[3].length > 0) return(false);
	if (data_splited[2].length = 0) return(false);
	
	data_splited[0] = "00" + data_splited[0];
	data_splited[0] = data_splited[0].substr((data_splited[0].length - 2),2);

	data_splited[0] = "00" + data_splited[0];
	data_splited[0] = data_splited[0].substr((data_splited[0].length - 2),2);

	data_splited[0] = "00" + data_splited[0];
	data_splited[0] = data_splited[0].substr((data_splited[0].length - 2),2);
	
	if (data_splited[0].length = 0) return(false);
	if (data_splited[0].length = 1) 
		data_splited[0] = "0" + data_splited[0];
	if (data_splited[1].length = 0) return(false);
	if (data_splited[1].length = 1) 
		data_splited[1] = "0" + data_splited[1];
	if (data_splited[2].length = 0) return(false);
	if (data_splited[2].length = 2) 
	{
		data_splited[2] = "0" + data_splited[2];
	}
	
//	if (data.length == 0) return(true);
	
	if (data.length != 10) return(false);
	
	fc_dia = data.substring(0, 2);
	fc_b1 = data.substring(2, 3);
	fc_mes = data.substring(3, 5);
	fc_b2 = data.substring(5, 6);
	fc_ano = data.substring(6, 10);

	dt = fc_dia + fc_mes + fc_ano;

	for (fc_i = 0; fc_i <= 7; fc_i++) {
		fc_a1 = dt.substring(fc_i, ++fc_i);
		fc_str = fc_CharsValidos.indexOf(fc_a1);
		if (fc_str == -1) return(false);
	}

	if (fc_mes < 1 || fc_mes > 12) return(false);
	if (fc_b1 != '/')  return(false);
	if (fc_dia < 1 || fc_dia > 31) return(false);
	if (fc_b2 != '/')  return(false);
	if (fc_ano<1)  return(false);
	if (fc_mes == 4 || fc_mes == 6 || fc_mes == 9 || fc_mes == 11) {
		if (fc_dia == 31)  return(false);
		if (fc_ano < 1753) return(false);
	}
	if (fc_mes == 2){
		fc_a1 = parseInt(fc_ano/4);
		if (isNaN(fc_a1)) return(false);
	if (fc_dia > 29) return(false);
	if (fc_dia == 29 && ((fc_ano/4) != parseInt(fc_ano/4))) return(false);
	}

	return(true);
}

//***********************
// Function validateFields
// By: Luisinho
// Date: 28/02/2004
// Parametros: what -> nome do form
// Retorna: true - submit
// 					false - cancel
// Obs:  No nome do campo incluir uma propriedade chamada: obr
// Obs:  Field's name: obr=<type>_<whatcheck>_<name>
// e.g:  to validate an Email field (valid e-mail):
//			obr = 'txt_eml_'
//		 to validate a text field not null
// 			obr = "txt_NtN_"
// Tipos para checagem:
//		txt - Text field
//		pwd - Password field
//		NtN - Not Null
//		eml - Valid Email
//		cbo	- Select (combobox or Listbox)
//		cmp ou conf - compara com o próximo
//*************************


function validateFields(what) {
	var valid = true;
		
	var checkBoxes = false;
	var checkboxChecked = false;
		
	var radioButtons = false;
	var radioChecked = false;
	var msg = 'Campo(s) obrigatório(s):\n';
	//varre todos os campos do formulário
	for (var i=0, j=what.elements.length; i<j; i++) {
		//de acordo com o nome do campo processa
		myName = what.elements[i].name;
		myObr = what.elements[i].obr;
		//pega a propriedade ID do campo para colocar no aviso
		myID = what.elements[i].id;
		if (myID.length==0)
		{
			myID = myName;
		}
		// caso o campo seja obrigatório
		if (myObr!=undefined)	
		{
			//checamos o tipo do campo
			//Texto ou password
			if (myObr.indexOf('pwd_') > -1 || myObr.indexOf('txt_') > -1 || myObr.indexOf('cep_') > -1 || myObr.indexOf('num_') > -1)
			{
				//Not Null
				if (myObr.indexOf('NtN_')>-1)
				{
					if (what.elements[i].value.length == 0) 
					{
						valid = false;
						msg += '-> ' + myID  + ' - campo vazio;\n';
					}
				}
				//IsDate (or Null)
				if (myObr.indexOf('dte_') > -1)
				{
					if (! ValidaData(what.elements[i].value))
					{
						valid=false;
						msg += '-> ' + myID + ' - data inválida;\n';
					}
				}
				if (myObr.indexOf('cnpj_') > -1)
				{
					if (! VerifyCNPJ(what.elements[i].value))
					{
						valid=false;
						msg += '-> ' + myID + ' - CNPJ inválido;\n';
					}
					what.elements[i].value = LIMP(what.elements[i].value);
				}	
				//Só Numero				 
				if (myObr.indexOf('num_') > -1)
				{
					s = what.elements[i].value;
					for (e_num =0; e_num <s.length; e_num ++)
					{
						c = s.charAt(e_num);
						val = ( (c >= "0") && (c <= "9") );
						if( val == false )
							var nm_valid=false;
					}
					if(nm_valid==false)
					{
						valid=false;
						msg += '-> ' + myID + ' - Preencher apenas com números;\n';
					}
				}
				//CEP				 
				if (myObr.indexOf('cep_') > -1)
				{
					s = what.elements[i].value;
					if (!(s.length == 9)) {
						cep_valid=false;
					}
					else if(s.charAt(0)=="0" && s.charAt(1)=="0")
					{
						cep_valid=false;
					}
					{
						for (e_num =0; e_num <s.length; e_num ++)
						{
							c = s.charAt(e_num);
							if (e_num==5)
								val = ( c=="-");
							else
								val = ( (c >= "0") && (c <= "9") );
							if( val == false )
								var cep_valid=false;
						}
					}
					if(cep_valid==false)
					{
						valid=false;
						msg += '-> ' + myID + ' - Esse não é um CEP válido;\n';
					}
				}
				//CEP	sem traço
				if (myObr.indexOf('cepnum_') > -1)
				{
					s = what.elements[i].value;
					if (!(s.length == 8)) {
						cep_valid=false;
					}
					else if(s < "01000000") { //esse éo valor mínimo que o CEP pode ter...
						cep_valid=false;
					}
					else
					{
						for (e_num =0; e_num <s.length; e_num ++)
						{
							c = s.charAt(e_num);
							val = ( (c >= "0") && (c <= "9") );
							if( val == false )
								var cep_valid=false;
						}
					}
					if(cep_valid==false)
					{
						valid=false;
						msg += '-> ' + myID + ' - Esse não é um CEP válido;\n';
					}
				}
				//Email				 
				if (myObr.indexOf('eml_') > -1)
				{
					if (((what.elements[i].value).indexOf('@') == -1) || ((what.elements[i].value).indexOf('.') == -1)) 
					{
						valid=false;
						msg += '-> ' + myID + ' - email inválido;\n';
					}
				}
				//Precisa de confirmacao
				if (myObr.indexOf('cmp_') > -1)
				{
					if (what.elements[i].value != what.elements[i+1].value)
					{
						valid=false;
						msg += '-> ' + myID + ' - é diferente de sua confirmação;\n';
					}
				}						
			}
			//Select (combobox ou Listbox)
			if (myObr.indexOf('cbo_') > -1)
			{
				if ((what.elements[i].selectedIndex == 0) && (what.elements[i].value == ''))
				{
					valid = false;
					msg += '-> ' + myID + ' - nenhum item da lista foi selecionado;\n';
				}
			}
		}
	}
	if (!valid)
		alert('PREENCHIMENTO INVÁLIDO!\n\n' + msg);

	return valid;
}


// Aqui inicia as funções de teste do CNPJ


function isNUMB(c)
{
	if((cx=c.indexOf(","))!=-1)
	{
		c = c.substring(0,cx)+"."+c.substring(cx+1);
	}
	if((parseFloat(c) / c != 1))
	{
		if(parseFloat(c) * c == 0)
		{
			return(1);
		}
		else
		{
			return(0);
		}
	}
	else
	{
		return(1);
	}
}

function LIMP(c)
{
	while((cx=c.indexOf("-"))!=-1)
	{
		c = c.substring(0,cx)+c.substring(cx+1);
	}
	while((cx=c.indexOf("/"))!=-1)
	{
		c = c.substring(0,cx)+c.substring(cx+1);
	}
	while((cx=c.indexOf(","))!=-1)
	{
		c = c.substring(0,cx)+c.substring(cx+1);
	}
	while((cx=c.indexOf("."))!=-1)
	{
		c = c.substring(0,cx)+c.substring(cx+1);
	}
	while((cx=c.indexOf("("))!=-1)
	{
		c = c.substring(0,cx)+c.substring(cx+1);
	}
	while((cx=c.indexOf(")"))!=-1)
	{
		c = c.substring(0,cx)+c.substring(cx+1);
	}
	while((cx=c.indexOf(" "))!=-1)
	{
		c = c.substring(0,cx)+c.substring(cx+1);
	}
	return(c);
}

function VerifyCNPJ(CNPJ)
{
	CNPJ = LIMP(CNPJ);
	if(isNUMB(CNPJ) != 1)
	{
		return(0);
	}
	else
	{
		if(CNPJ == 0)
		{
			return(0);
		}
		else
		{
			g=CNPJ.length-2;
			if(RealTestaCNPJ(CNPJ,g) == 1)
			{
				g=CNPJ.length-1;
				if(RealTestaCNPJ(CNPJ,g) == 1)
				{
					return(1);
				}
				else
				{
					return(0);
				}
			}
			else
			{
				return(0);
			}
		}
	}
}
function RealTestaCNPJ(CNPJ,g)
{
	var VerCNPJ=0;
	var ind=2;
	var tam;
	for(f=g;f>0;f--)
	{
		VerCNPJ+=parseInt(CNPJ.charAt(f-1))*ind;
		if(ind>8)
		{
			ind=2;
		}
		else
		{
			ind++;
		}
	}
	VerCNPJ%=11;
	if(VerCNPJ==0 || VerCNPJ==1)
	{
		VerCNPJ=0;
	}
	else
	{
		VerCNPJ=11-VerCNPJ;
	}
	if(VerCNPJ!=parseInt(CNPJ.charAt(g)))
	{
		return(0);
	}
	else
	{
		return(1);
	}
}

function VerificaTamanho(target, maximo) 
{
	var StrLen;
	StrLen = target.value.length ;
	if (target.value.length != "" ) {
		StrLen =  target.value.length;
	}
	if (StrLen == 1 && target.value.substring(0,1) == " ") { 
		target.value = "";
		StrLen = StrLen - 1;
	}
	if (StrLen > maximo) {
		target.value = target.value.substring(0,maximo);
		StrLen = StrLen - 1;
		alert("Você atingiu o número máximo de caracteres para este campo: "+maximo+".");
	}
		 document.all.caract.value = maximo - StrLen;
}

-->