function alertSiMail(correo,campo){
	var cad = new String(correo);

	if (cad.indexOf('@')>-1) {
		alert("No se publicarán anuncios donde sólo se indique un teléfono o email, o se indique una página web errónea.");
		eval("document.formulario." + campo + ".value = ''");
		eval("document.formulario." + campo + ".focus();");
		return false;
	}
	
	if  (  (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(correo)) ) {
		alert("No se publicarán anuncios donde sólo se indique un teléfono o email, o se indique una página web errónea.");
		eval("document.formulario." + campo + ".value = ''");
		eval("document.formulario." + campo + ".focus();");		
		return false;
	};
	
	return true;
}

function isNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
}
 
function existAnyNumber(cadena) {
	var cad = new String(cadena);
	var resultado = false;
	
	for (cont=0;cont<=cad.length-1;cont++){
		if (isNaN(parseInt(cad.charAt(cont)))==false) {
			resultado = true;
			break;
		};
	};
	return resultado;
}

function rtrim(cadena){
	var espacio = String.fromCharCode(32);
	var longitud = cadena.length;
	var resultado = "";
	if(longitud < 0){
		return"";
	}
	var iTemp = longitud -1;

	while(iTemp > -1){
		if(cadena.charAt(iTemp) == espacio){
		}
		else{
			resultado = cadena.substring(0,iTemp +1);
			break;
		}
		iTemp = iTemp-1;

	} /*End While*/
	return resultado;
} /*End Function*/

function ltrim(cadena) {
	var cad = new String(cadena);
	
	/*borramos espacios en blanco iniciales*/
	for (cont=0;cont<=cad.length-1;cont++){
		if (cad.charAt(cont)!=' ') {
			cad = cad.substring(cont,cad.length);
			break;
		};
		if (cont==cad.length-1) { cad= new String(""); };
	};
	return cad;
}

function parse(cadena) {
	var cad = new String(cadena);

	/*borramos espacios en blanco iniciales
	cad = rtrim(ltrim(cad));*/
	

	/*si descomentado -> si todo mayusculas*/
	//if (cad.toUpperCase()==cad)	{
	//	cad=cad.toLowerCase();
	//};
	
	//cad=cad.toLowerCase();
	
	

	/*ponemos la primera letra en mayusculas
	for (cont=0;cont<=cad.length-1;cont++){
		if ((cad.charAt(cont)>='a' && cad.charAt(cont)<='z') || (cad.charAt(cont)>='A' && cad.charAt(cont)<='Z') || (cad.charAt(cont)=='ñ') || (cad.charAt(cont)=='Ñ')  ) {
			cad=cad.substring(0,cont) + cad.charAt(cont).toUpperCase() + cad.substring(cont+1,cad.length);
			break;	
		};
	};*/

return cad;
}

function troceablancos(cadena) {
	
	var cad = new String(cadena);
	
	if (cad.indexOf(" ")!= -1) {
	
		var partes = cad.split(" ");
		cad="";
		
		var contador=0;
		while (contador<partes.length) {

			if(contador>0) {
				if (partes[contador]!=undefined) {
					cad = new String( ltrim(rtrim(cad.toString())) + " " + rtrim(ltrim(parse( partes[contador].toString() ))) );
				};
			} else {
				if (partes[contador]!=undefined) {
					cad = new String( parse( partes[contador].toString() ) );
				};
			};
				
			contador++;
		};
					
	} else cad = new String(parse(cad));	
	
return cad;
}


function troceadospuntos(cadena) {
	
	var cad = new String(cadena);
	
	if (cad.indexOf(":")!= -1) {
	
		var partes = cad.split(":");
		cad=new String("");
		
		var contador=0;
		while (contador<partes.length) {

			if(contador>0) {
				if (partes[contador]!=undefined) {
					cad = new String( ltrim(rtrim(cad.toString())) + ": " + rtrim(ltrim(parse( partes[contador].toString() ))) );
				};
			} else {
				if (partes[contador]!=undefined) {
					cad = new String( parse( partes[contador].toString() ) );
				};
			};
				
			contador++;
		};
					
	} else cad = new String(parse(cad));	
	
return cad;
}

