/* ********* Center Menu *************************** */
var MainMenu = new Class({
   initialize: function(){
     this.search_slider            = $('search_slider_container');
     this.currently_playing_slider = $('currently_playing_slider_container');
     this.maincontainer            = $('main_center_menus');
     this.othercontainer           = $('other_center_menus');
     this.currently_playing        = $('currently_playing');
     this.search_menu              = $('search_menu');
   },
   show: function( slider_out, menu_out, slider_in, menu_in ){
     this.param_slider_out = slider_out;
     this.param_menu_out = menu_out;
     this.param_slider_in = slider_in;
     this.param_menu_in = menu_in;
     if( !isopen(this.maincontainer) ){
       var fx = new Fx.Morph( $(this.othercontainer), {duration: 500, transition: Fx.Transitions.linear });
       fx.start({ opacity:0 }).chain( function(_mainmenu){
         _mainmenu.othercontainer.setStyle('display', 'none');
         _mainmenu.maincontainer.setStyle('display', 'block');
         var fx = new Fx.Morph( $(_mainmenu.maincontainer), {duration: 500, transition: Fx.Transitions.linear });
         fx.start({ opacity:1 }).chain( function(_mainmenu){
           if( isopen( _mainmenu.param_menu_in ) ) return;
           else _mainmenu._show( _mainmenu.param_slider_out, _mainmenu.param_menu_out, _mainmenu.param_slider_in, _mainmenu.param_menu_in );
         }.pass( _mainmenu ) );
       }.pass( this) );
     }else{
       if( isopen( menu_in ) ) return;
       else this._show( slider_out, menu_out, slider_in, menu_in );
     }
   },
   _show: function( slider_out, menu_out, slider_in, menu_in ){
     this.param_slider_out = slider_out;
     this.param_menu_out = menu_out;
     this.param_slider_in = slider_in;
     this.param_menu_in = menu_in;
     var fx = new Fx.Morph( $(slider_out), {duration: 500, transition: Fx.Transitions.linear });
     fx.start({ height:0 }).chain( function(_mainmenu){
       var fx = new Fx.Morph( $(_mainmenu.param_menu_out), {duration: 500, transition: Fx.Transitions.linear });
       fx.start({ opacity:0 }).chain(  function(_mainmenu){
         $(_mainmenu.param_menu_out).setStyle('display', 'none');
         $(_mainmenu.param_menu_in).setStyle('opacity', 0);
         $(_mainmenu.param_slider_in).setStyle('height', '460px' );
         $(_mainmenu.param_menu_in).setStyle('display', 'block');
         var fx = new Fx.Morph( $(_mainmenu.param_menu_in), {duration: 500, transition: Fx.Transitions.linear });
         fx.start({ opacity:1 });
       }.pass(_mainmenu) );
     }.pass(this));
   }
});

var OtherMenu = new Class({
   initialize: function(){
     this.maincontainer       = $('main_center_menus');
     this.container           = $('other_center_menus');
     this.createplaylist_menu = $('createplaylist_menu');
     this.sharemedia_menu     = $('sharemedia_menu');
     this.saveplaylist_menu   = $('saveplaylist_menu');
     this.addsong_menu        = $('addsong_menu');
     this.modifysong_menu     = $('modifysong_menu');
     this.importplaylist_menu = $('importplaylist_menu');
     this.current_menu_open   = null;
     this.param_menu          = null;
   },
   show: function( menu ){
     this.param_menu = menu;
     if( !isopen(this.container) ){
       var fx = new Fx.Morph( this.maincontainer, {duration: 500, transition: Fx.Transitions.linear });
       fx.start({ opacity:0 }).chain( function(_othermenu){
         _othermenu.maincontainer.setStyle('display','none');
         if( _othermenu.param_menu != _othermenu.current_menu_open && _othermenu.current_menu_open != null ){
           _othermenu.current_menu_open.setStyle('display','none');
           _othermenu.current_menu_open = null;
         }
         _othermenu.container.setStyle('display','block');
         var fx = new Fx.Morph( _othermenu.container, {duration: 500, transition: Fx.Transitions.linear });
         fx.start({ opacity:1 }).chain( function(_othermenu){
           if( isopen( _othermenu.param_menu ) ) return;
           else _othermenu._show( _othermenu.param_menu );
         }.pass( _othermenu ) );
       }.pass(this) );
     }else{
       if( isopen( menu ) ) return;
       else this._show( menu );
     }
   },
   _show: function( menu ){
     this.param_menu = menu;
     if( this.current_menu_open == null ){
       $(menu).setStyle('opacity', 0);
       $(menu).setStyle('display', 'block');
       var fx = new Fx.Morph( $(menu), {duration: 500, transition: Fx.Transitions.linear });
       fx.start({ opacity:1 });
       this.current_menu_open = menu;
     }else{
       var fx = new Fx.Morph( $(this.current_menu_open), {duration: 500, transition: Fx.Transitions.linear });
       fx.start({ opacity:0 }).chain( function(_othermenu){
         _othermenu.current_menu_open.setStyle('display', 'none');
         $(_othermenu.param_menu ).setStyle('opacity', 0);
         $(_othermenu.param_menu).setStyle('display', 'block');
         var fx = new Fx.Morph( $(_othermenu.param_menu), {duration: 500, transition: Fx.Transitions.linear });
         fx.start({ opacity:1 });
         _othermenu.current_menu_open = _othermenu.param_menu;
       }.pass( this ) );
     }
   },
   close: function( menu ){
     if(!isopen(this.container) ) return;
     var fx = new Fx.Morph( $(this.container), {duration: 500, transition: Fx.Transitions.linear });
     fx.start({ opacity:0 }).chain( function(_othermenu){
       _othermenu.container.setStyle('display','none');
       _othermenu.maincontainer.setStyle('opacity', 0);
       _othermenu.maincontainer.setStyle('display','block');
       var fx = new Fx.Morph( $(_othermenu.maincontainer), {duration: 500, transition: Fx.Transitions.linear });
       fx.start({ opacity:1 });
       if( isopen('currently_playing') ){
         setTimeout( "showvideo()", 1000 );
       }
     }.pass(this) );
   }
});





