Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/11/2011, 16:05
andoencombi
 
Fecha de Ingreso: febrero-2011
Mensajes: 195
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: Cambiar formato de fecha

este es el codigo completo

Código PHP:
jQuery.fn.calendarPicker = function(options) {
  
// --------------------------  start default option values --------------------------
  
if (!options.date) {
    
options.date = new Date();
  }

  if (
typeof(options.years) == "undefined")
    
options.years=0;

  if (
typeof(options.months) == "undefined")
    
options.months=3;

  if (
typeof(options.days) == "undefined")
    
options.days=4;

  if (
typeof(options.showDayArrows) == "undefined")
    
options.showDayArrows=true;

  if (
typeof(options.useWheel) == "undefined")
    
options.useWheel=true;

  if (
typeof(options.callbackDelay) == "undefined")
    
options.callbackDelay=500;

  if (
typeof(options.monthNames) == "undefined")
    
options.monthNames = ["Jan""Feb""Mar""Apr""May""Jun""Jul""Aug""Sep""Oct""Nov""Dec"];

  if (
typeof(options.dayNames) == "undefined")
    
options.dayNames = ["Sun""Mon""Tue""Wed""Thu""Fri""Sat"];


  
// --------------------------  end default option values --------------------------

  
var calendar = {currentDateoptions.date};
  
calendar.options options;

  
//build the calendar on the first element in the set of matched elements.
  
var theDiv this.eq(0);//$(this);
  
theDiv.addClass("calBox");

  
//empty the div
  
theDiv.empty();


  var 
divYears = $("<div>").addClass("calYear");
  var 
divMonths = $("<div>").addClass("calMonth");
  var 
divDays = $("<div>").addClass("calDay");


  
theDiv.append(divYears).append(divMonths).append(divDays);

  
calendar.changeDate = function(date) {
    
calendar.currentDate date;

    var 
fillYears = function(date) {
      var 
year date.getFullYear();
      var 
= new Date();
      
divYears.empty();
      var 
nc options.years*2+1;
      var 
parseInt((theDiv.width()-4-(nc)*4)/nc)+"px";
      for (var 
year options.years<= year options.yearsi++) {
        var 
= new Date(date);
        
d.setFullYear(i);
        var 
span = $("<span2>").addClass("calElement").attr("millis"d.getTime()).html(i).css("width",w);
        if (
d.getYear() == t.getYear())
          
span.addClass("today");
        if (
d.getYear() == calendar.currentDate.getYear())
          
span.addClass("selected2");
        
divYears.append(span);
      }
    }

    var 
fillMonths = function(date) {
      var 
month date.getMonth();
      var 
= new Date();
      
divMonths.empty();
      var 
oldday date.getDay();
      var 
nc options.months*2+1;
      var 
parseInt((theDiv.width()-4-(nc)*4)/nc)+"px";
      for (var 
= -options.months<= options.monthsi++) {
        var 
= new Date(date);
        var 
oldday d.getDate();
        
d.setMonth(month i);

        if (
d.getDate() != oldday) {
          
d.setMonth(d.getMonth() - 1);
          
d.setDate(28);
        }
        var 
span = $("<span>").addClass("calElement").attr("millis"d.getTime()).html(options.monthNames[d.getMonth()]).css("width",w);
if (
d.getYear() == t.getYear() && d.getMonth() == t.getMonth())
          
span.addClass("today");
        if (
d.getYear() == calendar.currentDate.getYear() && d.getMonth() == calendar.currentDate.getMonth())
          
span.addClass("selected");
        
divMonths.append(span);

      }
    }

    var 
fillDays = function(date) {
      var 
day date.getDate();
      var 
= new Date();
      
divDays.empty();
      var 
nc options.days*2+1;
      var 
parseInt((theDiv.width()-4-(options.showDayArrows?12:0)-(nc)*4)/(nc-(options.showDayArrows?2:0)))+"px";
      for (var 
= -options.days<= options.daysi++) {
        var 
= new Date(date);
        
d.setDate(day i)
        var 
span = $("<span>").addClass("calElement").attr("millis"d.getTime())
        if (
== -options.days && options.showDayArrows) {
          
span.addClass("prev");
        } else if (
== options.days && options.showDayArrows) {
          
span.addClass("next");
        } else {
          
span.html("<span class=dayNumber>" d.getDate() + "</span><br>" options.dayNames[d.getDay()]).css("width",w);
          if (
d.getYear() == t.getYear() && d.getMonth() == t.getMonth() && d.getDate() == t.getDate())
            
span.addClass("today");
          if (
d.getYear() == calendar.currentDate.getYear() && d.getMonth() == calendar.currentDate.getMonth() && d.getDate() == calendar.currentDate.getDate())
            
span.addClass("selected");
        }
        
divDays.append(span);

      }
    }

    var 
deferredCallBack = function() {
      if (
typeof(options.callback) == "function") {
        if (
calendar.timer)
          
clearTimeout(calendar.timer);

        
calendar.timer setTimeout(function() {
          
options.callback(calendar);
        }, 
options.callbackDelay);
}
    }


    
fillYears(date);
    
fillMonths(date);
    
fillDays(date);

    
deferredCallBack();

  }

  
theDiv.click(function(ev) {
    var 
el = $(ev.target).closest(".calElement");
    if (
el.hasClass("calElement")) {
      
calendar.changeDate(new Date(parseInt(el.attr("millis"))));
    }
  });


  
//if mousewheel
  
if ($.event.special.mousewheel && options.useWheel) {
    
divYears.mousewheel(function(eventdelta) {
      var 
= new Date(calendar.currentDate.getTime());
      
d.setFullYear(d.getFullYear() + delta);
      
calendar.changeDate(d);
      return 
false;
    });
    
divMonths.mousewheel(function(eventdelta) {
      var 
= new Date(calendar.currentDate.getTime());
      
d.setMonth(d.getMonth() + delta);
      
calendar.changeDate(d);
      return 
false;
    });
    
divDays.mousewheel(function(eventdelta) {
      var 
= new Date(calendar.currentDate.getTime());
      
d.setDate(d.getDate() + delta);
      
calendar.changeDate(d);
      return 
false;
    });
  }


  
calendar.changeDate(options.date);
 return 
calendar;
};