function troceapuntos(cadena) {
	
	var cad = new String(cadena);
	
	if (cad.indexOf(".")!= -1) {
	
		var partes = cad.split(".");
		cad=new String("");
		
		var contador=0;
		while (contador<=partes.length) {
	
			if(contador>0 ) {
				if (partes[contador]!=undefined) {
					cad = new String( ltrim(rtrim(cad.toString())) + ". " + ltrim(rtrim(troceadospuntos( partes[contador].toString() )))  );
				};
			} else {
				if (partes[contador]!=undefined) { 
					cad = new String( troceadospuntos( partes[contador].toString() ) );
				};
			};
							
			contador++;
		};
					
	} else cad = new String(troceadospuntos(cad));	
	
return cad;
}

function troceaurl(cadena) {
	
	var re=/(\bhttp:\/\/.*\b)/gi;
	
	re.exec(cadena);
	var url=RegExp.$1;
	var posini = cadena.search(re);
	
	if (posini == -1 ) { /*si no hay url*/
		
		return troceapuntos(cadena);	
	
	} else { /*si se encuentra url*/
							
		var tmpIni=troceapuntos(cadena.substr(0, posini));

		var tmpFin=troceaurl(cadena.substring(posini + url.length));
		
						
		var tmp3 = rtrim(ltrim(tmpIni));
		if (tmpIni.charAt(tmpIni.length-1)!='\n') tmp3 = tmp3 + ' '; /*si salto de linea no hay que espaciar*/
		if (url.charAt(url.length-1)=='\n') tmp3 = tmp3 + rtrim(ltrim(url)); else tmp3=tmp3 + rtrim(ltrim(url))+' ';
		tmp3 = tmp3 + rtrim(ltrim(tmpFin));

		tmpIni="";
		tmpFin="";
		url="";
		return tmp3;

	};
}

function troceamail(cadena) {
	
	var re=/(\bmailto:.*\b)/gi;
	
	re.exec(cadena);
	var mail=RegExp.$1;
	var posini = cadena.search(re);
	
	if (posini == -1 ) { /*si no hay url*/
		
		return troceaurl(cadena);	
	
	} else { /*si se encuentra url*/
							

		var tmpIni=cadena.substr(0, posini);
		var tmpFin=cadena.substring(posini + mail.length);
		
		tmpIni=troceaurl(tmpIni);
		tmpFin=troceamail(tmpFin);
				
		var tmp3 = rtrim(ltrim(tmpIni));
		if (tmpIni.charAt(tmpIni.length-1)!='\n') tmp3 = tmp3 + ' '; /*si salto de linea no hay que espaciar*/
		if (mail.charAt(mail.length-1)=='\n') tmp3 = tmp3 + rtrim(ltrim(mail)); else tmp3=tmp3 + rtrim(ltrim(mail))+' ';
		tmp3 = tmp3 + rtrim(ltrim(tmpFin));
		
		tmpIni="";
		tmpFin="";
		mail=""
		return tmp3;

	};
}
function checkNombre(cadena,campo){
	var cad = new String(cadena);
	cad= new String(troceablancos(cad));
	
	//sustitucion comillas dobles
	for (n=0;n<cad.length;n++){ if ( cad.charAt(n)=="\"" ) cad=cad.replace("\"","\'");  };
	

	document.formulario.elements[campo].value=cad;

	return true;
}

var revisados=new Array(); /*si el campo ya ha sido revisado no habra de revisarse otra vez*/
var porcentaje=new Array();

function checkMayusculas(cadena,campo) {
	cad = new String(cadena);
	var re = new RegExp ('"|´|`', 'gi') ;
	cad = cad.replace(re, "'") ;
	//cad = cad.replace('"',"'");
	if ( (cad.toUpperCase()==cad.toString())|| (cad.toLowerCase()==cad.toString()) ){
		cad=cad.charAt(0).toUpperCase() + cad.substr(1).toLowerCase();
	}	
		cad=cad.charAt(0).toUpperCase() + cad.substr(1);
		document.formulario.elements[campo].value=cad;
	return true;
}


