function addBookmark(url, title) {
	if (window.sidebar) {
		window.sidebar.addPanel(title, url, "");
	} else if (document.all) {
		window.external.AddFavorite(url, title);
	} else {
		return true;
	}
}

function alternate(iId) {
	if (!aAlternate || !aAlternate.length) {
		return;
	}
	var iAlts = aAlternate.length;
	var iAlt, aAlt, sType, sUrl, iLabelId;
	for (iAlt = 0; iAlt < iAlts; iAlt++) {
		aAlt = aAlternate[iAlt];
		if (aAlt && aAlt.length && aAlt[0] == iId) {
			sType = aAlt[1];
			sUrl = aAlt[2];
			iLabelId = aAlt[3];
			break;
		}
	}
	var aHtml = [];
	var aMatches = sUrl.match(/^http:\/\/(www\.)?youtube\.com\/watch\?v=(.*)$/);
	if (!aMatches) {
		aMatches = sUrl.match(/^http:\/\/(www\.)?youtube\.com\/v\/(.*)$/);
	}
	if (aMatches) {
		// YouTube
		var sYoutubeId = aMatches[2];
		aHtml.push(
		 '<div><object width="480" height="396"><param name="movie" value="http://www.youtube.com/v/' +
		 sYoutubeId + '"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/' +
		 sYoutubeId + '" type="application/x-shockwave-flash" wmode="transparent" width="480" height="396"></embed></object></div>');
	} else if (sType == 'flv' || sType == 'mp3') {
	  // Other flv or mp3
		aHtml.push(
		 '<div><embed src="http://www.pcplanets.com/videoplayer.swf?width=480&height=' +
		 (sType == 'flv' ? '400' : '280') + '&displaywidth=480&displayheight=' +
		 (sType == 'flv' ? '360' : '240') +
		 '&file=' + sUrl.replace(/\?/g, '%3F').replace(/&/g, '%26') +
		 '&shuffle=false&repeat=list&repeatList=false&autostart=true" width="480" height="' +
		 (sType == 'flv' ? '400' : '280') +
		 '" bgcolor="#000000" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" scale="showall" allowFullScreen="true" flashvars="' +
		 '&alternates=1&sid=' + sSessionId +
		 '" allowScriptAccess="always"/></div>'
		);
	} else if (sType == 'rm') {
		// RealPlayer
		aHtml.push(
		 '<object classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"\
			 width="320" height="240">\
			<param name="SRC" value="' + sUrl + '" />\
			<param name="CONTROLS" value="ImageWindow" />\
			<param name="CONSOLE" value="one" />\
			<param name="autoStart" value="true" />\
			<embed src="' + sUrl + '" width="320" height="240" nojava="false"\
			 controls="ImageWindow" console="one" autostart="true"\
			 type="audio/x-pn-realaudio-plugin"></embed>\
			</object><br/><object\
			 classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"\
			 width="320" height="26">\
			<param name="CONTROLS" value="ControlPanel" />\
			<param name="CONSOLE" value="one" />\
			<embed src="' + sUrl + '" width="320" height="26" nojava="false"\
			 controls="ControlPanel" console="one" autostart="true"\
			 type="audio/x-pn-realaudio-plugin"></embed>\
			</object>');
	} else if (sType == 'mov') {
		// QuickTime
		aHtml.push(
		 '<object CLASSID="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"\
			 width="320" height="256"\
			 codebase="http://www.apple.com/qtactivex/qtplugin.cab">\
			<param name="src" value="' + sUrl + '" />\
			<param name="autoStart" value="true" />\
			<param name="loop" value="false" />\
			<param name="controller" value="true" />\
			<param name="scale" value="tofit" />\
			<embed src="' + sUrl + '" width="320" height="256" autoplay="true"\
			 loop="false" controller="true"\
			 pluginspage="http://www.apple.com/quicktime/" scale="tofit"></embed>\
			</object>');
	} else if (sType == 'swf') {
		// SWF
		aHtml.push('<embed src="' + sUrl + '" width="320" height="260" quality="high" bgcolor="#000000" scale="noborder" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"/>');
	} else {
		// WMP
		aHtml.push(
		 '<object type="application/x-mplayer2" height="305" width="320">\
			<param name="fileName" value="' + sUrl + '" />\
			<param name="URL" value="' + sUrl + '" />\
			<param name="src" value="' + sUrl + '" />\
			<param name="allownetworking" value="internal" />\
			<param name="allowScriptAccess" value="never" />\
			<param name="enableJSURL" value="false" />\
			<param name="enableHREF" value="false" />\
			<param name="saveEmbedTags" value="true" />\
			<param name="showstatusbar" value="1" />\
			<param name="playcount" value="1" />\
			<embed src="' + sUrl + '" type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" showstatusbar="1" height="305" width="320"></embed>\
			</object>');
	}
	if (aAlternate && aAlternate.length && aAlternate.length > 1) {
		var aAltHtml = [];
		var oAltDiv = PcP.el('alternateSources');
		if (oAltDiv) {
			aAltHtml.push('<h2>Play ');
			if (sType == 'mp3') {
				aAltHtml.push('MP3');
			} else {
				aAltHtml.push('Video');
			}
			aAltHtml.push(' From Alternate Source</h2><div class="divider"></div>');
			var aAltVideos = [];
			var oAltTypes = {};
			var iAlternates = aAlternate.length;
			var iAlt, aAlt, sAltId, sAltType, sAltUpper;
			for (iAlt = 0; iAlt < iAlternates; iAlt++) {
				aAlt = aAlternate[iAlt];
				if (!aAlt || !aAlt.length) {
					continue;
				}
				sAltId = aAlt[0];
				if (sAltId == iId) {
					continue;
				}
				sAltType = aAlt[1];
				sAltUpper = sAltType.toUpperCase();
				if (sAltType == sType) {
					aAltVideos.push([
						'<div><a href="javascript:alternate(',
						sAltId,
						')" class="video',
						sAltUpper,
						'">#',
						sAltId,
						'</a></div>'
					].join(''));
				} else if (!oAltTypes[sAltType]) {
					oAltTypes[sAltType] = [
						'<div><a href="play-',
						sAltId,
						'-',
						sEncTitle,
						'.shtml" class="video',
						sAltUpper,
						'">',
						sAltType == 'mp3' ? 'Listen ' : 'Alternate ',
						sAltUpper,
						'</a></div>'
					].join('');
				}
			}
			aAltHtml.push(aAltVideos.join(''));
			aAltHtml.push('<div><a href="javascript:hideAlternates()">Less alternates...</a></div>');
			if (aAltVideos.length) {
				aAltHtml.push('<div class="divider"></div>');
			}
			PcP.el('allAlternateSources').innerHTML = aAltHtml.join('');
			if (aAltVideos.length > 3) {
				aAltHtml[3] = aAltVideos.splice(0, 3).join('');
				aAltHtml[4] = '<div><a href="javascript:showAlternates()">More alternates...</a></div>';
			} else {
				aAltHtml[4] = '';
			}
			oAltDiv.innerHTML = aAltHtml.join('');
			aAltHtml = [];
			if (oAltTypes['flv']) {
				aAltHtml.push(oAltTypes['flv']);
			}
			if (oAltTypes['wmv']) {
				aAltHtml.push(oAltTypes['wmv']);
			}
			if (oAltTypes['mov']) {
				aAltHtml.push(oAltTypes['mov']);
			}
			if (oAltTypes['rm']) {
				aAltHtml.push(oAltTypes['rm']);
			}
			if (oAltTypes['mp3']) {
				aAltHtml.push(oAltTypes['mp3']);
			}
			if (aAltHtml.length) {
				aAltHtml.push('<div class="divider"></div>');
			}
			PcP.el('alternateTypes').innerHTML = aAltHtml.join('');
		} else {
			aAltHtml.push('<div style="margin-top:9px;text-align:center">Play ');
			if (sType == 'mp3') {
				aAltHtml.push('MP3');
			} else {
				aAltHtml.push('Video');
			}
			aAltHtml.push(' From Alternate Source');
			for (var iAlt = 0; iAlt < aAlternate.length; iAlt++) {
				var aAlt = aAlternate[iAlt];
				if (aAlt && aAlt.length && aAlt[0] != iId) {
					aAltHtml.push(" <a href=\"javascript:alternate('");
					aAltHtml.push(aAlt[0]);
					aAltHtml.push("')\">#");
					aAltHtml.push(iAlt + 1);
					aAltHtml.push('<img width="10" height="10" border="0" ');
					if (aAlt[1] == "rm") {
						aAltHtml.push('src="ico-rp-small.gif" alt="RealPlayer"');
					} else if (aAlt[1] == "mov") {
						aAltHtml.push('src="ico-qt-small.gif" alt="QuickTime"');
					} else if (aAlt[1] == 'flv' || aAlt[2].search(/\.flv$/i) != -1 ||
					 aAlt[1] == 'swf' || aAlt[2].search(/\.swf$/i) != -1) {
						aAltHtml.push('src="ico-flash-small.gif" alt="Flash"');
					} else if (aAlt[1] == "mp3") {
						aAltHtml.push('src="ico-mp3-small.gif" alt="MP3"');
					} else {
						aAltHtml.push('src="ico-wmp-small.gif" alt="Windows Media Player"');
					}
					aAltHtml.push('/></a>');
				}
			}
			aAltHtml.push('</div>');
			aHtml.push(aAltHtml.join(''));
		}
	}
	var oEl = PcP.el("MediaPlayerDiv");
	oEl.innerHTML = aHtml.join('');
	PcP.el("adbottom").style.height = 673 - 23 - oEl.offsetHeight + 'px';
	oEl = PcP.el("videocode");
	if (oEl) {
		oEl.innerHTML = oEl.innerHTML.replace(/id=\d*/i, 'id=' + iId);
	}
	oEl = PcP.el("AddedToPlaylist");
	if (oEl) {
		oEl.style.display = 'none';
	}
	oEl = PcP.el("AddToPlaylist");
	if (oEl) {
		oEl.style.display = '';
		oEl.innerHTML = oEl.innerHTML.replace(/,\d*\)/i, ',' + iId + ')');
	}
	oEl = PcP.el("TellAFriend");
	if (oEl) {
		oEl.innerHTML = oEl.innerHTML.replace(/id=\d*/i, 'id=' + iId);
	}
	oEl = PcP.el("Bookmark");
	if (oEl) {
		oEl.innerHTML = oEl.innerHTML.replace(/id=\d*/i, 'id=' + iId);
		oEl.innerHTML = oEl.innerHTML.replace(/play-\d*-/i, 'play-' + iId + '-');
	}
	oEl = PcP.el("Tracker");
	if (oEl) {
		oEl.innerHTML = ['<img src="tracker.php?id=', iId, '&lid=', iLabelId,
		 '" width="1" height="1" alt=""/>'].join('');
	}
}

