/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

$(document).ready(function()
{
    $('p.read_more').children('a:first').click(function()
    {
        $(this).parent().fadeOut('slow', function()
        {
            $('p.hidden_info').fadeIn('slow');
        });

        return false;
    });

    //fix subsubmenu
    var submaxwidth = $('div#sub_menu_body').width();
    var suboffsetwidth = 0;
    var subfixedwidth = 0;
    $('div#sub_menu_body ul li').each(function()
    {
        var $this = $(this);
        
        if ((suboffsetwidth + $this.width()) <= submaxwidth)
        {
            subfixedwidth += $this.width();
        }

        suboffsetwidth += $this.width();

        return true;
    });
    $('div#sub_menu_body').width(subfixedwidth);
    $('div#sub_menu_body ul').width(suboffsetwidth);

    var sublength = 0;
    $('#sub_menu_body ul li').each(function()
    {
        sublength += $(this).width();
        if (sublength >= (suboffsetwidth - subfixedwidth)) return false;

        return true;
    });

    if (subslideright)
    {
        $('#sub_menu_body ul').animate({
            left : '-' + (sublength + 9) + 'px'  //add 9px of padding
        }, 'slow', 'linear');
    }

    //fix subsubmenu
    var subsubmaxwidth = $('div#sub_sub_menu_body').width();
    var subsuboffsetwidth = 0;
    var subsubfixedwidth = 0;
    var subsubliwidths = new Array();
    $('div#sub_sub_menu_body ul li').each(function()
    {
        var liwidth = $(this).width();
        subsubliwidths.push(liwidth);

        if ((subsuboffsetwidth + liwidth) <= subsubmaxwidth)
        {
            subsubfixedwidth += liwidth;
        }

        subsuboffsetwidth += liwidth;

        return true;
    });
    $('div#sub_sub_menu_body').width(subsubfixedwidth);
    $('div#sub_sub_menu_body ul').width(subsuboffsetwidth);

    var subsublength = 0;
    $('#sub_sub_menu_body ul li').each(function()
    {
        subsublength += $(this).width();
        if (subsublength >= (subsuboffsetwidth - subsubfixedwidth)) return false;

        return true;
    });

    if (subsubslideright)
    {
        $('#sub_sub_menu_body ul').animate({
            left : '-' + (subsublength + 9) + 'px'  //add 9px of padding
        }, 'slow', 'linear');
    }

    //submenu navigation buttons
    $('div#sarrow_left a').click(function()
    {
        $('#sub_menu_body ul').animate({
            left : '0px'
        }, 'slow', 'linear', function()
        {
            subslideright = false;
        });

        return false;
    });

    $('div#sarrow_right a').click(function()
    {
        $('#sub_menu_body ul').animate({
            left : '-' + (sublength + 9) + 'px'  //add 9px of padding
        }, 'slow', 'linear', function()
        {
            subslideright = true;
        });

        return false;
    });

    //subsubmenu navigation buttons
    $('div#ssarrow_left a').click(function()
    {
        $('#sub_sub_menu_body ul').animate({
            left : '0px'
        }, 'slow', 'linear', function()
        {
            subsubslideright = false;
        });

        return false;
    });

    $('div#ssarrow_right a').click(function()
    {
        $('#sub_sub_menu_body ul').animate({
            left : '-' + (subsublength + 9) + 'px'  //add 9px of padding
        }, 'slow', 'linear', function()
        {
            subsubslideright = true;
        });

        return false;
    });

    //keep state between pages
    function fixhref($this)
    {
        $this.attr('href', function()
        {
            var qstring = '';

            qstring = (subslideright ? 'sr' : '');
            qstring += (subsubslideright ? (subslideright ? '&' : '')+'ssr' : '');

            return this.href.split('?')[0] + '?' + qstring;
        });
    }

    $('div#sub_menu_body a').click(function()
    {
        if (subslideright) fixhref($(this));
        return true;
    });

    $('div#sub_sub_menu_body a').click(function()
    {
        if (subsubslideright) fixhref($(this));
        return true;
    });
    
});
