//  frm: Nombre del formulario para las funciones que lo incluyen

//  Verificar si toda la cadena es espacios en blanco
	function countblank(str) {
		var cont=0;
		for (var i=0; i<str.length; i++) {
			if (str.charAt(i)==" ") {
				cont=cont+1;
			}
		}
		return cont;
	}

//  Suprimir espacios en blanco a la izquierda
	function ltrim(str) {
		if (countblank(str)==str.length) {
			return "";
		}
		else{
			for (var i=0; str.charAt(i)<=" "; i++);
			return str.substring(i,str.length);
		}
	}

//  Suprimir espacios en blanco a la derecha
	function rtrim(str) {
		if (countblank(str)==str.length) {
			return "";
		}
		else{
			for (var i=str.length-1; str.charAt(i)<=" "; i--);
			return str.substring(0,i+1);
		}
	}

//  Suprimir espacios en blanco a la izquierda y derecha
	function trim(str) {
		return ltrim(rtrim(str));
	}

//  Actualizar los valores de los controles "text" de un formulario a cadena sin espacios en blanco al inicio y fin
	function formdeleteblank(frm){
		var control="";
		var valcontrol="";
		for (var i=0; i<eval(frm+".elements.length"); i++){
			if(eval(frm+".elements[i].type")=="text"){
				control=frm+"."+eval(frm+".elements[i].name")+".value";
				valcontrol=trim(eval(frm+".elements[i].value"));
				eval(control+"='"+valcontrol+"'");
			}
		}
	}

//  Verificar si email es válido
	function checkEmail(email){
		if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email))){
			return (0);
		}
	}

//  Validar si una fecha es correcta según el formato dd/mm/aaaa
	function checkDate(fecha){
		var dia=fecha.substr(0,2);
		var separador1=fecha.substr(2,1);
		var mes=fecha.substr(3,2);
		var separador2=fecha.substr(5,1);
		var anho=fecha.substr(6,4);
		if(!(!(isNaN(dia)) && !(isNaN(mes)) && !(isNaN(anho)) && separador1=="/" && separador2=="/")){
			return false; // Fecha no válida
		}
		else{
			if (!(verifyDate(dia,mes,anho))){
				return false; // Fecha no válida
			}
			else{
				return true; // Fecha válida
			}
		}
	}

//  Evaluar que una fecha sea correcta dia, mes, año
	function verifyDate(d,m,y){
			var yl=1900; // least year to consider
			var ym=2100; // most year to consider
			if (m<1 || m>12) return(false);
			if (d<1 || d>31) return(false);
			if (y<yl || y>ym) return(false);
			if (m==4 || m==6 || m==9 || m==11)
			if (d==31) return(false);
			if (m==2){
				var b=parseInt(y/4);
				if (isNaN(b)) return(false);
				if (d>29) return(false);
				if (d==29 && ((y/4)!=parseInt(y/4))) return(false);
			}
			return true;
	}

//  Validar que un número esté correctamente ingresado
	function checkNumber(valor){
		if(isNaN(valor)){
			return false;
		}
		else{
			return true;
		}
	}

//  Permitir que solo se ingresen números
	function onlyNumbers(frm, ctrl, val){
		var ultpos = val.length - 1;
		var val_char = val.substring(ultpos, 1);
		if(isNaN(val_char)){
			var val2 = replaceString(val, val_char, "");
			eval(frm+"."+ctrl+".value='"+val2+"'");
		}
	}

// Reemplazar un texto por otro. Reemplaza en string, out por add
function replaceString(string, out, add) {
	temp = "" + string;
	while (temp.indexOf(out)>-1) {
		pos= temp.indexOf(out);
		temp = "" + (temp.substring(0, pos) + add + 
		temp.substring((pos + out.length), temp.length));
	}
	return temp;
}

// Imprimir en ventana nueva
	function openWindow(theURL,winName,features){
		window.open(theURL,winName,features);
	}
