var hiding_searchHelp, _addopinionHTML, _PLID, _VID, _PLAY, ColorPickerWin, _audioOnly, _RID, nowListeningTitle;
var tabs = new Array( Array("genres","langs","news") , Array("opinions","addopinion") , Array("sameartist","interviews","samemember","inplaylists","related") , Array("radio-opinions","radio-addopinion") , Array("radio-related","radio-mostplayed","radio-top100") );
var EmbedOnSites = new Array('MySpace','Facebook','Tagged','Blogger','Friendster','LiveJournal','Xanga');
var lastSearchString, previewTimeout, lastPreviewID = 0;
var reloadingBanner = new Array();


function CheckHash(scriptName)
{
var hash = document.location.hash.replace('#','');
	if(!hash)
	return;
var parts = new Array();
	if(hash.indexOf(";") > -1)
	parts = hash.split(";");
	else
	parts[0] = hash;
var id = 0;
var plid = 0;
var Q = 0;
var audioOnly = (_RID > 0 || scriptName == "listenRadio") ? "" : ( (_audioOnly == "Y") ? "&audioOnly=Y" : "&audioOnly=N" );
var scriptName = scriptName ? scriptName : "play";

	for(var i = 0; i < parts.length; i++)
	{
		if(parts[i].substr(0,2) == "pl")
		plid = parseInt(parts[i].substr(2));
		else if(parts[i].substr(0,2) == "id")
		id = parseInt(parts[i].substr(2));
		else if(parts[i].substr(0,1) == "Q")
		Q = parseInt(parts[i].substr(1));
	}

id = (!id || isNaN(id)) ? 0 : id;
plid = (!plid || isNaN(plid)) ? 0 : plid;
Q = (!Q || isNaN(Q)) ? 0 : Q;

	if(plid > 0)
	{
		if(plid != _PLID || (id > 0 && id != _PLAY))
		location.replace("./"+scriptName+"?pl="+plid + (id > 0 ? "&play="+id : "") + audioOnly );
	}
	else if(Q > 0)
	{
		if(Q != _Q || (id > 0 && id != _PLAY))
		location.replace("./"+scriptName+"?Q="+Q + (id > 0 ? "&play="+id : "") + audioOnly );
	}
	else if(scriptName == "play" && id > 0 && id != _VID && id != _PLAY)
	{
	location.replace("./"+scriptName+"?v=" + id + (_VID > 0 ? "&r=" + _VID : "") + audioOnly );
	}
	else if(scriptName == "listenRadio" && id > 0 && id != _RID && id != _PLAY)
	{
	location.replace("./"+scriptName+"?r=" + id + (_RID > 0 ? "&r=" + _RID : ""));
	}
}

function ChangePlaylist(plid)
{
_PLID = plid;
location.replace('#pl'+plid);
document.title = "MusicPlayOn.com - Let the music play on!";
}

function Play(vid)
{
	if(vid == _VID)
	return;
_VID = _PLAY = vid;
	if(window.XMLHttpRequest)
	{
	var hash = '';
	hash += (_PLID > 0) ? '#pl'+_PLID : ((_Q > 0) ? '#Q'+_Q : '');
	hash += ( (hash != '') ? ';' : '#' ) + 'id'+vid;
	location.replace(hash);
	}

	//if(_PLID < 1)
	//document.title = "MusicPlayOn.com - Let the music play on!";
Ajax("videoTitle",_VID,1);
Ajax("info",_VID,1);
Ajax("mobileLinks",_VID,1);
SwitchTab("opinions");
Ajax("opinions",_VID,1);
SwitchTab("sameartist");
Ajax("sameartist",_VID,1);
pageTracker._trackPageview("/play?v="+_VID+"&ajax");
UpdateURL();
UpdateEmbed();

document.getElementById("interviewsContainer").innerHTML = "";
document.getElementById("samememberContainer").innerHTML = "";
document.getElementById("inplaylistsContainer").innerHTML = "";
document.getElementById("relatedContainer").innerHTML = "";

reloadingBanner["728x90"] = setTimeout("ReloadBanner('728x90')", 200);
reloadingBanner["300x250"] = setTimeout("ReloadBanner('300x250')", 400);
	if(_audioOnly == "Y")
	reloadingBanner["160x600"] = setTimeout("ReloadBanner('160x600')", 600);
}

function RadioPlay(rid)
{
	if(rid == _RID)
	return;
_RID = _PLAY = rid;
	if(window.XMLHttpRequest)
	{
	var hash = '';
	hash += (_PLID > 0) ? '#pl'+_PLID : ((_Q > 0) ? '#Q'+_Q : '');
	hash += ( (hash != '') ? ';' : '#' ) + 'id'+rid;
	location.replace(hash);
	}
Ajax("radio-info",_RID,1);
document.title = "MusicPlayOn.com - Let the music play on!";
SwitchTab("radio-opinions");
Ajax("radio-opinions",_RID,1);
SwitchTab("radio-related");
Ajax("radio-related",_RID,1);
pageTracker._trackPageview("/listenRadio?r="+_RID+"&ajax");
UpdateURL();

reloadingBanner["728x90"] = setTimeout("ReloadBanner('728x90')", 500);
reloadingBanner["160x600"] = setTimeout("ReloadBanner('160x600')", 1000);
}