function init(iId, sArgs) {
	var oEl;
	oEl = PcP.el('featuredVideos');
	if (oEl && oEl.innerHTML == '') {
		fetch({
			url: 'mp-featured-videos.php?id=' + iId,
			callback: function(sResponse) {
				if (!sResponse) {
					return;
				}
				var oEl = PcP.el('featuredVideos');
				if (oEl) {
					oEl.innerHTML = sResponse;
				}
			}
		});
	}
	oEl = PcP.el('featuredProduct1');
	if (oEl && oEl.innerHTML == '') {
		fetch({
			url: 'mp-featured-product1.php?id=' + iId + sArgs,
			callback: function(sResponse) {
				if (!sResponse) {
					return;
				}
				var oEl = PcP.el('featuredProduct1');
				if (oEl) {
					oEl.innerHTML = sResponse;
					oEl.style.display = '';
				}
			}
		});
	}
	oEl = PcP.el('featuredProduct2');
	if (oEl && oEl.innerHTML == '') {
		fetch({
			url: 'mp-featured-product2.php?id=' + iId + sArgs,
			callback: function(sResponse) {
				if (!sResponse) {
					return;
				}
				var oEl = PcP.el('featuredProduct2');
				if (oEl) {
					oEl.innerHTML = sResponse;
					oEl.style.display = '';
				}
			}
		});
	}
}

