var fc;
var current_page = 1;
var current_tab = '';
var a_images;
var artist_id;
var current_player = 'test';
var ratings = Array();
var tabs = Array();

var menu;
var theTop = 0;
var old = theTop;

function reinstateRating(id)
{
	for (i = 1; i <= 5; i++) {
		$('track_'+id+'_'+i).src = ratings[i];
	}
}

function highlightRating(id, rating)
{
	for (i = 1; i <= 5; i++) {
		ratings[i] = $('track_'+id+'_'+i).src;
		if (i <= rating) {
			$('track_'+id+'_'+i).src = 'library/images/headphones_on.gif';
		}
		else {
			$('track_'+id+'_'+i).src = 'library/images/headphones_off.gif';	
		}
	}
}

function isChecked(thisform, element) {
	myOption = 0;
	var elem = thisform[element];
	for (i = 0; i < elem.length; i++) {
		if (elem[i].checked) {
			++myOption;
		}
	}
	if (myOption == 0) {
		return false;	
	}
	return true;
}

function isEmail(strValue)
{
  	var objRE = /^([\w-.]+)@([\w-.]+)\.([a-zA-Z]){2,4}$/;
	return (strValue != '' && objRE.test(strValue));
}

function miniPlayer(file_id, f, brate, onlist)
{
	document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="135" height="44" id="player" align="middle">');
	document.write('<param name="allowScriptAccess" value="sameDomain" />');
	document.write('<param name="movie" value="objects/mini_player/player.swf?file_id='+file_id+'&filename='+f+'&brate='+brate+'&onlist='+onlist+'" /><param name="quality" value="high" /><param name="wmode" value="transparent" />');
	document.write('<embed name="player" swliveconnect="true" src="objects/mini_player/player.swf?file_id='+file_id+'&filename='+f+'&brate='+brate+'&onlist='+onlist+'" quality="high" wmode="transparent" width="135" height="44" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>');
}

function addToPlaylist(elem)
{
	new Ajax.Request
	(
		'library/logic/func.php', 
		{ 
			onLoading: function(r) 
			{
			}, 
			onSuccess: function(r) {
				createPlaylist();
			},
			method: 'post', 
			parameters:'func=addTrack&track='+elem,  
			asynchronous:true
		}
	);
}

function resetPlayer()
{
	current_player = 'test';	
}

function registerTrack(elem)
{
	var tmp = eval('document.'+ current_player);
	if (!tmp) {
		current_player = '';	
	}
	if (current_player == '') {
		current_player = 'player' + elem;
	}
	if (tmp) {
		fc = new JSFCommunicator(thisMovie(current_player));
		fc.callFunction("_root","stopTrack");
		current_player = 'player' + elem;	
	}	
}

function registerSongPlay(elem)
{
	new Ajax.Request
	(
		'library/logic/func.php', 
		{ 
			onLoading: function(r) 
			{
			}, 
			onSuccess: function(r) {
			},
			method: 'post', 
			parameters:'func=trackPlayed&track='+elem,  
			asynchronous:true
		}
	);
}

function launchFullPlayer()
{
	registerTrack('');
	resetPlayer();
	var tmp = window.open('/objects/full_player/player.html', 'Player', 'toolbar=no,resizable=no,scrollbars=no,width=350,height=480');	
}

function handleEnter (field, event) 
{
	var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	if (keyCode == 13) {
		var i;
		for (i = 0; i < field.form.elements.length; i++)
			if (field == field.form.elements[i])
				break;
		i = (i + 1) % field.form.elements.length;
		field.form.elements[i].focus();
		return false;
	} 
	else
	return true;
}      

function rateTrack(id, rating)
{
	for (i = 1; i <= 5; i++) {
		if (i <= rating) {
			$('track_'+id+'_'+i).src = 'library/images/headphones_on.gif';
		}
		else {
			$('track_'+id+'_'+i).src = 'library/images/headphones_off.gif';	
		}
		ratings[i] = $('track_'+id+'_'+i).src;
	}
	new Ajax.Request
	(
		'library/logic/func.php', 
		{ 
			onLoading: function(r) 
			{
			}, 
			onSuccess: function(r) {
			},
			method: 'post', 
			parameters:'func=rateTrack&track='+id+'&rating='+rating,  
			asynchronous:true
		}
	);
}