function ShowLayer(id)
{
document.getElementById(id).style.display = 'block';
}

function HideLayer(id)
{
document.getElementById(id).style.display = 'none';
}

function ShowSearchHelp()
{
clearTimeout(hiding_searchHelp);
ShowLayer('searchHelp');
}

function HideSearchHelp()
{
hiding_searchHelp = setTimeout("HideLayer('searchHelp')",2000);
}

function ShowGenresList()
{
document.getElementById('genres').style.borderBottom = '1px solid #232323';
ShowLayer('genres_list');
}

function HideGenresList()
{
document.getElementById('genres').style.borderBottom = '0';
HideLayer('genres_list');
}

function WholeComment(id)
{
var commentObj = document.getElementById("user_opinion"+id);
var expandObj = document.getElementById("expand_opinion"+id);
var collapseObj = document.getElementById("collapse_opinion"+id);
	if(commentObj.className == "user_opinion")
	{
	commentObj.className =  "user_opinion_whole";
		if(_audioOnly == "Y")
		commentObj.style.top = "480px";
	expandObj.style.display = "none";
	collapseObj.style.display = "block";
	}
	else
	{
	commentObj.className =  "user_opinion";
	collapseObj.style.display = "none";
	expandObj.style.display = "block";
	}
}

function UpdateURL()
{
var url = document.form_embed.videoURL;
var tmp = url.value.split("?");
var query = "";

	if(_RID > 0)
	query = "r=" + _RID;
	//else if(_PLID > 0)
	//query = "pl="+_PLID + (_PLAY > 0 ? "&play="+_PLAY : "");
	else if(_VID > 0)
	query = "v=" + _VID;

	if(_RID < 1)
	query += (_audioOnly == "Y") ? "&audioOnly=Y" : "&audioOnly=N";

url.value = tmp[0] + "?" + query;
}

var embed_audioOnly = "N";
var embed_playlistTracks = 2;
var embed_width = 420;
var embed_height = 266;
var embed_autoPlay = "N";
var embed_hideLeftPanel = "Y";
var embed_leftPanelPosition = "top";
var embed_hideControls = "N";
var embed_bgColor = "0x232323";
var embed_activeColor = "0x005CF5";
var embed_inactiveColor = "0x3C3C3C";
var embed_titleColor = "0x584596";
var embed_textsColor = "0x999999";
var embed_selectedColor = "0x0F0F0F";
var embed_btnColor = "0x000000";

function UpdateEmbed(win)
{
	if(_audioOnly == 'Y')
	audioOnly(true);
var embed = (win == "opener") ? opener.document.form_embed.embedHTML : document.form_embed.embedHTML;
var rnd = Math.round(Math.random() * 10000000);
var html = "";
html += '<div style="width: '+embed_width+'px; padding-bottom: 5px; text-align: center;"><a href="'+_HOST+'" target="_blank">MusicPlayOn.com - Let the music play on!</a></div>\n';
html += '<object width="'+embed_width+'" height="'+embed_height+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,15,0">\n';
html += '<param name="movie" value="'+_HOST+'embed?'+(_PLID>0?'PLID='+_PLID+'&':'')+( _RID>0 ? 'RID='+(_PLID>0?_PLAY:_RID) : 'VID='+(_PLID>0?_PLAY:_VID) )+(embed_autoPlay=="N"?"&autoPlay=N":"")+(embed_hideLeftPanel=="Y"?"&hideLeftPanel=Y":"")+(embed_leftPanelPosition=="bottom"?"&leftPanelPosition=bottom":"")+(embed_hideControls=="Y"?"&hideControls=Y":"")+(embed_audioOnly=="Y"?"&audioOnly=Y":"")+'&bgColor='+embed_bgColor+'&activeColor='+embed_activeColor+'&inactiveColor='+embed_inactiveColor+'&titleColor='+embed_titleColor+'&textsColor='+embed_textsColor+'&selectedColor='+embed_selectedColor+'&btnColor='+embed_btnColor+'&rnd='+rnd+'" /><param name="quality" value="high" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" />\n';
html += '<embed width="'+embed_width+'" height="'+embed_height+'" src="'+_HOST+'embed?'+(_PLID>0?'PLID='+_PLID+'&':"")+( _RID>0 ? 'RID='+(_PLID>0?_PLAY:_RID) : 'VID='+(_PLID>0?_PLAY:_VID) )+(embed_autoPlay=="N"?"&autoPlay=N":"")+(embed_hideLeftPanel=="Y"?"&hideLeftPanel=Y":"")+(embed_leftPanelPosition=="bottom"?"&leftPanelPosition=bottom":"")+(embed_hideControls=="Y"?"&hideControls=Y":"")+(embed_audioOnly=="Y"?"&audioOnly=Y":"")+'&bgColor='+embed_bgColor+'&activeColor='+embed_activeColor+'&inactiveColor='+embed_inactiveColor+'&titleColor='+embed_titleColor+'&textsColor='+embed_textsColor+'&selectedColor='+embed_selectedColor+'&btnColor='+embed_btnColor+'&rnd='+rnd+'" quality="high" allowfullscreen="true" allowscriptaccess="always" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed></object>';
embed.value = html;
}

