window.addEvent('domready', function() {
  init();
  $('howmanysongs').set("html", $$('.list_artist').length);
  
  $$(".type").addEvent('click', function(){
    $$(".type").set("class", "smallbutton type");
	this.set("class", "smallbutton current type");
	
	updateSongList();
	return false;
  });
  
  $$(".genre").addEvent('click', function(){
	
	if(this.get("class") == "smallbutton current genre") this.set("class", "smallbutton genre");
	else this.set("class", "smallbutton current genre");
	
    var all_selected = $('genre_selection').getChildren('.current').get("id");
	var all_string = "";
	all_selected.each(function(item, index){
      all_string += item.split("_")[1]+","; 
    });
	$('genres').set("value", all_string.substr(0, all_string.length-1));
	
	updateSongList();
	return false;
  });
  
  $('loading').fade(0);
  
});

var open_song_list;
var myEffect;
 


function init(){

  

  $$("a.view_songs").addEvent('click', function(){	 
    //var song_list = document.getElementById(this.href.split("http://www.using2.com/")[1]);
	var song_list = $(this.href.split("http://www.using2.com/")[1]);
	
    if(!$chk(this.retrieve("fullHeight"))) this.store("fullHeight", song_list.offsetHeight);
	
    if(song_list.getStyle("visibility") == "hidden") song_list.setStyle("visibility", "visible").setStyle("height", 0);
	
    toggleSongList(song_list, this);
    return false;
  });  

  $$(".song_link").addEvents({
    'mouseover': function(){
        this.set("class", "highlighted");
    },
    'mouseout': function(){
        this.set("class", "");
    },
	'click': function(){
	   window.location = this.getChildren("a");
	}
  });

}

function updateSongList(){
  var genres = $('genres').get("value");
  var type   = $$(".smallbutton.current.type").get("id");
  $('artist_results').fade(0.2);
  $('loading').fade(1);
  
  var myRequest = new Request({method: 'post', url: 'http://www.using2.com/embeds/songs', onSuccess: function(response) { $('artist_results').set("html", response).fade(1); updateCount.delay(600); $('loading').fade(0); } }).send('g='+genres+'&s='+type);
  
  
}
function updateCount(){
  $('howmanysongs').set("html", $$('.list_artist').length);
  init();
}
function toggleSongList(list, self){
  
  $$(".open").set('morph', {duration: 'long', transition: Fx.Transitions.Sine.easeOut}).morph({opacity: 0 }).set("class", "outter_songs");
  
  if(list.getStyle("height") == "0px") list.set('morph', {duration: 'long', transition: 'bounce:out'}).morph({height: [0, self.retrieve('fullHeight')], opacity: 1 }).set("class", "outter_songs open");
  else list.set('morph', {duration: 'long', transition: Fx.Transitions.Sine.easeOut}).morph({opacity: 0 }).set("class", "outter_songs");

  return false;
  
}
