function maiuscula(obj)
{
	obj.value = upper(obj.value);
}

//VERIFICA SE CAMPO É VAZIO
function isEmpty(str) 
{ 
	if (str==null) return true
	for (var intLoop = 0; intLoop < str.length; intLoop++)
		if (" " != str.charAt(intLoop))
			return false;            
	return true; 
}

function getIntegerDate(value)
{
	if (value == '')
		return;

	aux = value.split("/");
	if (aux[0].length == 1)
		aux[0] = '0' + aux[0]
	if (aux[1].length == 1)
		aux[1] = '0' + aux[1]
								
	return aux[2] + aux[1] + aux[0];
}

function getIntegerNow()
{
	//Pega a data atual
	var now = new Date();
	var today = now.getYear().toString();
	m = now.getMonth() + 1 
	if (m.toString().length == 1)
	{
		today = today + '0' + m.toString() 
	}
	else
	{
		today = today + m.toString();
	}

	if (now.getDate().toString().length == 1)	
	   today = today + '0' + now.getDate().toString() 
	else
		today = today + now.getDate().toString();
		
	return today;
		
}		 	


function comparaCampo(tipo,value1,name1,value2,name2)
{
	switch(tipo)
	{
		case "equals":
			if (value1 != value2)
			{
				return "Os campos " + name1 + " e " + name2 + " não conferem.";
			}
			else
			{
				return "";
			}
			break;
		case "greater":
		
			if (value1 <= value2)
			{
				return "O campo " + name1 + " é menor ou igual ao campo " + name2 + '\n'; 
			}
			else
			{
				return "";
			}
			break;
		case "greaterequal":
		
			if (value1 < value2)
			{
				return "O campo " + name1 + " é menor do que o campo " + name2 + '\n'; 
			}
			else
			{
				return "";
			}
			break;

	}
}

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 validaCampo(tipo,campo,mensagem)
{
	var erro;
	var aux;
	erro = false;

	switch(tipo)
	{
		case "date":
			//QUEBRAR O CAMPO DATA
			aux = campo.split("/");
			dia = aux[0];
			mes = aux[1];
			ano = aux[2];
			if (!validaData(dia,mes,ano)) erro = true; 
			break;
		case "string":
			if (!validaString(campo)) { erro = true; }
			break;
		case "email":
			if (!validaEmail(campo)) { erro = true; }
			break;
		case "cpf":
			if (!validaCPF(campo)) { erro = true; }
			break;
	
                case "cnpj":
                        if (!VerifyCNPJ(campo)) { erro = true; }
                        break;

		case "phone":
			if (!validaTelefone(campo))	{ erro = true; }
			break;
		case "ddd":
			if (!validaDDD(campo))	{ erro = true; }
			break;
		case "cep":
			if (!validaCEP(campo))	{ erro = true; }
			break;
		case "numero":
			if (!validaNumero(campo))	{ erro = true; }
			break;

		case "radio":  
			if (!validaRadio(campo)) { erro = true; }
			break;
		case "cep":
			if (!validaTelefoneCEP(campo))	{ erro = true; }
			break;
		case "lista":
			if(!validaListaTelefone(campo,mensagem))
			{
				return "Você deve digitar pelo menos um telefone.";
			}
			break;

	}
	if (erro == true)
	{
		return "O campo " + mensagem + " é inválido.\n";
	}
	else
	{
		return "";
	}
}

function validaString(valor)
{
	if (!verificaAspas(valor)) { return false }
	if (isEmpty(valor)) { return false }
	return true;
}


//VALIDA DATA	
function validaData(d,m,a)
 {
 	 //if ((d>31)||(d<1)) return false;
 	 //if ((m>12)||(m<1)) return false;
 	 
	 if  (((isEmpty(d)) || (isEmpty(m)) || (isEmpty(a))) && ((!isEmpty(d)) && (!isEmpty(m)) && (!isEmpty(a)))) return false; 
 	 if  ((isEmpty(d)) || (isEmpty(m)) || (isEmpty(a))) return false; 
	 if ( (isNaN(d) && d != '') || (isNaN(m) && m != '') || (isNaN(a) && a != '') ) return false
	 if ( (m<1 || m >12) && (m != '') ) return false
	 if ( (d<1 || d >31) && (d != '') ) return false
	 if ( (a<1900 || a>2078) && (a !='') ) return false
	 if (d == 31)
	 if( (m == 2) || (m == 4) || (m == 6) || (m == 9) || (m == 11)) return false
	 if (m ==2)
	 if( (parseInt(a)%4 != 0 && d ==29) || (d == 30) )return false
	 return true
 }


