// JavaScript Document
////////////////////////////////////////////////////////////////////////////
// Flash AV Player JS edition (midi enable)////////////////////////////////
// written by FODOR c 2003 ///////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////
////////////////////////////
//*************************
// set skin specifications:
av_player="av_aquavideo.swf";
av_width=400;
av_height=490;
av_bgColor="#FFFFFF";
ctrlTempo="ctrlTempo.swf";
stagePage="AV_JSstage.html";
///////////////////////
//*********************
///////////////////////////////
// init variables ////////////
var playing=false;
var trackReady=false;
var resetTemp=false;
var index="";
////////////////////////////
///////////////////////////////////
// detect browser and platform ///
/////////////////////////////////
function detectNav () {
	if(parseInt(navigator.productSub)>=20020000 && navigator.vendor.indexOf("Apple Computer")!=-1) isSafari=true; else isSafari=false;
	if(navigator.appName=="Netscape") isNS=true; else isNS=false;
	if(navigator.appName=="Microsoft") isIE=true; else isIE=false;
	if (navigator.platform=="Win32") isWin=true; else isWin=false;
	if (navigator.platform=="MacPPC") isMac=true; else isMac=false;
	if(isNS==true && isSafari==false) {
		canCtrl=true;
		passFvars="?canCtrl=true";
	} else {
		canCtrl=false;
		passFvars="?canCtrl=false";
	}
}
/////////////////////////////////////////////////////////////////////////
function theTrack () {
	trackObj = parent.document.getElementById("movie");
	return trackObj.contentDocument.getElementById("audiopanel");
}
function state() {
	if (theTrack().GetTime()>0) {
		theTrack().Rewind();
		theTrack().Stop();
		trackReady=true;
		playIt();
	} else {
		document.getElementById("timer").value = "loading...";
	}
}
//////////////////////////////
// MAIN CONTROLS/////////////
////////////////////////////
function playIt(theFile) {
	if (canCtrl) {
		t = eval("index");
		if (!trackReady) {
			if (theFile != t) {
				frames["movie"].location.href=stagePage+"?autoPlay=true&src="+theFile+"&canCtrl="+canCtrl;
			}
			index=theFile;
			e=setInterval("state()",100);
		} else if (trackReady) {
			clearInterval(e);
			tmpObj = document.getElementById("tempoTXT");
			tempo = Math.round(tmpObj.value*100)/100;
			theTrack().SetRate(tempo);
			d=setInterval("setTimer()",100);
			playing=true;pausing=false;trackReady=false;
		}
	} else {
		frames["movie"].location.href=stagePage+"?autoPlay=true&src="+theFile+"&canCtrl="+canCtrl;
	}
}
function pauseIt(theFile) {
	if (canCtrl) {
		clearInterval(d);
		theTrack().Stop();
		pausing=true;
	} else {
		frames["movie"].location.href=stagePage+"?autoPlay=false&src="+theFile+"&canCtrl="+canCtrl;
	}
}
function stopIt() {
	if (canCtrl) {
		clearInterval(d);
		theTrack().Rewind();
		theTrack().Stop();
		document.getElementById("timer").value = "";
		pausing=true;playing=false;trackReady=false;
		index="";
		resetTempo();
		frames["movie"].location.href="";
	}
	frames["movie"].location.href= stagePage+"?autoPlay=false&src=";
}
function prevIt() {
	if (canCtrl) {
		if (theTrack().GetTime()>3000) {
			theTrack().Rewind();
		}
		if (pausing) {
			theTrack().Stop();
		}
	}
}
function bwdIt(bwd) {
	if (bwd) {
		a=setInterval("bwdFwd(-500)",100);d=setInterval("setTimer()",100);
	} else {
		clearInterval(a);clearInterval(d);
	}
}
function fwdIt(fwd) {
	if (fwd) {
		b=setInterval("bwdFwd(500)",100);d=setInterval("setTimer()",100);
		_fwd=true;
	} else {
		clearInterval(b);clearInterval(d);
		_fwd=false;
	}
}
function bwdFwd (theValue) {
	if (theTrack().GetTime()>360 || _fwd) {
		timePos = theTrack().GetTime();
		theTrack().SetTime(timePos+theValue);
	} else {
		rwdIt();
	}
}
////////////////////////
// TIME & TEMPO ///////
//////////////////////
function setTimer () {
	timePos = formatTime(theTrack().GetTime());
	document.getElementById("timer").value = timePos;
}
function setTempoRate(t_Value) {
	tmpObj = document.getElementById("tempoTXT");
	tempo = Math.round(Number(tmpObj.value)*100)/100;
	tempo += Number(t_Value);
	tempo = Math.round(tempo*100)/100;
	if (tempo < 0) tempo=0.00;
	if (!resetTemp) tmpObj.value=tempo; else resetTemp=false;
	if (playing && !pausing) theTrack().SetRate(tempo);
}
function resetTempo() {
	document.getElementById("tempoTXT").value="1.00";
	resetTemp=true;
	setTempoRate(0);
}
function scrollTempo(scrlTmp,theValue) {
	if (scrlTmp) {
		c=setInterval("setTempoRate("+theValue+")",20);
	} else {
		clearInterval(c);
	}
}
// time format
function zeroNum (aNumber) {
	if (aNumber < 10) {
		aNumber = "0" + aNumber;
	}
	return aNumber;
}
function formatTime (millsec) {
	tenth = zeroNum (Math.floor(Math.floor(millsec % 1000)/10));
	nbOfSec = millsec / 1000;
	secondes = zeroNum (Math.floor(nbOfSec % 60));
	minutes = zeroNum (Math.floor(nbOfSec/60) % 60);
	return  minutes + ":" + secondes + ":" + tenth;
}
////////////////////////////////////////////////////
// document.write functions ///////////////////////
//////////////////////////////////////////////////
function writeIframe() {
	if (canCtrl) {
		iframeH=0; 
	} else {
		iframeH=20;
	}
	document.write("<iframe src='"+stagePage+"?autoPlay=false&src="+index+"' name='movie' id='movie' style='position:relative; width:"+av_width+"px; height:"+iframeH+"px; z-index:1; overflow: hidden; background-color: #FFFFFF; layer-background-color: #FFFFFF; border: 0px none #000000;' align='middle' frameborder='0' scrolling='No'></iframe>");
}
function writeTimer() {
	if (canCtrl) {
		document.write("<table align='center' cellpadding='0' cellspacing='0'><tr><td><input name='timer' type='text' class='timer' id='timer' value='' size='8'/></td></tr></table>");
	}
}
function writePlayer() {
	a1= "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0' width='"+av_width+"' height='"+av_height+"' id='player'>";
	a2="<param name='movie' value='"+av_player+"' />";
	a3="<param name='quality' value='high' />";
	a4="<param name='BGCOLOR' value='"+av_bgColor+"' /><param name='canCtrl' value='true' />";
	a5="<embed src='"+av_player+"' width='"+av_width+"' height='"+av_height+"' name='player' swliveconnect='true' quality='high' pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' bgcolor='"+av_bgColor+"'></embed></object>";
	document.write(a1+a2+a3+a4+a5);
}
function writeTempo() {
	if (canCtrl) {
		document.write("<table><tr><td>Tempo x&nbsp;<INPUT name='tempoTXT' id='tempoTXT' type='text' value='1.00' size='4' class='tempo'/></td><td>");
		b1="<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0' width='80' height='20' id='player'>";
		b2="<param name='movie' value='"+ctrlTempo+"' />";
		b3="<param name='quality' value='high' />";
		b4="<param name='BGCOLOR' value='"+av_bgColor+"' />";
		b5="<embed src='"+ctrlTempo+"' width='80' height='20' name='player' swliveconnect='true' quality='high' pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' bgcolor='"+av_bgColor+"'></embed></object>";
		document.write(b1+b2+b3+b4+b5);
		document.write("</td></tr></table>");
	}
}