
window.addEvent('domready', function() {
    /* Hide Oslo indexes as default */
    $('gOptNo').setStyle('display', 'none');
    $('gOptSv').setStyle('display', 'block');
    initButtons();
    initCheckboxes();
    initLangSwitcher();
    initDatePickers();
    reloadIframe();
});

/* Called from mouseover on image through iframe */
function sV(d,p) {
    $('moDate').innerHTML = d;
    $('moPrice').innerHTML = p;
}


function initDatePickers() {
    $$('.datepicker').each(function(el){
        el.addEvent('focus',function() {
            if(el.defaultValue==el.value)
                el.value='';
            if(!el.hasClass('focus'))
                el.addClass('focus');
        });
        el.addEvent('blur',function() {
            if(el.value=='') {
                el.value=el.defaultValue;
                el.removeClass('focus');
            }
            else {
                /* Parse the date. (Using DateJS, http://www.datejs.com/) */
                var d=el.value;
                if(d.length==6 && d.toInt()>100) {
                    d=d.substring(0,2) + '-' + d.substring(2,4) + '-' + d.substring(4);
                    if(d.substr(0,1)=='9' || d.substr(0,1)=='8' || d.substr(0,1)=='7')
                        el.value='19' + d;
                    else
                        el.value='20' + d;
                }
                else if(d.length==8 && d.toInt()>20000) {
                    d=d.substring(0,4) + '-' + d.substring(4,6) + '-' + d.substring(6);
                    el.value=d;
                }
                else {
                    try {
                        d = Date.parse(d);
                        el.value=d.toString('yyyy-MM-dd');
                    }
                    catch(err) {
                        //Do nothing, leave it to iserver.
                    }
                }
            }
        });
    });
}

function initLangSwitcher() {

    $$('#svnoRadiobuttons .svnoPicker').addEvent('click',function() {

        var u = false;

        if(mkt=='no' && this.getProperty('value')=='sv') {
            mkt='sv';
            $('gOptNo').setStyle('display', 'none');
            $('gOptSv').setStyle('display', 'block');
            parsseOn = true;
            paroseOn = false;
            omxsOn = false;
            sx1010On = false;
            osebxOn = false;
            ose10On = false;
            u = true;
        }
        else if(mkt=='sv' && this.getProperty('value')=='no') {
            mkt='no';
            $('gOptNo').setStyle('display', 'block');
            $('gOptSv').setStyle('display', 'none');
            parsseOn = false;
            paroseOn = true;
            omxsOn = false;
            sx1010On = false;
            osebxOn = false;
            ose10On = false;
            u = true;
        }

        if(u) {
            $('cmp1').set('checked','');
            $('cmp2').set('checked','');
            $('cmp3').set('checked','');
            $('cmp4').set('checked','');
            $('moDate').innerHTML = '';
            $('moPrice').innerHTML = '';

            reloadIframe();
        }
    });
}


function initCheckboxes() {

    $('cmp1').addEvent('click',function(el) {
        if(this.get('checked'))
            omxsOn = true;
        else
            omxsOn = false;
        reloadIframe();
    });

    $('cmp2').addEvent('click',function(el) {
        if(this.get('checked'))
            sx1010On = true;
        else
            sx1010On = false;
        reloadIframe();
    });

    $('cmp3').addEvent('click',function(el) {
        if(this.get('checked'))
            osebxOn = true;
        else
            osebxOn = false;
        reloadIframe();
    });

    $('cmp4').addEvent('click',function(el) {
        if(this.get('checked'))
            ose10On = true;
        else
            ose10On = false;
        reloadIframe();
    });
}


function initButtons() {

    $('svno-sv').checked = true;
    $('3-month').checked = true;

    $$('#periodRadiobuttons input').each(function(btn){
        btn.addEvent('click',function() {
            if (this.id=='all') {
                redrawGraph('all');
            }
            else {
                var p = this.id.split('-');
                redrawGraph(p[0],p[1]);
            }
        });
    });
    $('btnInterval').addEvent('click',function() {
        redrawGraph('btnInterval');
    });
}

function redrawGraph(n,p) {

    var t, f;

    if(p=='day') {
        graphTemplate = 'par_intra';
        intervalPeriodString = 'p=commonGroupX.intervalPeriod/day';
    }
    else {
        graphTemplate = 'par_hist';

        if(n=='all') {
            t = new Date()
            intervalPeriodString = 'p=commonGroupX.from/1971-01-01&p=commonGroupX.tom/' + t.getFullYear() + '-' + t.getMonth() + '-' + t.getDate();
        }
        else if (n=='btnInterval') {
            f = $('txtFrom').get('value');
            t = $('txtTo').get('value');
            intervalPeriodString = 'p=commonGroupX.from/' + f + '&p=commonGroupX.tom/' + t;
        }
        else {
            intervalPeriodString = 'p=commonGroupX.intervalPeriod/' + n + '*' + p;
        }
    }
    reloadIframe();
}

function reloadIframe() {

    var s = 'graph.page?t=' + graphTemplate + '&p=parsseMainGraph.visible/' + parsseOn +
              '&p=parsseVolumeGraph.visible/' + parsseOn + '&p=paroseMainGraph.visible/' + paroseOn +
              '&p=paroseVolumeGraph.visible/' + paroseOn + '&p=omxsGraph.visible/' + omxsOn +
              '&p=sx1010Graph.visible/' + sx1010On + '&p=osebxGraph.visible/' + osebxOn +
              '&p=ose10Graph.visible/' + ose10On + '&' + intervalPeriodString;
    if(lang=='sv') {
        s += '&p=presssource.market/general_press_sv&p=presssource.tickercode/SE0000818569';
    }
    else {
        s += '&p=lang/en&p=presssource.market/general_press_en&p=presssource.tickercode/SE0000818569';
    }

    $('iframe').src = s;

}

