function fmalsonante(campo,formulario){
	
	var Tcadena,cadena,longitud,i;
	cadena=eval("document."+formulario+".palabrasmalsonantes.value");
	Tcadena=cadena.split('#');
	longitud=Tcadena.length;
	
	//document.form1.textfield22.value
	texto=' '+campo.toLowerCase()+' ';
	var xxx;
	for (i=0;i<(longitud-1);i++){
			if (texto.indexOf(' '+Tcadena[i].toLowerCase()+' ')!=-1){
				alert ("Por favor, no escriba palabras malsonantes.");
				return(false);
				break;
			}
	}
	

return (true);

}


// La funcion checkDate ha sido modificada para que el valor del mes lo recoga de un campo de lista.
// La funcion isYear ha sido modificada para que solo admita aņos en formato "yyyy", es decir 4 digitos.

var defaultEmptyOK = false
var iDatePrefix = "El dia, mes y aņo de "
var iDateSuffix = " no forman una fecha valida. Por favor, introduzca otros nuevos."
var iDay = "El dia debe estar entre 1 y 31. Por favor, vuelva a introducirlo."
var iMonth = "El mes no es valido. Por favor, vuelva a introducirlo."
var iYear = "El aņo debe tener 4 digitos. Por favor, vuelva a introducirlo."

var daysInMonth = makeArray(12);
daysInMonth[1] = 31;
daysInMonth[2] = 29;   
daysInMonth[3] = 31;
daysInMonth[4] = 30;
daysInMonth[5] = 31;
daysInMonth[6] = 30;
daysInMonth[7] = 31;
daysInMonth[8] = 31;
daysInMonth[9] = 30;
daysInMonth[10] = 31;
daysInMonth[11] = 30;
daysInMonth[12] = 31;

function makeArray(n) {
   for (var i = 1; i <= n; i++) {
      this[i] = 0
   } 
   return this
}

function checkDate (dayField, monthField, yearField){  
/*
	if (!isYear(yearField)) return (-3);
	if (!isMonth(parseInt(monthField,10))) return (-2);
	if (!isDay(parseInt(dayField,10))) return (-1); 
       	if (!isDate (yearField, parseFloat(monthField), parseFloat(dayField))) return(-4);
       	return (0);
*/
	if (!isYear(yearField)) return (-3);
	if (!isMonth(monthField)) return (-2);
	if (!isDay(dayField)) return (-1); 
       	if (!isDate (yearField, parseInt(monthField,10), parseInt(dayField,10))) return(-4);
       	return (0);

}

function isYear (s){   
	if (isEmpty(s)) 
       		if (isYear.arguments.length == 1) return defaultEmptyOK;
       		else return (isYear.arguments[1] == true);
    	if (!isNonnegativeInteger(s)) return false;
    	return (s.length == 4);
}

function isMonth (s){
	if (isEmpty(s)) 
       		if (isMonth.arguments.length == 1) return defaultEmptyOK;
       		else return (isMonth.arguments[1] == true);
    	return isIntegerInRange (s, 1, 12);
}

function isDay (s){
	if (isEmpty(s)) 
       		if (isDay.arguments.length == 1) return defaultEmptyOK;
       		else return (isDay.arguments[1] == true);   
    	return isIntegerInRange (s, 1, 31);
}

function isEmpty(s){
	return ((s == null) || (s.length == 0))
}

function isDate (year, month, day){
    if (! (isYear(year, false) && isMonth(month, false) && isDay(day, false))) return false;

    var intYear = parseInt(year);
    var intMonth = parseInt(month);
    var intDay = parseInt(day);

    if (intDay > daysInMonth[intMonth]) return false; 

    if ((intMonth == 2) && (intDay > daysInFebruary(intYear))) return false;

    return true;
}

function isNonnegativeInteger (s){
   var secondArg = defaultEmptyOK;

    if (isNonnegativeInteger.arguments.length > 1)
        secondArg = isNonnegativeInteger.arguments[1];

    return (isSignedInteger(s, secondArg)
         && ( (isEmpty(s) && secondArg)  || (parseInt (s) >= 0) ) );
}

function isIntegerInRange (s, a, b){
    if (isEmpty(s)) 
       if (isIntegerInRange.arguments.length == 1) return defaultEmptyOK;
       else return (isIntegerInRange.arguments[1] == true);
    if (!isInteger(s, false)) return false;

    var num = parseInt (s,10); // var num = parseInt (s); 
    return ((num >= a) && (num <= b));
}

function daysInFebruary (year){
    return (  ((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0) ) ) ? 29 : 28 );
}

function isSignedInteger (s){
    if (isEmpty(s)) 
       if (isSignedInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isSignedInteger.arguments[1] == true);

    else {
        var startPos = 0;
        var secondArg = defaultEmptyOK;

        if (isSignedInteger.arguments.length > 1)
            secondArg = isSignedInteger.arguments[1];

        if ( (s.charAt(0) == "-") || (s.charAt(0) == "+") )
           startPos = 1;    
        return (isInteger(s.substring(startPos, s.length), secondArg))
    }
}

function warnInvalid (theField, s){
    theField.focus()
    theField.select()
    alert(s)
    return false
}

function isInteger (s){
	var i;

    	if (isEmpty(s)) 
       		if (isInteger.arguments.length == 1) return defaultEmptyOK;
       		else return (isInteger.arguments[1] == true);

    	for (i = 0; i < s.length; i++){   
        	var c = s.charAt(i);
	        if (!isDigit(c)) return false;
	}

        return true;
}

function isDigit (c){
	return ((c >= "0") && (c <= "9"))
}


function fselectunico(valor){
	if (valor == "" || valor == 0 || valor == null ){
		alert("Por favor, Seleccione de la Lista")
		return false;
	}
	else
		return true;
}

function verificarNombreCarpeta(carpeta) {
	var cadena = new String(carpeta)
	
	if ((cadena.indexOf("\\")!=-1) || (cadena.indexOf("/")!=-1) || (cadena.indexOf("*")!=-1) || (cadena.indexOf("?")!=-1) || (cadena.indexOf("\"")!=-1) || (cadena.indexOf("<")!=-1) || (cadena.indexOf(">")!=-1) || (cadena.indexOf("|")!=-1) ){
		return (true)
	} 
	else {
		return (false);
	}
}