<!--
	function bisiesto(year) {
		return (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) ? 1 : 0;
	}
	
	function in_array(matriz, elemento) {
		var x;
		for (x=0;x < matriz.length;x++) {
			if (matriz[x] == elemento)
				return true;
		}
		return false;
	}
	
	function delitem(array, elemento) {
		var x, result = new Array();
		for (x=0;x < array.length;x++) {
			if (array[x] != elemento)
				result[result.length] = array[x];
		}
		return result;
	}
	
	function str_replace(buscar, sustituir, cadena) {
		var resultado="", x;
		for (x=0;x < cadena.length;x++) {
			if (cadena.substr(x, buscar.length) == buscar) {
				resultado = resultado + sustituir;
				x = x + buscar.length - 1;
			}
			else
				resultado = resultado + cadena.substr(x,1);
		}
		return resultado;
	}
	
	function ltrim(s) {

		// Devuelve una cadena sin los espacios del principio

		var del=" \t\n\r\0\x0B";
		var i=0, j=0;
		
		for (i=0; i <= (s.length - 1); i++) {
			if (del.indexOf(s.substr(i, 1)) == -1) {
				j=i;
				break;
			}
		}
		return s.substr(j);
	}
	
	function rtrim(s) {

		// Quita los espacios en blanco del final de la cadena

		var del=" \t\n\r\0\x0B";
		var i=0, j=0;
		
		for (i = s.length - 1; i >= 0; i--) {
			if (del.indexOf(s.substr(i, 1)) == -1) {
				j=i;
				break;
			}
		}
		return s.substr(0, j + 1);
	}
	
	function trim(s) {

		// Quita los espacios del principio y del final

		var del=" \t\n\r\0\x0B";
		var i=0, j=0, k=s.length;

		for (i=0; i < s.length; i++) {
			if (del.indexOf(s.substr(i, 1)) == -1) {
				j=i;
				break;
			}
		}
		for (i = (s.length - 1); i >= 0; i--) {
			if (del.indexOf(s.substr(i, 1)) == -1) {
				k=i;
				break;
			}
		}
		return s.substr(j, k - j + 1);
	}
	
	function cerofill(elemento, digitos) {
		var relleno, result;
		
		// Nos aseguramos de tenerlo en modo cadena, quitandole cualquier espacio en la conversión.
		
		elemento = elemento.toString();
		elemento = trim(elemento);
		
		// Calculamos los 0 a rellenar, y los ponemos, retornando la cadena resultante.
		
		relleno = digitos - elemento.length;
		
		for (x=0;x < relleno;x++)
			elemento = "0" + elemento;
			
		return elemento;
	}
	
	function is_number(cadena) {
		var primero, ultimo, codigo;
		
		if (cadena == "") return false;

		primero=cadena.indexOf('.');
		ultimo=cadena.lastIndexOf('.');
		
		// Si tiene más de un punto decimal, retornar falso
		
		if (primero > -1 && ultimo > -1 && primero != ultimo)
			return false;
		
		for (x=0;x < cadena.length;x++) {
			codigo=cadena.charCodeAt(x);
			if ((codigo < 48 || codigo > 57) && codigo != 46 && codigo != 44)
				return false;
		}
		
		return true;
	}
	

	function parserInt(number) {
		var x, result = "";
		number=number.toString();

		if (is_number(number)) {
			for (x=0;x < number.length;x++) {
				if (number.substr(x,1) != "0") {
					result = number.substr(x);
					break;
				}
			}
			if (result == "")
				return 0;
			else
				return parseInt(result);
		}
		else
			return 0;
	}

	function mail_check(email) {
		var mail_correcto = 0;
		var term_dom;

		if (email.length >= 6 && email.indexOf("@") >= 0 && email.indexOf("@") == email.lastIndexOf("@") && email.substr(0,1) != "@" && email.substr(email.length - 1, 1) != "@") {
			if (email.indexOf('"') == -1 && email.indexOf("'") == -1 && email.indexOf("\\") == -1 && email.indexOf("\$") == -1 && email.indexOf(" ") == -1) {
				//miro si tiene caracter .
				if (email.indexOf('.') > -1) {
					//obtengo la terminacion del dominio
					term_dom = email.substr(email.lastIndexOf('.') + 1);
					//compruebo que la terminación del dominio sea correcta
					if (term_dom.length > 1 && term_dom.length < 5 && term_dom.indexOf('@') == -1) {
						//compruebo que lo de antes del dominio sea correcto
						antes_dom = email.substr(0,email.length - term_dom.length - 1);
						caracter_ult = antes_dom.substr(antes_dom.length - 1,1);
						if (caracter_ult != "@" && caracter_ult != ".")
							mail_correcto = 1;
					}
				}
			}
		}
		return mail_correcto;
	}
	
	function checkHour(objeto) {
		var hora_inicio = chkHora(objeto.value);
		if (hora_inicio !== false)
			objeto.value = hora_inicio;
		else {
			alert('Debe indicar una hora correcta');
			objeto.value="";
		}
	}
	
	function chkHora(hora) {
		variables = hora.split(':');

		if (variables.length != 3)
			return false;
		else {
			hora = (parserInt(variables[0]) !== false) ? (parserInt(variables[0])) : (-1);
			minutos = (parserInt(variables[1]) !== false) ? (parserInt(variables[1])) : (-1);
			segundos = (parserInt(variables[2]) !== false) ? (parserInt(variables[2])) : (-1);
			
			if (hora < 0 || hora > 23)
				return false;
			if (minutos < 0 || minutos > 59)
				return false;
			if (segundos < 0 || segundos > 59)
				return false;
		}
		
		if (hora < 10) hora = "0" + hora.toString();
		if (minutos < 10) minutos = "0" + minutos.toString();
		if (segundos < 10) segundos = "0" + segundos.toString();
		
		return hora + ":" + minutos + ":" + segundos;
	}
	
	function popup(URL, width, height)
	{
		if (height > (window.screen.height - 100)) {
			height = window.screen.height - 100;
			scrollbars = "yes";
		}
		else
			scrollbars = "no";
		

		controlador=window.open(URL,"ventana1","scrollbars=" + scrollbars + ",resizable=no,menubar=no,toolbar=no,width=" + width + ",height=" + height + ",top=" + (window.screen.height/2 - height/2) + ",left=" + (window.screen.width/2 - width/2));
		controlador.focus();
	} 
	
	//elimina las etiquetas HTML convirtiendolo en texto plano.
	function stripHTML(oldString) {
	  oldString=oldString.replace(/<[^>]+>/g,"");
	  oldString=oldString.replace(/\n/g,"");
	  oldString=oldString.replace(/\r/g,"");
	  oldString=oldString.replace(/\t/g,"");
	  return oldString;
	}
	
	function valida(email){
	if(email == ""){
		alert("Debe inicar un email");
	}else if(mail_check(email) == 0){
		alert('El email introducido no es un email correcto.');
	}else if(mail_check(email) == 1){
		submit();
	}else{
		return false;
	}
	return false;
}


