var Radio = 
{ 	
    
    handler: '',
    sliderHandler: '',
    
    toggle: function()
    {
        
        if( muted )
        {            
            Radio.handler.sendEvent( 'volume', 70 );
            
            muted = false;
            
            Radio.sliderHandler.setValue( 0.7 );
            
            Radio.setIcon( 1 );
        }
        else
        {
            
            Radio.handler.sendEvent( 'volume', 0 );
            
            muted = true;
            
            Radio.sliderHandler.setValue( 0 );
            
            Radio.setIcon( 2 );
            
        }
                        
    },
    
    setIcon: function( icon )
    {        
        if( icon != 2 )
        {
            
            $('play').setStyle( { background: 'url( //th-static.cdn.tryhabbo.net/web/j13hJ/assets/images/stop.png )' } );
            
        }
        else
        {
            
            $('play').setStyle( { background: 'url( //th-static.cdn.tryhabbo.net/web/j13hJ/assets/images/play.png )' } );
            
        }
        
    },            
    initRadio: function()
    {
        
        var radioPlayer = new SWFObject('//th-static.cdn.tryhabbo.net/web/j13hJ/assets/swfs/player.swf','mpl','1','1','9');        
        radioPlayer.addParam('allowfullscreen', false);
        radioPlayer.addParam('allowscriptaccess', 'always');
        radioPlayer.addParam('wmode', 'opaque');
        radioPlayer.addVariable('duration', 99999);
        radioPlayer.addVariable('file', radioIp + ';steam.nsv');
        radioPlayer.addVariable('provider', 'sound');
        radioPlayer.addVariable('volume', 70);
        radioPlayer.addVariable('autostart', true);
        radioPlayer.addVariable('playerready', function( event ) { Radio.handler = $( event['id'] ); } );	
        radioPlayer.write('playerLoad');
        
        Radio.initSlider();
    },
    initSlider: function()
    {
    
        Radio.sliderHandler = new Control.Slider
        (
            $( 'volume' ), $( 'track' ),
            {
                
                onSlide: function( v )
                {
                    
                    Radio.handler.sendEvent( 'volume', v * 100 );
                    
                },
                onChange: function( v )
                {
                    v = v * 100;
                    	
                    if( muted && v > 1 ) 
                    {				
                        muted = false;	
                        
                        Radio.setIcon( 1 );			
                    } 
                    else if ( !muted && v < 1 ) 
                    {				
                        muted = true;	
                        
                        Radio.setIcon( 2 );	
                    }	
                }
            }
        );

        Radio.setIcon( 1 );
        Radio.sliderHandler.setValue( 0.7 );
        
    },
    initButtons: function()
    {        
        $('play').observe( 'click', function( )
        {
            Radio.toggle();
        });
    }
       
};

var Boot =
{
    
    initRadioStats: function()
    {
        
        new Ajax.PeriodicalUpdater( 'radioStats', '/ajax/radioStats', { frequency: 52 } );
        
    },
    initDjSays: function()
    {
        
        new Ajax.PeriodicalUpdater( 'djSays', '/ajax/djSays', { frequency: 323 } );
        
    },
    initNextDj: function()
    {
        
        new Ajax.PeriodicalUpdater( 'nextDj', '/ajax/nextDj', { frequency: 589 } );
        
    },
    initTimeDate: function()
    {
    
    	new Ajax.PeriodicalUpdater( 'timeDate', '/ajax/timeDate', { frequency: 26 } );
    	
    },
    initQuickRequest: function()
    {
    
    	new Ajax.PeriodicalUpdater( 'quickRequest', '/ajax/quickRequest', { frequency: 63 } );
    	
    },
    initHabboSpotlight: function()
    {
    
    	new Ajax.PeriodicalUpdater( 'habboSpotlight', '/ajax/spotlightView', { frequency: 612 } );
    	
    }
    
};

document.observe( 'dom:loaded', function()
{
    Radio.initRadio();
    Radio.initButtons();
    Boot.initRadioStats();
    Boot.initDjSays();
    Boot.initNextDj();
    Boot.initTimeDate();
    Boot.initQuickRequest();
    Boot.initHabboSpotlight();
} );
