function toggleDaHeader(targetHeight) {
	if($('ExplainExpanded').style.display == 'none') {
	expandDaHeader(targetHeight);	
	}
	else {
	contractDaHeader(targetHeight);
	}
}


function expandDaHeader(targetHeight) {
	var secondTarget = targetHeight + 75;
	new Effect.GrowTo('ExplainWrapper', {height: targetHeight, duration: .3}); 
	new Effect.GrowTo('Header', {height: secondTarget, duration: .3}); 
	if($('HeaderInner')) {
		new Effect.GrowTo('HeaderInner', {height: secondTarget, duration: .3}); 
	}
	else {
		new Effect.GrowTo('HeaderInnerMinimal', {height: secondTarget, duration: .3}); 
	}
	new Effect.Appear('ExplainExpanded', {duration:.3}); 
	new Effect.Fade('ExplainCollapsed', {duration: .3}); return false;
}

function contractDaHeader(targetHeight) {
	new Effect.ShrinkBack('ExplainWrapper', {height: targetHeight, duration: .3}); 
	new Effect.ShrinkBack('Header', {height: targetHeight, duration: .3}); 
	if($('HeaderInner')) {
		new Effect.ShrinkBack('HeaderInner', {height: targetHeight, duration: .3}); 
	}
	else {
		new Effect.ShrinkBack('HeaderInnerMinimal', {height: targetHeight, duration: .3}); 
	}
	new Effect.Fade('ExplainExpanded', {duration:.3}); 
	new Effect.Appear('ExplainCollapsed', {duration: .3});
}


var currentAccordian = '';

function toggleAccordian(accordianID) {
	if(accordianID != currentAccordian) {
		if($(accordianID).style.display == 'none') {
			$(currentAccordian).style.display = 'none';
			$(accordianID).style.display = 'block';
			$(accordianID+"_link").className = "tabberactive";
			$(currentAccordian+"_link").className = "";
			new Ajax.Request("/ajax_actions.php?action=update_accordian&accordian_value="+accordianID);
			currentAccordian = accordianID;
		}
	}
}

var currentTabber = '';

function switchTabber(tabberID) {
	playerID = 0;
	for(i = 0; i < playerArray.length; i++) {
		if(playerArray[i] && getAudioPlayer(playerArray[i])) {
			if(playerArray[i] != playerID) {
				try {
					getAudioPlayer(playerArray[i]).SetVariable('closePlayer',1);
					getAudioPlayer(playerArray[i]).SetVariable('autostart',0);
				}
				catch (error) {

				}
			}
			else {
				getAudioPlayer(playerArray[i]).SetVariable('closePlayer',0);
			}
		}
	}

	if(tabberID != currentTabber) {
		if($(tabberID).style.display == 'none') {
			if(currentTabber) {
				$(currentTabber).style.display = 'none';
			}
			$(tabberID).style.display = 'block';
			$(tabberID+"_link").className = "tabberactive";
			if(currentTabber) {
				$(currentTabber+"_link").className = "";
			}
			currentTabber = tabberID;
		}
	}
}

function unlockAccordian(accordianID) {
	accordianLock[accordianID] = false;
}




  function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

  function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }

  function opacity(id, opacStart, opacEnd, millisec) {
      var speed = Math.round(millisec / 100);
      var timer = 0;

      if(opacStart > opacEnd) {
			for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
         }
		}
		else if(opacStart < opacEnd) {
			for(i = opacStart; i <= opacEnd; i++) {
				setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
				timer++;
         }
      }
   }

//change the opacity for different browsers
   function changeOpac(opacity, id) {
		var object = $(id).style;
		object.opacity = (opacity / 100);
		object.MozOpacity = (opacity / 100);
		object.KhtmlOpacity = (opacity / 100);
		object.filter = "alpha(opacity=" + opacity + ")";
   }



function checktoggle( checkBox )
{	// First, figure out which row we need to decorate by climbing the DOM.
	var elementToDecorate = checkBox;
	while ( elementToDecorate.tagName.toUpperCase() != 'TR' )
		elementToDecorate = elementToDecorate.parentNode;

	// Then figure out which class to use.
	if ( checkBox.checked )
	{	elementToDecorate.oldClassName = elementToDecorate.className;
		elementToDecorate.className = 'ContentTableRowOn';
	}
	else
	{
		elementToDecorate.className = elementToDecorate.oldClassName;
	}
}




function file_name_only(str) 
{
	var slash = '/'
	if (str.match(/\\/)) slash = '\\'
	return str.substring(str.lastIndexOf(slash) + 1, str.lastIndexOf('.'))
}

// Handles the alternating row colors for divs in a list

function alternateListRowColors()
{
	
	$$( '.ListRowSet' ).each( 
		function(listRowSet) 
		{	
			var listRows = listRowSet.select('.ListRow');
			for(x = 0; x < listRows.length; x++) {
				if(x % 2 == 0) {
					className = "ListRow";
				}
				else {
					className = "ListRowOdd";
				}
				listRows[x].className = className;
			}
			
			/*
				var listRows = 
					$A( lrs.childNodes ).findAll( 
						function(cn) { return cn.className && Element.hasClassName( cn, 'ListRow' ); } );
				for ( var i=1; i<listRows.length; i+=2 )
					listRows[i].className = 'ListRowOdd';
			*/
		} );
}

