﻿var shouldShow;
var initialised;
var fadeIn;
var fadeOut;

function initialise()
{
    if ( initialised == null ) 
    {
        fadeIn = new Fx.Morph($('DisciplinesSubNav'), {duration: 'normal', transition: Fx.Transitions.Sine.easeOut, link: 'ignore'});
        fadeOut = new Fx.Morph($('DisciplinesSubNav'), {duration: 'long', transition: Fx.Transitions.Sine.easeOut, link: 'ignore'});
            
        $('DisciplinesSubNav').getElements('a').each(function(a,index) {
            
            var myFx = new Fx.Tween(a, {duration: 800, wait: false, transition: Fx.Transitions.Circ.easeOut, fps: 50});
            //Immediately sets the background position of the element so it off to the left:
            myFx.set('background-position', '-300');
            
            a.addEvent('mouseover', function(){
                myFx.start('background-position', '-100');
            });

            a.addEvent('mouseout', function(){
                myFx.start('background-position', '-300');
            });
        });
        
        initialised = true;
    }
}

function ShowDisciplinesSubNav()
{
    initialise();
    shouldShow = true;
    HideQuickSearchSelectControls()
    
    if ( $('DisciplinesSubNav').getStyle('display') == 'none' ) 
    {
        $('DisciplinesSubNav').setStyle('display', 'block');
        $('DisciplinesSubNav').set('opacity', 0);
    }
    
    var maxOpacity = 0.92;

    var currentOpacity = $('DisciplinesSubNav').getStyle('opacity');

    if ( currentOpacity < maxOpacity ) {

        if ( fadeOut != null ) {
            fadeOut.cancel();
        }   
    
        fadeIn.start({
            'opacity': [currentOpacity, maxOpacity]
        });
    }
}

function HideDisciplinesSubNav()
{
    initialise();
    shouldShow = false;
    
    //Simply request the hide for the disciplines subnav with a delay so we could still rollover it if necessary
    setTimeout("HideDisciplinesSubNavPrivate();", 1400);	
}

function HideDisciplinesSubNavPrivate()
{
    var currentOpacity = $('DisciplinesSubNav').getStyle('opacity');
    if ( currentOpacity > 0 && !shouldShow ) {
        fadeOut.start({
        'opacity': [currentOpacity, 0]
        });
        setTimeout("ShowQuickSearchSelectControls();", 500);
    }
}

function HideQuickSearchSelectControls()
{
    //Only necessary for IE6 or below
    if ( BrowserDetect.browser == "Explorer" && BrowserDetect.version < 7 ) 
    {
        if ( $('QuickSearch') != null ) 
        {
            $('QuickSearch').getElements('select').each(function(select,index) {
                select.setStyle('visibility', 'hidden');
            });
        }
    }
}

function ShowQuickSearchSelectControls()
{
    if ( BrowserDetect.browser == "Explorer" && BrowserDetect.version < 7 ) 
    {
        if ( $('QuickSearch') != null ) 
        {
            $('QuickSearch').getElements('select').each(function(select,index) {
                select.setStyle('visibility', 'visible');
            });
        }
    }
}