Event.observe(window, 'load', function(){

    $$('.hideShowToggle').each(function(s){
        
        if(s.next('.toggleContent'))
        {
            if(s.next('.toggleContent').down('div'))
            {
                s.next('.toggleContent').setStyle({'display':'none'});
                s.addClassName('toggleUp');
                s.next('.toggleContent').addClassName('toggleContentUp');
                Event.observe(s, 'click', this.HideShowSlideToggle.bindAsEventListener(this));                
            }
        }
    })

    
    $$('.hoverable').each( function(s){
        Event.observe(s, 'mouseover', this.Hovered.bindAsEventListener(this));
        Event.observe(s, 'mouseout', this.HoveredOff.bindAsEventListener(this));
    })
        
});

function HideThis(element)
{
    var effect = new Effect.Opacity(element, {from: 1, to: 0, duration: 2, queue: 'end', afterFinish: function(){element.setStyle({'display':'none'}); ShowThis(GetNextImage(element));}});
}

function ShowThis(element)
{
    element.setOpacity(0);
    element.setStyle({'display':'block'});
    var effect = new Effect.Opacity(element, {from: 0, to: 1, duration: 2, queue: 'end', afterFinish: function(){HideThis(element);}});
}

function Hovered(e)
{
    e = Event.element(e);
    e.addClassName("hover");
}

function HoveredOff(e)
{
    e = Event.element(e);
    e.removeClassName("hover");
}

function RegisterUserClick(e)
{
    window.location = "/Register-User.aspx";
}

function RegisterSiteClick(e)
{
    window.location = "/Register-Site.aspx";
}

function HideShowSlideToggle(e)
{
    var element = Event.element(e);
    element = $(element);
    
    toBeToggled = element.next('.toggleContent');
    
    Event.stop(e);
    if(toBeToggled.getStyle('display') != 'none')
    {
        Effect.SlideUp(toBeToggled, {duration:0.5, afterFinish: function(){
            toBeToggled.setStyle({'display':'none'}); 
            toBeToggled.removeClassName('toggleContentDown'); 
            toBeToggled.addClassName('toggleContentUp'); 
            element.removeClassName('toggleDown'); 
            element.addClassName('toggleUp');
            }
        });
    }
    else
    {
        Effect.SlideDown(toBeToggled, {duration: 0.5, beforeStart: function(){
            toBeToggled.setStyle({'display':'block'});
            toBeToggled.removeClassName('toggleContentUp'); 
            toBeToggled.addClassName('toggleContentDown'); 
            element.removeClassName('toggleUp');
            element.addClassName('toggleDown');}});
    }    
}