flowerInfo = {
  searchResultHandler: function( state, target ){
	target = $(target).parent();
    if( state == "up" ){ playSong(target); return true; }
    if( state == "down" ){ addToPlaylistOption(target); return true; }
	if( state == "buy" ){ window.open('http://www.google.com/products?q='+$(target).text()); return true; 	}
    return false;
  },

  playlistHandler: function( state, target ){
	target = $(target).parent();	
    if( state == "up" ){ playSong(target); return true; }
    if( state == "down" ){ removeSongOption(target, true); return true; }
    return false;
  },

  shelves: function( event, state, target ){
	target = $(target).parent();	
    $(".shelf").stop()
    var top = parseInt( $(event.target).css("top") );
    var left = parseInt( $(event.target).css("left") );


    theFlower = this;
    function hideFlower( flower ){
      $("#right_shelf").hide();
      $(".song-click").removeClass( "song-click" );
      $(theFlower).fadeOut("fast", function(){
        $(theFlower).remove();
      });
    }

    if( state == "right" ){
	  // Set Shelf Actions
      $("#yes").unbind("mouseup").mouseup( function(){ rateSong( target, 1, true ); hideFlower(); } );
      $("#no").unbind("mouseup").mouseup( function(){ rateSong( target, 0, true ); hideFlower(); } );
	
      $("#left_shelf").hide();

      $("#right_shelf").css( {top:top+38, left:left+135} );
      $("#right_shelf").show().css( "opacity", 1 );
    }

    else if( state == "left" ){	  
	  // Set Shelf Actions
	  songID = youtubeId( target );
      $("#link").unbind("mouseup").mouseup( function(){ linkToSong( songID ); return true; } );
	  $("#send").unbind("mouseup").mouseup( function(){ sendToFriend( target ); return true; } );
	  $("#myspace").unbind("mouseup").mouseup( function(){ myspaceProfile( songID ); return true; } );
      $("#embed").unbind("mouseup").mouseup( function(){ embedSong( target ); return true; } );
	
      $("#right_shelf").hide();
      
      $("#left_shelf").css( {top:top+38, left:left-128} );
      $("#left_shelf").show().css( "opacity", 1 );
    }

    else{
      $(".shelf").hide()
    }
  },

  leave: function( event, target, hideFunc){
    if( !$(target).partOf(".shelf") ){
      $(".shelf").hide()
      hideFunc();
    }

    $(".shelf").unbind( "mouseout" ).mouseout( function(e){
      var target = $(e.relatedTarget);
      if( !$(e.relatedTarget).is( ".pie_menu" ) && !target.partOf(".shelf") ){
        $(".shelf").hide()
        hideFunc();
      }
    })
  }
}

function errantTarget( target ) {
	targetID = $(target).attr('id');
		
	if( targetID == "play-marker" )
		correctTarget = $(target).parent();
	else if ( targetID == undefined && target.value == undefined )
		correctTarget = $(target).parent().parent();
	else
		correctTarget = target;
				
	return $(correctTarget);
}
