﻿//---------------------------------------
//  FORCE FRAMESET
//---------------------------------------

if(window==top){
	action = document.URL.replace(/http:\/\//i, "");
	action = action.replace(/www./i, "");
	action = action.replace(/audiojelly.com\//i, "");
	action = action.replace(/audiojelly.net\//i, "");
	action = action.replace(/81.89.136.209\//, "");
	action = action.replace(/81.89.136.218\//, "");
	action = action.replace(/81.89.136.221\//, "");	
	top.location.replace("http://www.audiojelly.com/?a="+action);
}



//---------------------------------------
//  STANDARD SHARED FUNCTIONS
//---------------------------------------

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

var xmlhttp = false;    
if (window.XMLHttpRequest) {
	xmlhttp = new XMLHttpRequest();
}else if (window.ActiveXObject) {
	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}



//---------------------------------------
//  OLD FASHIONED POPUP WINDOWS
//---------------------------------------

function popUp(URL,w,h) {
	day = new Date();
	id = day.getTime();
	var winl = (screen.width-500)/2;
	var wint = (screen.height-400)/3;
	eval("page" + id + " = window.open('" + URL + "', '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=" + w + ",height=" + h + ",left =" + winl + ",top =" + wint + "');");
}

function bookmark(action,path) {
	if(action=="facebook"){
		URL = "http://www.facebook.com/sharer.php?u=http://www.audiojelly.com/"+path;
	}
	day = new Date();
	id = day.getTime();
	var winl = (screen.width-500)/2;
	var wint = (screen.height-400)/3;	
	eval("page" + id + " = window.open('" + URL + "', '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=1,menubar=0,resizable=1,width=620,height=400,left =" + winl + ",top =" + wint + "');");
}



//---------------------------------------
//  TOP FRAME POSITIONING
//---------------------------------------

function getX(oElement){
	var iReturnValue = 0;
	while( oElement != null ) {
		iReturnValue += oElement.offsetLeft;
		oElement = oElement.offsetParent;
	}
	if(parent.frames.topFrame){
		parent.frames.topFrame.document.getElementById('playerContainer').style.marginLeft = iReturnValue + 'px';
	}
}

function checkPos(){
	getX(document.getElementById("logoBottom"));
}



//---------------------------------------
//  PLAYER FUNCTIONS
//---------------------------------------

function addTrack(addType,rowType,trackNum){
	if(addType=="queueAll"){
		listLen = parseInt(document.getElementById("trackListLen").value);
		newTracks = "";
		newClientTracks = "";
		for(i=1;i<=listLen;++i){
			thisField = document.getElementById(rowType+i).value;
			thisFlashField = thisField.replace(/\|/g, '||');
			newTracks += thisFlashField + "|||";
			infoArray = thisField.split("|");
			newClientTracks += infoArray[1] + "|" + infoArray[4];
			if(i<listLen){
				newClientTracks += "|";
			}
		}
		var url = "includes/playlist_handler.cfm?addMulti=" + newClientTracks + "&ms=" + new Date().getTime();
	}else{		
		infoField = document.getElementById(rowType+trackNum).value;
		infoArray = infoField.split("|");
		var url = "includes/playlist_handler.cfm?add=" + infoArray[1] + "&id=" + infoArray[4] + "&ms=" + new Date().getTime();
	}
	xmlhttp.open('GET', url, true);
	xmlhttp.onreadystatechange = function() {
		if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {				
			top.frames.main.document.getElementById("emptyMsg").style.display = 'none';
			var scrollBox = top.frames.main.document.getElementById("plistScrollbox");			
			if(addType=="queueAll"){
				top.frames.topFrame.document.getElementById("AJPlayer").queueAllFlash(newTracks);				
				oldPlistLen = parseInt(top.frames.main.document.getElementById("plistLen").value);
				var plistLen = oldPlistLen + listLen;
				newClientArray = newClientTracks.split("|");
				newHTML = "";
				thisRow = oldPlistLen + 1;
				for(i=0;i<newClientArray.length;i=i+2){
					if(thisRow<10){
						var thisPos = "0" + thisRow;
					}else{
						var thisPos = thisRow;
					}
					newHTML += '<div class="plistTrackRow" id="row'+thisRow+'" onMouseOver="this.style.backgroundImage=\'url(images/bg-plistTrackRow.png)\';" onMouseOut="this.style.backgroundImage=\'none\';"><span class="plistHighlight" id="plistRow'+thisRow+'"><span class="plistTrackNum" id="plistNum'+thisRow+'" onClick="skipTrack('+thisRow+')">'+thisPos+'</span><span class="plistTrackName" id="plistName'+thisRow+'" onClick="skipTrack('+thisRow+')">'+unescape(newClientArray[i])+'</span><span class="plistRemove"><a href="javascript:removeTrack('+thisRow+');" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(\'plRemove'+thisRow+'\',\'\',\'images/b-plRemove_over.png\',1)"><img src="images/b-plRemove.png" height="15" width="12" name="plRemove'+thisRow+'" border="0"></a></span></span></div>\n\n';
					thisRow += 1;
				}
				scrollBox.innerHTML = top.frames.main.document.getElementById("plistScrollbox").innerHTML + newHTML;
			}else{
				top.frames.topFrame.document.getElementById("AJPlayer").addTrackFlash(addType,infoArray[0],infoArray[1],infoArray[2],infoArray[3],infoArray[4],infoArray[5]);	
				var plistLen = parseInt(top.frames.main.document.getElementById("plistLen").value) + 1;			
				if(plistLen<10){
					var plistPos = "0" + plistLen;
				}else{
					var plistPos = plistLen;
				}
				scrollBox.innerHTML = top.frames.main.document.getElementById("plistScrollbox").innerHTML + '<div class="plistTrackRow" id="row'+plistLen+'" onMouseOver="this.style.backgroundImage=\'url(images/bg-plistTrackRow.png)\';" onMouseOut="this.style.backgroundImage=\'none\';"><span class="plistHighlight" id="plistRow'+plistLen+'"><span class="plistTrackNum" id="plistNum'+plistLen+'" onClick="skipTrack('+plistLen+')">'+plistPos+'</span><span class="plistTrackName" id="plistName'+plistLen+'" onClick="skipTrack('+plistLen+')">'+unescape(infoArray[1])+'</span><span class="plistRemove"><a href="javascript:removeTrack('+plistLen+');" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(\'plRemove'+plistLen+'\',\'\',\'images/b-plRemove_over.png\',1)"><img src="images/b-plRemove.png" height="15" width="12" name="plRemove'+plistLen+'" border="0"></a></span></span></div>';
			}
			scrollBox.scrollTop = scrollBox.scrollHeight;
			top.frames.main.document.getElementById("plistLen").value = plistLen;
		}
	};
	xmlhttp.send(null);
}

function removeTrack(pos){
	var url = 'includes/playlist_handler.cfm?remove=' + pos + '&ms=' + new Date().getTime();
	xmlhttp.open('GET', url, true);
	xmlhttp.onreadystatechange = function() {
		if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {				
			top.frames.topFrame.document.getElementById("AJPlayer").removeTrackFlash(pos);
			var plistLen = parseInt(document.getElementById("plistLen").value);
			var newPlaylist = "";
			var count = 1;
			for(i=1; i<=plistLen; i++){
				if(i != parseInt(pos)){
					if(count < 10){
						var trackNum = "0" + count;
					}else{
						var trackNum = count;
					}
					var trackName = document.getElementById("row"+i).getElementsByTagName('span')[2].innerHTML;
					newPlaylist += '<div class="plistTrackRow" id="row'+count+'" onMouseOver="this.style.backgroundImage=\'url(images/bg-plistTrackRow.png)\';" onMouseOut="this.style.backgroundImage=\'none\';"><span class="plistHighlight" id="plistRow'+count+'"><span class="plistTrackNum" id="plistNum'+count+'" onClick="skipTrack('+count+')">'+trackNum+'</span><span class="plistTrackName" id="plistName'+count+'" onClick="skipTrack('+count+')">'+trackName+'</span><span class="plistRemove"><a href="javascript:removeTrack('+count+');" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(\'plRemove'+count+'\',\'\',\'images/b-plRemove_over.png\',1)"><img src="images/b-plRemove.png" height="15" width="12" name="plRemove'+count+'" border="0"></a></span></span></div>';
					count = count + 1;					
				}
			}
			var newLen = plistLen - 1;
			document.getElementById("plistScrollbox").innerHTML = newPlaylist;
			document.getElementById("plistLen").value = newLen;
			if(newLen==0){
				document.getElementById("emptyMsg").style.display = 'block';
			}
		}
	};
	xmlhttp.send(null);
}

function clearPlaylist(){
	var url = 'includes/playlist_handler.cfm?clear=true&ms=' + new Date().getTime();
	xmlhttp.open('GET', url, true);
	xmlhttp.onreadystatechange = function() {
		if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			top.frames.topFrame.document.getElementById("AJPlayer").clearPlaylistFlash();
			document.getElementById("plistScrollbox").innerHTML = '';
			document.getElementById("plistLen").value = '0';
			document.getElementById("emptyMsg").style.display = 'block';
		}
	};
	xmlhttp.send(null);
}

function skipTrack(pos){
	top.frames.topFrame.document.getElementById("AJPlayer").skipTrackFlash(pos);
}

function getCurrent(){
	top.frames.topFrame.document.getElementById("AJPlayer").showNowPlayingFlash(1);
}



//---------------------------------------
//  DIRECTORY PATH
//---------------------------------------

var lock = false;

function opacity(id, opacStart, opacEnd, millisec) { 
    document.getElementById("instantSearch").blur();
	if(lock==false){
		var speed = Math.round(millisec / 100);
		var timer = 0; 
		if(opacStart > opacEnd){ 
			lock = false;
			for(i = opacStart; i >= opacEnd; i--) { 
				setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed)); 
				timer++; 
			} 
		}else if(opacStart < opacEnd){ 
			lock = true;
			for(i = opacStart; i <= opacEnd; i++) 
				{ 
				setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed)); 
				timer++; 
			}
		} 
	}else{
		changeOpac(100, id);
	}
} 

function changeOpac(opacity, id) { 
    var object = document.getElementById(id).style; 
    if(opacity==0){
		object.display = "none";
	}else{
		object.display = "block";
	}
	object.opacity = (opacity / 100); 
    object.MozOpacity = (opacity / 100); 
    object.KhtmlOpacity = (opacity / 100); 
    object.filter = "alpha(opacity=" + opacity + ")"; 
}


function delayOpacity(id, opacStart, opacEnd, millisec, wait){
	lock = false;
	setTimeout("opacity('"+id+"',"+opacStart+","+opacEnd+","+millisec+");", wait);
}

function lockFade(){
	lock = true;
}



//---------------------------------------
//  TOGGLE BUTTONS
//---------------------------------------

function navToggle(button,thisCat,thatCat,menu,type){
	if(type=="nav"){
		thatButton = (button.id != 'button1' ? 'button1' : 'button2');
		thatMenu = (menu != 1 ? 1 : 2);
		button.src = "images/nb-"+thisCat+"_on.png";
		document.getElementById(thatButton).src = "images/nb-"+thatCat+"_off.png";
		document.getElementById("navToggle"+menu).style.display = "block";
		document.getElementById("navToggle"+thatMenu).style.display = "none";
	}else if(type=="favs"){
		thatButton = (button.id != 'button3' ? 'button3' : 'button4');
		thatMenu = (menu != 1 ? 1 : 2);
		button.src = "images/nb-"+thisCat+"_on.png";
		document.getElementById(thatButton).src = "images/nb-"+thatCat+"_off.png";
		if(thatMenu==1){
			document.getElementById("favs").src = "favourites.cfm?favType=artists";
		}else{
			document.getElementById("favs").src = "favourites.cfm?favType=labels";
		}		
	}else{
		if(menu!=3){
			thatButton = (button.id != 'button5' ? 'button5' : 'button6');
			thatMenu = (menu != 1 ? 1 : 2);
			button.src = "images/nb-"+thisCat+"_on.png";
			document.getElementById(thatButton).src = "images/nb-"+thatCat+"_off.png";
			document.getElementById("flowToggle"+menu).style.display = "block";
			document.getElementById("flowToggle"+thatMenu).style.display = "none";
		}
		if( ((menu==2)&&(type!='flow')) || (menu==3) ){
			releaseLink = type.split('/');
			releaseType = releaseLink[0];
			releaseID   = releaseLink[1];			
			document.getElementById("flowFrame").src = 'release_flow.cfm?type='+releaseType+'&id='+releaseID;
		}
	}
}



//---------------------------------------
//  DIV SCROLL
//---------------------------------------

scrollLoop = null;

function startScroll(frame,div,inc,dir){
	scrollLoop = setInterval(function() { scrollDiv(frame,div,inc,dir); }, 80);
}

function stopScroll(){
	clearInterval(scrollLoop);	
}

function scrollDiv(frame,div,inc,dir){
	if(frame=="none"){
		var objDiv = document.getElementById(div);
		if(dir=="up"){
			objDiv.scrollTop = objDiv.scrollTop - inc;
		}else{
			objDiv.scrollTop = objDiv.scrollTop + inc;
		}
	}else{
		var objDiv = window.frames[frame].document.getElementById(div);
		if(dir=="up"){
			objDiv.scrollTop = objDiv.scrollTop - inc;
		}else{
			objDiv.scrollTop = objDiv.scrollTop + inc;
		}
	}
}



//---------------------------------------
//  GOOGLE ANALYTICS
//---------------------------------------

var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
try {
var pageTracker = _gat._getTracker("UA-6554450-1");
pageTracker._trackPageview();
} catch(err) {}



//---------------------------------------
//  ONLOAD EVENTS
//---------------------------------------

window.onresize = checkPos;
window.onload = function () {
	checkPos();
	if(typeof(applesearch)!='undefined'){
		applesearch.init();
	}
}