	var submitted = false;
	var error = false;
	var error_mensaje = '';
	
/*
 * función que valida un numero entero con valor minimo y maximo
 */
	function validarEntero(numero, valMin, valMax, obligatorio, mensaje) {
	
		if(numero == '') { 
			if(obligatorio == true) {
				error_mensaje = error_mensaje + '* ' + mensaje + ' no puede ser un dato en blanco\n';
				error = true;
			}
		}
		else {
			if(numero < valMin || numero > valMax) {
				error_mensaje = error_mensaje + '* ' + mensaje + ' debe ser un número entero entre '+valMin+' y '+valMax+'\n';
				error = true;
			}
			
			var longitud = numero.length;
			var punto=0;
			
			for(var i=0; i<longitud; i++) {
				if( !(numero.charAt(i) >= '0' && numero.charAt(i) <= '9') )  {
					error_mensaje = error_mensaje + '* ' + mensaje + ' debe ser solo un numero entero\n';
					error = true;
					i = longitud;
				}
			}
		}
	}
	
/*
 * función que valida un numero decimal con valor minimo y maximo
 */
	function validarDecimal(numero, valMin, valMax, obligatorio, mensaje) {
		
		if(numero == '') {
			if(obligatorio == true) {
				error_mensaje = error_mensaje + '* ' + mensaje + ' no puede ser un dato en blanco\n';
				error = true;
			}
		}
		else {
			if(numero < valMin || numero > valMax) {
				error_mensaje = error_mensaje + '* ' + mensaje + ' debe ser un número decimal entre '+valMin+' y '+valMax+'\n';
				error = true;
			}
			
			var longitud = numero.length;
			var punto=0;
			
			for(var i=0; i<longitud; i++) {
				if( !(numero.charAt(i) >= '0' && numero.charAt(i) <= '9') && numero.charAt(i) != '.')  {
					error_mensaje = error_mensaje + '* ' + mensaje + ' debe ser solo un numero decimal, el decimal se especifica con (.)\n';
					error = true;
					i = longitud;
				}
				if(numero.charAt(i) == '.') {
					punto++;
					if(punto > 1) {
						error_mensaje = error_mensaje + '* ' + mensaje + ' solo debe tener un puno (.)\n';
						error = true;
						i = longitud;
					}
				}
			}
		}
	}
	  
/*
 * Funcion que valida una cadena.
 * caracteres permitidos A-Z a-z 0-9 ()*+,-./!"#$%&:;<=>?@[]_ y el espacio
 */
	function validarAlfanumerico(cadena, obligatorio, mensaje) {
		
		if(cadena == '') {
			if(obligatorio == true) {
				error_mensaje = error_mensaje + '* ' + mensaje + ' no puede ser un dato en blanco\n';
				error = true;
			}
		}
		else {
			
			var longitud = cadena.length;
			var cont = 0;
			
			for(var i=0; i<longitud; i++) {
				if( !( (cadena.charAt(i) >= 'a' && cadena.charAt(i) <= 'z') 
						|| (cadena.charAt(i) >= 'A' && cadena.charAt(i) <= 'Z') 
						|| (cadena.charAt(i) >= '0' && cadena.charAt(i) <= '9') 
						|| (cadena.charAt(i) >= '(' && cadena.charAt(i) <= '/')
						|| (cadena.charAt(i) >= ' ' && cadena.charAt(i) <= '&')
						|| (cadena.charAt(i) >= ':' && cadena.charAt(i) <= '@')   )
						&& cadena.charAt(i) != 'ñ' && cadena.charAt(i) != 'Ñ' && cadena.charAt(i) != 'á' && cadena.charAt(i) != 'Á'
						&& cadena.charAt(i) != 'é' && cadena.charAt(i) != 'í' && cadena.charAt(i) != 'ó' && cadena.charAt(i) != 'ú'
						&& cadena.charAt(i) != 'É' && cadena.charAt(i) != 'Í' && cadena.charAt(i) != 'Ó' && cadena.charAt(i) != 'Ú'
						&& cadena.charAt(i) != '_' && cadena.charAt(i) != '[' && cadena.charAt(i) != ']' && cadena.charAt(i) == '\'')
				{
					error_mensaje = error_mensaje + '* ' + mensaje + ' no puede tener el caracter (' + cadena.charAt(i) + ')\n';
					error = true;
					i = longitud;
				}
				if(cadena.charAt(i) == ' ') {
					cont++;
				}
			}
			if(cont == longitud) {
				error_mensaje = error_mensaje + '* ' + mensaje + ' no puede tener solo espacios\n';
				error = true;
			}
		}
	}
	
