function parms_to_hash() { 
    var data = window.location.href.split(/[?]/)[1];
    var q = {};
    if (data != undefined) {
        data.replace(/([^=&]+)=([^&]*)/g, function(m, key, value){ 
            q[key] = value; 
        });
    }
    return q;
}

function convert_link_to_image() {
    $(this).html($('<img>',{
        src: $(this).children('a:first').attr('href'),
        alt: 'Chart: ' + $(this).children('a:first').attr('href')
    }).attr('class','chart'));
}

var loadticker = false;

$(function() {
    var chart=1;
    var data=2;

    var $tabs = $("#tabs").tabs({ 
        cache: true,
        load: function(event, ui) {
            $('.chart-group > h2').next().each(convert_link_to_image);

            $('.chart-group > h2').each(function() {
                $(this).siblings('div').each(function () {
                    var $div = $(this);
                    $(this).children('a').click(function () {
                        $div.html($('<img>',{
                            src: $(this).attr('href'),
                            alt: 'Chart: ' + $(this).attr('href')
                        }).attr('class','chart'));
                        return false;
                    });
                });
            });

            if (loadticker) return false;
            loadticker = true;
            var tick = parms_to_hash()["ticker"];

            if (tick != undefined) {
                $(this).tabs('url', chart, 'get-chart?ticker=' + tick);
                $(this).tabs('select', chart);
                $(this).tabs('url', data, 'get-data?ticker=' + tick);
            }
        }
    }).css('display','block');

    $('#home-link').click(function() { // bind click event to link
        $tabs.tabs('select', 0); 
        return false;
    });
    $('#copyright-link').click(function() { // bind click event to link
        $tabs.tabs('select', 4); 
        return false;
    });
    $('#disclaimer-link').click(function() { // bind click event to link
        $tabs.tabs('select', 4); 
        return false;
    });
    $('#contact-link').click(function() { // bind click event to link
        $tabs.tabs('select', 5); 
        return false;
    });

    $( "#stockchoice" ).autocomplete({
        source: "/data/companies.txt",
        minLength: 1,
        delay: 300,
        select: function( event, ui ) {
            currentTicker = ui.item.id;
            $tabs.tabs('select', chart);
            $tabs.tabs('url', chart, 'get-chart?ticker=' + ui.item.id);
            $tabs.tabs('load', chart);
            $tabs.tabs('url', data, 'get-data?ticker=' + ui.item.id);
            return true;
        }
    });
    
    $( "#prevbutton" ).button({
        icons: {
            primary: "ui-icon-circle-arrow-w"
        }, 
        text: true
    });
    
    $( "#nextbutton" ).button({
        icons: {
            secondary: "ui-icon-circle-arrow-e"
        },
        text: true
    });
    
    $( "#nextbutton" ).click(function() { 
        var currentTicker = $('#current-ticker').attr('ticker');
        if (currentTicker == undefined) currentTicker = "";
        $tabs.tabs('select', chart);
        $tabs.tabs('url', chart, 'get-chart?ticker=' + currentTicker + '&nav=next');
        $tabs.tabs('load', chart);
        $tabs.tabs('url', data, 'get-data?ticker=' + currentTicker + '&nav=next');
        return false; 
    });
    
    $( "#prevbutton" ).click(function() { 
        var currentTicker = $('#current-ticker').attr('ticker');
        if (currentTicker == undefined) currentTicker = "";
        $tabs.tabs('select', chart);
        $tabs.tabs('url', chart, 'get-chart?ticker=' + currentTicker + '&nav=prev');
        $tabs.tabs('load', chart);
        $tabs.tabs('url', data, 'get-data?ticker=' + currentTicker + '&nav=prev');
        return false; 
    });

    $( "#content .dialog button, input:submit" ).button({
        text: true
    });
});

