// Máscaras de entrada
function mascaraData(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
						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>10)
		val.value = val.value.substring(0, 10);
	return true;
}

function mascaraHora(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 > 2))
				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;
			}
		}
	}
	if(pass.length > 5)
	val.value = val.value.substring(0, 5);
	return true;
}

// Validações
function validaData(str) { 
	if (str.value.length != 0) {
		dia = (str.value.substring(0,2)); 
		mes = (str.value.substring(3,5)); 
		ano = (str.value.substring(6,10)); 
		cons = true; 
		
		if (isNaN(dia) || isNaN(mes) || isNaN(ano)){
			alert("Preencha a data somente com números."); 
			str.value = "";
			str.focus(); 
			return false;
		}
	
		cons = false;
		if (((dia >= 01) && (dia <= 31)) && ((mes == 01) || (mes == 03) || (mes == 05) || (mes == 07) || (mes == 08) || (mes == 10) || (mes == 12)))
			cons = true; 
		if (((dia >= 01) && (dia <= 30)) && ((mes == 04) || (mes == 06) || (mes == 09) || (mes == 11)))
			cons = true; 
		if (((dia >= 01) && (dia <= 28)) && (mes == 2))
			cons = true;
		if ((dia = 29) && (mes == 2) && (parseInt(ano / 4) == (ano / 4)))
			cons = true; 
		if (cons == false) { 
			alert("A data inserida não é válida: " + str.value); 
			str.value = "";
			str.focus(); 
			return false;
		} 
	}
}

function validaHora(str) { 
	if (str.value.length != 0) {
		hora = (str.value.substring(0,2)); 
		minuto = (str.value.substring(3,5)); 
		cons = true; 
		
		if (isNaN(hora) || isNaN(minuto)){
			alert("Preencha a hora somente com números."); 
			str.value = "";
			str.focus(); 
			return false;
		}
	
		cons = false;
		if (((hora >= 00) && (hora <= 23)) && ((minuto >= 00) && (minuto <= 59)))
			cons = true; 
		
		if (cons == false) { 
			alert("A hora inserida não é válida: " + str.value); 
			str.value = "";
			str.focus(); 
			return false;
		} 
	}
}

function valida_Form() {
	var erro = "";
	if (document.form1.txtTexto.value.length < 5)
		erro += "É necessário algum texto na notícia, com pelo menos 5 caracteres.\n";
	if ((document.form1.txtLink.value.length > 0) && (document.form1.txtLink.value.substr(0, 7) != "http://"))
		erro += "O link digitado está errado.\n";
	if (!(document.form1.chkCecrim.checked) && !(document.form1.chkJsf.checked))
		erro += "É necessário pelo menos selecionar a publicação para um dos dois institutos.\n";
	if (erro != "")
		alert(erro);
	else {
		if (document.form1.txtDataExpiracao.value.length != 10) {
			var confirmacao;
			confirmacao = window.confirm('Não foi preenchida a data de expiração.\nÉ para ser publicado até que seja removida a notícia?');
			if (confirmacao == true)
				document.form1.submit();
		} else
			document.form1.submit();
	}
}