
function makeArray() {
  var args = makeArray.arguments;
  for (var i = 0; i < args.length; i++) {
    this[i] = args[i];
  }
  this.length = args.length;
}
function fixDate(date) {
  var base = new Date(0);
  var skew = base.getTime();
  if (skew > 0)
    date.setTime(date.getTime() - skew);
}
function getString(date) {
  var months_e = new makeArray("January","February","March","April","May","June","July","August","September","October","November","December");
  var days_e = new makeArray("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
  var months = new makeArray("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
  var days = new makeArray("Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado");
  var curDateTime = new Date();
  var curHour = curDateTime.getHours();
  var curMin = curDateTime.getMinutes();
  var curSec = curDateTime.getSeconds();
  var curAMPM = " AM";
  var curTime = "";
  
  if (curHour >= 12){
    curHour -= 12;
    curAMPM = " PM";
    }
  if (curHour == 0) curHour = 12;

  curTime = curHour + ":" + 
	((curMin < 10) ? "0" : "") + curMin + ":"  +
	((curSec < 10) ? "0" : "") + curSec + curAMPM;

  return days[date.getDay()] + ", " + 
         date.getDate() + " de " +
	 months[date.getMonth()] + " del " +
         date.getFullYear(); // + ", " + curTime;
}
var cur = new Date();
fixDate(cur);
var str = getString(cur);
