var timestamp  =  $.inherit(Module, {
    __constructor: function(o){
        this.__base(o);
    },

    initialize: function() {
        this.fullMonthNames = ['January','February','March','April','May','June','July','August','September','October','November','December'];
        this.shortMonthNames = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
        this.fullDayNames = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];
        this.shortDayNames = ['Sun','Mon','Tue','Wed','Thu','Fri','Sat'];
        this.updateTime();
    },

    updateTime: function(){
        var d = new Date();
        var $e = this.element.find("span.timestamp");
        if($e.size() == 0) {
            return;
        }

        var format = $e.attr("class").replace("timestamp f_","");

        var timestamp = d.toString();
        var year = d.getFullYear();
        var mon = d.getMonth();
        var dow = d.getDay();
        var day = d.getDate();
        var hour = d.getHours();
        hour = (hour>12)?hour-12: hour;
        hour = parseInt(hour);
        var min = d.getMinutes();
        var monN = this.fullMonthNames[mon];
        var monS = this.shortMonthNames[mon];
        var dayN = this.fullDayNames[dow];
        var dayS = this.shortDayNames[dow];
        var ampm = (d.getHours()>12)?'PM': 'AM';
        var ord = 'th';
        ord = (day == 1||day == 21||day == 31)?'st': (day == 2||day == 22)?'nd': (day == 3||day == 23)?'rd': 'th';

console.log(  format );
        var fulltime = ' '+hour+': '+min+' '+ampm;
		  var euro_time = ' ' + d.getHours() + ":" + min;
        switch(format) {
            case"3":
                timestamp = mon+'-'+day+'-'+year+fulltime;
                break;
            case"4":
                timestamp = monN+'-'+day+ord+' '+year;
                break;
            case"5":
                timestamp = monN+'-'+day+ord+' '+year+fulltime;
                break;
            case"6":
                timestamp = monS+' '+day+ord+' '+year;
                break;
            case"7":
                timestamp = monS+' '+day+ord+' '+year+fulltime;
                break;
            case"8":
                timestamp = dayN+', '+monN+' '+day+ord+' '+year;
                break;
            case"9":
                timestamp = dayN+', '+monN+' '+day+ord+' '+year+fulltime;
                break;
            case"10":
                timestamp = dayS+', '+monS+' '+day+ord+' '+year;
                break;
            case"11":
                timestamp = dayS+', '+monS+' '+day+ord+' '+year+fulltime;
                break;
            case"12":
                timestamp = day+'/'+mon+'/'+year;
                break;
            case"13":
                timestamp = day+'/'+mon+'/'+year+euro_time;
                break;
            case"14":
                timestamp = day+'-'+mon+'-'+year;
                break;
            case"15":
                timestamp = day+'-'+mon+'-'+year+euro_time;
                break;
            case"16":
                timestamp = day+' '+monN+' '+year;
                break;
            case"17":
                timestamp = day+' '+monN+' '+year+euro_time;
                break;
            case"2":
            default:
                timestamp = mon+'-'+day+'-'+year;
                break;
        }
        $e.html(timestamp);
    }
});