//FUNCAO PARA VALIDAR EMAIL
function validaEmail(str) 
{ 
		if (!verificaAspas(str)) { return false }
		if (str==null) { return false; }
		if (str=="") { return false ; }
		s = str.indexOf(" ")
		if (s != -1) { return false; } 
		s = str.indexOf("/")
		if (s != -1) { return false; } 
		s = str.indexOf("\"");
		if (s != -1) { return false; } 
		s = str.indexOf("^");
		if (s != -1) { return false; } 
		s = str.indexOf("(");
		if (s != -1) { return false; } 
		s = str.indexOf(")");
		if (s != -1) { return false; } 
		s = str.indexOf("]");
		if (s != -1) { return false; }
		s = str.indexOf("[");
		if (s != -1) { return false; } 
		s = str.indexOf("}");
		if (s != -1) { return false; } 
		s = str.indexOf("{");
		if (s != -1) { return false; } 
		s = str.indexOf(">");
		if (s != -1) { return false; } 
		s = str.indexOf("<");
		if (s != -1) { return false; } 
		s = str.indexOf("+");
		if (s != -1) { return false; } 
		s = str.indexOf("=");
		if (s != -1) { return false; } 
		s = str.indexOf("&");
		if (s != -1) { return false; } 
		s = str.indexOf("$");
		if (s != -1) { return false; } 
		s = str.indexOf("%");
		if (s != -1) { return false; } 
		s = str.indexOf("#");
		if (s != -1) { return false; } 
		s = str.indexOf("@");
	if ((str.indexOf("à") != -1) || (str.indexOf("á") != -1) || (str.indexOf("ã") != -1) ||
      (str.indexOf("ä") != -1) || (str.indexOf("â") != -1) || (str.indexOf("å") != -1) ||
      (str.indexOf("è") != -1) || (str.indexOf("é") != -1) || (str.indexOf("ê") != -1) ||
      (str.indexOf("ë") != -1) || (str.indexOf("ï") != -1) || (str.indexOf("ì") != -1) ||
      (str.indexOf("î") != -1) || (str.indexOf("ö") != -1) || (str.indexOf("ò") != -1) ||
      (str.indexOf("õ") != -1) || (str.indexOf("ó") != -1) || (str.indexOf("ô") != -1) ||
      (str.indexOf("ù") != -1) || (str.indexOf("ú") != -1) || (str.indexOf("û") != -1) ||
      (str.indexOf("û") != -1) || (str.indexOf("À") != -1) || (str.indexOf("Á") != -1) || 
      (str.indexOf("Ã") != -1) || (str.indexOf("Ä") != -1) || (str.indexOf("Â") != -1) ||
      (str.indexOf("Å") != -1) || (str.indexOf("È") != -1) || (str.indexOf("É") != -1) ||
      (str.indexOf("Ê") != -1) || (str.indexOf("ï") != -1) || (str.indexOf("î") != -1) ||
      (str.indexOf("ì") != -1) || (str.indexOf("Ò") != -1) || (str.indexOf("Õ") != -1) ||
      (str.indexOf("Ó") != -1) || (str.indexOf("Ô") != -1) || (str.indexOf("Ö") != -1) || 
      (str.indexOf("Û") != -1) || (str.indexOf("Ù") != -1) || (str.indexOf("Ú") != -1) ||
      (str.indexOf("Û") != -1) || (str.indexOf("Ü") != -1) || (str.indexOf("ç") != -1) || 
      (str.indexOf("Ç") != -1))
     return false;  


	if (s == -1) 
	{ 
		return false; 
	}
	else
	{
		if (str.indexOf("@",s+1)!= -1)
		{
			return false;
		}
		
	}
		// tem que ter 1 arroba
	s = str.indexOf(".")
	if (s == -1) { return false; } // tem que ter pelo menos 1 ponto
	if (str.length < 7) { return false; }  // tem que ter pelo menos tamanho 5    
	return true; 
}