function CustomEmbed(win)
{
var d = (win == "opener") ? opener.document : document;
var f = d.form_embed;

_PLID = (f.PLID.value > 0) ? f.PLID.value : 0;
	if(f.RID != null && f.RID.value > 0)
	_RID = f.RID.value;
	else
	_VID = (f.VID.value > 0) ? f.VID.value : 0;
_PLAY = (_PLID && _VID > 0) ? _VID : 0;

embed_audioOnly = (f.embed_audioOnly.checked == true) ? "Y" : "N";
embed_playlistTracks = f.embed_playlistTracks.value;
embed_width = f.embed_width.value;
embed_height = f.embed_height.value;
embed_autoPlay = (f.embed_autoPlay.checked == true) ? "Y" : "N";
embed_hideLeftPanel = (f.embed_hideLeftPanel.checked == true) ? "Y" : "N";
embed_leftPanelPosition = f.embed_leftPanelPosition.value;
embed_hideControls = (f.embed_hideControls.checked == true) ? "Y" : "N";
embed_bgColor = "0x" + f.embed_bgColor.value;
embed_activeColor = "0x" + f.embed_activeColor.value;
embed_inactiveColor = "0x" + f.embed_inactiveColor.value;
embed_titleColor = "0x" + f.embed_titleColor.value;
embed_textsColor = "0x" + f.embed_textsColor.value;
embed_selectedColor = "0x" + f.embed_selectedColor.value;
embed_btnColor = "0x" + f.embed_btnColor.value;

UpdateEmbed(win);
d.getElementById('player').innerHTML = f.embedHTML.value;
}

function audioOnly(checked,custom)
{
var f = document.form_embed;
	if(checked == true)
	{
	embed_audioOnly = "Y";
	embed_playlistTracks = 2;
	embed_width = 300;
	embed_height = 100 + (embed_playlistTracks > 0 ? 30 : 0) + (embed_playlistTracks * 80);
		if(custom == true)
		{
		embed_playlistTracks = f.embed_playlistTracks.value;
		embed_height = 100 + (embed_playlistTracks > 0 ? 30 : 0) + (embed_playlistTracks * 80);
		f.embed_width.value = embed_width;
		f.embed_height.value = embed_height;
		f.embed_width.disabled = true;
		embed_hideLeftPanel = "N";
		f.embed_hideLeftPanel.checked = false;
		f.embed_hideLeftPanel.disabled = true;
		embed_leftPanelPosition = "bottom";
		f.embed_leftPanelPosition.value = "bottom";
		f.embed_leftPanelPosition.disabled = true;
		embed_hideControls = "N";
		f.embed_hideControls.checked = false;
		f.embed_hideControls.disabled = true;
		document.getElementById('playerHeight').style.display = 'none';
		document.getElementById('playlistTracks').style.display = 'block';
		}
	}
	else
	{
	embed_audioOnly = "N";
	embed_width = f.embed_width.value = 420;
	embed_height = f.embed_height.value = 266 - (f.embed_hideControls.checked == true ? 30 : 0);
	f.embed_width.disabled = false;
	embed_hideLeftPanel = "Y";
	f.embed_hideLeftPanel.checked = true;
	f.embed_hideLeftPanel.disabled = false;
	embed_leftPanelPosition = "top";
	f.embed_leftPanelPosition.value = "top";
	f.embed_leftPanelPosition.disabled = false;
	f.embed_hideControls.disabled = false;
	document.getElementById('playerHeight').style.display = 'block';
	document.getElementById('playlistTracks').style.display = 'none';
	}
}

