
function localize_datetimes()
{
    var _zeroPad = function(num) {
        var s = '0'+num;
        return s.substring(s.length-2)
        //return ('0'+num).substring(-2); // doesn't work on IE :(
    };

   $(".date").each(function (i) 
   {
        //old: Mon Mar 3rd 2008 @ 8:15PM UTC (+0000)
        var s = $(this).text();
        var f = this.id; //format
        if (! f) {
            //f = 'yyyy-mm-dd hh:ii:ss';
            f = 'mm-dd-yyyy hh:ii:ss';
        }
        
        var d = new Date(1997, 1, 1, 1, 1, 1);
        var iY = f.indexOf('yyyy');
        if (iY > -1) {
            d.setFullYear(Number(s.substr(iY, 4)));
        }
        var iM = f.indexOf('mm');
        if (iM > -1) {
            d.setMonth(Number(s.substr(f.indexOf('mm'), 2)) - 1);
        }
        d.setDate(Number(s.substr(f.indexOf('dd'), 2)));    
        d.setHours(Number(s.substr(f.indexOf('hh'), 2)));
        d.setMinutes(Number(s.substr(f.indexOf('ii'), 2)));
        d.setSeconds(Number(s.substr(f.indexOf('ss'), 2)));
        
        var timezoneOffset = -(new Date().getTimezoneOffset());
        d.setMinutes(d.getMinutes() + timezoneOffset);

        var t = f
            .split('yyyy').join(d.getFullYear())
            .split('mm').join(_zeroPad(d.getMonth()+1))
            .split('dd').join(_zeroPad(d.getDate()))
            .split('hh').join(_zeroPad(d.getHours()))
            .split('ii').join(_zeroPad(d.getMinutes()))
            .split('ss').join(_zeroPad(d.getSeconds()))
            ;
        var tz_display = _zeroPad(Math.abs(timezoneOffset/60));
        if (timezoneOffset < 0)
        {
            tz_display = '-'+tz_display+':00';
        }
        else
        {
            tz_display = '+'+tz_display+':00';
        }
        //alert("tz_display: "+tz_display);
        $(this).text(t + ' (' +  tz_display + ')');
   });
   
}

