var dateTimePattern = /([^T]*)T?(.+)?/;
var datePattern = /([0-9]{4})-([0-9]{2})-([0-9]{2})/;
var timePattern = /([0-9]{2}):([0-9]{2}):?([0-9]{2})?(Z?)/;
function parseDateTime(s) {
        var result = dateTimePattern.exec(s);
        var date = datePattern.exec(result[1])
        var time = null;
        if( result[2] )
        {
                time = timePattern.exec(result[2]);
                if( ! time[3] )
                        time[3] = '00';
        }
        if( !time )
                return new Date(date[1], date[2], date[3]);
        else
                if( time[4] )
                        return new Date(Date.UTC(date[1], date[2], date[3], time[1], time[2], time[3]));
                else
                        return new Date(date[1], date[2], date[3], time[1], time[2], time[3]);
}

function readableDates(tag) {
        var elems = document.getElementsByTagName(tag);
        for( var i in elems ) {
                if( elems[i].dateTime )
                        elems[i].dateTime = parseDateTime(elems[i].dateTime).toLocaleDateString();
        }
}