function Ajax(name,vid,page)
{
PlaylistSelectionHide();
var query;
	if(name == "info" || name == "opinions" || name == "sameartist" || name == "interviews" || name == "samemember" || name == "inplaylists" || name == "related" || name == "videoTitle" || name == "addtoplaylist" || name == "rate" || name == "addopinion" || name == "addtofollowedplaylist" || name == "myPlaylist" || name == "mobileLinks" || name == "letter" || name == "radio-info" || name == "radio-opinions" || name == "radio-addopinion" || name == "radio-rate" || name == "radio-related" || name == "radio-mostplayed" || name == "radio-top100" || name == "radio-nowlistening" || name == "popupvideo")
	{
	query = "name="+name+"&VID="+vid+"&page="+page;
	sendRequest("ajax.api",Process,query,name,vid);
		if(page > 1 && (name == "sameartist" || name == "interviews" || name == "samemember" || name == "inplaylists" || name == "related" || name == "radio-related") )
		ReloadBanner("160x600");
	}
}

function SwitchTab(name)
{
PlaylistSelectionHide();
	if(document.getElementById(name+"Tab").className == 'tab_active')
	return;
var tmp = tabs;
	for(var i=0; i < tabs.length; i++)
	{
		if(tmp[i].join().indexOf(name) >= 0)
		{
			for(var j=0; j < tabs[i].length; j++)
			{
				if(document.getElementById(tabs[i][j]+"Tab") != null)
				{
				document.getElementById(tabs[i][j]+"Tab").className = 'tab_inactive';
				document.getElementById(tabs[i][j]+"Container").style.display = 'none';
				}
			}
		break;
		}
	}

var tab = document.getElementById(name+"Tab");
var container = document.getElementById(name+"Container");

	if(container.innerHTML == "")
	{
		if(_VID)
		Ajax(name,_VID,1);
		else if(_RID)
		Ajax(name,_RID,1);
	}

	if(tab.className = "tab_inactive")
	{
	tab.className = "tab_active";
	container.style.display = "block";
	}

}

var XHRFactory = (function(){
	// static private member
	var stack = new Array();
	var poolSize = 10;
	
	var nullFunction = function() {}; // for nuking the onreadystatechange
	
	// private static methods
	
	function createXHR() {
		var httpRequest;
		
		if(window.XMLHttpRequest) // new browsers
		{
				httpRequest = new XMLHttpRequest();
				if (httpRequest.overrideMimeType) {
					httpRequest.overrideMimeType('text/xml');
				}
		} 
		else if (window.ActiveXObject) // old IE
		{
			try
			{
				httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
			} 
			catch (e)
			{
			   try
			   {
			   		httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
			   }
			   catch (e) {}
			}
		}
		
		return httpRequest;
	}
	
	// cache a few for use
	for (var i = 0; i < poolSize; i++) {
		stack.push(createXHR());
	}
	
	// shared instance methods
	return ({
		release:function(xhr){
			if(window.ActiveXObject)
				xhr.abort();
			xhr.onreadystatechange = nullFunction;
			stack.push(xhr);
		},
		getInstance:function(){
			if (stack.length < 1) {
				return createXHR();
			} else {
				return stack.pop();
			}
		},
		toString:function(){
			return "stack size = " + stack.length;
		}
	});
})();

function sendRequest(url, callback, postData, name, callbackParams)
{
var httpRequest = XHRFactory.getInstance();
	if(!httpRequest)
	return false;
httpRequest.onreadystatechange = function() { callback(httpRequest,name,callbackParams); };
var method = (postData) ? "POST" : "GET";
httpRequest.open(method,url,true);
	if(postData)
	httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
httpRequest.send(postData);
}

function Process(req, name, callbackParams)
{
	try
	{
		if (req.readyState == 4)
		{
			if (req.status == 200)
			{
				if(req.responseText == "Error 100!")
				{
				location.reload();
				return;
				}
				
				if(name == "videoTitle")
				document.title = req.responseText;
				
				else if(name == "addtoplaylist" || name == "addtofollowedplaylist")
				return req.responseText;
				
				else if(name == "add" || name == "remove")
				SearchMyPlaylist(callbackParams);

				else if(name == "messages-send")
				{
					if(req.responseText != "OK")
					alert("Error: "+req.responseText);
					else
					$("#newmessage_form").fadeOut("slow",function(){document.getElementById("newmessage_form").innerHTML=""; $("#newmessage_text").fadeIn("slow")});
				}
				else if(name == "messages-sendreply")
				{
				$("#reply"+callbackParams+"_form").fadeOut("slow",function(){$("#reply"+callbackParams+"_text").fadeIn("slow")});
				document.getElementById("reply"+callbackParams+"_link").style.display = "none";
				}
				else if(name == "messages-delete")
				{
				$("#reply"+callbackParams).fadeOut("slow", function() {RemoveObject("reply"+callbackParams);} );
				$("#reply"+callbackParams+"_arrow").fadeOut("slow", function() {RemoveObject("reply"+callbackParams+"_arrow");} );
				$("#message"+callbackParams).fadeOut("slow", function() {RemoveObject("message"+callbackParams); if(trim(document.getElementById("messagesContainer").innerHTML) == "") {document.getElementById("messagesContainer").innerHTML = notFoundHTML;}} );
				}

				else if(name.indexOf("banner") > -1)
				{
				setAndExecute(name+"Container", req.responseText);
				//document.getElementById(name+"Container").innerHTML = req.responseText;
				//evalJS(name+"Container");
				}
				
				else
				{
					if(name == "opinions")
					getUserRating(req.responseText.substr(0,50));
					
					if(name == "letter" && req.responseText.length > 1)
					showArtistContainer();
					else
					hideArtistContainer();

				document.getElementById(name+"Container").innerHTML = req.responseText;
				}
			}

			XHRFactory.release(req);
		}
		else
		{
			if(name != "rate" && name != "radio-rate" && name != "addtoplaylist" && name != "addtofollowedplaylist")
			document.getElementById(name+"Container").innerHTML = '<div align="center" style="height: 85px;" class="loading"></div>';
		}
	}
	catch (e) {}
}