/*
 * Funcion que valida una cadena.
 * caracteres permitidos A-Z a-z _
 */
	function validarAlfabeto(cadena, obligatorio, mensaje) {
		
		if(cadena == '') {
			if(obligatorio == true) {
				error_mensaje = error_mensaje + '* ' + mensaje + ' no puede ser un dato en blanco\n';
				error = true;
			}
		}
		else {
			
			var longitud = cadena.length;
			var cont = 0;
			
			for(var i=0; i<longitud; i++) {
				if( !( (cadena.charAt(i) >= 'a' && cadena.charAt(i) <= 'z') 
						|| (cadena.charAt(i) >= 'A' && cadena.charAt(i) <= 'Z') )
						&& cadena.charAt(i) != 'ñ' && cadena.charAt(i) != 'Ñ' && cadena.charAt(i) != 'á' && cadena.charAt(i) != 'Á'
						&& cadena.charAt(i) != 'é' && cadena.charAt(i) != 'í' && cadena.charAt(i) != 'ó' && cadena.charAt(i) != 'ú'
						&& cadena.charAt(i) != 'É' && cadena.charAt(i) != 'Í' && cadena.charAt(i) != 'Ó' && cadena.charAt(i) != 'Ú'
						&& cadena.charAt(i) != '_' && cadena.charAt(i) != ' ')
				{
					error_mensaje = error_mensaje + '* ' + mensaje + ' no puede tener el caracter (' + cadena.charAt(i) + ')\n';
					error = true;
					i = longitud;
				}
				if(cadena.charAt(i) == ' ') {
					cont++;
				}
			}
			if(cont == longitud) {
				error_mensaje = error_mensaje + '* ' + mensaje + ' no puede tener solo espacios\n';
				error = true;
			}
		}
	}
	/*
	*	 funcion que valida que halla algo en un select multiple
	*/  
	function validarSelectMultiple(sel, mensaje){
		if(sel.length == 0){
			error_mensaje = error_mensaje + '* ' + mensaje + '\n';
			error = true; 
		}
	}
	
/*
 * función que valida un radio.
 */
	function validarRadio(radio, mensaje) {
		
		var isChecked = false;
		
		if(radio.checked == true) {
			isChecked = true;
		}
		else {
			for (var i=0; i<radio.length; i++) {
				if (radio[i].checked == true) {
					isChecked = true;
					break;
				}
			}
		}
		
		if (isChecked == false) {
			error_mensaje = error_mensaje + '* ' + mensaje + '\n';
			error = true;
		}
	}
	
/*
 * función que valida un select
 */
	function validarSelect(seleccion, mensaje) {
		
		if (seleccion == '') {
			error_mensaje = error_mensaje + '* ' + mensaje + '\n';
			error = true;
		}
	}
	
/*
 * función que valida una fecha.
 */
	function validarFecha(fecha, obligatorio, mensaje) {
      
		if(obligatorio == true) {
			if(fecha == '' || fecha.length != 10) {	 				
				error_mensaje = error_mensaje + '* ' + mensaje + ' debe tener 10 caracteres de la forma (aaaa-mm-dd)\n';
				error = true;
				return fecha;
			}
			else {
				var fecha_anio = '';
				var fecha_mes = '';
				var fecha_dia = '';
				      
				for (var i=0; i<fecha.length; i++) {
					if(fecha.charAt(i) >= '0' && fecha.charAt(i) <= '9') {
						if(i < 4) {
							fecha_anio += fecha.charAt(i);
						}
						else {
							if(i > 4 && i < 7) {
								fecha_mes += fecha.charAt(i);
							}
							else {
								if(i > 7 ) {
									fecha_dia += fecha.charAt(i);
								}
							}
						}
					}
				}
				if(fecha_anio < 1000) {
					error_mensaje = error_mensaje + '* ' + mensaje + ' debe tener un año mayor a 1000 y menor a 9999\n';
					error = true;
				}
				if(fecha_mes < 1 || fecha_mes > 12) {
					error_mensaje = error_mensaje + '* ' + mensaje + ' debe tener un mes enter 1 y 12\n';
					error = true;
				}
				if(fecha_dia < 1 || fecha_dia > 31) {
					error_mensaje = error_mensaje + '* ' + mensaje + ' debe tener un dia entre 1 y 31\n';
					error = true;
				}
			}
		}
		return fecha_anio+'-'+fecha_mes+'-'+fecha_dia;
	}

