
/*
FILE CONCAT ADD FILE
PATH: /ft/resources/WSODIncludes/jslib/dateFormat.1.js
*/
// client-side date format

function dateFormat(aDate, displayPat){
    /********************************************************
    *   Valid Masks:
    *   !mmmm = Long month (eg. January)
    *   !mmm = Short month (eg. Jan)
    *   !mm = Numeric date (eg. 07)
    *   !m = Numeric date (eg. 7)
    *   !dddd = Long day (eg. Monday)
    *   !ddd = Short day (eg. Mon)
    *   !dd = Numeric day (eg. 07)
    *   !d = Numeric day (eg. 7)
    *   !yyyy = Year (eg. 1999)
    *   !yy = Year (eg. 99)
   ********************************************************/

    intMonth = aDate.getMonth();
    intDate = aDate.getDate();
    intDay = aDate.getDay();
    intYear = aDate.getFullYear();

    var months_long =  new Array ('January','February','March','April','May','June','July','August','September','October','November','December')
    var months_short = new Array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec')
    var days_long = new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday')
    var days_short = new Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat')

    var mmmm = months_long[intMonth]
    var mmm = months_short[intMonth]
    var mm = intMonth < 9?'0'+ (1 + intMonth) + '':(1+intMonth)+'';
    var m = 1+intMonth+'';
    var dddd = days_long[intDay];
    var ddd = days_short[intDay];
    var dd = intDate<10?'0'+intDate+'':intDate+'';
    var d = intDate+'';
    var yyyy = intYear;

    century = 0;
    while((intYear-century)>=100)
        century = century + 100;

    var yy = intYear - century
    if(yy<10) yy = '0' + yy + '';

    displayDate = new String(displayPat);
    displayDate = displayDate.replace(/!mmmm/i,mmmm);
    displayDate = displayDate.replace(/!mmm/i,mmm);
    displayDate = displayDate.replace(/!mm/i,mm);
    displayDate = displayDate.replace(/!m/i,m);
    displayDate = displayDate.replace(/!dddd/i,dddd);
    displayDate = displayDate.replace(/!ddd/i,ddd);
    displayDate = displayDate.replace(/!dd/i,dd);
    displayDate = displayDate.replace(/!d/i,d);
    displayDate = displayDate.replace(/!yyyy/i,yyyy);
    displayDate = displayDate.replace(/!yy/i,yy);

    return displayDate;
}
/*
FILE CONCAT ADD FILE
PATH: /ft/resources/client/modules/markets/sectorsAndIndustries/TopSector.js
*/
var TopSector = function() {
}

TopSector.prototype.BUFFER_URL = '/ft/resources/buffer/sectorsAndIndustries/topSector.asp'

TopSector.prototype.init = function() {
    this.topSectorLinks = WSDOM.Element.parseSelector('a.topSectorLink');
    this.contentHolder = WSDOM.Element.parseSelector('div.contentHolder ', 'wsod', 'first');

    WSDOM.Events.add(this.topSectorLinks, 'click', this.initBuffer, this);
}

TopSector.prototype.initBuffer = function(e, el) {
    if (WSDOM.Element.hasClass(el, 'active')) { return; }

    WSDOM.Element.removeClass(this.topSectorLinks, 'active');
    WSDOM.Element.addClass(el, 'active');

    var view = el.getAttribute('view'),
        cb = this.getContentBuffer();

    this.loadingOverlay = new LoadingOverlay(this.contentHolder);
    this.loadingOverlay.showLoading();

    var conn = cb.load({
        debug: true,
        url: this.BUFFER_URL,
        method: "post",
        contentType: "text/html",
        context: this,
        data: {
            view: view
        },
        onload: this.bufferReturn
    });
}

TopSector.prototype.bufferReturn = function(cb) {
    var oResults = cb.getResult();
    
    WSDOM.Element.removeChildNodes(this.contentHolder);
    WSDOM.Element.setHTML(this.contentHolder, oResults);
    
    this.loadingOverlay.hideLoading();
}

TopSector.prototype.getContentBuffer = function() {
    var cb = new ContentBuffer();

    this.getContentBuffer = function() {
        return cb;
    }

    return this.getContentBuffer();
}