jQuery(document).ready(function($){
    $('.oanda-realtime-tab-forex').click(function() {
        var widget_id = $(this).attr('rel');
        $('#'+widget_id+'-tab-forex .oanda-realtime-tab').addClass('oanda-realtime-tab-on');
        $('#'+widget_id+'-tab-interest .oanda-realtime-tab').removeClass('oanda-realtime-tab-on');
        $('#'+widget_id+'-realtime').show();
        $('#'+widget_id+'-interest').hide();
        return false;
    });
    $('.oanda-realtime-tab-interest').click(function() {
        var widget_id = $(this).attr('rel');
        $('#'+widget_id+'-tab-interest .oanda-realtime-tab').addClass('oanda-realtime-tab-on');
        $('#'+widget_id+'-tab-forex .oanda-realtime-tab').removeClass('oanda-realtime-tab-on');
        $('#'+widget_id+'-interest').show();
        $('#'+widget_id+'-realtime').hide();
        return false;
    });

    function draw_interest_rates(base_width) {
        var interest_rates = $.secureEvalJSON(interest_rate_values);
        var data = [];
        var currency = {
            "New Zealand" :     { "id" : "NZD", "img" : "/wp-content/plugins/oanda-realtime-interest-widget/images/flag_nzd.gif" },
            "Australia" :       { "id" : "AUD", "img" : "/wp-content/plugins/oanda-realtime-interest-widget/images/flag_aud.gif" },
            "United Kingdom" :  { "id" : "GBP", "img" : "/wp-content/plugins/oanda-realtime-interest-widget/images/flag_gbp.gif" },
            "Euro Zone" :       { "id" : "EUR", "img" : "/wp-content/plugins/oanda-realtime-interest-widget/images/flag_eur.gif" },
            "Canada" :          { "id" : "CAD", "img" : "/wp-content/plugins/oanda-realtime-interest-widget/images/flag_cad.gif" },
            "Switzerland" :     { "id" : "CHF", "img" : "/wp-content/plugins/oanda-realtime-interest-widget/images/flag_chf.gif" },
            "United States" :   { "id" : "USD", "img" : "/wp-content/plugins/oanda-realtime-interest-widget/images/flag_usd.gif" },
            "Japan" :           { "id" : "JPY", "img" : "/wp-content/plugins/oanda-realtime-interest-widget/images/flag_jpy.gif" }
        };

        // sort the interest rates
        interest_rates.sort( function( a, b ) { return b.latest_value * b.display_multiplication_factor - a.latest_value * a.display_multiplication_factor } ); // Sort in descending order

        // if there are none of these on the page, we need do nothing
        if ( ! $('.oanda-interest-rate-chart').length ) {
            return false;
        }

        // calc        
        var ratio = 0;
        var to_insert = [];
        for (var i = 0; i < interest_rates.length; i++) {
            var irate = interest_rates[i];
            var id          = currency[irate.country_fn]['id'];
            var flag_image  = currency[irate.country_fn]['img'];
            
            var bar_width = 0;
            if ( i == 0 ) {
                first_value = irate.latest_value;
                ratio       = parseFloat(irate.latest_value) * parseFloat(irate.display_multiplication_factor);
                bar_width   = base_width;
            }
            else {
                bar_width = irate.latest_value * irate.display_multiplication_factor / ratio * base_width;
            }
            
            //pushing into an array then joining the list later is apparently MUCH
            //faster under IE than doing string concat after string concat
            to_insert.push(
                "<div class='interest_rate_flag'><img src='",flag_image,"' alt='",irate.country_fn,"' /></div>",
                "<div class='interest_rate_currency'>",id,"</div>",
                "<div class='interest_rate_bar' style='width:",bar_width,"px;'></div>",
                "<div class='interest_rate'>",(irate.latest_value * irate.display_multiplication_factor).toFixed(2),"%</div>"
            );
            if ( i != (interest_rates.length -1) ) {
                to_insert.push("<div class='interest_rate_next_line'></div>");
            }

        }
        
        var html = to_insert.join('');
        
        $('.oanda-interest-rate-chart').append(html);

        return true;
    }
    draw_interest_rates(125);

 });  