 if(document.layers) {
    var ns4 = true;
}

if(document.all) {
    var ie4 = true;
}

function showObject(obj) {
    var myObj;
    if (ns4) {
         myObj = document[obj];
         myObj.visibility = "show";
    }
    else if (ie4) {
         myObj = document.all[obj];
         myObj.style.visibility = "visible";
    }
}

function hideObject(obj) {
    var myObj;
    if (ns4) {
         myObj = document[obj];
         myObj.visibility = "hide";
    }
    else if (ie4) {
         myObj = document.all[obj];
         myObj.style.visibility = "hidden";
    }
}


function toggleBox(szDivID, iState) // 1 visible, 0 hidden
{
    if(document.layers)	   //NN4+
    {
       document.layers[szDivID].visibility = iState ? "show" : "hide";
    }
    else if(document.getElementById)	  //gecko(NN6) + IE 5+
    {
        var obj = document.getElementById(szDivID);
        obj.style.visibility = iState ? "visible" : "hidden";
    }
    else if(document.all)	// IE 4
    {
        document.all[szDivID].style.visibility = iState ? "visible" : "hidden";
    }
}




function hide(campo) {
var div_ref = document.all(campo);
  div_ref.style.visibility = "hidden";
}

function show(campoorigem,campodestino,campovalor) {
var div_ref = document.all(campodestino);
var div_org = document.all(campoorigem);
	if(div_org.checked == true ){ 
        div_ref.style.visibility = "visible";		
	}else{
        div_ref.style.visibility = "hidden";	
	}
	   
}



//Valida o cpf 
function validcpf(numero,fieldLabel){
var result = true;
alert("CPF aqui!");
dig_1 = 0;
dig_2 = 0;
controle_1 = 10;
controle_2 = 11;
lsucesso = 1;

if ((numero.length != 11) || (numero.substring(9, 10) != "-"))
	{
	alert("CPF inválido! Formato: xxxxxxxxx-xx");
	result = false;
	}
else
	{
	for (i=0 ; i < 9 ; i++)
	{
	dig_1 = dig_1 + parseInt(numero.substring(i, i+1) * controle_1);
	controle_1 = controle_1 - 1;
	}

	resto = dig_1 % 11;
	dig_1 = 11 - resto;

	if ((resto == 0) || (resto == 1))
		dig_1 = 0;
	
		for ( i=0 ; i < 9 ; i++)
		{
		dig_2 = dig_2 + parseInt(numero.substring(i, i + 1) * controle_2);
		controle_2 = controle_2 - 1;
		}

		dig_2 = dig_2 + 2 * dig_1;
		resto = dig_2 % 11;
		dig_2 = 11 - resto;
		
		if ((resto == 0) || (resto == 1))
			dig_2 = 0;
			
			dig_ver = (dig_1 * 10) + dig_2;

		if (dig_ver != parseFloat(numero.substring(numero.length-2,numero.length)))
		{
		alert("CPF inválido!");
		result = false;
		}
	}
	return result; 
} 





//Email
function isEmailAddr(email){
  var result = false;
  var theStr = new String(email);
  var index = theStr.indexOf("@");
  if (index > 0){
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
	result = true;
  }
  return result;
}

//Campo preenchido
function validRequired(formField,fieldLabel){
	 if (formField.value == "")
		{
        alert('O campo "' + fieldLabel +'" deve ser preenchido.');
		formField.focus();
		result = false;
		}	     
	return result;
}


function allDigits(str){
   return inValidCharSet(str,"0123456789");
}

function validEmail(formField,fieldLabel,required){
	var result = true;
	
	if (required && !validRequired(formField,fieldLabel))
		result = false;

	if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )	{
		alert("O email foi digitado de forma incorreta");
		formField.focus();
		result = false;
	}
   
  return result;

}

function validNum(formField,fieldLabel,required){
	var result = true;
	if (required && !validRequired(formField,fieldLabel)) result = false;
 	if (result) {
 		if (!allDigits(formField.value)){
 			alert('Por favor, preencha o campo "' + fieldLabel +'" com um número válido.');
			formField.focus();		
			result = false;
		}
	} 
	return result;
}


