﻿

///////////////////////////////////////////////
//From: http://netsmith.blogspot.com/2009/09/small-pythonjqueryisotimezonebrowser.html
//
//

$(document).ready(function() {
    // Your code here...
    $('.dateToLocalize > .date').each(function() {
        d = new Date().setISO8601(
            $(this).parent().find('.dateIsoDate').text());
        format = $(this).parent().find('.dateFormat').text();
        formattedDateHtml = d.format(format) + '<span style=\"padding-left:5px;font-size:smaller;\" title=\"Hover over time for official server time\">*</span>';
        $(this).html(formattedDateHtml); 
    });
});














///////////////////////////////////////////
//From: http://blog.dansnetwork.com/2008/11/01/javascript-iso8601rfc3339-date-parser/
//
//Usage:
//var today = new Date();  
//today.setISO8601('2008-12-19T16:39:57.67Z'); 


Date.prototype.setISO8601 = function(dString) {
    var regexp = /(\d\d\d\d)(-)?(\d\d)(-)?(\d\d)(T)?(\d\d)(:)?(\d\d)(:)?(\d\d)(\.\d+)?(Z|([+-])(\d\d)(:)?(\d\d))/;
    if (dString.toString().match(new RegExp(regexp))) {
        var d = dString.match(new RegExp(regexp));
        var offset = 0;
        this.setUTCDate(1);
        this.setUTCFullYear(parseInt(d[1], 10));
        this.setUTCMonth(parseInt(d[3], 10) - 1);
        this.setUTCDate(parseInt(d[5], 10));
        this.setUTCHours(parseInt(d[7], 10));
        this.setUTCMinutes(parseInt(d[9], 10));
        this.setUTCSeconds(parseInt(d[11], 10));
        if (d[12])
            this.setUTCMilliseconds(parseFloat(d[12]) * 1000);
        else
            this.setUTCMilliseconds(0);
        if (d[13] != 'Z') {
            offset = (d[15] * 60) + parseInt(d[17], 10);
            offset *= ((d[14] == '-') ? -1 : 1);
            this.setTime(this.getTime() - offset * 60 * 1000);
        }
    }
    else {
        this.setTime(Date.parse(dString));
    }
    return this;
};


//////////////////////////////



