function texto_vacio(formulario,campo,texto){	
	if(eval('document.'+formulario+'.'+campo+'.'+'value')==""){
		alert("El campo "+texto+" no puede quedar vacio");
		eval('document.'+formulario+'.'+campo+'.'+'style.border'+'="2px solid #E40000"');
		eval('document.'+formulario+'.'+campo+'.'+'focus()');
		return false;
	}
	else{
	//	eval('document.'+formulario+'.'+campo+'.'+'style.border'+'="1px solid #0079B1"');
		return true;
	}
}
function comprobar_movil (formulario,campo,texto)
{
	texto_vacio(formulario,campo,texto);
	contenido= eval('document.'+formulario+'.'+campo+'.'+'value');
	if (contenido.length!=9 || !numerico(formulario,campo))
	{
		alert("El campo "+texto+" no puede quedar vacio");
		eval('document.'+formulario+'.'+campo+'.'+'style.border'+'="2px solid red"');
		eval('document.'+formulario+'.'+campo+'.'+'focus()');
		return false;
	}
	else{
		eval('document.'+formulario+'.'+campo+'.'+'style.border'+'="1px solid #0079B1"');
		return true;
	}
}

function radioButton(formulario,campo){
	var sw = 0;
	for (i=0;i<eval('document.'+formulario+'.'+campo+'.length');i++){		
		if (eval('document.'+formulario+'.'+campo+'[i].checked')==true){						
			sw=1;
		}		
	}
	if(sw!=1) return false; // alert("Tienes que seleccionar alguna opcion");
	else return true;
}

function categoria(formulario,campo){
	if(eval('document.'+formulario+'.'+campo+'.value')==""){
		return false; //alert("Tienes que seleccionar alguna opcion en \"Categoria\"");
	}
	else return true;
}


function esDigito(sChr){
	var sCod = sChr.charCodeAt(0);
	return ((sCod > 47) && (sCod < 58));
}

function valSep(oTxt){
   //oTxt = rutaCampoFecha;
	var bOk = false;
	var sep1 = oTxt.value.charAt(2);
	var sep2 = oTxt.value.charAt(5);
	bOk = bOk || ((sep1 == "-") && (sep2 == "-"));
	bOk = bOk || ((sep1 == "/") && (sep2 == "/"));
	return bOk;
}

function finMes(oTxt){
	var nMes = parseInt(oTxt.value.substr(3, 2), 10);
	var nAno = parseInt(oTxt.value.substr(6), 10);
	var nRes = 0;
	switch (nMes){
		case 1: nRes = 31; break;
		case 2: nRes = 28; break;
		case 3: nRes = 31; break;
		case 4: nRes = 30; break;
		case 5: nRes = 31; break;
		case 6: nRes = 30; break;
		case 7: nRes = 31; break;
		case 8: nRes = 31; break;
		case 9: nRes = 30; break;
		case 10: nRes = 31; break;
		case 11: nRes = 30; break;
		case 12: nRes = 31; break;
	}
	return nRes + (((nMes == 2) && (nAno % 4) == 0)? 1: 0);
}

function valDia(oTxt){
	var bOk = false;
	var nDia = parseInt(oTxt.value.substr(0, 2), 10);
	bOk = bOk || ((nDia >= 1) && (nDia <= finMes(oTxt)));
	return bOk;
}

function valMes(oTxt){
	var bOk = false;
	var nMes = parseInt(oTxt.value.substr(3, 2), 10);
	bOk = bOk || ((nMes >= 1) && (nMes <= 12));
	return bOk;
}

function valAno(oTxt){
	//oTxt = rutaCampoFecha;
	var bOk = true;
	var nAno = oTxt.value.substr(6);
	bOk = bOk && ((nAno.length == 2) || (nAno.length == 4));
	if (bOk){
		for (var i = 0; i < nAno.length; i++){
			bOk = bOk && esDigito(nAno.charAt(i));
		}
	}
	return bOk;
}

function valFecha(oTxt){
	var sw = 0;
	var bOk = true;
	if (oTxt.value != ""){
	bOk = bOk && (valAno(oTxt));
	bOk = bOk && (valMes(oTxt));
	bOk = bOk && (valDia(oTxt));
	bOk = bOk && (valSep(oTxt));
		if (!bOk){
			alert("Fecha inválida");
			sw = 1;
			oTxt.value = "";
			oTxt.focus();
		} //else alert("Fecha correcta");  --> NO LO NECESITAMOS
	}
	if(sw==1) return false;
	else return true;
}

function Fecha(formulario,campo){
	var rutaCampoFecha = eval('document.'+formulario+'.'+campo);
	var oTxt = rutaCampoFecha;	
	if(eval('document.'+formulario+'.'+campo+'.value')==""){
		return false; //alert("No puedes dejar el campo \"Fecha\" vacio");
	}
	else {
	   valFecha(rutaCampoFecha);
	} //fin else
}

function numerico(formulario,campo){
	var valor = eval('document.'+formulario+'.'+campo+'.value');		
	valor = parseInt(valor);
	if(isNaN(valor)) {
		return false; //alert("El valor introducido en \"Leida\" no es numerico");
	}
	else 
		return true;
}

function decimal(formulario,campo){
	var valor = eval('document.'+formulario+'.'+campo+'.value');
	valor = parseFloat(valor.replace(',','.'));
	if(valor%1 == 0) {
		return false; // el valor no es decimal
	}
	else return true;
}

function caracteresRaros(formulario,campo,caract_extra) {
	//caract_extra = caracteres que queramos añadir como válidos
	var enter= "\n";
	var patronValido = "abcdefghijklmnopqrstuvwxyzñ1234567890 ABCDEFGHIJKLMNOPQRSTUVWXYZÑáéíóúÁÉÍÓÚ,.;:/<>()-_" + String.fromCharCode(13) + enter + caract_extra;
	var valor = eval('document.'+formulario+'.'+campo+'.value');
	
	var contador = 0;
	for (var i=0; i < valor.length; i++) {
		ubicacion = valor.substring(i, i + 1);
		if (patronValido.indexOf(ubicacion) != -1) {
			eval('document.'+formulario+'.'+campo+'.'+'style.border'+'="1px solid #0079B1"');
			contador++;
		}
		else {
			alert("ERROR: No se acepta el caracter '" + ubicacion + "'.");
			eval('document.'+formulario+'.'+campo+'.'+'style.border'+'="2px solid #E40000"');
			eval('document.'+formulario+'.'+campo+'.'+'focus()');
			return false;
		}
	}
	//alert("Datos correctos.");
	return true;
}
