<!--
	var formatoFecha = 'dd/mm/yyyy';	// Formato de fecha que vamos a utilizar
	var formatoHora = 'HH:mm';	// Formato de fecha que vamos a utilizar

	// Función de validación de email
	function emailValido(valor) {
		var EmailOk = true;
		var AtSym = valor.indexOf('@');
		var Period = valor.lastIndexOf('.');
		var Space = valor.indexOf(' ');
		var Length = valor.length - 1;
		if ((AtSym < 1) || (Period <= AtSym+1) || (Period == Length ) || (Space  != -1)) {  
			  EmailOk = false;
		}
		return EmailOk;
	}

	// Función de validación de fecha
	function fechaValida(valor) {
		var formatoFechaReg = formatoFecha;
		formatoFechaReg = formatoFechaReg.replace('dd','([0-2][0-9]|3[0-1])');
		formatoFechaReg = formatoFechaReg.replace('mm','(0[0-9]|1[0-2])');
		formatoFechaReg = formatoFechaReg.replace(/y/g,'[0-9]');
		formatoFechaReg = "^" + formatoFechaReg + "$";
		var ExpReg = new RegExp(formatoFechaReg);
		var fechaOK = ExpReg.test(valor);
		return fechaOK;
	}

	// Función de validación de fecha
	function horaValida(valor) {
		var formatoHoraReg = formatoHora;
		formatoHoraReg = formatoHoraReg.replace('HH','([0-1][0-9]|2[0-3])');
		formatoHoraReg = formatoHoraReg.replace('mm','([0-5][0-9])');
		formatoHoraReg = "^" + formatoHoraReg + "$";
		var ExpReg = new RegExp(formatoHoraReg);
		var horaOK = ExpReg.test(valor);
		return horaOK;
	}

	// Función de validación de fotos
	function fileValido(valor,extension) {
		var formatoFile = "^(.*)(\\\\|/)[\\w:\\s/_-]+\\.(" + extension + ")$";
		var ExpRegFile = new RegExp(formatoFile,"i");
		var fileOK = ExpRegFile.test(valor);
		return fileOK;
	}

	// Función de validación de precios
	function precioValido(valor) {
		var formatoPrecio = "^[0-9]+(,[0-9]{1,2})?$";
		var ExpRegPrecio = new RegExp(formatoPrecio,"i");
		var precioOK = ExpRegPrecio.test(valor);
		return precioOK;
	}

	function checkForm(frm) {
		for(i=0;i<frm.length;i++) {
			campoForm = frm.elements[i];
			if(campoForm.disabled == false) {
				var datosCheck = campoForm.id.split('#');
				texto_explicativo = "";
				if(datosCheck[2])
					texto_explicativo = datosCheck[2];
				if(datosCheck[0].indexOf('*') != -1) {
					if(campoForm.value == "") {
						alert('No has rellenado el campo ' + datosCheck[1]);
						campoForm.focus();
						return false;
					}
				}
				if(datosCheck[0].indexOf('numero') != -1) {
					if(isNaN(campoForm.value)) {
						alert('El campo ' + datosCheck[1] + ' tiene que ser numérico.' + texto_explicativo);
						campoForm.focus();
						return false;
					}
				}
				if((datosCheck[0].indexOf('email') != -1) && (campoForm.value != "")) {
					if(!emailValido(campoForm.value)) {
						alert('El campo ' + datosCheck[1] + ' tiene que ser un email');
						campoForm.focus();
						return false;
					}
				}
				if((datosCheck[0].indexOf('fecha') != -1) && (campoForm.value != "")) {
					if(!fechaValida(campoForm.value)) {
						alert('El formato del campo ' + datosCheck[1] + ' no es válido');
						campoForm.focus();
						return false;
					}
				}
				if((datosCheck[0].indexOf('hora') != -1) && (campoForm.value != "")) {
					if(!horaValida(campoForm.value)) {
						alert('El formato del campo ' + datosCheck[1] + ' no es válido');
						campoForm.focus();
						return false;
					}
				}
				if(datosCheck[0].indexOf('checkbox') != -1) {
					if(campoForm.checked == false) {
						alert('No has rellenado el campo ' + datosCheck[1]);
						return false;
					}
				}
				if(datosCheck[0].indexOf('radio') != -1) {
					var radioCheck = 0;
					eval('var radioElemento = frm.' + campoForm.name);
					for(j=0;j<radioElemento.length;j++) {
						if(radioElemento[j].checked) {
							radioCheck = 1;
							break;
						}
					}
					if(radioCheck == 0) {
						alert('No has rellenado el campo ' + datosCheck[1]);
						return false;
					}
				}
				if(datosCheck[0].indexOf('select') != -1) {
					if(campoForm.selectedIndex == 0) {
						alert('No has rellenado el campo ' + datosCheck[1]);
						return false;
					}
				}
				if(datosCheck[0].indexOf('selectMultiple') != -1) {
					seleccion = 0
					for(j=1;j<campoForm.length;j++) {
						if(campoForm.options[j].selected == true)
							seleccion = 1
					}
					if(seleccion == 0) {
						alert('No has rellenado el campo ' + datosCheck[1]);
						return false;
					}
				}
				var expReg = /[^A-Za-z0-9ñÑáéíóúÁÉÍÓÚüÜ_\s\¿\?\¡\!\<\>\.\,\:\;\(\)\@\#\$\€\%\&\\\/\*\=\+\-\{\}\[\]\ç\º\ª]/i;
				if(datosCheck[0].indexOf('parsear') != -1) {
					if(expReg.test(campoForm.value)) {
						alert('El campo ' + datosCheck[1] + ' no es válido\n');
						campoForm.focus();
						return false;
					}
				}
				if((datosCheck[0].indexOf('min') != -1) && (campoForm.value != "")) {
					posicion = datosCheck[0].indexOf('min') + 3;
					limite = "0";
					while((!isNaN(datosCheck[0].substring(posicion,posicion + 1))) && (posicion < datosCheck[0].length)) {
						limite = limite + datosCheck[0].substring(posicion,posicion + 1);
						posicion = posicion + 1;
					}
					limite = parseInt(limite,10);
					if(campoForm.value.length < limite) {
						alert('El campo ' + datosCheck[1] + ' tiene que tener al menos ' + limite + ' caracteres\n');
						campoForm.focus();
						return false;
					}
				}
				if((datosCheck[0].indexOf('max') != -1) && (campoForm.value != "")) {
					posicion = datosCheck[0].indexOf('max') + 3;
					limite = "0";
					while((!isNaN(datosCheck[0].substring(posicion,posicion + 1))) && (posicion < datosCheck[0].length)) {
						limite = limite + datosCheck[0].substring(posicion,posicion + 1);
						posicion = posicion + 1;
					}
					limite = parseInt(limite,10);
					if(campoForm.value.length > limite) {
						alert('El campo ' + datosCheck[1] + ' tiene que como máximo ' + limite + ' caracteres\n');
						campoForm.focus();
						return false;
					}
				}
				if(datosCheck[0].indexOf('foto') != -1) {
					if((campoForm.value != "") && !fileValido(campoForm.value,'jpeg|jpg|gif')) {
						alert('El formato de la foto no es correcta. Verifique que es un JPEG o un GIF o que el nombre no tiene acentos, espacios o caracteres extraños.');
						campoForm.focus();
						return false;
					}
				}
				if(datosCheck[0].indexOf('mp3') != -1) {
					if((campoForm.value != "") && !fileValido(campoForm.value,'mp3')) {
						alert('El formato del mp3 no es correcto. Verifique que es un MP3 o que el nombre no tiene acentos, espacios o caracteres extraños.');
						campoForm.focus();
						return false;
					}
				}
				if(datosCheck[0].indexOf('acepto') != -1) {
					if(campoForm.checked == false) {
						alert('Tienes que aceptar las condiciones');
						return false;
					}
				}
				if(datosCheck[0].indexOf('precio') != -1) {
					if((campoForm.value != "") && !precioValido(campoForm.value)) {
						alert('El formato del precio no es correcto. El formato correcto es 1000,11.');
						campoForm.focus();
						return false;
					}
				}
				if(datosCheck[0].indexOf('repetir') != -1) {
					if(campoForm.value != frm.elements[i-1].value) {
						alert('El campo ' + datosCheck[1] + ' no coincide.');
						campoForm.focus();
						return false;
					}
				}
			}
		}
		return true;
	}

	function envForm(frm,action) {
		if(checkForm(frm)) {
			for(i=0;i<frm.length;i++) {
				if((frm.elements[i].type == "textarea") && (frm.elements[i].id == 'textarea_' + frm.elements[i].name))
					updateTextArea(frm.elements[i].id);
			}
			if(typeof(action) != "undefined") {
				frm.action = action;
				frm.target = "";
			}
			frm.submit();
		}
	}
//-->