function validInt(formField,fieldLabel,required){
	var result = true;
	if (required && !validRequired(formField,fieldLabel)) result = false;
 	if (result){
 		var num = parseInt(formField.value);
 		if (isNaN(num)){
 			alert('Por favor, preencha o campo "' + fieldLabel +'" com um número válido.');
			formField.focus();		
			result = false;
		}
	} 
	return result;
}

function validDate(formField,fieldLabel,required){
	var result = true;
	if (required && !validRequired(formField,fieldLabel)) result = false;
 	if (result){
 		var elems = formField.value.split("/");
 		result = (elems.length == 3); // should be three components
 		if (result)	{
 			var month = parseInt(elems[0]);
  			var day = parseInt(elems[1]);
 			var year = parseInt(elems[2]);
			result = allDigits(elems[0]) && (month > 0) && (month < 13) &&
					 allDigits(elems[1]) && (day > 0) && (day < 32) &&
					 allDigits(elems[2]) && ((elems[2].length == 2) || (elems[2].length == 4));
 		}
  		if (!result){
 			alert('Entre uma data válida no formato MM/DD/YYYY para o campo "' + fieldLabel +'".');
			formField.focus();		
		}
	} 
	
	return result;
}



function caracteres_invalidos()
{  
		var strinvalido;  
		strinvalido = "!''#$%&\\\\'()*+,-./:;<=>?@";  
		strinvalido =  strinvalido + "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
		strinvalido =  strinvalido + "àèìòùâêîôûäëïöüáéíóúãõÀÈÌÒÙÂÊÎÔÛÄËÏÖÜÁÉÍÓÚÃÕ";
		strinvalido =  strinvalido + "[\\\\]^_`";  
		strinvalido =  strinvalido + "{|}~";  
		return strinvalido;  	
}


//Funcao que faz a verificacao dos caracteres do campo	login
function validCaracter(formField,fieldLabel,required){
		var strlogin = formField.value; //Recebe o valor do campo
		var caracteres = caracteres_invalidos(); //recebe a string com caracters invalidos
		var result = true;
		if (required && !validRequired(formField,fieldLabel)) result = false;
		for (i = 0;i<caracteres.length;i++) //loop executado de 0 ao numero total de caracters invalidos
		{
			if(strlogin.indexOf(caracteres.charAt(i)) != -1) //verifica se o value do campo strlogin contem alguma caracter invalido
			{
				var strerror = caracteres.substring(i,i+1); //recebe o caracter errado
				result = false;
				window.alert("Você digitou o seguinte caracter invalido:" + "  " + strerror + "  "); //alerta mostrando o caracter digitado errado
			    formField.focus();
				break; //interrompe o loop
			}
		}
        alert(result);
		return result;
}



//Mascara genérica para qualquer campo do formulario, é só passar o formato
function mascara(src, mask) 
{
  var i = src.value.length;
  var saida = mask.substring(0,1);
  var texto = mask.substring(i)
if (texto.substring(0,1) != saida) 
  {
	src.value += texto.substring(0,1);
  }
}




function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_nbGroup(event, grpName) { //v6.0
var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])?args[i+1] : img.MM_up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) { img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr) for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
      nbArr[nbArr.length] = img;
  } }
}

function MM_preloadImages() { //v3.0
 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
   var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}



function exibeDataatual(vRetorno){
day = new Date()
  num_dia = day.getDate()
  dia = day.getDay()+1
  mes = day.getMonth()+1
  ano = day.getYear()

  if (dia ==1)
    document.write("Domingo, ")
  if (dia ==2)
    document.write("Segunda-feira, ")
  if (dia ==3)
    document.write("Terça-feira, ")
  if (dia ==4)
    document.write("Quarta-feira, ")
  if (dia ==5)
    document.write("Quinta-feira, ")
  if (dia ==6)
    document.write("Sexta-feira, ")
  if (dia ==7)
    document.write("Sábado, ")

  document.write(num_dia," de ")

  if (mes ==1)
    document.write("janeiro")
  if (mes ==2)
    document.write("fevereiro")
  if (mes ==3)
    document.write("março")
  if (mes ==4)
    document.write("abril")
  if (mes ==5)
    document.write("maio")
  if (mes ==6)
    document.write("junho")
  if (mes ==7)
    document.write("julho")
  if (mes ==8)
    document.write("agosto")
  if (mes ==9)
    document.write("setembro")
  if (mes ==10)
    document.write("outubro")
  if (mes ==11)
    document.write("novembro")
  if (mes ==12)
    document.write("dezembro")

  document.write(" de ",ano)

  if (vRetorno==null)
  {
    //não retorna nada
  }
  else
  {
    //retorna qualquer coisa que você definir em vRetorno 
    //obs.: aplicavel ao caso de querer retornar uma outra função ou o valor de outra função
    return vRetorno;
  };

}


