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;
			}
		} );
}


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;

/* Used when loading the audio player from a.AudioPlayerStatic (typically used with .ListRow) */
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','/js/audioplayer/expressInstall.swf',flashvars,params,attributes);				 
 
	playerArray[playerCounter] = playerID;  
	playerCounter++;	
}					


/* Used when loading the audio player into a fancyzoom (we call this function at the same time we call fancyzoom) */
function loadPlayerNew(clickedLink,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", */ // don't autostart it otherwise it will start playing right away
      soundFile: "http://"+playerURL
   };
   var params = {
      quality: "high",
      wmode: "transparent",
      menu: "false"
   };
   var attributes = {};
   swfobject.embedSWF('/js/audioplayer/player.swf',$(clickedLink).up().identify(),'290','24','6','/js/audioplayer/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;
}


function buyToggle(musicID,musicFormatID,minimumPrice,selectedPrice) {					
	$('free_note_'+musicID+'_'+musicFormatID).hide();					
	$('buy_error_'+musicID+'_'+musicFormatID).hide();				
	$('buy_note_'+musicID+'_'+musicFormatID).show();					 
	if(parseFloat(selectedPrice) == 0 && parseFloat(minimumPrice) == 0) {				 
		if($('free_'+musicID+'_'+musicFormatID)) {					 
			$('buy_'+musicID+'_'+musicFormatID).hide();				
			$('email_'+musicID+'_'+musicFormatID).appear({duration: .2, afterFinish: function () {  $('emailaddress_'+musicID+'_'+musicFormatID).focus();}});					
			$('left_'+musicID).morph('height:75px;',{duration: .2});						  
			$('buy_note_'+musicID+'_'+musicFormatID).hide();		 
			$('free_note_'+musicID+'_'+musicFormatID).show();		
			$('free_note_'+musicID+'_'+musicFormatID).pulsate();	
		}					
	}						
	else if(selectedPrice && selectedPrice >= minimumPrice) {	 
		if($('free_'+musicID+'_'+musicFormatID)) {					 
			$('free_'+musicID+'_'+musicFormatID).hide();			  
			$('email_'+musicID+'_'+musicFormatID).fade({duration: .1});					  
			$('left_'+musicID).morph('height:54px;',{duration: .2});						  
			$('free_note_'+musicID+'_'+musicFormatID).hide();		
		}					
		$('buy_'+musicID+'_'+musicFormatID).show();					
	}						
	else {				 
		if($('free_'+musicID+'_'+musicFormatID)) {					 
			$('free_'+musicID+'_'+musicFormatID).hide();			  
		}					
		$('buy_'+musicID+'_'+musicFormatID).hide();					
		if(selectedPrice !== '' && (isNaN(selectedPrice) || parseFloat(selectedPrice) < minimumPrice)) {	 
			$('buy_note_'+musicID+'_'+musicFormatID).hide();		 
			$('buy_error_'+musicID+'_'+musicFormatID).show();		
			$('free_note_'+musicID+'_'+musicFormatID).hide();		
		}					
	}						

}


/* used when the buy buttons are in fancyzoom */
function buyToggleNew(inputField,musicID,musicFormatID,minimumPrice,selectedPrice) {
	$(inputField).next(".free_note").hide();
	$(inputField).next(".buy_error").hide();
	$(inputField).next(".buy_note").show();
	if(parseFloat(selectedPrice) == 0 && parseFloat(minimumPrice) == 0) {
		if($(inputField).up().next().down('.free_button')) {
			$(inputField).up().next().down('.buy_button').hide();
			$(inputField).next(".email_container").appear({duration: .2, afterFinish: function () {  $('emailaddress_'+musicID+'_'+musicFormatID).focus();}});
			$(inputField).up().morph('height:75px;',{duration: .2});
			$(inputField).next(".buy_note").hide();
			$(inputField).next(".free_note").show();
			$(inputField).next(".free_note").pulsate();
		}	
	}
	else if(selectedPrice && selectedPrice >= minimumPrice) {
		if($(inputField).up().next().down('.free_button')) {
			$(inputField).up().next().down('.free_button').hide();
			$(inputField).next(".email_container").fade({duration: .1});
			$(inputField).up().morph('height:54px;',{duration: .2});
			$(inputField).next(".free_note").hide();

		}
		$(inputField).up().next().down('.buy_button').show();

	}
	else {
		if($(inputField).up().next().down('.free_button')) {
			$(inputField).up().next().down('.free_button').hide();
		}

		$(inputField).up().next().down('.buy_button').hide();
		if(selectedPrice !== '' && (isNaN(selectedPrice) || parseFloat(selectedPrice) < minimumPrice)) {
			$(inputField).next(".free_note").hide();
			$(inputField).next(".buy_error").show();
			$(inputField).next(".buy_note").hide();
		}
	}
	
}


function emailToggle(musicID,musicFormatID,emailAddress) {
//	$('free_error_'+musicID+'_'+musicFormatID).hide();
//	$('free_note_'+musicID+'_'+musicFormatID).show();
	var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;

	if(pattern.test(emailAddress)) {
		// MATT DO EMAIL ERROR CHECK HERE
		$('free_'+musicID+'_'+musicFormatID).show();	
	}
	else {
		$('free_'+musicID+'_'+musicFormatID).hide();	

	}
}

hasValidEmail = false;

/* Used when the buy buttons are in fancyzoom */
function emailToggleNew(inputField,emailAddress) {
//	$('free_error_'+musicID+'_'+musicFormatID).hide();
//	$('free_note_'+musicID+'_'+musicFormatID).show();
	var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;

	if(pattern.test(emailAddress)) {
		hasValidEmail = emailAddress;
		$(inputField).up().up().next().down().show();
		
	}
	else {
		hasValidEmail = null
		$(inputField).up().up().next().down().hide();
	}
}


/* Used when the buy buttons are in fancyzoom */
function toggleVariablePrice(clickedLink) {
	$(clickedLink).fade({duration: .05});
	$(clickedLink).next().appear({
		duration: .2,
		afterFinish: function (effectObject) {
			effectObject.element.down(".amountinput").focus();
		}
	});
}


function checkPrice(formElement,minPrice) {
	price = $(formElement).down(".amountinput").value;
	if(price < minPrice) {
		$(formElement).down(".amountinput").value = minPrice;
	}
}


function addDownloadCode(musicID) {
	new Ajax.Updater('dc_result','/ajax_actions.php',{
				parameters: {
					action: 'add_download_code',
					music_id: musicID
				},
				onComplete: function() {
					 new Effect.Pulsate('dc_result',{
						duration: 5, 
						}); 
				}
			});
}

