Getting GUI buttons to perform actions when true

Hi I'm new with Unity and I'm creating a simple racing game. I'm creating a menu that will allow players to select a racing track to race on and vehicle to race with. When selecting a race track I have a toolbar at the top with the names of the different race tracks, a picture of the selected race track, a button on the bottom that will allow players to continue to the page where they will select their vehicle, and some music playing in the background. Here's what I need to figure out:

  1. When a track is selected in the toolbar I want the picture to change to the picture of the track.

  2. When a track is selected in the toolbar I want the properties to change on the button so that the button will take you to a different page when pressed. The page it takes you to depends on which track is selected.

  3. I want the music to play throughout every page on the menu, but I don't want it to start at the beginning of the track again.

If you can answer any of my questions that would be great.

You want to declare a different GUIStlye for each track you have and store a variable for which track to load. Fairly simple.

e.g.

var trackOneGUI : GUIStyle;
var trackTwoGUI : GUIStyle;
private var trackPreview : GUIStyle;
private var levelToLoad : int = 1;

function Start(){
   trackPreview = trackOneGUI;
}

function OnGUI(){
   // change the level
   if(GUI.Button(Rect(someRect),"Change Track")){
      levelToLoad=2;
      trackPreview = trackTwoGUI;
   }
   // track preview and load level button
   if(GUI.Button(Rect(someRect),"Start",trackPreview)){
      Application.LoadLevel(levelToLoad);
   }
}

You need to set GUI styles for every track that you have with a texture of the track preview in the "normal" setting.