var FinalCutStudio = {
	hasQT: false,
	okQT: false,
	okBR: true,
	QTMovie: {
		timeNow: 0,
		timeEnd: 0,
		obj: null,
		isPlaying: false
	},
	interval: 50,
	tryCount: 0,
	timer1: null, 
	timer2: null,
	timer3: null,
	sliderPosition: 0,
	Init: function() {
		var n = FinalCutStudio;
		n.QTTest();	
		var oakland = $('main').getElementsByTagName('a');
		for (i=0; i<oakland.length; i++) { addEventToObject(oakland[i],'onclick',FinalCutStudio.Swap); }
		n.btnPlay = ($('btnPlay')) ? new _btnPlay($('btnPlay')) : false;
		n.btnPause = ($('btnPause')) ? new _btnPause($('btnPause')) : false;
		n.handle = $('handle');
		Drag.init(FinalCutStudio.handle, null, 0, 610, 0, 0);
		n.ffx = function() {
			var n = FinalCutStudio;
				//n.QTMovie.obj = document['pm']; //: $('pme'); //firefox sees embed
				//if (navigator.userAgent.toLowerCase().indexOf('safari')>0) {n.QTMovie.obj = $('pm');}
				
				//alert($('pm'));
				try
				{ 
					var o = document.getElementById("pm"); 
					o.GetPluginStatus(); 
					n.QTMovie.obj = o; 
				}
				catch(e)
				{ 
					try 
					{ 
						var o = document.getElementById("pme"); 
						o.GetPluginStatus(); 
						n.QTMovie.obj = o; 
					}
					catch(e)
					{
						try 
						{ 
							var o = document['pm']
							o.GetPluginStatus(); 
							n.QTMovie.obj = o; 
						}
						catch(e)
						{
							n.QTMovie.obj = null;
						}
					}
				}
				//$('debug').innerHTML += 'n.QTMovie.obj.GetPluginStatus = ' + n.QTMovie.obj.GetPluginStatus.toString()+'<br>';
				//$('debug').innerHTML += n.QTMovie.obj.GetPluginStatus().toLowerCase()+'<br>';
				if ((n.QTMovie.obj != null) && (n.QTMovie.obj.GetPluginStatus().toLowerCase() == "playable" 
					|| n.QTMovie.obj.GetPluginStatus().toLowerCase() == "complete"))
				{
					$('debug').innerHTML += 'passed. n.QTMovie.obj = '+n.QTMovie.obj+'<br>';
					clearTimeout(n.timer3);
					setTimeout('FinalCutStudio.Play();',1000);
					return;
				}
			n.timer3 = setTimeout("FinalCutStudio.ffx();",700);
		}
		n.timer3 = setTimeout("FinalCutStudio.ffx();",700);
	},
	Play: function() {
		var n = FinalCutStudio;
		n.QTMovie.isPlaying = true;
		n.GetQTPosition();
		n.GetQTInfo();
		n.GetQTPosition();
		n.SetSliderPosition();
		try {n.QTMovie.obj.Play();}
		catch (err) {n.okQT = n.okBR = false;}
		return false;
	},
	Pause: function() {
		var n = FinalCutStudio;
		clearTimeout(n.timer1);
		clearTimeout(n.timer2);
		try {n.QTMovie.obj.Stop();}
		catch (err) {n.okQT = n.okBR = false;}
		n.QTMovie.isPlaying = false;
		n.GetQTPosition();
		n.SetSliderPosition();
		return false;
	},
	GetQTInfo: function() {var n = FinalCutStudio; n.QTMovie.timeEnd = n.QTMovie.obj.GetDuration();},
	GetQTPosition: function() {
		var n = FinalCutStudio;
		n.QTMovie.timeNow = n.QTMovie.obj.GetTime();
		if(n.QTMovie.isPlaying) {n.timer2 = setTimeout(FinalCutStudio.GetQTPosition,FinalCutStudio.interval);};
	},
	SetSliderPosition: function() {
		var n = FinalCutStudio;
		n.sliderPosition = Math.round((n.QTMovie.timeNow/n.QTMovie.timeEnd)*610);
		$('position').style.width = n.sliderPosition+"px";
		FinalCutStudio.handle.style.left = n.sliderPosition-5+"px";
		if(n.QTMovie.isPlaying) {n.timer1 = setTimeout(FinalCutStudio.SetSliderPosition,FinalCutStudio.interval);};
	},
	ProcessDrag: function() {
		var n = FinalCutStudio;
		clearTimeout(n.timer1);
		n.QTMovie.obj.SetTime(((parseInt($('handle').style.left.split('px')[0])+5)/610)*n.QTMovie.timeEnd);	
		n.SetSliderPosition();
	},
	QTTest: function() {
		var n = FinalCutStudio;
		n.hasQT = false;
		if(navigator.plugins && navigator.plugins.length) {
			for (var i=0;i<navigator.plugins.length;i++) {
				if(navigator.plugins[i].name.indexOf('QuickTime') >= 0) {
					n.hasQT = true;
					//$('debug').innerHTML += 'n.hasQT = ' + n.hasQT+'<br>';
					n.okQT = (parseInt(navigator.plugins[i].name.substring(18))<7)?false:true;
					//$('debug').innerHTML += 'n.okQT = ' + n.okQT+'<br>';
				}
			}
		} else {
			execScript('on error resume next: FinalCutStudio.hasQT = IsObject(CreateObject("QuickTimeCheckObject.QuickTimeCheck.1"))','VBScript');
			execScript('on error resume next: FinalCutStudio.okQT = Hex(CreateObject("QuickTimeCheckObject.QuickTimeCheck.1").QuickTimeVersion)/1000000','VBScript');
			n.okQT = (n.okQT<7)?false:true;
		}
	},
	Swap: function(ev) {
		var n = FinalCutStudio;
		if (!ev) ev = window.event;
		var clickedLink = (window.event) ? window.event.srcElement : ev.target;
		while (!clickedLink.tagName || clickedLink.tagName.toLowerCase() != "a") clickedLink = clickedLink.parentNode;
		var loc = document.location+"";
		var workingStr = "http://jfi.net/jfisite/venue/"+clickedLink.getAttribute('target')+".mov";
		n.QTMovie.obj.SetURL(workingStr);
		n.QTMovie.obj.SetControllerVisible(false);
		n.ffx();
		if ($('profileName')) $('profileName').innerHTML = clickedLink.title;
		(ev.stopPropagation) ? ev.stopPropagation() : ev.cancelBubble = true;
		(ev.preventDefault) ? ev.preventDefault() : ev.returnValue = false;
		return false;
	}
}
function _btnPlay(obj) {
	addEventToObject(obj,'onmousedown',function(){obj.style.backgroundPosition="left -29px"})
	addEventToObject(obj,'onmouseup',function(){obj.style.backgroundPosition="left 0px"})
	addEventToObject(obj,'onclick',FinalCutStudio.Play)
}
function _btnPause(obj) {
	addEventToObject(obj,'onmousedown',function(){obj.style.backgroundPosition="left -29px"})
	addEventToObject(obj,'onmouseup',function(){obj.style.backgroundPosition="left 0px"})
	addEventToObject(obj,'onclick',FinalCutStudio.Pause)
}
function CurrentStyle(el,prop) {
	var viewCSS = (typeof document.defaultView=='function') ? document.defaultView() : document.defaultView;
	if (viewCSS && viewCSS.getComputedStyle){
		var s = viewCSS.getComputedStyle(el,null);
		return s && s.getPropertyValue(prop);
	}
	return el.currentStyle && (el.currentStyle[prop] || null) || null;
}
function getStyle(el,styleProp)
{
	var x = document.getElementById(el);
	if (x.currentStyle) var y = x.currentStyle[styleProp];
	else if (window.getComputedStyle) var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp);
  return y;
}