function StarComment(id)
{
	for (var i = 1; i <= 5; i++)
	{
	document.getElementById("star_c"+i).className = (i <= id) ? "star_comment_blue" : "star_comment_grey";
	}
document.comment_form.rate.value = id;
}

function SendComment()
{
var radio = (_RID > 0) ? "radio-" : "";
_addopinionHTML = document.getElementById(radio+"addopinionContainer").innerHTML;
var comment_text = document.comment_form.comment.value;
var comment_rate = document.comment_form.rate.value;
	if(comment_text && comment_rate > 0)
	{
	Ajax(radio+"addopinion",(_RID>0?_RID:_VID),comment_rate+"&comment="+comment_text.replace("&","%26"));
	document.getElementById(radio+"opinionsContainer").innerHTML = "";
	setTimeout("CommentAdded("+comment_rate+")", 2500);
	}
}

function CommentAdded(comment_rate,onlyrate)
{
var radio = (_RID > 0) ? "radio-" : "";
SwitchTab(radio+"opinions");
	if(onlyrate != 1)
	{
	document.getElementById(radio+"addopinionContainer").innerHTML = _addopinionHTML;
	document.comment_form.comment.value = "";
	}

	if(comment_rate > 0)
	{
		for(i = 1; i <= 5; i++)
		{
		document.getElementById("star_c"+i).onclick = function(){return;};
		document.getElementById("star_c"+i).style.cursor = "default";
		}
	}
	else
	{
	document.getElementById("star_c1").onclick = function(){StarComment(1);};
	document.getElementById("star_c1").style.cursor = "pointer";
	document.getElementById("star_c2").onclick = function(){StarComment(2);};
	document.getElementById("star_c2").style.cursor = "pointer";
	document.getElementById("star_c3").onclick = function(){StarComment(3);};
	document.getElementById("star_c3").style.cursor = "pointer";
	document.getElementById("star_c4").onclick = function(){StarComment(4);};
	document.getElementById("star_c4").style.cursor = "pointer";
	document.getElementById("star_c5").onclick = function(){StarComment(5);};
	document.getElementById("star_c5").style.cursor = "pointer";
	}
StarComment(comment_rate);
}

function PlaylistSelectionShow(vid, e)
{
var posx = 0;
var posy = 0;

	if (!e)
	var e = window.event;

	if (e.pageX || e.pageY)
	{
	posx = e.pageX;
	posy = e.pageY;
	}
	else if (e.clientX || e.clientY) 
	{
	posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
	posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
	}

document.form_addtoplaylist.vid.value = vid;
posx -= 190;
document.getElementById('addtoplaylistContainer').style.left = posx + 'px';
document.getElementById('addtoplaylistContainer').style.top = posy + 'px';
document.getElementById('addtoplaylistContainer').style.display = 'block';
}

function PlaylistSelectionHide()
{
	if(document.getElementById('addtoplaylistContainer') != null)
	document.getElementById('addtoplaylistContainer').style.display = 'none';
}

function AddToPlaylist()
{
var plIDs = document.form_addtoplaylist.plid;
var vid  = document.form_addtoplaylist.vid.value;
	if ( plIDs.selectedIndex >= 0 && vid > 0 )
	{
	Ajax('addtoplaylist', vid, plIDs.options[plIDs.selectedIndex].value);
	PlaylistSelectionHide();
	}
}

function FollowPlaylist(id, section)
{
Ajax('addtofollowedplaylist', id, 1);
document.getElementById(section+'followPlaylist'+id).style.display = 'none';
}

function getScrollXY()
{
var scrOfX = 0, scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' )
	{
	//Netscape compliant
	scrOfY = window.pageYOffset;
	scrOfX = window.pageXOffset;
	}
	else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) )
	{
	//DOM compliant
	scrOfY = document.body.scrollTop;
	scrOfX = document.body.scrollLeft;
	}
	else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) )
	{
	//IE6 standards compliant mode
	scrOfY = document.documentElement.scrollTop;
	scrOfX = document.documentElement.scrollLeft;
	}
