// VARS
var currentPosition = 0;
var currentBuffer   = 0; 
var currentVolume   = 80; 
var currentLoad     = 0;
var player;
// ADDITIONAL VARS
var videoFile         = '';
var videoPos          = 0;
var videoState        = '';
var videoCur          = 0;	
var videoBuf          = 0;
var videoTim          = 0;	
var videoTimSess      = 0;
var startScene        = 0;
var switchScene       = 0;												
var scenes_arr;
var videoDemo         = 0;


// CREATE PLAYER
function createPlayer( v_url, v_img, v_output_id, v_height, v_width, listener ) {
	var cnt = document.getElementById(v_output_id);
	var src = "/js3/wmvplayer.xaml";
	var cfg = {height:v_height, width:v_width, file:v_url, image:v_img, autostart:"true"};
	player  = new jeroenwijering.Player(cnt,src,cfg);
	if (listener == 1) addListeners();
};
function clearPlayer(v_output_id) {
	if (document.getElementById(v_output_id)) {
		clearInterval(videoTim); 
		document.getElementById(v_output_id).innerHTML='';
	}
	clearInterval(videoTimSess); 
}
// INIT EVENT LISTENERS
function addListeners() {
	if(player.view) {
		// player.addListener('VOLUME',volumeUpdate);
		// player.addListener('LOAD',loadUpdate);
		player.addListener('STATE',stateUpdate);
		player.addListener('BUFFER',bufferUpdate);
		player.addListener('TIME',timeGetPos);
		player.addListener('TIME_ELAPSED',timeElapsedUpdate);
		player.addListener('TIME_REMAINING',timeRemainingUpdate);
		// player.addListener('BUFFER',bufferUpdate);
	} else {
		setTimeout("addListeners()",500);
	}
};
function volumeUpdate(vol) {
	currentVolume = vol;
	var tmp = document.getElementById("videoVolume"); 
	if (tmp) { tmp.innerHTML = vol; } 
};
function loadUpdate(ldd) { 
	currentLoad = ldd;
	var tmp = document.getElementById("videoLoad"); 
	if (tmp) { tmp.innerHTML = ldd; } 
};
function timeElapsedUpdate(pos,dur) { 
	currentPosition = pos;
	var tmp = document.getElementById("videoElapsed"); 
	if (tmp) { tmp.innerHTML = dur; } 
};
function timeRemainingUpdate(pos,dur) { 
	currentPosition = pos;
	var tmp = document.getElementById("videoRemaining"); 
	if (tmp) { tmp.innerHTML = dur; } 
};
// ADDITIONAL FUNCTIONS
function stateUpdate(ost,nst) { 
	videoState = nst;
};
function bufferUpdate(pct) {
	videoBuf = Math.ceil(pct);
}; 	
function timeGetPos(pos) { 
	videoPos = Math.ceil(pos);
};