function checkMayusculas_ant(cadena,campo) {
	
	cad = new String(cadena);
	
	if  (revisados[campo]==false) revisados[campo]=undefined;
	if ( ( revisados[campo]=="revisado" && cad.toUpperCase()==cad.toString() ) || ( revisados[campo]=="revisado" && cad.toLowerCase()==cad.toString() ) ) revisados[campo]=undefined; /* si campo todo en mayusculas o todo en minusculas se revisara */
	
	if  (revisados[campo]!=undefined) return true;
	
	revisados[campo]="revisado";
	
	var mayusculas,minusculas;
	
	mayusculas=0;
	minusculas=0;
	acentos=0;

	/*----------------------------------- calculo proporcion mayusculas minusculas -----------*/
	for (cont=0;cont<=cad.length-1;cont++){
		
		if ( (cad.charAt(cont).toUpperCase()=='Á') || (cad.charAt(cont).toUpperCase()=='É') || (cad.charAt(cont).toUpperCase()=='Í') || (cad.charAt(cont).toUpperCase()=='Ó') || (cad.charAt(cont).toUpperCase()=='Ú') )   { acentos++; }; 
		
		if (!isNaN(cad.charAt(cont))) { continue;};
		if (cad.charAt(cont)==' ' || cad.charAt(cont)=='/' || cad.charAt(cont)=='.' || cad.charAt(cont)=='-' ) { minusculas++; continue;}; 
		if (cad.charAt(cont).toUpperCase()==cad.charAt(cont) )  { mayusculas++; continue;}; 
		if (cad.charAt(cont).toLowerCase()==cad.charAt(cont) )  { minusculas++; continue;}; 
				
	};	
	
	//porcentaje[campo]=new Number((mayusculas/minusculas)*(100/cad.length));
	porcentaje[campo]=new Number((mayusculas/(minusculas+mayusculas))*(100));
	
	if ((porcentaje[campo])>90) { 
		cad=cad.toLowerCase(); 
	};
		for (cont=0;cont<=cad.length-1;cont++){
		if ((cad.charAt(cont)>='a' && cad.charAt(cont)<='z') || (cad.charAt(cont)>='A' && cad.charAt(cont)<='Z') || (cad.charAt(cont)=='ñ') || (cad.charAt(cont)=='Ñ')  ) {
			cad=cad.substring(0,cont) + cad.charAt(cont).toUpperCase() + cad.substring(cont+1,cad.length);
			break;	
		};
		};
	/*--------------------------------fin calculo proporcion mayusculas minusculas -----------*/
	
	
	
	cad = new String(troceamail(cad));
	
	//sustitucion comillas dobles
	for (n=0;n<cad.length;n++){ if ( cad.charAt(n)=="\"" ) cad=cad.replace("\"","\'");  };
	
	cad = cad.replace(". Es",".es");
	cad = cad.replace(". Es ",".es ");
	cad = cad.replace(". Es.",".es.");
	cad = cad.replace(". Es:",".es:");
	cad = cad.replace(". Es;",".es;");
	
	cad = cad.replace(". Com",".com");
	cad = cad.replace(". Com ",".com ");
	cad = cad.replace(". Com.",".com.");
	cad = cad.replace(". Com:",".com:");
	cad = cad.replace(". Com;",".com;");
	
	document.formulario.elements[campo].value=cad;
	
	if ((acentos==0) && (cad.length>=1)) {
		alert("ATENCION: NO SE PUBLICARÁ el texto si tiene faltas de ortografía. Le recomendamos que revise el texto dado que no tiene ningún acento.");
	}
	
	if ( (cad!=cadena) || ( porcentaje[campo]>90.0 || (minusculas/(cad.length+1))==1 ) && (cad.length>=1) ){
		alert("La redacción del texto deberá hacerse en minúsculas, excepto la primera letra de cada frase y la primera letra de los nombres propios, que se hará en mayúsculas, con acentos y sin faltas de ortografía.");
		return false;
	};	

	return true;
}