return [ scrOfX , scrOfY ];
}

function CustomizeEmbedWin(blank,audioOnly)
{
var w = 1000;
var h = 500;
w = (screen.availWidth > w) ? w : screen.availWidth;
h = (screen.availHeight > h) ? h : screen.availHeight;
var l = (screen.availWidth-w)/2;
var t = (screen.availHeight <= h) ? 0 : (screen.availHeight-h)/2 - 25;
var query = "";
	if(blank != 1)
	query = "?"+(_PLID?"pl="+_PLID+"&":"") + ( _RID>0 ? '&r='+(_PLID>0?_PLAY:_RID) : '&v='+(_PLID>0?_PLAY:_VID) ) + (audioOnly=="Y"?"&audioOnly=Y":"");
window.open("customizeEmbed"+query,"CustomizeEmbedWin","width="+w+",height="+h+",left="+l+",top="+t+",location=0,status=1,toolbar=0,scrollbars=1,resizable=1");
}

function ColorPicker(name)
{
var color = document.getElementsByName(name);
var w = 440;
var h = 325;
var l = (screen.availWidth-w);
var t = 0;
ColorPickerWin = window.open("colorpicker?name="+name,"ColorPickerWin","width="+w+",height="+h+",left="+l+",top="+t+",location=0,status=1,toolbar=0,scrollbars=0");
ColorPickerWin.focus();
}

function getUserRating(html)
{
	if(html.substr(0,36) == '<input type="hidden" name="userRate"')
	CommentAdded(html.substr(44,1),1);
}

function Gender(gender)
{
	if (gender == "F")
	{
		document.getElementById("female_gender").src = "images/female_icon_selected.gif";
		document.getElementById("male_gender").src = "images/male_icon.gif";
		document.reg_form.gender.value = "F";
	}
	else
	{
		document.getElementById("female_gender").src = "images/female_icon.gif";
		document.getElementById("male_gender").src = "images/male_icon_selected.gif";
		document.reg_form.gender.value = "M";
	}
}

function OpacityByClass(o,_do)
{
	if(_do == 1)
	o.firstChild.className = "icon_opacity";
	else
	o.firstChild.className = "";
}

function doSearch(str)
{
	if(document.form_search.search.value == '')
	return false;

	if(str)
	document.form_search.search.value = unescape(str);

document.form_search.submit();
}

function ReloadBanner(size,html)
{
	if(reloadingBanner[size] > 0)
	clearTimeout(reloadingBanner[size]);

	if(document.getElementById("banner"+size) != null && document.getElementById("banner"+size).contentWindow != "undefined")
	{
	var frm = document.getElementById("banner"+size);
		if(html)
		frm.contentWindow.document.body.innerHTML = unescape(html);
		else
		frm.contentWindow.location.replace("banner?size="+size);
	}
}

function disableSelection(element)
{
element.onselectstart = function() {return false;};
element.unselectable = "on";
element.style.MozUserSelect = "none";
element.style.cursor = "default";
}



/* move set home page layer */
visible = false;
show = false;
hide = false;

layerName = 'prepage';
speed = 10;
by = 10;
fromTop = -110;
toTop = 24;

function HomePage()
{
	if(visible == true)
	{
		if(hide == false)
		hide = setInterval("HideHomePage()", speed);
	}
	else
	{
		if(show == false)
		show = setInterval("ShowHomePage()", speed);
	}
}

function ShowHomePage()
{
var div = document.getElementById(layerName);
var temp = div.style.top;
var top = temp.replace("px", "");
top = (top == 'undefined') ? fromTop : top;
	if(top < toTop)
	{
	var l = (top*1) + by;
	div.style.top = l + 'px';
	}
	else
	{
	div.style.top = toTop + 'px';
	visible = true;
	clearInterval(show);
	show = false;
	}
}

function HideHomePage()
{
var div = document.getElementById(layerName);
var temp = div.style.top;
var top = temp.replace("px", "");
top = (top == 'undefined') ? toTop : top;
	if(top > fromTop)
	{
	var l = (top*1) - by
	div.style.top = l + 'px';
	}
	else
	{
	div.style.top = fromTop + 'px';
	visible = false;
	clearInterval(hide);
	hide = false;
	}
}

function ShowMakeHomepage()
{
	if(document.getElementById('make_homepage') != null)
	document.getElementById('make_homepage').style.display = 'block';
}

function createCookie(c_name,c_value,expDays)
{
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));
document.cookie = c_name+ '=' + escape(c_value) + ";expires=" + exp + '; path=/; domain=.musicplayon.com';
}

function MPOSearchAdd() 
{
	if(window.external && ("AddSearchProvider" in window.external)) 
	{
	// Firefox 2 and IE 7, OpenSearch
	window.external.AddSearchProvider("http://en.musicplayon.com/opensearch");
	}
document.getElementById('add_search').style.display = 'none';
}