function rateArtist(id, rating)
{
	new Ajax.Request
	(
		'library/logic/func.php', 
		{ 
			onLoading: function(r) 
			{
			}, 
			onSuccess: function(r) {
			},
			method: 'post', 
			parameters:'func=rateArtist&track='+id+'&rating='+rating,  
			asynchronous:true
		}
	);
}

function hideControls()
{
	current_page = 1;
	$('control_top').innerHTML = '&nbsp;';
	$('control_btm').innerHTML = '&nbsp;';
}

function showControls()
{
	current_page = 1;
	$('control_top').innerHTML = '<a href="javascript:;" onclick="prevContent()" title="Previous Page" onmouseover="imgOn(\'img17\')" onmouseout="imgOff(\'img17\')"><img name="img17" src="library/images/arrow_prev.gif" width="6" height="10" border="0" alt="Previous" /></a>&nbsp;<div id="pgs_top" class="pg_of"></div end pgs_top>&nbsp;<a href="javascript:;" onclick="nextContent()" title="Previous Page" onmouseover="imgOn(\'img18\')" onmouseout="imgOff(\'img18\')"><img name="img18" src="library/images/arrow_next.gif" width="6" height="10" border="0" alt="Next" /></a>';
	$('control_btm').innerHTML = '<a href="javascript:;" onclick="prevContent()" title="Previous Page" onmouseover="imgOn(\'img17\')" onmouseout="imgOff(\'img17\')"><img name="img17" src="library/images/arrow_prev.gif" width="6" height="10" border="0" alt="Previous" /></a>&nbsp;<div id="pgs_btm" class="pg_of"></div end pgs_btm>&nbsp;<a href="javascript:;" onclick="nextContent()" title="Previous Page" onmouseover="imgOn(\'img18\')" onmouseout="imgOff(\'img18\')"><img name="img18" src="library/images/arrow_next.gif" width="6" height="10" border="0" alt="Next" /></a>';
}

function getTop3Tracks()
{
	new Ajax.Request
	(
		'library/logic/func.php', 
		{ 
			onLoading: function(r) 
			{
			}, 
			onSuccess: function(r) {
				var info = eval('(' + r.responseText + ')');
				$('ms').innerHTML = info.data[0].ms;
				$('Top3Tracks').innerHTML = info.data[0].top3_box;
			},
			method: 'post', 
			parameters:'func=getTop3Tracks&artist='+artist_id,  
			asynchronous:true
		}
	);
}

function setTab(tab)
{
	if (current_tab != '') {
		$(current_tab).className = tabs[current_tab];
	}
	current_tab = tab;
	tabs[current_tab] = $(current_tab).className;
	$(current_tab).className = $(current_tab).className+'_selected';
}

function showStatus()
{
	if (window.innerHeight) {
		pos = window.pageYOffset
	}
	else if (document.documentElement && document.documentElement.scrollTop) {
		pos = document.documentElement.scrollTop
	}
	else if (document.body) {
		pos = document.body.scrollTop
	}
	if (pos < theTop) {
		pos = theTop;
	}
	$('status').style.top = pos+'px;';
	old = pos;
	$('status').style.display = 'block';
}

