// JavaScript Document

var ie = (window.navigator.appName.toLowerCase().indexOf("explorer")>-1);
var funcPause = null;
var funcResume = null;
var funcVolume = null;
var saveVolume = 0;
var funcStop = null;
var funcPlay = null;

var stateMute = false;
var stateVolume = 2;

var player = null;
var playerfile = null;
var controls = null;

var playerbox = null;
var videobox = null;

var itemId = null;

var anim = null;

var iePlayer = '<ob' + 'ject id="_video" width="128" height="128"'+
					' classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" type="application/x-oleobject">' + 
					'<param name="URL" value="%fname%">'+
					'<param name="SendPlayStateChangeEvents" value="True">'+
					'<param name="AutoStart" value="True">'+
					'<param name="uiMode" value="none">'+
				'</ob'+'ject>';
var mzPlayer = '<em' + 'bed type="application/x-mplayer2" src="%fname%" id="_video" ShowControls="0" ShowStatusBar="false" controls="ImageWindow" border="0" width="128" height="128" clsid="{8E27C92B-1264-101C-8A2F-040224009C02}">';

function CheckCapabilities(url) {
	document.getElementById("_vcont").innerHTML = ((ie)?iePlayer:mzPlayer).replace("%fname%",url);
	document.getElementById("_vcont").setAttribute("url",url.toString().RealReplace("'","[sqt]").RealReplace('"',"[dqt]"));
	player = document.getElementById("_video");
	if (typeof player.controls != "undefined" && player.controls != null) {
		controls = player.controls;
		try { if (typeof player.controls.pause != "undefined") funcPause = player.controls.pause; } catch(e) {}
		try { if (typeof player.controls.stop != "undefined") funcStop = player.controls.stop; } catch(e) {}
		try { if (typeof player.controls.play != "undefined") funcPlay = player.controls.play; } catch(e) {}
		try { if (typeof player.settings.volume != "undefined") funcVolume = "settings.volume"; } catch(e) {}
	} else if (typeof player.Controls != "undefined" && player.Controls != null) {
		controls = player.Controls;
		try { if (typeof player.Controls.Pause != "undefined") funcPause = player.Controls.Pause; } catch(e) {}
		try { if (typeof player.Controls.Stop != "undefined") funcStop = player.Controls.Stop; } catch(e) {}
		try { if (typeof player.Controls.Play != "undefined") funcPlay = player.Controls.Play; } catch(e) {}
		try { if (typeof player.Settings.Volume != "undefined") funcVolume = "Settings.Volume"; } catch(e) {}
	}
	anim = window.setInterval(Animate,50);
}

function SetupPlayer(id,type,url,title,optThumb) {
	videobox = document.getElementById("_videocont");
	playerbox = document.getElementById("_playercont");
	itemId = id;
	// Configures the player's visual according to the parameters
	// Type is 0 for audio and 1 for video
	switch (type) {
		case 0:
			// Hide
			videobox.style.top = "-1000px";
			videobox.Moveable = false;
			playerbox.style.top = (document.body.scrollTop + document.documentElement.clientHeight + 10) + "px";
			playerbox.Moveable = true;
			playerbox.Direction = "up";
			document.getElementById("_vspace").style.display = "none";
			CheckCapabilities(url);
			break;
		case 1:
			// Show
			videobox.style.top = (document.body.scrollTop + document.documentElement.clientHeight + 10) + "px";;
			videobox.Moveable = true;
			playerbox.style.top = (document.body.scrollTop + document.documentElement.clientHeight + 10) + "px";
			playerbox.Moveable = true;
			playerbox.Direction = "up";
			document.getElementById("_vspace").style.display = (ie)?"block":"table-cell";
			CheckCapabilities(url);
			break;
	}
	// Hide/show the thumbnail
	if (typeof optThumb == "string" && optThumb != "") {
		document.getElementById("_thumb").style.display = (ie)?"block":"table-cell";
		document.getElementById("_thumb_img").src = optThumb;
	} else {
		document.getElementById("_thumb").style.display = "none";
		document.getElementById("_thumb_img").src = optThumb;
	}
	// Set the title
	document.getElementById("_title").innerHTML = title;
	// Set conditional buttons
	document.getElementById("_playpause").src = "Res/OrangeMusic/MusicPlayer/play_dis.gif";
	document.getElementById("_stop").onclick = Player_Stop;
	document.getElementById("_mute").src = (funcVolume == null)?"Res/OrangeMusic/MusicPlayer/do_mute_dis.gif":"Res/OrangeMusic/MusicPlayer/do_mute.gif";
	document.getElementById("_volume").src = (funcVolume == null)?"Res/OrangeMusic/MusicPlayer/volume_dis.gif":("Res/OrangeMusic/MusicPlayer/volume_"+stateVolume+".gif");
	document.getElementById("_volume").useMap = (funcVolume == null)?"":"#_volumeMap";
}

function Player_Stop() {
	if (funcStop == null) {
		try { player.controls.stop(); } catch(e) {}
		document.getElementById("_vcont").innerHTML = "";
	} else {
		try {
			funcStop();
		} catch(e) {
			document.getElementById("_vcont").innerHTML = "";
		}
	}
	// Set play button
	document.getElementById("_playpause").src = "Res/OrangeMusic/MusicPlayer/play.gif";
	document.getElementById("_playpause").onclick = Player_Play;
	document.getElementById("_stop").src = "Res/OrangeMusic/MusicPlayer/stop_dis.gif";
	try { delete document.getElementById("_stop").onclick; } catch(e) {}
	document.getElementById("_stop").onclick = null;
}