function addMusicFormatToMusic(musicID) {
	new Ajax.Request('/ajax_actions.php',{
		parameters: {
			action: 'add_music_format_to_music',
			music_id: musicID,
			music_format_id: $('music_format_id_'+musicID).value
		},
		evalScripts: true,
		onComplete: function (response) {
			$('add_purchase_format').fade({duration: .3});
			$('music_formats_'+musicID).insert(response.responseText);
			
		}
	});
}

function saveMusicDescription(musicID) {
	new Ajax.Request('/ajax_actions.php',{
		parameters: {
			action: 'update_music_description',
			music_id: musicID,
			music_description: $('music_description_'+musicID).value
		},
		onComplete: function () {
			$('save_complete').show();
			new Effect.Pulsate('save_complete',{
				duration: 5,
				afterFinish: function () {
					$('save_complete').hide();
				}
			});
		}
		
	});
}

function deleteSelectedMusic() {
	if(confirm('Are you sure you want to delete this music?')) {
		var musicList = $$('#music_table input[type="checkbox"]');
		for(x = 0; x < musicList.length; x++) {
			if(musicList[x]) {
				if(musicList[x].checked) {
					musicID = musicList[x].value;
					new Ajax.Request('/ajax_actions.php', {
						parameters: {
							action: 'delete_music',
							music_id: musicList[x].value
						},
						onComplete: function () {
							$('music_row_'+musicID).hide();
						}
					});
				}
			}
		}
	}
}

function deleteMusicFormatMusic(musicID,musicFormatID) {
	new Ajax.Request('/ajax_actions.php',{
		parameters: {
			action: 'delete_music_format_music',
			music_id: musicID,
			music_format_id: musicFormatID
		},
		onComplete: function () {
			$('music_format_music_'+musicID+'_'+musicFormatID).fade({duration: .3});
		}
	});
}
var playerArray = new Array();
var playerCounter = 0;

function loadPlayer(trackID,playerURL,randomNumber) {
   var playerID = trackID+'_'+randomNumber;
   playerID = trackID;
   for(i = 0; i < playerArray.length; i++) {
      if(playerArray[i] && getAudioPlayer(playerArray[i])) {
         if(playerArray[i] != playerID) {
            try {
               getAudioPlayer(playerArray[i]).SetVariable('closePlayer',1);
            }
            catch (error) {

            }
         }
         else {
            getAudioPlayer(playerArray[i]).SetVariable('closePlayer',0);
         }
      }
   }

   var flashvars = {
      playerID: playerID,
      leftbg: "0x333333",
      rightbg: "0x333333",
      lefticon: "0xf1f1f1",
      rightbghover: "0x000000",
      righticon: "0xf1f1f1",
      righticonhover: "0xed165c",
      text: "0x333333",
      slider: "0x333333",
      track: "0x333333",
      border: "0x333333",
      loader: "0xed165c",
      autostart: "yes",
      soundFile: "http://"+playerURL
   };
   var params = {
      quality: "high",
      wmode: "transparent",
      menu: "false"
   };
   var attributes = {};

   swfobject.embedSWF('/js/audioplayer/player.swf','player_'+playerID,'290','24','6','expressInstall.swf',flashvars,params,attributes);
  
   playerArray[playerCounter] = playerID;
	playerCounter++;
}

function getAudioPlayer(playerID) {
   movieName = 'player_'+playerID;
   if (navigator.appName.indexOf("Microsoft") != -1) {
     if(window[movieName]) {
         return window[movieName];
     }
   } else {
      if(document[movieName]) {
      return document[movieName];
      }
   }
   return false;
}

function logPlay() { 
}


moveCounter = 0;

function moveScroll(direction) {
	originalCounter = moveCounter;
	if(direction == 'left') {
		if(moveCounter == 0) {
			moveCounter = 5;
			movementAmount = -5*610;
		}
		else {
			moveCounter--;
			movementAmount = 610;
		}
	}
	else if (direction == "right") {
		if(moveCounter == 5) {
			moveCounter = 0;
			movementAmount = 5*610;
		}
		else {
			moveCounter++;
			movementAmount = -610;
		}
	}

	new Effect.Move($('move_container'),{
			x: movementAmount,
			method:'relative',
			duration: .5
	});
}


function movePosition(position) {
	if(moveCounter > position) {
		multiplier = moveCounter - position;
	}
	else if (moveCounter < position ) {
		multiplier = -1*(position - moveCounter);
	}
	else {
		multiplier = 0;
	}
	if(multiplier) {
		var movementAmount = multiplier * 610;
		new Effect.Move($('move_container'),{x: movementAmount,duration: .5});
	}
	moveCounter = position;
}