// IMAGE PRELOADING //
if (document.images) {
	img1on = new Image();
	img1on.src = "library/images/live-daily_over.gif";
	img2on = new Image();
	img2on.src = "library/images/news_over.gif";
	img3on = new Image();
	img3on.src = "library/images/reviews_over.gif";
	img4on = new Image();
	img4on.src = "library/images/interviews_over.gif";
	img5on = new Image();
	img5on.src = "library/images/tickets_over.gif";
	img6on = new Image();
	img6on.src = "library/images/gallery_over.gif";
	img7on = new Image();
	img7on.src = "library/images/forum_over.gif";
	img8on = new Image();
	img8on.src = "library/images/home_over.gif";
	img9on = new Image();
	img9on.src = "library/images/browse_over.gif";
	img10on = new Image();
	img10on.src = "library/images/newswire_over.gif";
	img11on = new Image();
	img11on.src = "library/images/blog_over.gif";
	img12on = new Image();
	img12on.src = "library/images/contests_over.gif";
	img13on = new Image();
	img13on.src = "library/images/launch_over.gif";
	img14on = new Image();
	img14on.src = "library/images/featured_go_over.gif";
	img15on = new Image();
	img15on.src = "library/images/arrow_prev_over.gif";
	img16on = new Image();
	img16on.src = "library/images/arrow_next_over.gif";
	img17on = new Image();
	img17on.src = "library/images/arrow_prev_over.gif";
	img18on = new Image();
	img18on.src = "library/images/arrow_next_over.gif";
	
	img1off = new Image();
	img1off.src = "library/images/live-daily.gif";	
	img2off = new Image();
	img2off.src = "library/images/news.gif";	
	img3off = new Image();
	img3off.src = "library/images/reviews.gif";	
	img4off = new Image();
	img4off.src = "library/images/interviews.gif";	
	img5off = new Image();
	img5off.src = "library/images/tickets.gif";	
	img6off = new Image();
	img6off.src = "library/images/gallery.gif";	
	img7off = new Image();
	img7off.src = "library/images/forum.gif";	
	img8off = new Image();
	img8off.src = "library/images/home.gif";
	img9off = new Image();
	img9off.src = "library/images/browse.gif";
	img10off = new Image();
	img10off.src = "library/images/newswire.gif";
	img11off = new Image();
	img11off.src = "library/images/blog.gif";
	img12off = new Image();
	img12off.src = "library/images/contests.gif";
	img13off = new Image();
	img13off.src = "library/images/launch.gif";
	img14off = new Image();
	img14off.src = "library/images/featured_go.gif";
	img15off = new Image();
	img15off.src = "library/images/arrow_prev.gif";
	img16off = new Image();
	img16off.src = "library/images/arrow_next.gif";
	img17off = new Image();
	img17off.src = "library/images/arrow_prev.gif";
	img18off = new Image();
	img18off.src = "library/images/arrow_next.gif";
}

function imgOn(imgName) {
	if (document.images) {
		document[imgName].src = eval(imgName + "on.src");
	}
}

function imgOff(imgName) {
	if (document.images) {
			document[imgName].src = eval(imgName + "off.src");
		}
}

//this function return to Flash ActiveX Object or Plugin depending upon browser
//it takes care for browser type and returns the proper reference.
//Accepts the id or name of <OBJECT> or <EMBED> tag respectively
//Taken from Colin Moock (http://www.moock.org) code base.
function thisMovie(movieName) {
  // IE and Netscape refer to the movie object differently.
  // This function returns the appropriate syntax depending on the browser.
  
  if (navigator.appName.indexOf ("Microsoft") !=-1) {
    return window[movieName]
	
  } else {
   return window.document[movieName]
  }
}

/**
 *	Create interface object for communication between Javascript and Flash and vice versa
 *
 */
function createJSFCommunicatorObject(playerObj)
{
	fc = new JSFCommunicator(playerObj);
}

function createPlaylist()
{
	var track_html = '<div id="loading_playlist" style="display:none;" class="rowA">LOADING PLAYLIST ...</div>';
	$('playlist').innerHTML = track_html;
	$('loading_playlist').style.display = 'block';
	new Ajax.Request
	(
		'objects/full_player/func.php', 
		{ 
			onLoading: function(r) 
			{
				//$('playlist').innerHTML = '<img src="../../shared/images/indicator.gif" />';
			}, 
			onSuccess: function(r) {
				$('loading_playlist').style.display = 'none';
				if (r.responseText == 'empty') {
					track_html += '<div class="rowA">Sorry, but your playlist is empty at the moment</div>';
				}
				else {
					tracks = eval('(' + r.responseText + ')');
					track_total = tracks.trks.length;
					for (var i = 0; i < track_total; i++) {
						if (i%2) {
							track_html += '<div class="rowB">'+tracks.trks[i].title+'</div>';
						}
						else {
							track_html += '<div class="rowA">'+tracks.trks[i].title+'</div>';
						}
					}
				}
				$('playlist').innerHTML = track_html;
			},
			method: 'post', 
			parameters:'func=getPlaylist',  
			asynchronous:true
		}
	);
}