/////////////////////QUICKTOURS TABS/////////////////////
var position1 = document.location.search.substring(1,document.location.search.length).indexOf('/')+2;
var position2 = document.location.search.substring(position1,document.location.search.length).indexOf('/');
var quicktoursfcstabs = new Array(4);
	quicktoursfcstabs[0] = 'editing';
	quicktoursfcstabs[1] = 'graphics';
	quicktoursfcstabs[2] = 'audio';
	quicktoursfcstabs[3] = 'delivery';
quicktourstab = (position1 > 2 && position2 > 1) ? document.location.search.substring(position1,position1+position2) : 'editing';
if (quicktourstab == 'fcs') {
	quicktourstab = 'editing';
}
function quicktoursstepinitial() {
	for (i=0; i<quicktoursfcstabs.length; i++) {
		if ( quicktourstab == quicktoursfcstabs[i] ) {
			j = i+1;
			curStep = j;
			quicktoursstep(j);
		}
	}
}
var steps = new Array();
function quicktoursstep(num) {
	steps = document.getElementById("quicktoursnav").getElementsByTagName("li");
	prevElem = document.getElementById("quicktour" + curStep);
	elem = document.getElementById("quicktour" + num);
	prevElem.style.display = "none";
	elem.style.display = "block";
	steps[curStep-1].className = "";
	steps[num-1].className = "active";
	curStep = num;
}

/////////////////////TECHSPECS TABS/////////////////////
var specsfcstabs = new Array(5);
	specsfcstabs[0] = 'finalcutpro';
	specsfcstabs[1] = 'motion';
	specsfcstabs[2] = 'soundtrackpro';
	specsfcstabs[3] = 'dvdstudiopro';
	specsfcstabs[4] = 'compressor';
specstab = (document.location.search.length > 1) ? document.location.search.substring(1,document.location.search.length) : 'finalcutpro';
function fcstabstepinitial() {
	for (a=0; a<specsfcstabs.length; a++) {
		if ( specstab == specsfcstabs[a] ) {
			b = a+1;
			curStep = b;
			fcstabstep(b);
		}
	}
}
var fcstabsteps = new Array();
function fcstabstep(num) {
	fcstabsteps = document.getElementById("fcstabsnav").getElementsByTagName("li");
	prevElem = document.getElementById("tab" + curStep);
	elem = document.getElementById("tab" + num);
	prevElem.style.display = "none";
	elem.style.display = "block";
	fcstabsteps[curStep-1].className = "";
	fcstabsteps[num-1].className = "active";
	curStep = num;
}


