function QuitarBlancosFinal(s) {
	while('' + s.charAt(s.length-1)==' ') s=s.substring(0,s.length-1);
	return s;
}

function QuitarBlancosHTML(s) {
	var s2 = s.toUpperCase();	
	return s2.replace('&NBSP;','');
}

function QuitarEtiquetasFormatoHTML(s) {
	var s2 = s.toUpperCase();	
	var etiquetas = new Array('P','STRONG');

	for (i=0; i<etiquetas.length; i++) {
		eAbrir  = '<' + etiquetas[i] + '>';
		eCerrar = '</' + etiquetas[i] + '>';
		s2 = s2.replace (eAbrir, '');
		s2 = s2.replace (eCerrar, '');

	}
	
	return s2;
}

function EstaVacio(s) { 
	st = QuitarBlancosFinal(s);
	return ((st == '') || (st == null) || (st.lenght == 0 )); 
}

function EstaVacioHTML(s) { 
	if (EstaVacio(s))
		return true;

	var s2 = QuitarBlancosHTML(s);

	if (EstaVacio(s2))
		return true;

	s2 = QuitarEtiquetasFormatoHTML(s2);

	return EstaVacio(s2);
}

function EsNumero(n)  { 
	var log = n.length;
	var res = "S"; 
	
	for (x=0; x<log; x++) { 
		v1 = n.substr(x,1); 
		v2 = parseInt(v1); 
		if (isNaN(v2)) { 
			return false;
		} 
	} 

	return true;
} 

/*
Un a?o es bisiesto si es m?ltiplo de 4 excluyendo aquellos que son m?ltiplo de 100 y no de 400. 
- Los a?os exactamente divisibles entre 4 son a?os bisiestos.
- Los a?os exactamente divisibles entre 100 no son a?os bisiestos.
- Los a?os exactamente divisibles entre 400 s? son a?os bisiestos. 
*/

function EsBisiesto(a) {
	if (a%4 == 0) {
		if ((a%100 == 0) && (a%400 != 0)) {
			return false;
		}
		else {
			return true;
		}
	}
	else {
		return false;
	}
}

// Comprueba si la fecha tiene formato dd/mm/yyyy y es correcta

function FormatoFecha(f) { 
	var long; 
	var dia; 
	var mes; 
	var ano;

	f = QuitarBlancosFinal(f);
	long = f.length;
	
	if (long != 10) {
		return false;
	}

	dia = f.substr(0,2); 
	
	if (!((EsNumero(dia)==true) && (dia<=31) && (dia!="00"))) { 
		return false;
	} 

	barra = f.substr(2,1);
	
	if (barra != '/') {
	  return false;
	 }

	mes=f.substr(3,2); 
	
	if (!((EsNumero(mes)==true) && (mes<=12) && (mes!="00"))) { 
		return false;
	}

	barra = f.substr(5,1);
	
	if (barra != '/') {
	  return false;
	 }
	
	ano=f.substr(6,4); 
	
	if (!((EsNumero(ano)==true) && (ano != "0000"))) {
		return false;
	} 
	
	// Febrero
	
	if (mes == "02") {
		if (EsBisiesto(ano) == true) { 
			if (dia > 29) { 
				return false;
			}
		}
		else { 
			if (dia > 28) { 
				return false;
			}		
		}
	}	
	
	// Abril, junio, septiembre y noviembre - 30 d?as
	
	if (((mes == "04") || (mes == "06") || (mes == "09") || (mes == "11")) && (dia > 30)) {
		return false;
	}
	
	return true;
}

function anadirOpcionCombo(oCntrl, iPos, sTxt, sVal){
	var selOpcion=new Option(sTxt, sVal);
  	eval(oCntrl.options[iPos]=selOpcion);
}