function validarfecha(Formulario, Campo, Cadena){

    var bisiesto = new Boolean;
    var error = new Boolean;
               
    bisiesto=false;
    error=false;
               
    if (Cadena!="") {
            var Fecha= new String(Cadena);  /* Crea un string */
                       
            var Ano= new String(Fecha.substring(Fecha.lastIndexOf("/")+1,Fecha.length));
            var Mes= new String(Fecha.substring(Fecha.indexOf("/")+1,Fecha.lastIndexOf("/")));
            var Dia= new String(Fecha.substring(0,Fecha.indexOf("/")));

               
            /* Valido el año */
            if (isNaN(Ano) || Ano.length<2 || Ano.length==3 || Ano.length>4 ) {
                    error=true;
            }
            /* Valido el Mes */
            if (isNaN(Mes) || Mes<1 || Mes>12){
                    error=true;
            }
            /* Valido el Dia */
            if (isNaN(Dia) || Dia<1 || Dia>31){
                    error=true;
            }
            if (Mes==4 || Mes==6 || Mes==9 || Mes==11) {
                    if (Mes==2 && Dia>30) {
                            error=true;
                    }
            }
            /*calculo años bisiestos*/
            if ( !error && Mes==2) {
                    if ( (Ano % 4)!=0 ) {
                            bisiesto=false;
                    } else {
                            if ( (Ano % 100)!=0 ) {
                                    bisiesto=true;
                            } else {
                                    if ( (Ano % 400)!=0 ) {
                                            bisiesto=false;
                                    } else {
                                            bisiesto=true;
                                    }      
                            }
                    }
                               
                    if (Mes==2 && ( (bisiesto && Dia > 29) || (!bisiesto && Dia > 28) ) ) {
                            error=true;
                    }
            }/*fin calculo años bisiestos*/
    };/* fin si la cadena no es nula*/
               
    if (error==false) {    
            return true;
    } else {
            alert('Fecha incorrecta o el formato no es "dd/mm/aaaa".');
            eval("document."+Formulario+"."+Campo+".value='';");
            eval("document."+Formulario+"."+Campo+".focus();");
                       
            return false;
    };             
} /*fin validarfecha*/

function escorreo(campo,correo){
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(correo)){ 
		return true;
	} else {
	 alert(correo + "  no es una dirección de correo");
	 eval("document.formulario." + campo + ".focus()");
	 eval("document.formulario." + campo + ".value = ''");
	}
	return false;
}

function validartexto(campo,cadena, longitud){
	if (cadena.length > longitud){
		alert("Este campo como máximo es de: " + longitud + " carácteres.");
		eval("document.formulario." + campo + ".value = cadena.substring(0, longitud)");
		eval("document.formulario." + campo + ".focus()");
	}
}

function validarnumero(campo,cadena){
	for (n=0;n<cadena.length;n++){
		/*si el caracter es un numero*/
		if ((cadena.charAt(n)>="0" && cadena.charAt(n)<="9") || cadena.charAt(n)=="." || cadena.charAt(n)=="," ) {

		}else{
			alert("Error. Se trata de un campo numérico. Por favor introduzca un número.");
			eval("document.formulario." + campo + ".value = ''");
			eval("document.formulario." + campo + ".focus()");
			break;
		}
	}
}

function validarIAE(campo,cadena,longitud){
	if (cadena.length > longitud){
		alert("Este campo como máximo es de: " + longitud + " carácteres.");
		eval("document.formulario." + campo + ".focus()");
		eval("document.formulario." + campo + ".value = ''");
	}else{ /*compruebo el formato*/
		if (cadena.charAt(3)=="."){
		  if ((cadena.charAt(4)>="0" && cadena.charAt(4)<="9")) {
			for (n=0;n<3;n++){
				if (cadena.charAt(n)>="0" && cadena.charAt(n)<="9") {
				}else{
					alert("Error. Este campo se debe introducir una con el formato: ___._ (ejemplo:123.4)");
					eval("document.formulario." + campo + ".focus()");
					eval("document.formulario." + campo + ".value = ''");
					break;
				}
			}
		  }else{
			alert("Error. Este campo se debe introducir una con el formato: ___._ (ejemplo:123.4)");
			eval("document.formulario." + campo + ".focus()");
			eval("document.formulario." + campo + ".value = ''");
		  } 
		}else{
			alert("Error. Este campo se debe introducir una con el formato: ___._ (ejemplo:123.4)");
			eval("document.formulario." + campo + ".focus()");
			eval("document.formulario." + campo + ".value = ''");
		}
	}
}

function numbersonly(myfield, e, dec) {
    var key;
    var keychar;
    if (window.event) {
        key = window.event.keyCode;
    } else if (e) {
        key = e.which;
    } else {
        return true;
    }
    keychar = String.fromCharCode(key);
    if (key == null ||
        key == 0 || key == 8 || key == 9 || key == 13 || key == 27) {
        return true;
    } else if ("0123456789".indexOf(keychar) > -1) {
        return true;
    } else if (dec && keychar == ".") {
        myfield.form.elements[dec].focus();
        return false;
    } else {
        return false;
    }
}