var OlsenChart = {
    defaults : {
        olsenscale_url : 'http://www.olsenscale.com/sc/smq/latest',
        instrument     : 'AUD_CAD,AUD_JPY,AUD_NZD,AUD_USD,CHF_AUD,EUR_AUD,GBP_AUD',
        timezone       : 'GMT+0',
        caption        : 'AUD',
        height         : 170,
        width          : 350
    },
    values : {
        instrument : '',
        timezone   : '',
        caption    : '',
        height     : 0,
        width      : 0,
        date       : null
    },
    init : function() {
        this.values.instrument = this.defaults.instrument;
        this.values.timezone   = this.defaults.timezone;
        this.values.caption    = this.defaults.caption;
        this.values.width      = this.defaults.width;
        this.values.height     = this.defaults.height;
    },
    getSpiderUrl : function() {
        var url = this.defaults.olsenscale_url + '?data=smqspider&printValue=1&showGradient=0&strongLabels=1';
        url = url + '&legs=' + this.values.instrument + '&center=' + this.values.caption;
        url = url + '&width=' + this.values.width + '&height=' + this.values.height + '&caption=' + this.values.caption;
        if(this.values.date != null)
            url = url + '&date=' + this.values.date; 
        return url;
    },
    getChartUrl : function(image_type) {
        var url = this.defaults.olsenscale_url + '?data=smqimage&days=3&showLabels=0';
        url = url + '&instrument=' + this.values.instrument + '&caption=' + this.values.caption;
        url = url + '&width=' + this.values.width + '&height=' + this.values.height + '&tz=' + this.values.timezone;
        if(this.values.date != null)
            url = url + '&date=' + this.values.date;
        return url;
    },
    setDimension : function(width,height) {
        this.values.width  = width;
        this.values.height = height;
    },
    setTimezone : function(tz) {
        this.values.timezone = tz;
    },
    setInstrument : function(ins) {
        this.values.instrument = ins;
    },
    setCaption : function(caption) {
        this.values.caption = caption;
    },
    setDate : function(date) {
        this.values.date = date;
    }
};