//FUNCAO PARA VALIDAR CPF
function validaCPF(valor) 
{
    if (!verificaAspas(valor)) { return false }
    if (isEmpty(valor))
      return false
	if ((isNaN(valor)) && (valor.length != 11))
      return false
	Mult1 = 10   
	Mult2 = 11
	dig1=0
	dig2=0
	valor= valor.toString()
	for(var i=0;i<=8;i++)
	{
	    ind=valor.charAt(i)
		dig1 += ((parseFloat(ind))* Mult1)
		Mult1--
	}
	for(var i=0;i<=9;i++)
	{
	    ind=valor.charAt(i)
		dig2 += ((parseFloat(ind))* Mult2)
		Mult2--
	}
	dig1 = (dig1 * 10) % 11   
	dig2 = (dig2 * 10) % 11   
	if (dig1 == 10)
      dig1 = 0
	if(dig2 == 10)
      dig2 = 0
	if (parseFloat(valor.charAt(9)) != dig1)
		return false   
	if (parseFloat(valor.charAt(10)) != dig2)
		return false   
	return true  
}

function validaTelefone(valor)
{
  if (!verificaAspas(valor)) { return false }
  var filter=/^([0-9]{0,4}-?[0-9]{3,8})*$/
    if ((filter.test(valor))&&(valor!=''))
	 {
		  return true;
	 }
	 else
     {
	     return false;
	 }

}

function validaDDD(valor)
{
    if (!verificaAspas(valor)) { return false }
    var filter=/^([0-9]{2,3})*$/;
    if ((filter.test(valor))&&(valor!=''))
	 {
		  return true;
	 }
	 else
     {
	     return false;
	 }

}

function validaNumero(valor)
{
	 if (!verificaAspas(valor)) { return false }
	 if ((isNaN(valor))||(isEmpty(valor)))
	 {
		  return false;
	 }
	 else
     {
	     return true;
	 }

}
function validaCEP(valor)
{
    if (!verificaAspas(valor)) { return false }
    var filter=/^([0-9]{5}-?[0-9]{0,3})*$/;
    if ((filter.test(valor))&&(valor!=''))
	 {
		  return true;
	 }
	 else
     {
	     return false;
	 }
}


function validaRadio(radioObj)
{
	 for(var i = 0; i < radioObj.length; i++){
     if(radioObj[i].checked)
     {
		 return true; 
     }
 }
 return false;
}

function validaListaTelefone(ddd,tel)
{
	 for(var i = 0; i < ddd.length; i++)
	{
		 if((!isEmpty(ddd[i].value))&&(!isEmpty(tel[i].value)))
		 {
			 return true; 
		 }
	}
	return false;
}

//GUARDA OS VALORES DO FORMULÁRIO ORIGINAL
function storeOriginalForm(objForm)
{
	fieldCount = 0;
//	alert(objForm[0].value);
	b = new Array(20);
	for(fieldCount=0;fieldCount<objForm.elements.length;fieldCount++)
	{
		b[fieldCount] = objForm.elements[fieldCount].value;

	}
}

//TESTA PARA SABER SE O FORMULÁRIO FOI MODIFICADO
function testFormChange(objForm)
{
	fieldCount = 0;
	d = new Array(20);
	var mudou = false;
	
	for(fieldCount=0;fieldCount<objForm.elements.length;fieldCount++)
	{

		d[fieldCount] = objForm.elements[fieldCount].value;
		//alert(d[c] + ' = ' + b[c]);
		if(d[fieldCount] != b[fieldCount]) 
		{
			return "";
		}
	}
	return "Nenhum dado foi modificado. Clique em voltar para sair.\n";
}

//Pega o texto da opção escolhida em uma combo.
function getComboText(cb)
{
	var i;
	for (i=0; cb.length; i++)
	{
		if (cb(i).value == cb.value)
		{
			return cb(i).text;
			break
		}
	}

}



function verificaIdadeValida(hoje,nasc)
{
	if (((hoje - nasc) > 1000000)||((hoje-nasc)<180000))
	{
		return "Data de nascimento inválida.\n"
	}
	return "";
}

function verificaAspas(valor)
{
	s = valor.indexOf("'");
	if (s != -1) { return false; }
	s = valor.indexOf("\"");
	if (s != -1) { return false; }
	return true
}
