var playerLoaded=false;
var activeChapter=0;
var chaparr=new Array();
var chapindex=new Array();
var playerPos=0;
var playerId;

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
	node = document;
	if ( tag == null )
	tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\\\s)"+searchClass+"(\\\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}


function playerReady(obj) {
	/*var id = obj['id'];
	var version = obj['version'];
	var client = obj['client'];*/
	playerLoaded=true;
	playerId = window.document[obj.id];
	playerPos=0;
};

function thisMovie(swf) {
	if(navigator.appName.indexOf("Microsoft") != -1) {
		return window[swf];
	} else {
		return document[swf];
	}
};


function getPlayer(movieName)
{
	if (window.document[movieName])
	{
		return window.document[movieName];
	}
	if (navigator.appName.indexOf("Microsoft Internet")==-1)
	{
		if (document.embeds && document.embeds[movieName])
		return document.embeds[movieName];
	}
	else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
	{
		return document.getElementById(movieName);
	}
}

function jwSeekPLay(gid,tc) {
	var player=getPlayer(gid);
	player.sendEvent("SEEK",tc);
	player.sendEvent("PLAY","true");
}

function jwChapterClicked(gid,tc,obj) {
	jwSeekPLay(gid,tc+1);
	//var oldclass=obj.className;
	//obj.className='clicked';
	//var cto=window.setTimeout('setClass("'+obj.id+'","'+oldclass+'");',2000);
}

function setClass(id,cl) {
	document.getElementById(id).className=cl;
}

function changeVideo(gid,video,link,suburl) {
	var player=getPlayer(gid);
	/**
	{captions: this.captionsURI, file: this.videoURI, start: fromSec, autostart: true})
	*/
	var o={
		file: video,
		type:'flv',
		autostart:true,
		//captions:encodeURIComponent("http://localhost/~vinnetu/visiofly/captions.xml"),
		usecaptions:true
	};
	player.sendEvent("LOAD",o);
	var objs=getElementsByClass('reso_button_active',link.parentNode,'a');

	for (var i=0; i<objs.length; i++) {
		objs[i].className='reso_button';
	}

	link.className='reso_button_active';
	
}

function addTimeListener(gid) {
	if (!playerLoaded) {
		setTimeout(function () {addTimeListener(gid)},2000);
		return false;
	}
	var player=getPlayer(gid);
	player.addModelListener('TIME',"jwTimeEvent");
}

function getChapIndex(len) {
	chaparr=new Array();
	chapindex=new Array();
	var x=1;
	for (var c=0; c<len; c++) {
		var m=Math.floor(c/60);
		var s=c-(m*60);
		if (s<10) s='0'+s;


		if (document.getElementById('playerchp'+m+'_'+s)) {
			chapindex[x]='playerchp'+m+'_'+s;
			chaparr[x]=c;
			x=x+1;
		}
	}

}
function jwTimeEvent(obj) {
	playerPos=obj.position;
	if (obj.position<0.5) return true;
	var len=Math.floor(obj.position);
	//if (len!=obj.position) return true;
	
	if (!chapindex[1]) {
		getChapIndex(Math.floor(obj.duration));
	}
	var x=1;
	var ok=0;
	while (chaparr[x]>0 && ok!=1) {
		y=x+1;
		if (chaparr[y]=='undefined' || chaparr[y]=='NaN' || chaparr[y]>len || !chaparr[y]>0) {
			act=chaparr[x];
			actid=chapindex[x];

			ok=1;

		}
		x=x+1;
	}
	
	if (activeChapter!=act) {
		clearChapterStyles();
		setClass(actid,'clicked');
		activeChapter=act;
		//var cto=window.setTimeout('setClass("'+'playerchp0_0'+pos+'","'+oldclass+'");',2000);
	}
	
	return true;

}
function clearChapterStyles() {
	var chaps=document.getElementById('player_chaps');
	var elems=kklgetElementsByClassName(chaps,'tr','clicked');
	for (var c=0; c<elems.length; c++) {
		elems[c].className='';
	}

}

function clearVideo() {
	chaparr=new Array();
	chapindex=new Array();
	activeChapter=0;
}