function number_format( number, decimals, dec_point, thousands_sep ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +     bugfix by: Michael White (http://crestidg.com)
    // +     bugfix by: Benjamin Lupton
    // +     bugfix by: Allan Jensen (http://www.winternet.no)    
    // *     example 1: number_format(1234.5678, 2, '.', '');
    // *     returns 1: 1234.57     
 
    var i, j, kw, kd, km, neg = "";
 
    // input sanitation & defaults
    if( isNaN(decimals = Math.abs(decimals)) ){
        decimals = 2;
    }
    if( dec_point == undefined ){
        dec_point = ".";
    }
    if( thousands_sep == undefined ){
        thousands_sep = ",";
    }
 
    i = parseInt(number = (+number || 0).toFixed(decimals)) + "";
    if (i.substr(0,1) == "-") {
        number = Math.abs(number);
        neg = "-";
        i = i.substr(1);
    }
    
    if ((j = i.length) > 3 ) {
        j = j % 3;
    } else {
        j = 0;
    }
    
    km = (j ? i.substr(0, j) + thousands_sep : "");
    kw = i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + thousands_sep);
    //kd = (decimals ? dec_point + Math.abs(number - i).toFixed(decimals).slice(2) : "");
    kd = (decimals ? dec_point + Math.abs(number - i).toFixed(decimals).replace(/-/, 0).slice(2) : "");
    return neg + km + kw + kd;
}

// -->