

	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	// INVIERTE UNA CADENA DE TEXTO
	//
	// text			Cadena de texto a invertir										Texto
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	
	function neg_text_invert (text) {
		
		var text_inverted = "";
		for (i = text.length - 1; i >= 0; i--) {
			text_inverted += text.charAt (i);			
		}
		return text_inverted;
		
	}
	
	
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	// VERIFICA UNA FECHA DADA EN FORMATO ISO 8601
	//
	// date			Fecha a verificar												Fecha (en formato ISO 8601: AAAAMMDD)
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	
	function neg_date_check (date) {
		
		var year = date.substr (0, 4);
		var month = date.substr (4, 2);
		var day = date.substr (6, 2);
		
		// 1 - CONTIENE 8 CARACTERES
		
			if (date.length != 8) return "Fecha: No está completa.";
		
		// 2 - SON NÚMEROS (EVITANDO QUE SE PUEDA AÑADIR SIGNO NEGATIVO AL COMIENZO)
		
			if ((isNaN (date)) || (date.charAt (0) == "-")) return "Fecha: Debe de estar formada por números enteros."
										   
		// 2 - CONCORDANCIA ENTRE DÍA, MES Y AÑO
		
			switch (month) {
				case "01":
				case "03":
				case "05":
				case "07":
				case "08":
				case "10":
				case "12":
					if (day > 31) return "Fecha: A la fecha indicada no le corresponden más de 31 días."
				break;
				
				case "04":
				case "06":
				case "09":
				case "11":
					if (day > 30) return "Fecha: A la fecha indicada no le corresponden más de 30 días."
				break;
				
				case "02":
					if ((year % 4 == 0) && (year % 100 != 0)){
						if (day > 29) return "Fecha: A la fecha indicada no le corresponden más de 29 días."
					} else {
						if (year % 400 == 0) {
							if (day > 29) return "Fecha: A la fecha indicada no le corresponden más de 29 días."
						} else {
							if (day > 28) return "Fecha: A la fecha indicada no le corresponden más de 28 días."
						}
					}
				break;
				
				default:
					return "Fecha: El mes debe de encontrarse en el intervalo \"01\" a \"12\".";
				break;
			}
			
		// SI TODO ES CORRECTO
		return "";
	}
	

	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	// EXTRAE EL NOMBRE DE ARCHIVO A PARTIR DE UNA CADENA PROCEDENTE DE WINDOW.LOCATION.PATHNAME
	//
	// pathname	Ruta completa del archivo (extraida de window.location.pathname)		Texto
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	
	function neg_url_getfilename (pathname) {
		
		// Extrae caracteres desde atrás hacia adelante hasta que localiza la primera barra ("/")
		var filename = "";
		var i = pathname.length -1;
		while (pathname.charAt (i) != "/") {
			if (i >= 0) {
				filename += pathname.charAt (i);
				i--;
			} else {
				break;
			}
		}

		// Invierte la cadena de texto
		filename = neg_text_invert (filename);
		return (filename);
		
	}
	
	
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	// NEGORA @ 2005
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	
	