function fecha(thisval,fname, flen, formulario){
 
 var fieldname = eval("document."+formulario+"." + fname);

 if((thisval >= 48 && thisval <= 57) || (thisval >= 96 && thisval <= 105)){

  if(fieldname.value.length + 1 <= flen){
   fieldname.focus();
  }
  else{
 
   for(x=0; x<document.forms[formulario].elements.length; x++){
        if(fieldname.name == document.forms[formulario].elements[x].name){
            var nextfield = x + 1;
         }
   }
 if(document.forms[formulario].elements[nextfield].type != "hidden")
          document.forms[formulario].elements[nextfield].focus();

  }
 }
 else 
 {
  if(fieldname.value.length != flen){
	cad= new Array();
	cad[0]=fieldname.value;
	cad2="";
	for(i=0; i<fieldname.value.length-1;i++){
	  cad2 += cad[0].charAt(i);  
	 }
	 fieldname.value=cad2;
  }
 }
} 
 
	
function validarano(ano, obligatorio, mensaje) {
      
		if(obligatorio == true) {
			if(ano == '' || ano.length != 4) {	 				
				error_mensaje = error_mensaje + '* ' + mensaje + ' debe tener 4 caracteres\n';
				error = true;
				return ano;
			}
			for(i=0; i < ano.length; i++){
			  if(ano.charAt(i) < '0' || ano.charAt(i) > '9' ){
				  error_mensaje = error_mensaje + '* ' + mensaje + ' solo debe tener números\n';
				  error = true;
				  return ano;
				 }	
			}
			if(ano < 1000) {
					error_mensaje = error_mensaje + '* ' + mensaje + ' debe tener un año mayor a 1000 y menor a 9999\n';
					error = true;
				}
		}
		return ano;
	}
	
function validarmes(mes, obligatorio, mensaje) {
      
		if(obligatorio == true) {
			if(mes == '' || mes.length != 2) {	 				
				error_mensaje = error_mensaje + '* ' + mensaje + ' debe tener 2 caracteres\n';
				error = true;
				return mes;
			}
			for(i=0; i < mes.length; i++){
			  if(mes.charAt(i) < '0' || mes.charAt(i) > '9' ){
				  error_mensaje = error_mensaje + '* ' + mensaje + ' solo debe tener números\n';
				  error = true;
				  return mes;
				 }	
			}
				if(mes < 1 || mes > 12) {
					error_mensaje = error_mensaje + '* ' + mensaje + ' debe tener un mes enter 1 y 12\n';
					error = true;
				}
			}
		return mes;
	}

function validardia(dia, obligatorio, mensaje) {
      
		if(obligatorio == true) {
			if(dia == '' || dia.length != 2) {	 				
				error_mensaje = error_mensaje + '* ' + mensaje + ' debe tener 2 caracteres\n';
				error = true;
				return dia;
			}
			for(i=0; i < dia.length; i++){
			  if(dia.charAt(i) < '0' || dia.charAt(i) > '9' ){
				  error_mensaje = error_mensaje + '* ' + mensaje + ' solo debe tener números\n';
				  error = true;
				  return dia;
				 }	
			}
			if(dia < 1 || dia > 31) {
					error_mensaje = error_mensaje + '* ' + mensaje + ' debe tener un dia entre 1 y 31\n';
					error = true;
				}
			}
		return dia;
	}
	
	
function validarEmail(email, obligatorio, mensaje) {
  if(obligatorio == true) {
		if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email))){
     error_mensaje = error_mensaje + '* ' + mensaje + ' es incorrecta\n';
		 error = true;
		}
  }
}
	
	/*
validarSelect(validarIndicadores.idFiltroSector.value, 'EL sector del indicador');
validarAlfanumerico(validarIndicadores.ind_nombre.value, true, 'El nombre del indicador');
validarRadio(validarIndicadores.ind_tipo,  'El tipo del indicador no puede estar en blanco');
validarEntero(validarVariables.val_valor.value, 0, 9999999999, true, 'EL valor de la variable');
validarVariables.val_fecha.value = validarFecha(validarVariables.val_fecha.value, true, 'La fecha de variable');
validarDecimal(modificarMunicipios.mun_temperatura.value, 0, 10000, true, 'La temperatura del municipio');

*/