function showAlternates() {
	PcP.el('allAlternateSources').style.display = '';
	PcP.el('alternateSources').style.display = 'none';
}

function hideAlternates() {
	PcP.el('allAlternateSources').style.display = 'none';
	PcP.el('alternateSources').style.display = '';
}

function AddToPlaylist(sessionId, id) {
	get({
		url: '/playlist-addrec.php?sid=' + sessionId + '&id=' + id,
		callback: function(oResponse) {
			if (!oResponse.authorised) {
				if (confirm('You must be signed in to add this song to your playlist.\nIt is FREE to sign up for playlist access. Just click "OK" button below.\nThere is a $5 one-time fee which removes all the ads from the site and also allows access to ALL the premium features such as free video and image uploading, etc.\nWould you like to sign up now ?')) {
					var oWindow = window;
					if (window.opener) {
						oWindow = window.opener;
					}
					oWindow.document.location = 'http://www.pcplanets.com/member_login.shtml';
				}
			} else if (oResponse.added) {
				PcP.el('AddToPlaylist').style.display = 'none';
				PcP.el('AddedToPlaylist').style.display = '';
				PcP.el("playListCount").innerHTML = oResponse.numList;
			}
		}
	});
}

function playlistNotAuthorized() {
	if (confirm('You must be signed in to add this song to your playlist.\nIt is FREE to sign up for playlist access. Just click "OK" button below.\nThere is a $5 one-time fee which removes all the ads from the site and also allows access to ALL the premium features such as free video and image uploading, etc.\nWould you like to sign up now ?')) {
		var oWindow = window;
		if (window.opener) {
			oWindow = window.opener;
		}
		oWindow.document.location = 'http://www.pcplanets.com/member_login.shtml';
	}
}

function playlistAdded() {
	var oPlayListCount = document.getElementById('playListCount');
	if (oPlayListCount) {
		oPlayListCount.innerHTML = parseInt(oPlayListCount.innerHTML) + 1;
	}
}
