//	27. FUNCIÓN jsTrim - Quita los espacios a la derecha y a la izquierda de la cadena de texto pasada, además de los espacios duplicados.
//	28. FUNCIÓN jsQuitarAlta - Quitará el valor JSQuitar del valor JSValor
//	29. FUNCIÓN jsSoloDigitos: Comprueba que la cadena pasada sólo contenga dígitos
//	30. FUNCIÓN jsSoloAlfa: Comprueba que la cadena pasada sólo contenga caracteres alfa numéricos y espacios		
//FUNCIONES  STRING
function Importe2decimal(Total)                             // IE & NS6
{
	var Totaltext=String(Total);
	var enteros = Totaltext.lastIndexOf( "," ); //La coma es la separación entre enteros y decimales
	var textoenteros=Totaltext.substr(0,enteros); //Cogemos la parte entera
	if (Totaltext.substr(enteros+3,1)<=4)
	{
		//Truncamos a 2 decimales
		Totaltext=Totaltext+"00"; //Añadimos los 0's para tener 2 decimales siempre p.e si fuese 1,5=>1,500 y al truncar pasaría a 1,50
		valor = textoenteros+Totaltext.substr(enteros, 1) + Totaltext.substr(enteros+ 1, 2); 
	}
	else
	{
		//Redondeamos al alza (sumamos 0.01 y truncamos a 2 decimales)
		var numsum=Totaltext.substr(enteros+ 1, 2); //Cogemos 2 primeros decimales
		while ( textoenteros.lastIndexOf( "." )!=-1)
			var textoenteros=textoenteros.replace(".", ""); //Eliminamos los puntos de los miles
		valor=String((((parseFloat(textoenteros)*100)+parseFloat(numsum))+1)/100); //Sumamos 0.01
		//Cambiamos el punto (.) por coma (,)
		enteros = valor.lastIndexOf( "." ); 
		if (enteros!=-1) 
		{
			valor=valor+"00";
			valor=valor.substr(0,enteros)+","+valor.substr(enteros+1,2);
		}
		else
		{ //En este caso no tiene decimales, le añadimos 2 decimales
			valor=valor+",00";
		}
		valor=ImportePuntuacion(valor); //Colocamos los puntos de los millares
	}
	return valor
}
function ImportePuntuacion(Total)                              // IE & NS6                          
{
	var Totaltext=String(Total);
	while (Totaltext.indexOf(".")!=-1)
	{
		Totaltext=Totaltext.replace(".","");			//Elimino los puntos de los millares i substituyo la coma decimal  
	}
	Totaltext=Totaltext.replace(",",".");			//por un punto para que pueda sumar bien en JS.
	Totaltext=Totaltext.replace(".",",");			//Vuelvo a poner "," para los decimales 
	var inenteros = Totaltext.lastIndexOf( "," );		// i puntos en los millares
	if (inenteros==-1) inenteros=Totaltext.length;
	var enteros=Totaltext.substring(0,inenteros);
	var indice=enteros.length-3*Math.floor(enteros.length/3);
	var valor = Totaltext.substring(0,indice);
	
	for (i=0;i*3+1<enteros.length-1;i++)
	{
		if ((i==0) &&(indice==0))
		{
			valor=Totaltext.substring(indice+i*3,indice+i*3+3);
		}
		else if (Totaltext.substring(indice+i*3,indice+i*3+3)!="")
		{
			valor=valor+"."+Totaltext.substring(indice+i*3,indice+i*3+3);
		}
	}
	valor= valor+Totaltext.substring(inenteros,Totaltext.length); 
	if (valor.indexOf(",")==-1)
	{
		valor=valor+",00";
	}
	return valor
}
function replaceSubstring ( inputString, badString, goodString)       // IE & NS6              
{
	fixedReplace = "";
	UI = inputString;
	UB = badString;
	badEnd = -1;
	badLoc = UI.indexOf(UB);
	if (badLoc != -1)
	{
		for (x=1; (badLoc != -1);x++)
		{
			fixedReplace = fixedReplace + inputString.substring((badEnd + 1), badLoc) + goodString;
			badEnd = badLoc + UB.length - 1;
			badLoc = UI.indexOf(UB, (badLoc + 1));
		}
	  	fixedReplace = fixedReplace + inputString.substring((badEnd+1),inputString.length);
	}
	else
	{
		fixedReplace = inputString;
	}
	return fixedReplace;
}
function IsNum(str)                                             // IE & NS6                      
{
	var num = 1;
	var i = 0;
	while ((i<str.length)  &&  (num == 1))
	{
		if (str.charAt(i) < "0" || str.charAt(i) >"9")
		{
			num = 0;
		}
		i++;
	}
	return(num);
}
function IsNumber(campo)                 // IE & NS6              
{
	var str = campo.value;
	var num = 1;
	var i = 0;
	while ((i<str.length)  &&  (num == 1))
	{
		if (str.charAt(i) < "0" || str.charAt(i) >"9")
		{
			num = 0;
		}
		i++;
	}
	return(num);
}
function Trim(inputstringTrim)            // IE & NS6                
{
	fixedTrim = "";
	lastCh = " ";
	for(x =0; x < inputstringTrim.length; x++)
	{
		ch = inputstringTrim.charAt(x);
		if ((ch != " ") || (lastCh != " "))
		{
			fixedTrim += ch;
		}
		lastCh = ch;	
	}
	if (fixedTrim.charAt(fixedTrim.length - 1) == " ")
	{
		fixedTrim = fixedTrim.substring(0, fixedTrim.length - 1);
	}
	return fixedTrim;
} // Fin función trim
function WebUnicode2string(entrada)
{
	var salida="";
	var letra="";
	var numero = entrada.indexOf(".");
	var entradados= entrada.substring(numero+1 , entrada.length);
	
	while (entradados!="")
	{
		numero = entradados.indexOf(".");
		letra  = entradados.substring(0, numero);
		salida = salida + String.fromCharCode (letra)
		entradados= entradados.substring(numero+1 , entradados.length);
	}	
	return(salida);
}
function Webstring2Unicode(entrada)
{
	var salida="";
	for( i=0 ; i<entrada.length ; i++ )
	{
		salida = salida + "." + entrada.charCodeAt(i);  //la función charCodeAt(x) transforma x en caracter.
 	}
	return salida + ".";
}
// FIN FUNCIONES STRING
// FUNCIONES FECHA
function diasEntreFechas(fecha1, fecha2) {
    var ms_dia = 1000 * 60 * 60 * 24
    var fecha1_ms = fecha1.getTime()
    var fecha2_ms = fecha2.getTime()
    var dif_ms = Math.abs(fecha1_ms - fecha2_ms)
    return Math.round(dif_ms/ms_dia)
}
function ValidarFecha( cfecha )
{
	if( FechaInvalida( cfecha ) )
	{
		if (language=="CT")
		{
			alert("Data incorrecta.");
		}
		else
		{
			alert("Fecha incorrecta.");	
		}
		cfecha.focus();
		cfecha.value = "";
		return(false);
	}
	else return(true);
}
function fechaJS(fechadia)
{
	pos1=fechadia.indexOf("/");
	pos2=fechadia.indexOf("/",pos1+1);
	dia=fechadia.substring(0,pos1);
	mes=fechadia.substring(pos1+1,pos2);
	any=fechadia.substring(pos2+1);
	anys=parseInt( any );
	any=String(anys);
	if ( anys >= 0 && anys < 10 )
	{
		any = "200" + any;
	}
	else if ( anys >= 10 && anys < 50 )
	{
		any = "20" + any;
	}
	else if ( anys >= 50 && anys <= 99 )
	{
		any = "19" + any;
	}
	datadia=new Date(any,mes-1,dia,00,00,00);
	return(datadia)
}
function fechaanterior(fecha)
{
	diafecha=fechaJS(fecha);
	diahoy=new Date();		// Si es fa new Date sens parametres retorna un obj. data amb el moment actual
	return (diafecha<diahoy)
}
function FechaInvalida( cfecha )
{
	var fecha = cfecha.value;
	if ( fecha == "" ) return( false );		//Vacío es fecha válida
	
	var diasmes = [ 31 , 29 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 , 31 ];
	if  (fecha.indexOf( "/" ) != -1)
	{
		var i1 = fecha.indexOf( "/" );
		var i2 = fecha.lastIndexOf( "/" );
		var separador = "/"
	}
	else if  (fecha.indexOf( "." ) != -1)
	{
		var i1 = fecha.indexOf( "." );
		var i2 = fecha.lastIndexOf( "." );
		var separador = "."
	}
	else if  (fecha.indexOf( "-" ) != -1)
	{
		var i1 = fecha.indexOf( "-" );
		var i2 = fecha.lastIndexOf( "-" );
		var separador = "-"
	}
			
	if ( i1 == -1 || i1 == i2 ) return( true );
	var dias = fecha.substring( 0 , i1 );
	var anys = fecha.substr( i2+1 );
	var mess = fecha.substring ( i1+1 , i2 );
	var i1 = fecha.indexOf( separador , i1+1 );
	if ( i1 != i2 ) return( true );
	var dia = parseInt( dias , 10 );
	var any = parseInt( anys , 10 );
	var mes = parseInt( mess , 10 );
	//Comprueba que todo sean números
	if ( isNaN( dia ) || isNaN( mes ) || isNaN( any ) ) return( true );
	if ( any < 0  || any > 9000 || mes < 1 || mes > 12 || dia < 1 ) return( true );
	if ( dia > diasmes[ mes-1 ] ) return( true );
	if ( mes == 2 )	//Mes de febrero
	{
		if ( ( any % 4 == 0 ) && ( ( any % 100 != 0 ) || ( any % 400 == 0 ) ) )
		{
			//Es bisiesto
			if ( dia > 29 ) return( true );
		}
		else
		{
			//No es bisiesto
			if ( dia > 28 ) return( true );
		}
	}
	dias = String( dia );
	mess = String( mes );
	anys = String( any );
	if ( any >= 100 && any < 1900 )
	{
		return(true);
	}
	if ( dia < 10 )
	{
		dias = "0" + dias;
	}
	if ( mes < 10 )
	{
		mess = "0" + mess;
	}
	if ( any >= 0 && any < 10 )
	{
		anys = "200" + anys;
	}
	else if ( any >= 10 && any < 50 )
	{
		anys = "20" + anys;
	}
	else if ( any >= 50 && any <= 99 )
	{
		anys = "19" + anys;
	}
	cfecha.value = dias + "/" + mess + "/" + anys;
	return ( false );
}
function FechaMenor ( f1,f2)
{
	return (fechaJS(f1.value)<fechaJS(f2.value));
}
//FIN FUNCIONES FECHA
//FUNCIONES UBICACIONES
function importeerror(campo)
{
	if (language=="CT")
	{
		alert("Ha indicat un import incorrecte.");
	}
	else
	{
		alert("Ha indicado un importe incorrecto.");
	}
	campo.focus();
	campo.value="";	
}
// Esta función se encuentra en: Parte de Baja, Parte de Baja AT
var SelBinderWin;
function FocusModalWin()
{
	if (SelBinderWin && !SelBinderWin.closed)
	{
		SelBinderWin.focus();
	}
}
//FIN FUNCIONES UBICACIONES
// FUNCIONES NUMÉRICAS
function ValidarImporte(importe) {
                //Elimina ceros a la izquierda
	while(importe.value.substr(0,1)=="0" || importe.value.substr(0,1)==".") 
	{
	importe.value=importe.value.substr(1,importe.value.length);	
	}
	if (importe.value.substr(0,1)=="" || importe.value.substr(0,1)==",") 			{importe.value="0"+importe.value;} 
	//busca "e" de exponente, que no lo acepte porque si va seguida de "," no va bien
	if( String(importe.value).indexOf("e") != -1)
	{
		importeerror(importe);
		return;
	}
	//"," única
	var coma1=String(importe.value).indexOf(",");
	var coma2=String(importe.value).indexOf(",",coma1+1);
	if(coma2!=-1)
	{
		importeerror(importe);
		return;
	}
	//Separo Enteros-Decimales
	if (coma1!=-1)
	{
		var Enteros=String(importe.value).substring(0,coma1);	
		var Decimales=String(importe.value).substring(coma1+1);
	}
	else
	{	var Enteros=String(importe.value);
		var Decimales="0";  
	}
	//DECIMALES---------------------------------------
	var punto1=Decimales.indexOf(".");
	if (punto1!=-1)
	{
		importeerror(importe);
		return;
	}
	if (isNaN(Number(Decimales)))
     	{
		importeerror(importe);
		return;
	}
	//ENTEROS----------------------------------------------	
	//Compruebo que los puntos de los miles y millones estan bien situados(si hay)
	if (Enteros.indexOf(".")==-1)
	{
		var punto1=Enteros.length;
		if (isNaN(Number(Enteros)))
		{
			importeerror(importe);
			return;
		}	
	}
	else
	{
		var punto1=Enteros.indexOf(".");
	}
	if (Enteros.indexOf(".",punto1+1)==-1)
	{
		var punto2=Enteros.length;
	}
	else
	{
		var punto2=Enteros.indexOf(".",punto1+1);
	}
	while (punto1<Enteros.length)	
	{
		if ((punto2!=punto1+4)|(isNaN(Number(Enteros.substring(punto1,punto2)))))
		{
			importeerror(importe);
			return;
		}
		punto1=punto2;
		
		if (Enteros.indexOf(".",punto2+1)==-1)
		{
			punto2=Enteros.length;
		}
		else
		{
			punto2=Enteros.indexOf(".",punto2+1);
		}
	}	
}
//FIN FUNCIONES NUMÉRICAS
// FUNCIÓN DE ABRIR VENTANAS CON VISTAS.
function AbrirVentanaVista(valor, url1, url2)
{
	var ancho = 750;
	var alto = 440;
	var x = (screen.width/2) - (ancho/2);
	var y = (screen.height/2) - (alto/2) - 20;
	var finalurl;
	variablecodigo= valor;
	if (variablecodigo!="") {
		finalurl = url1 + "&StartKey="+ variablecodigo;
	}
	else {
		finalurl = url2;
	}
SelBinderWin = window.open(finalurl, "SelBinderWin", "top=" + y + ",left=" + x + ",resizable=1,scrollbars=yes,width=" + ancho + ",height=" + alto);
}
//FIN FUNCION ABRIR VENTANAS CON VISTAS
// Passa un text que correspon a un valor numéric tractable per JS
function text2numJS ( txt ) {
	if (txt == "") return 0.00;
	num = txt.replace(/\./g,"").replace(",",".");
	return parseFloat (num);
}
// Passa un nombre en JS a import (NNN.NNN,NN)
function numJS2import ( num ) {
	if ( num == 0.00 ) return "0,00";
	ent = String( parseInt ( Math.round ( num * 100 ) ) ); 
	// La coma
	lon = ent.length-2;
	if (lon<0) ent = "0" + ent		// fica 0 pq els casos de 1/100 2/100 ... qedin ,01 ,02 ,03 .. en comptes de ,1 ,2 ,3
	imp = "," + ent.substr ( lon );
	// Els punts
	while ( lon > 3 ) {
		imp = "." + ent.substr (lon-3, 3) + imp;
		lon = lon - 3;
	}
	imp = ent.substr(0, lon ) + imp;
	if ( imp.charAt(0) == "," ) imp = "0" + imp;	// fica 0 per 0,01 0,10 ... sinó quedaria ,01 ,10 ...
	return imp;
}
//FUNCIONES VALIDAR CONTRASENA
function validarcontrasena(contras)
{
// Lista de los códigos Ascii no válidos. Utilizo el * como separador
//var llista="*209*241*199*231*186*170*183*8364*191*161*94*96*168*180*10*40*172*34*"
var llista="*209*241*199*231*186*170*183*8364*191*161*94*96*168*180*10*40*172*34*225*233*237*243*250*224*232*236*242*249*228*235*239*246*252*226*234*238*244*251*193*201*205*211*218*192*200*204*210*217*196*203*207*214*220*194*202*206*212*219*"
for (var i=0;i<contras.length;i++)
	{
	var letra=contras.substr(i,1);
	if (llista.indexOf("*"+letra.charCodeAt(0) + "*")>=0)
	{
		if (language=="CT")
		{
			alert("El caràcter " +"" + letra + "" + " no es vàlid.");
		}
		else
		{
			alert ("El carácter " +'"'+ letra + '"'+  " no es válido.");
		}
		return false;
	}
	}
return  true;
}
// FIN FUNCIÓN VALIDAR CONTRASEÑA
// FUNCIÓN VALIDAR NAF
// Validaciones NAF Partes de Baja
function validarNAF (naf) {
	var ss1 =  naf.substr (2, 1);
	if (ss1 == "0") {
		numNaf = "0" + naf.substr (0, 2) + naf.substr (3, 7);
	}
	else {
		numNaf = naf.substr (0, 10);
	}
	var dc1 = numNaf / 97;
	var dcpos = String(dc1);
	 var pos = dcpos.indexOf(".");
      if (pos==-1) {
      dc2= dcpos;
     }else{
     dc2 = dcpos.substr (0, pos);
     }
	var dc3 = dc2 * 97;
	var dc4 = numNaf - dc3;
	iniDc = naf.substr (10, 2);
if (dc4 == iniDc) {
		dc = "True";
	}
	else {
		dc = "False";
      }
	return (dc);
}
// FUNCIONES PARA VALIDAR CIF; NIF; NIE. Ojo: se ha de tener variable JS language
// Se trata de 4 funicones: validNIE, validCIF, subvalidCIF1 y validDNI
function validNIE(NIE)
{
	var primerCaract=NIE.substr(0,1);
	var ultimoCaract=NIE.substr(8,1);
	var restoCaract=NIE.substr(1,7);
	primerCaract=primerCaract.toUpperCase();
	ultimoCaract=ultimoCaract.toUpperCase();
	var num=ultimoCaract.charCodeAt(0); 
	var letras=new Array("T","R","W","A","G","M","Y","F","P","D","X","B","N","J","Z","S","Q","V","H","L","C","K","E")
		if (NIE.length!=9)
		{
			if (language=="CT")
			{
				alert ("El NIE ha de tenir 9 caràcters.");
			} else {
				alert("El NIE debe tener 9 caracteres");
			}
			return false;
		}
		if (primerCaract!="X")	
		{
			if (language=="CT")
			{
				alert ("El primer caràcter del NIE ha de ser X.");
			} else {
				alert ("El primer carácter del NIE debe de ser X");
			}
			return false;
		}
		if (ultimoCaract.charCodeAt(0)<65 | ultimoCaract.charCodeAt(0)>90)
		{ 
			if (language=="CT")
			{
				alert ("L'últim caràcter del NIE ha de ser una lletra.");
			} else {
				alert("El último carácter del NIE debe ser una letra")
			}
			return false;
		}
		if (isNaN(restoCaract)==true)
		{
			if (language=="CT")
			{
				alert ("Les 7 xifres intermedies del NIE han de ser numèriques.");
			} else {
				alert("Las 7 cifras intermedias del NIE deben ser numéricas")
			}
			return false;
		} else {
			var  Modulo= (restoCaract%23);
			if (letras[Modulo]!=ultimoCaract)
			{
				if (language=="CT")
				{
					alert ("El NIE no és correcte.");
				} else {
					alert ("El NIE no es correcto");
				}
				return false;
			}
		}
	return true;
}
function validCIF(CIF)
{
	var midCIF, iniCIF, control, vMod2; //cadenas de texto
	var sumaPares, sl1, sl2, sl3, sl4, sumaImpares, sumaTotal; //Enteros
	var vMod, totalMod; //Enteros
	var vCIF, isCIF; //Variables
	
	var states=new Array("A","B","C","D","E","F","G","H","I","J");
	vCIF=false;
	isCIF=false;

	CIF=CIF.toUpperCase();
	if (CIF.length!=9)
	{
		if (language=="CT")
		{
			alert ("El CIF ha de tenir 9 caracters.");
		} else {
			alert ("El CIF debe tener 9 carácteres.");
		}
		return false;
	} else {
		isCIF=true;
		midCIF=CIF.slice(1,8);
		if (isNaN(midCIF))
		{
			if (language=="CT")
			{
				alert ("El CIF no és correcte (Les 8 darreres posicions han de ser numèriques).");
			} else {
				alert ("El CIF no es correcto (Las 8 últimas posiciones han de ser numéricas).");
			}
			return false;
		} else {
			iniCIF=CIF.substr(0,1);
			if (!isNaN(iniCIF))
			{
				if (language=="CT")
				{
					alert ("El CIF no és correcte (El CIF ha de començar amb un caracter).");
				} else {
					alert ("El CIF no es correcto (El CIF debe empezar con un carácter).");
				}
				return false;
			} else {
				if (midCIF.indexOf(".")!=-1)
				{
					if (language=="CT")
					{
						alert ("El CIF no és correcte.");
					} else {
						alert ("El CIF no es correcto.");
					}
					return false;
				} else {
					control=CIF.substr(CIF.length-1,1);
					sumaPares=parseInt(midCIF.substr(1,1))+parseInt(midCIF.substr(3,1))+parseInt(midCIF.substr(5,1));
					sl1=subvalidCIF1(parseInt(midCIF.substr(0,1))*2);
					sl2=subvalidCIF1(parseInt(midCIF.substr(2,1))*2);
					sl3=subvalidCIF1(parseInt(midCIF.substr(4,1))*2);
					sl4=subvalidCIF1(parseInt(midCIF.substr(midCIF.length-1,1))*2);
					sumaImpares=sl1+sl2+sl3+sl4;
					sumaTotal=sumaPares+sumaImpares;
					vMod=10 - (sumaTotal % 10);
					vMod2=String(vMod).substr(String(vMod).length-1,1);
				}
			}
		}
	}
	if (isCIF==true)	
	{
		if ((iniCIF.toUpperCase()!="P" && iniCIF.toUpperCase()!="Q" && iniCIF.toUpperCase()!="S") && (!isNaN(control)))
		{
			if (vMod2==control)
			{
				vCIF=true;
			}
		} else {
			if ((iniCIF.toUpperCase()=="P" || iniCIF.toUpperCase()=="Q" || iniCIF.toUpperCase()=="S") || (isNaN(control)))
			{
				if (states[vMod-1]==control)
				{
					vCIF=true;
				}
			}
		}
		if (vCIF==false)
		{
			if (language=="CT")
			{
				alert ("El CIF no és correcte.");
			} else {
				alert ("El CIF no es correcto.");
			}
			return false;
		}
	}
	return true;
}
function subvalidCIF1(num)
{
	if (num>=10)
	{
		num=parseInt(String(num).substr(0,1))+parseInt(String(num).substr(1,1));
	}
	return num;
}
function validDNI(DNI)
	{
	var restoCaract=DNI.substr(0,8);
	var ultimoCaract=DNI.substr(8,1);
	var num=ultimoCaract.charCodeAt(0);
	ultimoCaract=ultimoCaract.toUpperCase();
	var lista2=new Array("T","R","W","A","G","M","Y","F","P","D","X","B","N","J","Z","S","Q","V","H","L","C","K","E","T")
		if (DNI.length!=9)
		{
			if (language=="CT")
			{
				alert ("El DNI ha de tenir 9 caràcters.");
			} else {
				alert("El DNI debe tener 9 caracteres");
			}
			return false;
		}
		if (ultimoCaract.charCodeAt(0)<65 | ultimoCaract.charCodeAt(0)>90)
		{
			if (language=="CT")
			{
				alert ("L'últim caràcter del DNI ha de ser una lletra.");
			} else {
				alert("El último carácter del DNI ha de ser una letra")
			}
			return false; 
		}
		
		if (isNaN(restoCaract)==true)
		{
			if (language=="CT")
			{
				alert ("Les 8 primeres xifres del DNI han de ser numèriques.");
			} else {
				alert("Las 8 primeras cifras del DNI deben ser numéricas")
			}
			return false;
		} else {
			var Modulo= (restoCaract%23);
			if (lista2[Modulo]!=ultimoCaract)
			{
				if (language=="CT")
				{
					alert ("El DNI no és correcte.");
				} else {
					alert ("El DNI no es correcto");
				}
				return false;
				}
		}
	return true;
}
function jsTrim(JSvalue) { 
//La típica función de quitar espacios en blanco de todos los lenguajes
   var JStemp = JSvalue;
   var JSobj = /^(\s*)([\W\w]*)(\b\s*$)/;
   if (JSobj.test(JStemp)) { JStemp = JStemp.replace(JSobj, '$2'); }
   var JSobj = / +/g;
   JStemp = JStemp.replace(JSobj, " ");
   if (JStemp == " ") { JStemp = ""; }
   return JStemp;
}
function jsQuitarAlta(JSValor, JSQuitar) {
//Quitará el valor JSQuitar del valor JSValor
 JSValor = JSValor.replace(JSQuitar, " ");
return JSValor	;
}
function jsSoloDigitos(JSValor) {
//Comprueba que la cadena pasada sólo contenga dígitos
//Si es vacio cumple la condición
	if (jsTrim(JSValor)=="") {return true;}
	JSRegExp =/^\d+$/; //Expresión regular para chequear sólo dígitos

	if(JSRegExp.test(JSValor)) 
	{
		return true;
	}else{
		return false;
	} 
}
function jsSoloAlfa(JSValor) {
//Comprueba que la cadena pasada sólo contenga caracteres alfabéticos ( sin números ) y espacios
//Los acentos, eñe y la "c trencada" han de ser añadidos 1 a 1
//Si es vacio cumple la condición
	if (jsTrim(JSValor)=="") {return true;}
	JSRegExp =/^[a-zA-Z\sáéíóúàèìòùäëïöüâêîôûçñÁÉÍÓÚÀÈÌÒÙÄËÏÖÜÂÊÎÔÛÇÑ]+$/; //Expresión regular para chequear caracteres alfanuméricos
	if(JSRegExp.test(JSValor)) 
	{
		return true;
	}else{
		return false;
	} 
}