function Player_Play() {
	if (funcPlay == null) {
		var url = document.getElementById("_vcont").getAttribute("url").toString().RealReplace("[sqt]","'").RealReplace("[dqt]",'"');
		document.getElementById("_vcont").innerHTML = ((ie)?iePlayer:mzPlayer).replace("%fname%",url);
	} else {
		try {
			funcPlay();
		} catch(e) {
			var url = document.getElementById("_vcont").getAttribute("url").toString().RealReplace("[sqt]","'").RealReplace("[dqt]",'"');
			document.getElementById("_vcont").innerHTML = ((ie)?iePlayer:mzPlayer).replace("%fname%",url);
		}
	}
	// Set pause button
	document.getElementById("_playpause").src = "Res/OrangeMusic/MusicPlayer/play_dis.gif";
	try { delete document.getElementById("_playpause").onclick; } catch(e) {}
	document.getElementById("_playpause").onclick = null;
	document.getElementById("_stop").src = "Res/OrangeMusic/MusicPlayer/stop.gif";
	document.getElementById("_stop").onclick = Player_Stop;
}

/*function Player_Pause() {
	if (funcPause != null) {
		funcPause();
		document.getElementById("_playpause").src = "Res/OrangeMusic/MusicPlayer/play.gif";
		document.getElementById("_playpause").onclick = Player_Resume;
	}
}

function Player_Resume() {
	if (funcResume != null) {
		try {
			funcResume(controls.currentItem);
		} catch(e) {
			try {
				funcResume(controls.CurrentItem);
			} catch(e) {
				var url = document.getElementById("_vcont").getAttribute("url").toString().RealReplace("[sqt]","'").RealReplace("[dqt]",'"');
				document.getElementById("_vcont").innerHTML = ((ie)?iePlayer:mzPlayer).replace("%fname%",url);
			}
		}
		// Set pause button
		if (funcPause == null) {
			document.getElementById("_playpause").src = "Res/OrangeMusic/MusicPlayer/pause_disabled.gif";
			try { delete document.getElementById("_playpause").onclick; } catch(e) {}
			document.getElementById("_playpause").onclick = null;
		} else {
			document.getElementById("_playpause").src = "Res/OrangeMusic/MusicPlayer/pause.gif";
			document.getElementById("_playpause").onclick = Player_Pause;
		}
	}
}*/

function Player_Volume(vol) {
	if (funcVolume != null) {
		stateVolume = vol;
		var vols = funcVolume.split(".");
		try {
			player[vols[0]][vols[1]] = vol*20;
			document.getElementById("_volume").src = "Res/OrangeMusic/MusicPlayer/volume_"+stateVolume+".gif";
		} catch(e) {}
	}
}

function Player_Mute() {
	if (funcVolume != null) {
		var vols = funcVolume.split(".");
		try {
			if (stateMute == false) {
				saveVolume = player[vols[0]][vols[1]];
				player[vols[0]][vols[1]] = 0;
				stateVolume = 0;
				document.getElementById("_volume").src = "Res/OrangeMusic/MusicPlayer/volume_0.gif";
				document.getElementById("_mute").src = "Res/OrangeMusic/MusicPlayer/do_unmute.gif";
				stateMute = true;
			} else {
				player[vols[0]][vols[1]] = saveVolume;
				stateVolume = Math.floor(saveVolume/20);
				document.getElementById("_volume").src = "Res/OrangeMusic/MusicPlayer/volume_"+stateVolume+".gif";
				document.getElementById("_mute").src = "Res/OrangeMusic/MusicPlayer/do_mute.gif";
				stateMute = false;
			}
		} catch(e) {}
	}
}

function Player_StartClosing() {
	playerbox.Moveable = true;
	playerbox.Direction = "down";
}

function Player_Close() {
	Player_Stop();
	playerbox.Moveable = false;
	playerbox.style.top = "-1000px";
	videobox.Moveable = false;
	videobox.style.top = "-1000px";
}

function Download() {
	if (document.getElementById("_fields").style.display == "none") {
		document.getElementById("_fields").style.display = (ie)?"block":"table-cell";
		document.getElementById("_small").onkeyup = function(ev) {
			if (this.value.length == 3) document.getElementById("_large").focus();
		}
		document.getElementById("_large").onkeyup = function(ev) {
			var keycode = (typeof ev != "undefined")?ev.which:event.keyCode;
			if ((keycode == 8 || keycode == 46) && this.value == "") document.getElementById("_small").focus();
		}
		document.getElementById("_dl").src = "Res/OrangeMusic/MusicPlayer/send.gif";
	} else {
		////////////////////////////////////////////
		////////////////////////////////////////////
		////// Phone number validation here ////////
		////////////////////////////////////////////
		////////////////////////////////////////////
	}
}

function Animate() {
	if (playerbox.Moveable == true) {
		var left = Math.round((document.documentElement.scrollLeft + document.documentElement.clientWidth - playerbox.offsetWidth)/2);
		if (playerbox.Direction == "up") {
			var target = document.documentElement.scrollTop + document.documentElement.clientHeight - playerbox.offsetHeight - 1;
		} else if (playerbox.Direction == "down") {
			var target = document.documentElement.scrollTop + document.documentElement.clientHeight + 75;
		}
		var next = playerbox.offsetTop + Math.round((target - playerbox.offsetTop) / 3);
		playerbox.style.top = next + "px";
		playerbox.style.left = left + "px";
	}
	if (videobox.Moveable == true) {
		var vleft = left + 181;
		var vtarget = target - 75;
		var vnext = videobox.offsetTop + Math.round((vtarget - videobox.offsetTop) / 3);
		videobox.style.top = vnext + "px";
		videobox.style.left = vleft + "px";
	}
	if ((next == target || next == target + 1 || next == target - 1) && playerbox.Direction == "down") {
		Player_Close();
	}
}

String.prototype.RealReplace = function(what,withwhat) {
	return this.split(what).join(withwhat);
}