Tiempo = function(idioma) {
	this.ArmarFecha    = ArmarFecha;
	this.CountDownTime = CountDownTime;
	this.Hoy           = new Date();
	var idioma         = (idioma == undefined) ? 'es' : idioma;
	this.rotulacion    = RotularFecha(idioma);
	
	function ArmarFecha(modo, str_dia) {
		// La fecha puede expresarse de diversos modos en cuanto al orden, pero siempre usando como separador "/" en la parte de días
		var str_to_replace;
		var str_return;
		var arr_dias   = this.rotulacion['dias'];
		var arr_meses  = this.rotulacion['meses'];
		var arr_sep    = this.rotulacion['sep'];
		var ahora      = (str_dia == undefined) ? this.Hoy : new Date(str_dia);
		var anio       = ahora.getYear();
		anio           = (anio<1000) ? anio+1900 : anio;
		var dia        = ahora.getDay();
		var mes        = ahora.getMonth();
		var dia_mes    = ahora.getDate();
		switch(modo) {
			case 1 :
				str_return = "%Nombre_Dia_Completo% %Num_Dia% %de% %Nombre_Mes_Completo% %de% %Año_Completo%";
				break;
			
		}
		// El modificador "g" lo reemplaza todas las veces que aparezca
		str_return = str_return.replace(/%Nombre_Dia_Completo%/, arr_dias[dia]);
		str_return = str_return.replace(/%Num_Dia%/, dia_mes);
		str_return = str_return.replace(/%de%/g, arr_sep[0]);
		str_return = str_return.replace(/%Nombre_Mes_Completo%/, arr_meses[mes]);
		str_return = str_return.replace(/%Año_Completo%/, anio);
		return str_return;
	}
	
	function CountDownTime(str_dia) {
		// m/d/Y H:i:s
		var Falta;
		var arr       = this.rotulacion['inic'];
		var ahora     = new Date(str_dia);
		var segundos  = Math.floor((ahora.getTime() - this.Hoy.getTime())/1000);
		var minutos   = Math.floor(segundos/60);
		var horas     = Math.floor(minutos/60);
		var dia       = Math.floor(horas/24);
		var CDia      = dia;
		var CHoras    = horas%24;
		var CMinutos  = minutos%60;
		var CSegundos = segundos%60;
		CMinutos      = (CMinutos<10)  ? '0'+CMinutos  : CMinutos;
		CSegundos     = (CSegundos<10) ? '0'+CSegundos : CSegundos;
		if(CDia>=0) {
			Falta     = CDia+arr[0]+' '+CHoras+arr[1]+' '+CMinutos+arr[2]+' '+CSegundos+arr[3];
		} else {
			Falta     = false;
		}
		return Falta;
	}
	
	function RotularFecha(idioma) {
	var rotulos            = new Array();
	// Español:
	rotulos['es']          = new Array();
	rotulos['es']['inic']  = new Array("d", "h", "m", "s");
	rotulos['es']['dias']  = new Array("Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado");
	rotulos['es']['meses'] = new Array("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
	rotulos['es']['sep']   = new Array("de", ",");
	/////
	return rotulos[idioma];
}
	
}