function ShowVideoRedirect(video)
{
	if(_Q > 0 && _PLID < 1)
	location.replace('play?Q='+_Q + (_PLAY>0?'&play='+_PLAY:'') + (video!=1 ? '&audioOnly=Y' : '&audioOnly=N'));
	else if(_PLID > 0 || _VID > 0)
	location.replace('play?' + ( (_PLID>0) ? ('pl='+_PLID + (_PLAY>0?'&play='+_PLAY:'')) : ( (_VID>0) ? 'v='+_VID : '') ) + (video!=1 ? '&audioOnly=Y' : '&audioOnly=N'));
}

function RecordKaraokeRedirect(show)
{
	if(_VID > 0)
	location.replace('play?' + ( (_PLID>0) ? ('pl='+_PLID + (_PLAY>0?'&play='+_PLAY:'')) : ( (_VID>0) ? 'v='+_VID : '') ) + (show==1 ? '&audioOnly=Y&recordKaraoke=Y' : (_audioOnly=='Y' ? '&audioOnly=Y' : '&audioOnly=N')));
}

function ProcessSubscribe(req, name, callbackParams)
{
	try
	{
		if(req.readyState == 4)
		{
			if(req.status == 200)
			{
				if(callbackParams && document.getElementById(callbackParams+"Container") != null)
				document.getElementById(callbackParams+"Container").innerHTML = req.responseText;
			}
		XHRFactory.release(req);
		}
	}
	catch (e) {}
}

function UseSearchYear()
{
var f = document.form_search;
f.searchFromYear.disabled = f.searchToYear.disabled = (f.searchIn.value == 'news') ? true : false;
}

function EmbedOn(site)
{
	for(var i=0; i < EmbedOnSites.length; i++)
	{
		if(document.getElementById('EmbedOn-'+EmbedOnSites[i]) != null)
		document.getElementById('EmbedOn-'+EmbedOnSites[i]).style.display = 'none';
	}

	if(site != 0)
	{
	document.getElementById('EmbedOn').style.display = 'block';
	document.getElementById('EmbedOn-'+site).style.display = 'block';
	}
	else
	document.getElementById('EmbedOn').style.display = 'none';
}

function EmbedOnSubmit(site)
{
var id = (_PLAY > 0) ? _PLAY : (_RID > 0 ? _RID : _VID);
var videoURL = _HOST+(_RID > 0 ? 'listenRadio?r=' : 'play?v=')+id;

	if(!id)
	return false;

	if(embed_autoPlay == 'Y')
	UpdateEmbed();

	if(site == 'Facebook')
	{
	var url = 'http://www.facebook.com/sharer.php';
	url += '?u='+escape(videoURL);
	url += '&t='+escape(document.title);
	window.open(url);
	}
	else if(site == 'MySpace')
	{
	var url = 'http://www.myspace.com/Modules/PostTo/Pages/?l=3';
	url += '&t='+escape(document.title);
	url += '&u='+escape(videoURL);
	url += '&c='+escape(document.form_embed.embedHTML.value);
	window.open(url);
	}
	else if(site == 'Blogger')
	{
	document.getElementById('widget.title').value = document.title;
	document.getElementById('widget.content').value = document.form_embed.embedHTML.value;
	document.form_EmbedOn_Blogger.submit();
	}

	if(embed_autoPlay == 'Y')
	{
	embed_autoPlay = 'N';
	UpdateEmbed();
	}
}

function searchArtist(name,searchIn)
{
	if(lastSearchString == name)
	return false;
	
	if(name.length > 1)
	Ajax('letter','1&searchArtist=Y&firstLetter='+name+'&searchIn='+searchIn, 1);
	else
	hideArtistContainer();

lastSearchString = name;
}

function showArtistContainer()
{
	if(document.getElementById("letterContainer") != null)
	document.getElementById("letterContainer").style.display = "block"; 
}

function hideArtistContainer()
{
	if(document.getElementById("letterContainer") != null)
	document.getElementById("letterContainer").style.display = "none"; 
}

function RadioNowListening(title)
{
	if(title && title != nowListeningTitle)
	{
	nowListeningTitle = title;
	Ajax("radio-nowlistening",_RID,"1&Title="+title);
	}
}

function onFacebookConnect()
{
var f = document.reg_form;
FB.Facebook.apiClient.users_getInfo
	(
	  FB.Facebook.apiClient.get_session().uid
	, ['first_name','last_name','birthday_date','email_hashes','sex','birthday','pic_big']
	, function(userInfo, ex)
	  {
	  f.first_name.value = userInfo[0]['first_name'] ? userInfo[0]['first_name'] : '';
	  f.last_name.value = userInfo[0]['last_name'] ? userInfo[0]['last_name'] : '';

	  	if(userInfo[0]['sex'] == 'male')
		Gender('M');
		else if(userInfo[0]['sex'] == 'female')
		Gender('F');

		if(userInfo[0]['birthday_date'])
		{
		  var dateBorn = new Array();
		  dateBorn = userInfo[0]['birthday_date'].split('/');
		  f.date_born_day.value = dateBorn[1]*1;
		  f.date_born_month.value = dateBorn[0]*1;
		  f.date_born_year.value = dateBorn[2]*1;
		}

		if(userInfo[0]['pic_big'])
		f.avatarURL.value = escape(userInfo[0]['pic_big']);
		
	  f.email.focus();
	  }
	)
}