//Funcao para validar formulario
function validateForm(campos){
var theMessage = "Por favor preencha os seguintes campos: \n-----------------------------------\n";
var noErrors = theMessage;


//----------SEPARA CAMPOS -----------------
var delimiter = ",";
var item  = campos;
tempArray = new Array(2);
var Count = 0;
var tempString=new String(item);
var auxx ="";


while (tempString.indexOf(delimiter)>0) {
	tempArray[Count]=tempString.substr(0,tempString.indexOf(delimiter));
	tempString=tempString.substr(tempString.indexOf(delimiter)+1,tempString.length-tempString.indexOf(delimiter)+1);
	Count=Count+1;
  }
tempArray[Count]=tempString;

//------ FIM SEPARA CAMPOS -----------------

var nomeCampo  = "";
var tipoCampo  = "";
var delimiter2 = ":";
var conteudo_campo = "";
var radioCheck = false;
for (i=0;i<Count+1;i++)
  {
 
  nomeCampo = tempArray[i].substr(0,tempArray[i].indexOf(delimiter2));
  tipoCampo = tempArray[i].substr(tempArray[i].indexOf(delimiter2)+1,1);
  mgmCampo = tempArray[i].substr(tempArray[i].indexOf(delimiter2)+3,25);

  auxx      = "document.getElementById('" + nomeCampo + "').value";
   
//  alert(tipoCampo);
  conteudo_campo = eval(auxx);
  /*----- Tipos de Campos ---------
  		1.texto 
		2.numero
		3.email
		4.data
		5.cnpj
		6.data
   ------------------------------*/
  switch (tipoCampo) { 
       case '1':
			if (conteudo_campo == "") 
					{theMessage = theMessage + "\n --> " + mgmCampo;} 
       break ;
       case '2': 
// make sure a radio button is selected

	    
	   break;
	   case '3': 
	        if (conteudo_campo == "") 
					{
					 theMessage = theMessage + "\n --> " + mgmCampo; 
					} 
	   break;
	   case '4': 
	        if (conteudo_campo == "") 
					{
					 theMessage = theMessage + "\n --> " + mgmCampo; 
					} 
	   break;
	   
   } 

 }

/*
// validate an e-mail address
if (!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(theForm.email.value)){
theMessage = theMessage + "\n --> Enter a valid e-mail address";
}

// Make sure entry is a certain lenght
var lengthCheck = theForm.code.value
if (lengthCheck.length < 4) {
theMessage = theMessage + "\n --> Enter 4 character code";
}

// make sure a radio button is selected
var radioCheck = false;
for (i = 0; i < theForm.gender.length; i++) {
if (document.form1.gender[i].checked)
radioCheck = true; }
if (!radioCheck) {
theMessage = theMessage + "\n --> Choose your gender";
}

// Make sure at least 1 checkbox is checked
var multiCheckbox = false;
for (i = 0; i < theForm.session.length; i++) {
if (document.form1.session[i].checked)
multiCheckbox = true; }
if (!multiCheckbox) {
theMessage = theMessage + "\n --> Choose which session(s)";
}

// Make sure a selection list is used
var listCheck = theForm.location.selectedIndex;
if (theForm.location.options[listCheck].value=="none") {
theMessage = theMessage + "\n --> Choose a location";
}

// Make sure a single checkbox is checked
var boxCheck = false;
if (theForm.confirm.checked) {
boxCheck = true; }
if (!boxCheck) {
theMessage = theMessage + "\n --> Agree to the terms";
}
*/
// If no errors, submit the form
//alert(theMessage);
//alert(noErrors);

if (theMessage == noErrors) {
return true;

} else {

// If errors were found, show alert message
alert(theMessage);
return false;
}

}
// End -->




