function checkCampos(campos,objForm) {
	var checkReturn = true;
	var nomedocampo = new Array();
	nomedocampo = campos.split(",");
	for (var i = 0; i < nomedocampo.length; i++){
		var objetos = objForm.elements[nomedocampo[i]];
		if (objetos){
			switch(objetos.type){
			case "select-one":
				eval('objForm.' + nomedocampo[i] + '.className="";');
				if (objetos.selectedIndex == -1 || objetos.options[objetos.selectedIndex].text == ""){
					eval('objForm.' + nomedocampo[i] + '.className="formFieldError";');
					checkReturn = false;
				}
				break;
			case "select-multiple":
				eval('objForm.' + nomedocampo[i] + '.className="";');
				if (objetos.selectedIndex == -1){
					eval('objForm.' + nomedocampo[i] + '.className="formFieldError";');
					checkReturn = false;
				}
				break;
			case "text":
				eval('objForm.' + nomedocampo[i] + '.className="";');
				if (objetos.value == "" || objetos.value == null) {
					eval('objForm.' + nomedocampo[i] + '.className="formFieldError";');
					checkReturn = false;
				}
				break;
			case "hidden":
				eval('document.all.' + nomedocampo[i] + '.className="";');
				if (objetos.value == "" || objetos.value == null) {
					eval('objForm.' + nomedocampo[i] + '.className="formFieldError";');
					checkReturn = false;
				}
				break;
			case "textarea":
				eval('objForm.' + nomedocampo[i] + '.className="";');
				if (objetos.value == "" || objetos.value == null) {
					eval('objForm.' + nomedocampo[i] + '.className="formFieldError";');
					checkReturn = false;
				}
				break;
			case "file":
				eval('objForm.' + nomedocampo[i] + '.className="";');
				if (objetos.value == "" || objetos.value == null) {
					eval('objForm.' + nomedocampo[i] + '.className="formFieldError";');
					checkReturn = false;
				}
				break;
			default:
			}
		}
	}
	return checkReturn;
}
	
function validateDate(str) { 
	dia = (str.value.substring(0,2)); 
    mes = (str.value.substring(3,5)); 
	ano = (str.value.substring(6,10));
	
	if (ano.length == 0)
		ano = new Date().getFullYear();
	else if (ano.length == 1)
		ano = "200" + ano;
	else if (ano.length == 2)
		ano = "19" + ano;
	else if (ano.length == 3)
		ano = new Date().getFullYear();
	
	cons = true;
	
	// verifica se foram digitados numeros
	if (isNaN(dia) || isNaN(mes) || isNaN(ano)){
		alert("Preencha a data somente com números."); 
		str.value = "";
		str.focus(); 
		return false;
	}
		
    // verifica o dia valido para cada mes 
    if ((dia < 01)||(dia < 01 || dia > 30) && 
		(mes == 04 || mes == 06 || 
		 mes == 09 || mes == 11 ) || 
		 dia > 31) { 
    	dia = dia - 1;
	} 

	// verifica se o mes e valido 
	if (mes < 01 || mes > 12 )
		cons = false; 

	// verifica se e ano bissexto 
	if (mes == 2 && ( dia < 01 || dia > 29 || ( dia > 28 && (parseInt(ano / 4) != ano / 4))))
    	dia = dia - 1;
    
	if (cons == false) { 
		//alert("A data inserida não é válida: " + str.value); 
		str.value = "";
		//str.focus(); 
		return false;
	} 

	if (dia.length == 1)
		dia = "0" + dia;
	if (mes.length == 1)
		mes = "0" + mes;
			
	str.value = dia + "/" + mes + "/" + ano;
}

