	
	var ie = (document.all)? true:false;
	var ns = (document.all)? false:true;
	
	// Funcion que comprueba los datos en el submit
	function es_correcto(valor, tipo) {
		maxlength=50;
		if (tipo.length > 3) {
			maxlength = parseInt(tipo.substr(3,tipo.length-3));
			if (isNaN(maxlength)) maxlength=50;
			tipo = tipo.substr(0,3);
		}

		longitud = valor.length;
		if (valor.length!=0) {
			switch(tipo)
			{
				case 'tel':
					var objRegExp  = /^[0-9]{9}$/;
					return objRegExp.test(valor);
				case 'num':
					var objRegExp  = /^[0-9]{1,}$/;
					return objRegExp.test(valor);
				case 'fec':
					var objRegExp = /^\d{2}(\-|\/|\.)\d{2}\1\d{4}$/
					if(!objRegExp.test(valor)) {
						return false;
					}else{
						var strSeparator = valor.substring(2,3)
						var arrayDate = valor.split(strSeparator);
						var arrayLookup = { '01':31, '03':31, '04':30, '05':31, '06':30, '07':31, '08':31, '09':30, '10':31, '11':30, '12':31 }
						var intDay = parseInt(arrayDate[0]*1); 
						if(arrayLookup[arrayDate[1]] != null) {
							if(intDay <= arrayLookup[arrayDate[1]] && intDay != 0)
							return true;
						}
						var intYear = parseInt(arrayDate[2]);
						var intMonth = parseInt(arrayDate[1]);
						if (intMonth >= 1 && intMonth <= 12) {
							if( ((intYear % 4 == 0 && intDay <= 29) || (intYear % 4 != 0 && intDay <=28)) && intDay !=0)
								return true;
						}
					}
					return false;
				case 'hor':
					var objRegExp = /^([0-2][0-3]:[0-5][0-9])|(1[0-9]:[0-5][0-9])$/;
					return objRegExp.test(valor);			
				case 'cod':
					var objRegExp  = /^[0-9]{5}$/;
					return objRegExp.test(valor);			
				case 'ema':
					//var objRegExp  = /(^[a-zA-Z]([a-zA-Z0-9_\.]*)@([a-zA-Z0-9_\.]*)([.][a-zA-Z]{3})$)|(^[a-zA-Z]([a-zA-Z0-9_\.]*)@([a-zA-Z0-9_\.]*)(\.[a-z]{3})(\.[a-z]{2})*$)|(^[a-zA-Z]([a-zA-Z0-9_\.]*)@([a-z_\.]*)(\.[a-z]{2})(\.[a-z]{2})*$)/i;
					//return objRegExp.test(valor);
					return mailValido(valor);
				case 'eda':
					var objRegExp  = /^[0-9]{1,2}$/;
					return objRegExp.test(valor);
				case 'dni':
					pletra = valor.substring(0,1);
					var objRegExp1 = /^[a-zA-Z]{1}$/;
					var letranifempresa = objRegExp1.test(pletra);
					if(letranifempresa)
					{
						//Empresa
						var objRegExp  = /^[a-zA-Z]{1}[0-9]{8}$/;
					}
					else
					{
						//Persona
						var objRegExp  = /^[0-9]{8}[a-zA-Z]{1}$/;
					}
					return objRegExp.test(valor);
				case 'txt':					
					if (valor.length > maxlength) return false;
					else {
						//var objRegExp  = /^[a-zA-Z0-9]*$/;
						//return objRegExp.test(valor);
						return true;
					}
				case 'neg':
					var objRegExp  = /^-[0-9]{1,}$|^[0-9]{1,}$/;
					return objRegExp.test(valor);				
				case 'dec':
					var objRegExp = /^[0-9]{1,}\.[0-9]{1,}$|^[0-9]{1,}$/;
					return objRegExp.test(valor);
				case 'ned':
					var objRegExp = /^-[0-9]{1,}\.[0-9]{1,}$|^[0-9]{1,}\.[0-9]{1,}$|^[0-9]{1,}$|^-[0-9]{1,}$/;
					return objRegExp.test(valor);
				default:
					return true;
			}
			
		}else{
			return true;
		}
	}

   	
   	function mailValido(str) {
   		w = new Array(3)
   		w[0] = "";
   		w[1] = "";
   		w[2] = "";
			encArroba=false;
			encPunto=false;
			for (i=0; i < str.length && !encArroba; i++) {
				if (str.charAt(i) == '@')
					encArroba=true;
				else
					w[0]+=str.charAt(i)
			}
			if (encArroba) {
				for (; i < str.length && !encPunto; i++) {
					if (str.charAt(i) == '.')
						encPunto=true;
					else
						w[1]+=str.charAt(i)
				}
				for (j=0; j < w[1].length; j++) {
					if (w[1].charAt(j) == '@')
						w[1]="";
				}
			}
			if (encPunto) {
				for (; i < str.length; i++) {
					w[2]+=str.charAt(i)
				}
				for (j=0; j < w[2].length; j++) {
					if (w[2].charAt(j) == '@')
						w[2]="";
				}
			}
			
			return (encArroba && encPunto && w[0].length>0 && w[1].length>0 && w[2].length>0);
   	}	
   		
	// Funcion que comprueba si un campo esta vacio
	function esta_vacio(campo,formulario) {
		if(ie){
			if(eval(formulario.name + '.' + campo + '.value.length')==0) return true;
		}
		if(ns){
			var tipo = eval(formulario).eval(campo).type;
			if(tipo=='text' || tipo=='textarea' || tipo=='password') { if(eval(formulario).eval(campo).value.length==0) return true; }
			if(tipo=='checkbox') { if(eval(formulario).eval(campo).checked==false) return true; }
		}
		return false;
	}

