function initFileMenu(){
  $$('#file_menu span').each( function(el){
    el.onselectstart = function(){ return false; }
    el.onmousedown = function () { return false; }
    el.setStyle('cursor', 'pointer');
    el.addEvent('click', function(){  handleFileMenuClick( this ); } );
  });
}

function handleFileMenuClick( el ){

  if( el.id == 'add_track_title' ){
    if( $('playlist_option').get('class') == 'sel' ) hidePlaylistOptions();
    if( $('search_option').get('class') == 'sel' ) hideSearchOptions();
    $('add_track').set('class', 'sel');
    $('add_track').set('class', '');
    showaddsong();
  }else if( el.id == 'playlist_option_title'){
    if( $('add_track').get('class') == 'sel' ) hideManualAdd();
    if( $('search_option').get('class') == 'sel' ) hideSearchOptions();
    $('playlist_option').set('class', 'sel');
    showPlaylistOptions();
  }else if(  el.id == 'search_option_title'){   
    if( $('playlist_option').get('class') == 'sel' ) hidePlaylistOptions();
    if( $('add_track').get('class') == 'sel' ) hideManualAdd();
    $('search_option').set('class', 'sel');
    showSearchOptions();
  }
}

function hideManualAdd(){
  $('add_track').set('class', '');
}

function hideSearchOptions(){
  if( browser.isIE ){
    addDocumentClickEvent( 'sub_menu', null );
  }else{
    addWindowClickEvent( 'sub_menu', null );
  }


  var el = $('search_option');
  el.set('class', '');
  var removeArray = new Array();
  for( var a = 0; a < el.childNodes.length; a++ ){
    var child = $( el.childNodes[a] );
    if( child.get && child.get('class') == 'sub_menu' ){
      removeArray.push( el.childNodes[a] );
    }
  }
  for( var a = 0; a < removeArray.length; a++ ){
    el.removeChild( removeArray[a] );
  }
}

function hidePlaylistOptions(){
  if( browser.isIE ){
    addDocumentClickEvent( 'sub_menu', null );
  }else{
    addWindowClickEvent( 'sub_menu', null );
  }

  var el = $('playlist_option');
  el.set('class', '');
  var removeArray = new Array();
  for( var a = 0; a < el.childNodes.length; a++ ){
    var child = $( el.childNodes[a] );
    if( child.get && child.get('class') == 'sub_menu' ){
      removeArray.push( el.childNodes[a] );
    }
  }
  for( var a = 0; a < removeArray.length; a++ ){
    el.removeChild( removeArray[a] );
  }
}


function createSubMenu(){
  var div = $(document.createElement('div'));
  div.setStyle('position', 'absolute');
  div.setStyle('background-color', '#000');
  div.setStyle('border', '1px solid #00F');
  div.setStyle('top', '20px');
  div.setStyle('left', '0px');  
  div.set('class', 'sub_menu');
  return div;
}


function showchangeplaylist(){

  var el = $('playlist_option');
  var div = createSubMenu();
  div.setStyle('left', '211px');

  var html = '<table width="200">';
  var playlistArray = PLAYLISTLIST.playlistArray;
  var currentPlaylistNumber = LOADEDPLAYLIST.playlistnumber;

  var img = '<span style="padding-right:5px"><img src="'+ statichost + '/images/mediaconsole/checkmark.gif"></span>';
  for( var a = 0; a < playlistArray.length; a++ ){
    var localimage = '<span style="padding-left:15px"></span>';
    if( playlistArray[a].playlist_number == currentPlaylistNumber ){
      localimage = img;
    }
    if( playlistArray[a].playlist_number == 0 ){
      html += '<tr><td onclick="setplaylistfocus(0);hidePlaylistOptions()">'+localimage+'Unsaved Playlist</td></tr>';
    }else{
      html += '<tr><td onclick="setplaylistfocus(' + playlistArray[a].playlist_number + ');hidePlaylistOptions()">' + 
              localimage + playlistArray[a].name + '</td></tr>';
    }
  }
  html += '</table>';
  div.innerHTML = html;
  el.appendChild( div );
  initSubMenu( 'playlist_option' );
}