function formatDate(val) {
   	var pass = val.value;
	var expr = /[0123456789]/;
		
	for(i=0; i<pass.length; i++) {
		var lchar = val.value.charAt(i);
		var nchar = val.value.charAt(i+1);
		if(i==0) {
		   if ((lchar.search(expr) != 0) || (lchar>3)){
			  val.value = "";
		   }
		   
		} else if(i==1) {
			   if(lchar.search(expr) != 0){
				  var tst1 = val.value.substring(0,(i));
				  val.value = tst1;				
 				  continue;			
			   }
			   if ((nchar != '/') && (nchar != '')){
				 	var tst1 = val.value.substring(0, (i)+1);
				
					if(nchar.search(expr) != 0)
						var tst2 = val.value.substring(i+2, pass.length);
					else {
						if (nchar<=1)
			   				var tst2 = nchar;
			   			else
							var tst2 = "";//val.value.substring(i+1, pass.length);
					}
					
					val.value = tst1 + '/' + tst2;
			   }
			   
		 } else if(i==3) {
		   	if ((lchar.search(expr) != 0) || (lchar>1)){
			  	var tst1 = val.value.substring(0, (i));
				val.value = tst1
		   	}
		   
		 } else if(i==4) {
			
				if(lchar.search(expr) != 0){
					var tst1 = val.value.substring(0, (i));
					val.value = tst1;
					continue;			
				}
		
				if	((nchar != '/') && (nchar != '')){
					var tst1 = val.value.substring(0, (i)+1);

					if(nchar.search(expr) != 0) 
						var tst2 = val.value.substring(i+2, pass.length);
					else
						var tst2 = val.value.substring(i+1, pass.length);
	
					val.value = tst1 + '/' + tst2;
				}
   		  }
		
		  if(i>=6) {
			  if(lchar.search(expr) != 0) {
					var tst1 = val.value.substring(0, (i));
					val.value = tst1;			
			  }
		  }
	 }
	
     if(pass.length>10)
	 	val.value = val.value.substring(0, 10);
	 	return true;
}

function formatNumber(val) {
   	var pass = val.value;
	var expr = /[0123456789]/;
	
	for(i=0; i<pass.length; i++) {
		var lchar = val.value.charAt(i);
		var nchar = val.value.charAt(i+1);
	
		if(i==0) {
			if ((lchar.search(expr) != 0))
				val.value = "";
		   
		} else {
			  if(lchar.search(expr) != 0) {
					var tst1 = val.value.substring(0, (i));
					val.value = tst1;
			  }
		}
	 }
}

function formatCurrency(val) {
   	var pass = val.value;
	var expr = /[0123456789.]/;
	
	for(i=0; i<pass.length; i++) {
		var lchar = val.value.charAt(i);
		var nchar = val.value.charAt(i+1);
		
		if(i==0) {
			if ((lchar.search(expr) != 0))
				val.value = "";
		   
		} else {
			  if(lchar.search(expr) != 0) {
					var tst1 = val.value.substring(0, (i));
					if (lchar == ",")
						tst1 = tst1 + "."
					val.value = tst1;
			  }
		}
	 }
}

function formatString(val) {
   	var pass = val.value;
	var expr = "'@#$%&*()_+=[]{}\\|?!;:.,//<>`0123456789";
	
	for(i=0; i<pass.length; i++) {
		var lchar = val.value.charAt(i);
		var nchar = val.value.charAt(i+1);
	
		for (var j=1;j<=expr.length;j++) {
			var lcharexpr = expr.substring(j-1, j);
			//alert(lchar + " | " + lcharexpr);
			if (lchar == lcharexpr)
				var eraseIt = true;
		}
	
		if (eraseIt) {
			if(i==0) {
				val.value = "";
			} else {
				var tst1 = val.value.substring(0, (i));
				val.value = tst1;
			}
		}
	 }
}

function formatStringNumber(val) {
   	var pass = val.value;
	var expr = "'@#$%&*()_+=[]{}\\|?!;:.,//<>`";
	
	for(i=0; i<pass.length; i++) {
		var lchar = val.value.charAt(i);
		var nchar = val.value.charAt(i+1);
	
		for (var j=1;j<=expr.length;j++) {
			var lcharexpr = expr.substring(j-1, j);
			//alert(lchar + " | " + lcharexpr);
			if (lchar == lcharexpr)
				var eraseIt = true;
		}
	
		if (eraseIt) {
			if(i==0) {
				val.value = "";
			} else {
				var tst1 = val.value.substring(0, (i));
				val.value = tst1;
			}
		}
	 }
}