function trim(str, chars)
{
return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars)
{
chars = chars || "\\s";
return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
 
function rtrim(str, chars)
{
chars = chars || "\\s";
return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

Date.prototype.format = function(f)
{
	if( !this.valueOf() )
	return false;
var d = this;
return f.replace(/(Y|m|d|H|i)/gi,
	function($1)
	{
		switch ($1)
		{
		case 'Y': return d.getFullYear();
		case 'm': return (d.getMonth()+1 > 9) ? d.getMonth()+1 : "0"+(d.getMonth()+1);
		case 'd': return (d.getDate() > 9) ? d.getDate() : "0"+d.getDate();
		case 'H': return (d.getHours() > 9) ? d.getHours() : "0"+d.getHours();
		case 'i': return (d.getMinutes() > 9) ? d.getMinutes() : "0"+d.getMinutes();
		}
	}
);
}

function striptags(str)
{
return str.replace(/(<([^>]+)>)/ig, ""); 
}

function makeLinks(text)
{
var e = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
return text.replace(e, '<a href="$1" target="_blank">$1</a>');
}

function RemoveObject(id)
{
var o = document.getElementById(id);
o.parentNode.removeChild(o);
}

[].indexOf || (Array.prototype.indexOf = function(v)
	{
	for(var i = this.length; i-- && this[i] !== v;);
	return i;
	}
);

function SubscribeTo(type_id, type, callback)
{
sendRequest("ajax.api", ProcessSubscribe, "VID="+type_id+"&name=subscribe&page=1&type="+type, "subscribe", callback);
}

function AddAsFriend(member_id, callback)
{
sendRequest("ajax.api", ProcessSubscribe, "VID="+member_id+"&name=addasfriend&page=1&callback="+callback, "addasfriend", callback);
}

function RemoveFriend(member_id, callback)
{
sendRequest("ajax.api", ProcessSubscribe, "VID="+member_id+"&name=removefriend&page=1&callback="+callback, "removefriend", callback);
}

function ApproveFriend(member_id)
{
sendRequest("ajax.api", ProcessSubscribe, "VID="+member_id+"&name=approvefriend&page=1");
}

function BecameArtistFan(artist_id, callback)
{
sendRequest("ajax.api", ProcessSubscribe, "VID="+artist_id+"&name=becameartistfan&page=1&callback="+callback, "becameartistfan", callback);
}

function NotArtistFan(artist_id, callback)
{
sendRequest("ajax.api", ProcessSubscribe, "VID="+artist_id+"&name=notartistfan&page=1&callback="+callback, "notartistfan", callback);
}

function ShowThumbPreview(vid, ms, title)
{
var thumb = document.getElementById("video"+vid+"thumb");
var thumbPreviewContainer = document.getElementById("thumbPreview"+vid+"Container");

	if(vid < 1 || ms < 0 || thumbPreviewContainer == null || thumb == null)
	return false;

var o = new SWFObject("thumbPreview.swf","single",thumb.offsetWidth,thumb.offsetHeight,"8");
o.addVariable("VID",vid);
o.addVariable("ms",ms);
o.addVariable("Title",title);
o.addParam("menu","false");
o.addParam("wmode","transparent");
o.addParam("allowscriptaccess","always");
o.write(thumbPreviewContainer);
thumbPreviewContainer.style.display = "block";
lastPreviewID = vid;
}

function HideThumbPreview(vid)
{
var o = document.getElementById("thumbPreview"+vid+"Container");
	if(vid < 1 || o == null)
	return;
clearTimeout(previewTimeout);
o.style.display = "none";
o.innerHTML = "";
}

function FieldMaxLength(Object, maxlen)
{
	if(Object.value.length > maxlen)
	Object.value = Object.value.substring(0, maxlen);
}

function UpdateFileFields(numFiles, objId, html)
{
var o = document.getElementById(objId);
o.innerHTML = "";
	for(var i=1; i <= numFiles; i++)
	{
	o.innerHTML += html;
	}
}

function Opacity(objId, opacity)
{
var o = document.getElementById(objId);
o.style.opacity = opacity / 100;
o.style.filter = "alpha(opacity=" + opacity + ")";
o.style.MozOpacity = opacity / 100;
o.style.KhtmlOpacity = opacity / 100;
}