// MAIN CONTROLS
function videoControl() {
	if (videoBuf == 100 && videoState == "Playing") {
		arrlen     = scenes_arr.length-1;
		for (i = 1; i <= arrlen; i++) {
			if (videoPos > 0 && videoPos <= (scenes_arr[1]['starttime'])) {
				videoCur   = 1;
				startScene = 0;
				if (switchScene != 1) {
					document.getElementById("screenOverview").innerHTML = scenes_arr[1]['title'];
					Spry.Utils.updateContent('prevMovieScreenDetails', prevLink + scenes_arr[1]['product_id'] + '&tinsect=prevMovieScreenDetails');
					thumbStyle('prevThumbID', 'click', 'ThumbH', 'ThumbHSelected', -1, 1);
					prevThumbSel = 1;
				}
			}
			else if (i+1 <= arrlen && videoCur != i && (videoPos-1) >= scenes_arr[i]['starttime'] && (videoPos+1) <= scenes_arr[i+1]['starttime']) {
				videoCur   = i;
				startScene = 0;
				if (switchScene != 1) {
					document.getElementById("screenOverview").innerHTML = scenes_arr[i]['title'];
					Spry.Utils.updateContent('prevMovieScreenDetails', prevLink + scenes_arr[i]['product_id'] + '&tinsect=prevMovieScreenDetails');
					thumbStyle('prevThumbID', 'click', 'ThumbH', 'ThumbHSelected', -1, i);
					prevThumbSel = i;
				}
			}
			else if (videoCur != arrlen && videoPos >= scenes_arr[arrlen]['starttime']) {
				videoCur   = arrlen;
				startScene = 0;
				if (switchScene != 1) {
					document.getElementById("screenOverview").innerHTML = scenes_arr[arrlen]['title'];
					Spry.Utils.updateContent('prevMovieScreenDetails', prevLink + scenes_arr[arrlen]['product_id'] + '&tinsect=prevMovieScreenDetails');
					thumbStyle('prevThumbID', 'click', 'ThumbH', 'ThumbHSelected', -1, videoCur);
					prevThumbSel = videoCur;
				}
			}
			switchScene = 0;
		}
	}
	else if (startScene > 0 && videoPos < 1 && scenes_arr) {
		videoSkip(scenes_arr[startScene]['starttime']);
		if (startScene > 0) videoCur = startScene;
	}
}
function videoSkip( pos ) {
	if (player.getConfig != "undefined") {
		player.sendEvent('scrub', pos);
		videoPos = pos;
	}
}
function videoSwitchScene(title, product_id, index) {
	if (scenes_arr) {
		arrlen = scenes_arr.length-1;
		clearInterval(videoTim);
	}
	else arrlen = 0;
	if (videoFile && player && index > 0 && index <= arrlen) { 
		videoCur = index;
		switchScene = 1;
		videoSkip(scenes_arr[index]['starttime']);
		videoTim = setInterval("videoControl()", 1500);	
		document.getElementById('screenOverview').innerHTML=title; 
		Spry.Utils.updateContent('prevMovieScreenDetails', prevLink + product_id + '&tinsect=prevMovieScreenDetails');	
	}
	else {
		document.getElementById('screenOverview').innerHTML=title; 
		if (videoDemo != "1") Spry.Utils.updateContent('prevMovieScreenContent', prevLink + product_id + '&tinsect=prevMovieScreenContent');
		else                  Spry.Utils.updateContent('prevMovieScreenContent', prevLink + product_id + '&tinsect=prevMovieScreenContent&demo=1');
		Spry.Utils.updateContent('prevMovieScreenDetails', prevLink + product_id + '&tinsect=prevMovieScreenDetails');									
	}
}

// COUNTER FUNCTION
var end_yr=0; var end_mo=0; var end_da=0; var end_hr=0; var end_mt=0; var end_sc=0;
var month_arr = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");	
var countdif  = 0;
var rem_old   = 0;
var end_str   = '';
var timer_div = '';

function videoValidatorSet(s_yr, s_mo, s_da, s_hr, s_mt, s_sc,     e_yr, e_mo, e_da, e_hr, e_mt, e_sc) {	
	end_yr=e_yr; end_mo=e_mo; end_da=e_da; end_hr=e_hr; end_mt=e_mt; end_sc=e_sc;
	ser_dt       = new Date(s_yr, s_mo-1, s_da, s_hr, s_mt, s_sc);
	loc_dt       = new Date();
	countdif     = (loc_dt.getTime() - ser_dt.getTime());
	videoTimSess = setInterval("videoValidator()", 1000);
}

function videoValidator() {	
	cur_dt     = new Date();
	cur_yr     = cur_dt.getYear();
	if (cur_yr < 1000) cur_yr+=1900;
	cur_mo     = cur_dt.getMonth();
	cur_da     = cur_dt.getDate();
	cur_hr     = cur_dt.getHours();
	cur_mt     = cur_dt.getMinutes();
	cur_sc     = cur_dt.getSeconds();
	cur_str    = month_arr[cur_mo] + " " + cur_da + ", " + cur_yr + " " + cur_hr + ":" + cur_mt + ":" + cur_sc;
	end_st     = month_arr[end_mo-1] + " " + end_da + ", " + end_yr + " " + end_hr + ":" + end_mt + ":" + end_sc;
	rem        = Date.parse(end_st)-Date.parse(cur_str)+countdif;
	// CORRECT VALUE IF DIFFERENCE IS BIGGER THAN 5 SECONDS
	rem_sec    = rem/1000;
	rem_secold = rem_old/1000;
	if ((rem_sec < (rem_secold-5) || rem_sec > (rem_secold +5)) && (rem_old != 0)) {
		rem = rem_old-1000;
	}
	rem_old    = rem;
	rem_sec    = Math.floor(rem_sec);
	// TIMEOUT
	if (rem_sec < 60 && rem_sec > -1) {
		if (document.getElementById('sessionEndMovie')) timer_div = document.getElementById('sessionEndMovie');
		if (document.getElementById('sessionEndScene')) timer_div = document.getElementById('sessionEndScene');
		if (end_str == "") end_str = timer_div.innerHTML; 
		timer_div.innerHTML = rem_sec + ' ' + strSeconds;
	}
	if (rem_sec < 0) {
		timer_div.innerHTML = strExpired;
		clearPlayer(prevAreaVideo);
		myBarHandler('updateSess', 'sessionsBar');
	}
}