NaN values in IE8

NaN values in IE8

Hi all,

I'm writing a twitter plugin, so far so good, works perfect in FireFox, Chrome ... but in IE i get NaN value...

Here is a working version : http://www.darklandz.be/_dev/

If you go to the networks section in FF it displays correctly (latest tweets) : 16 hours ago (Monday 21st December 2009 @ 0:09)

In IE8 it shows: NaN years ago (undefined NaNth undefined NaN @ NaN:NaN)

here is my code :

(function($) {
 
   $.fn.darkTweet = function(options) {
        var defaultSettings = {
         gebruikersNaam: 'davidherregat',
         aantalTweets: '2'
        };
        
      // gekregen options toevoegen aan de defaults
        var settings = $.extend(defaultSettings, options);
        
      // Twitter url
      var url = "http://twitter.com/status/user_timeline/"+settings.gebruikersNaam+".json?count="+settings.aantalTweets+"&callback=?";
        var holder = this;
      
      // Twitter data uitlezen
      $.getJSON(url,function(data) {
           $.each(data, function(i, item) {
            
            var MyDagNr   = Mid(item.created_at,8,2);
            var MyDag    = Mid(item.created_at,0,3);
            var MyMaand = Mid(item.created_at,4,3);
            var MyTijd    = Mid(item.created_at,11,5);
            
            

            var dateTest = datumFormaat(item.created_at);
            
            
            var date = new Date(item.created_at).toRelativeTime();
               
            holder.append("<p id='darkTweet'><span class='twitDatum'>"+date+" ("+dateTest+")<br/></span><span class='twitTekst'>"+item.text+"</span></p>");
            });
      });
      
   };
   
   function Mid(str, start, len) {
      
       if (start < 0 || len < 0) return "";
       var iEnd, iLen = String(str).length;
       if (start + len > iLen)
          iEnd = iLen;
       else
          iEnd = start + len;
       return String(str).substring(start,iEnd);
   }
   
   function datumFormaat(datum) {
   
      var d = new Date(datum);

      var curr_hour = d.getHours();
      var curr_min = d.getMinutes();

      var d_names = new Array("Sunday", "Monday", "Tuesday","Wednesday", "Thursday", "Friday", "Saturday");
      var m_names = new Array("January", "February", "March","April", "May", "June", "July", "August", "September", "October", "November", "December");

      var curr_day = d.getDay();
      var curr_date = d.getDate();
      var curr_month = d.getMonth();
      var curr_year = d.getFullYear();      
      
      var mOutput = "";
      var sup = "";

      if (curr_date == 1 || curr_date == 21 || curr_date ==31)
         {
            sup = "st";
         }
      else if (curr_date == 2 || curr_date == 22)
         {
            sup = "nd";
         }
      else if (curr_date == 3 || curr_date == 23)
         {
            sup = "rd";
         }
      else
         {
            sup = "th";
         }
      
      curr_min = curr_min + "";
      if (curr_min.length == 1)
         {
            curr_min = "0" + curr_min;
         }
      
      mOutput+=d_names[curr_day] + " " + curr_date + "<sup>"+ sup + "</sup> " + m_names[curr_month] + " " + curr_year + " @ "+curr_hour+":"+curr_min;
      
      return mOutput;

   }

})(jQuery);


Is there a way to fix that IE nan stuff ? I'm pretty new to Jquery .. i've been struggling with this for 4 hours now heh .... (also don't mind the code comments they are in dutch).

Maybe some guru here can help me out.

Greets,

David