// Get Menues
function get_menues(){
  get_menue('Genre', $('.main_options_nav > .genre'));
  get_menue('Mood', $('.main_options_nav > .mood'));
  get_menue('Tempo', $('.main_options_nav > .tempo'));
  get_menue('Inst', $('.main_options_nav > .instrument'));
  get_menue('Library', $('.main_options_nav > .library'));
  
  get_menue('Theme', $('.main_options_nav > .theme'));
  get_menue('Artist', $('.main_options_nav > .artist'));
  get_browse_menue();
}

function get_menue(area, li, url, uri){
  if(li.children('ul:first').length == 0){li.append("<ul class='hidden'></ul>")}
  var ul = li.children('ul:first');
  var options = {area:area, userID:get_user_id()}
  if(uri){}else{var uri = menugen_url}
  if(url){}else{var url = $.param.querystring(uri, options);}
  $.ajax({
    url: url,
    beforeSend: function(){ul.html('<li><img class="loading" src="images/loading.gif"/></li>')},
    success: function(xml){
      ul.html('');
      var depth = $(xml).find('menu').attr('depth');
      if(depth == 0){
        append_menue_options($(xml).find('i'), ul, area);
      }else if(depth == 1){
        $(xml).find('section').each(function(){
          ul.append('<li><a>' + $(this).attr('name') +  '</a><ul class="hidden"></ul></li>');
          var my_ul = ul.find('li:last ul');
          my_ul.append(get_feature_li(area, '-1:' + map_attr($(this).find('i'), 'id').join(':'), "ALL " + $(this).attr('name').toUpperCase()));
          append_menue_options($(this).find('i'), my_ul, area);
        });
      }else{
       // alert('depth not matched!');
      }
    },
    error: function(response, status, error){alert("Menu Generator - " + status + ": " + error)}
  });
}

function append_menue_options(xml, my_ul, area){
  xml.each(function(){
    my_ul.append(
      get_feature_li(area, $(this).attr('id'), $(this).attr('name'))
    );
  });
}

function get_feature_li(key, value, name){
  return "<li><a class='add_feature' rel='" + [key, value].join(':') + "'>" + name +"</a></li>"
}