function formatTime(val,type) {
   	var pass = val.value;
	var expr = /[0123456789]/;
	
	if (type == "hh:mm:ss") {
		for(i=0; i<pass.length; i++) {
			var lchar = val.value.charAt(i);
			var nchar = val.value.charAt(i+1);
			
			if(i==0) {
			   if ((lchar.search(expr) != 0) || (lchar>=3))
				  val.value = "";
			} else if(i==1) {
			   if(lchar.search(expr) != 0){
				  var tst1 = val.value.substring(0,(i));
				  val.value = tst1;				
 				  continue;			
			   }
			   if ((nchar != ':') && (nchar != '')){
				 	var tst1 = val.value.substring(0, (i)+1);
				
					if(nchar.search(expr) != 0) 
						var tst2 = val.value.substring(i+2, pass.length);
					else
						var tst2 = val.value.substring(i+1, pass.length);
	
					val.value = tst1 + ':' + tst2;
			   }
			} else if(i==4) {
				if(lchar.search(expr) != 0){
					var tst1 = val.value.substring(0, (i));
					val.value = tst1;
					continue;			
				}
				if	((nchar != ':') && (nchar != '')){
					var tst1 = val.value.substring(0, (i)+1);

					if(nchar.search(expr) != 0) 
						var tst2 = val.value.substring(i+2, pass.length);
					else
						var tst2 = val.value.substring(i+1, pass.length);
	
					val.value = tst1 + ':' + tst2;
				}
	   		 }
			 if(i>=6) {
				  if(lchar.search(expr) != 0) {
						var tst1 = val.value.substring(0, (i));
						val.value = tst1;			
				  }
			 }
		 }
	     if(pass.length>8)
		 	val.value = val.value.substring(0, 8);
		 return true;

	} else if (type == "mm:ss") {
		for(i=0; i<pass.length; i++) {
			var lchar = val.value.charAt(i);
			var nchar = val.value.charAt(i+1);
			
			if(i==0) {
			   if ((lchar.search(expr) != 0) || lchar >= 6)
				  val.value = "";
			} else if(i==1) {
			   if(lchar.search(expr) != 0){
				  var tst1 = val.value.substring(0,(i));
				  val.value = tst1;				
 				  continue;			
			   }
			   if ((nchar != ':') && (nchar != '')){
				 	var tst1 = val.value.substring(0, (i)+1);
				
					if(nchar.search(expr) != 0) 
						var tst2 = val.value.substring(i+2, pass.length);
					else
						var tst2 = val.value.substring(i+1, pass.length);
	
					val.value = tst1 + ':' + tst2;
			   }
			} else if(i==3) {
				if(lchar.search(expr) != 0 || lchar >= 6){
				  var tst1 = val.value.substring(0,(i));
				  val.value = tst1;				
 				  continue;
			    }
		 	} else if(i>=4) {
				if(lchar.search(expr) != 0) {
						var tst1 = val.value.substring(0, (i));
						val.value = tst1;			
				}
	   		}
		 }
	     if(pass.length>5)
		 	val.value = val.value.substring(0, 5);
		 return true;
		 
	} else if (type == "hh:mm") {
		for(i=0; i<pass.length; i++) {
			var lchar = val.value.charAt(i);
			var nchar = val.value.charAt(i+1);
			if(i==0) {
			   if (lchar.search(expr) != 0 || lchar>=3)
				  val.value = "";
			} else if(i==1) {
			   if(lchar.search(expr) != 0){
				  var tst1 = val.value.substring(0,(i));
				  val.value = tst1;				
 				  continue;			
			   }
			   if ((nchar != ':') && (nchar != '')){
				 	var tst1 = val.value.substring(0, (i)+1);
				
					if(nchar.search(expr) != 0) 
						var tst2 = val.value.substring(i+2, pass.length);
					else
						var tst2 = val.value.substring(i+1, pass.length);
	
					val.value = tst1 + ':' + tst2;
			   }
			} else if(i==3) {
				if(lchar.search(expr) != 0 || lchar >= 6){
				  var tst1 = val.value.substring(0,(i));
				  val.value = tst1;				
 				  continue;
			    }
		 	} else if(i>=4) {
				if(lchar.search(expr) != 0) {
						var tst1 = val.value.substring(0, (i));
						val.value = tst1;			
				}
	   		}
		 }
	     if(pass.length>5)
		 	val.value = val.value.substring(0, 5);
		 return true;
	} 
}

function formatSearchString(val) {
   	var pass = val.value;
	var expr = "'@#$%&*()_+=[]{}\\|?!;:.,//<>`";
	
	for(i=0; i<pass.length; i++) {
		var lchar = val.value.charAt(i);
		var nchar = val.value.charAt(i+1);
	
		for (var j=1;j<=expr.length;j++) {
			var lcharexpr = expr.substring(j-1, j);
			//alert(lchar + " | " + lcharexpr);
			if (lchar == lcharexpr)
				var eraseIt = true;
		}
	
		if (eraseIt) {
			if(i==0) {
				val.value = "";
			} else {
				var tst1 = val.value.substring(0, (i));
				val.value = tst1;
			}
		}
	 }
}

function validateSearchString(val) {
	var pass = val.value;

	if (pass.length < 4) {
		alert("A palavra de busca deve conter pelo menos 4 caracteres.");
		return false;
	}
	return true;
}