function showPlaylistOptions(){
  
  var el = $('playlist_option');
  

  var found = false;
  var removeArray = new Array();
  for( var a = 0; a < el.childNodes.length; a++ ){
    var child = $( el.childNodes[a] );
    if( child.get && child.get('class') == 'sub_menu' ){
      removeArray.push( el.childNodes[a] ); found = true;
    }
  }
  for( var a = 0; a < removeArray.length; a++ ){
    el.removeChild( removeArray[a] );
  }
  if( found ){ el.set('class', ''); return; }


  var sessionplaylistArray = sessionplaylist_getplaylist();
  var sessionplaylisthassongs = ( sessionplaylistArray != null && sessionplaylistArray.length != 0 &&
                                  sessionplaylistArray[0].songs != null && sessionplaylistArray[0].songs.length != 0 );

  var div = createSubMenu();
  var html = '<table width="200">';
  if( sessionplaylisthassongs ){
    html += '<tr><td onclick="showsaveplaylist();hidePlaylistOptions()">Save Unsaved Playlist</td></tr>';
  }
  if( loggedIn && PLAYLISTLIST.playlistArray != null && PLAYLISTLIST.playlistArray.length > 1 ){
    html += '<tr><td onclick="showchangeplaylist();">Change Playlist</td></tr>';
  }
  html += '<tr><td onclick="showcreateplaylist();hidePlaylistOptions()">Create New Playlist</td></tr>';  
  html += '<tr><td onclick="showimportplaylist();hidePlaylistOptions()">Import Playlist</td></tr>';
  html += '</table>';
  div.innerHTML = html;
  el.appendChild( div );
  initSubMenu( 'playlist_option' );
}


function showSearchOptions(){
  var el = $('search_option');
 
  var found = false;
  var removeArray = new Array();
  for( var a = 0; a < el.childNodes.length; a++ ){
    var child = $( el.childNodes[a] );
    if( child.get && child.get('class') == 'sub_menu' ){
      removeArray.push( el.childNodes[a] ); found = true;
    }
  }
  for( var a = 0; a < removeArray.length; a++ ){
    el.removeChild( removeArray[a] );
  }
  if( found ){ el.set('class', ''); return; }


  var mode = 'all';
  var cookie = new Hash.Cookie('searchoptions', {duration:1, domain: 'flashwidgetz.com', path: '/'} );
  if( cookie != null ){
    var searchtype = cookie.get('searchtype');
    if( searchtype != null ){
      if( searchtype == 'video' ) mode = 'video';
      else if( searchtype == 'mp3' ) mode = 'mp3';
      else if( searchtype == 'all' ) mode = 'all';
    }
  }
  
  var mp3_img = '<span style="padding-left:15px"></span>';
  var video_img = '<span style="padding-left:15px"></span>';
  var all_img = '<span style="padding-left:15px"></span>';
  var img = '<span style="padding-right:5px"><img src="'+ statichost + '/images/mediaconsole/checkmark.gif"></span>';
  if( mode == 'video' ){
    video_img = img;
  }else if ( mode == 'mp3' ){
    mp3_img = img;
  }else{
    all_img = img;
  }
  var div = createSubMenu();
  var html = '<table width="200">';
  html += '<tr><td id="mode_all" onclick="selectSearchModeClick(this);hideSearchOptions()">'+ 
          all_img +'Search All (MP3+Video)</td></tr>';
  html += '<tr><td id="mode_video_thumbnail" onclick="selectSearchModeClick(this);hideSearchOptions();">'+ 
          video_img +'Search Videos Only</td></tr>';
  html += '<tr><td id="mode_mp3" onclick="selectSearchModeClick(this);hideSearchOptions();">'+ 
          mp3_img +'Search MP3s Only</td></tr>';
  html += '</table>';
  div.innerHTML = html;
  el.appendChild( div );
  initSubMenu( 'search_option' );
}



function initSubMenu( id ){
  $$('#' + id + ' .sub_menu td').each( function( el ){
     el.addEvent( 'mouseover', function(){ this.set('class', 'sel') } );
     el.addEvent( 'mouseout', function(){ this.set('class', '') } );
  });

  if( browser.isIE ){

    addDocumentClickEvent( 'sub_menu', function(event){

      if( $(event.target).get('class') == 'sel' ||
         event.target.id.indexOf('_title') != -1 )
       {
        return;
      }
      hidePlaylistOptions();
      hideManualAdd();
      hideSearchOptions();
    });

  }else{
    addWindowClickEvent( 'sub_menu', function(event){
      if( $(event.target).get('class') == 'sel' || 
         event.target.id.indexOf('_title') != -1 )
       {
        return;
      }
      hidePlaylistOptions();    
      hideManualAdd();
      hideSearchOptions();
    });
  }


}