var boolIsBuffering = false;	
var boolIsPlaying = false;
var boolShowStatus = false;
var boolSizeStandard = true;

var g_labelTimeoutId;

function CurrentItemChanged() {
	var q = document.getElementById ("idStatus");
	var p = MediaPlayer.currentMedia;
	q.title = 'Naslov medija: ' + p.name + '\n\nPolni URL medija:\n' + p.sourceURL;
}	//	CurrentItemChagned

function OpenStateChanged(theState) {
	// open state se pise v id=idOpenState
	var q, p = document.getElementById;
	if (p == null || (p = document.getElementById ('idStatus')) == null)
		return;
		
	var theStateStr;
	switch (theState) {
		case  0:	theStateStr = 'nedefinirano'; break;
		case  1:	theStateStr = 'nalaganje nove igralne liste'; break;
		case  2:	theStateStr = 'lociranje igralne liste'; break;
		case  3:	theStateStr = 'priklaplanje na igralno listo'; break;
		case  4:	theStateStr = 'nalaganje igralne liste'; break;
		case  5:	theStateStr = 'odpiranje igralne liste'; break;
		case  6:	theStateStr = 'igralna lista je odprta'; break;
		case  7:	theStateStr = 'igralna lista pripravljena'; break;
		case  8:	theStateStr = 'nalaganje novega medija'; break;
		case  9:	theStateStr = 'lociranje medija'; break;
		case 10:	theStateStr = 'vzpostavljanje povezave'; break;
		//case 10:	theStateStr = 'priklapljanje na medij'; break;
		case 11:	theStateStr = 'nalaganje medija'; break;
		case 12:	theStateStr = 'odpiranje medija'; break;
		case 13:	theStateStr = 'medij je odprt'; break;
		case 14:	theStateStr = 'pričetek akvizicije kodeka'; break;
		case 15:	theStateStr = 'konec akvizicije kodeka'; break;
		case 16:	theStateStr = 'pričetek akvizicije licence'; break;
		case 17:	theStateStr = 'konec akvizicije licence'; break;
		case 18:	theStateStr = 'pričetek individualizacije DRM'; break;
		case 19:	theStateStr = 'konec individualizacije DRM'; break;
		case 20:	theStateStr = 'čakanje na medij'; break;
		case 21:	theStateStr = 'odpiranje neznane vrste URL-ja'; break;
		otherwise:	theStateStr = '(' + theState + ')';
	}
	p.innerHTML = theStateStr;

}	//	OpenStateChanged

function PlayStateChanged(theState) {
	var p = document.getElementById ('idStatus');

	var theStateStr = '';
	if (theState != 3) {
		boolIsPlaying = false;
		switch (theState) {
			case 0:		theStateStr = 'nedefinirano'; break;
			case 1:		theStateStr = 'Ustavljeno'; break;
			case 2:		theStateStr = 'Začasno ustavljeno'; break;
			//case 3:		theStateStr = 'predvajanje'; break;
			case 4:		theStateStr = 'Hitro naprej'; break;
			case 5:		theStateStr = 'Hitro nazaj'; break;
			case 6:		theStateStr = 'Izravnavanje'; break;
			case 7:		theStateStr = 'Čakanje'; break;
			case 8:		theStateStr = 'Igranje zaključeno'; break;
			case 9:		theStateStr = 'Priprava novega'; break;
			case 10:	theStateStr = 'Pripravljeno'; break;
			otherwise:	theStateStr = '(' + theState + ')';
		}
		p.innerHTML = '';	
	} else {
		boolIsPlaying = true;
		SetVolume ('MediaPlayer', Math.floor (MediaPlayer.settings.volume / 10));
		theStateStr = '<b>Predvajanje...</b>';
	}
	p.innerHTML = theStateStr;
}	//	PlayStateChanged

// Sets the default info label to "playing"
function SetDefaultLabel() {
	document.getElementById ('idStatus').innerHTML = '<b>Predvajanje</b>';      //test under video
}

function SetVolumeDelta(idPlayer, incDelta) {
	SetVolume (idPlayer, Math.floor (MediaPlayer.settings.volume / 10) + incDelta);
}

function SetVolume(idPlayer, vol_0_100) {

	var p, q;

	if (vol_0_100 > 10)
		vol_0_100 = 10;	// max volume
	else
	if (vol_0_100 < 0)
		vol_0_100 = 0;	// mute
	
	MediaPlayer.settings.volume = currVolume = 10*vol_0_100;
	
	if (vol_0_100 == 0)
		document.getElementById ('idStatus').innerHTML = 'Tišina';
	else
		document.getElementById ('idStatus').innerHTML = 'Glasnost: ' + MediaPlayer.settings.volume + '%';
	
	clearTimeout(g_labelTimeoutId); // clear previous timeout event
	g_labelTimeoutId = setTimeout(SetDefaultLabel, 2000); //set new one
	
	var i;
	for (i = 0; i <= 5; i++) {
		if (vol_0_100 == 0)
			document.getElementById ('picVol' + i).src = 'images/volume_' + i + '_off.gif';
		else if ((2*i) <= vol_0_100)
			document.getElementById ('picVol' + i).src = 'images/volume_' + i + '_on.gif';
		else
			document.getElementById ('picVol' + i).src = 'images/volume_' + i + '_off.gif';
	}
}	//	SetVolume

function SetBalanceDelta (idPlayer, incDelta) {
	SetBalance (idPlayer, Math.floor ((50 + MediaPlayer.settings.balance) / 10) + incDelta);
}
	
function SetBalance (idPlayer, bal_0_100) {
	//if (Math.abs (bal_0_100) > 10)
	//	bal_0_100 = 5;	// defaultni na center

	MediaPlayer.settings.balance = currBalans = ((10*bal_0_100) - 50);
	if (bal_0_100 == 5)
		document.getElementById ('idStatus').innerHTML = 'Sredina';
	else
		document.getElementById ('idStatus').innerHTML = 'Balans: ' + MediaPlayer.settings.balance + '%';
	
	clearTimeout(g_labelTimeoutId); // clear previous timeout event
	g_labelTimeoutId = setTimeout(SetDefaultLabel, 2000); //set new one
	
	var i;
	if (bal_0_100 < 5) {
		// balance left
		for (i = 0; i <= 4; i++) {
			if ((i < bal_0_100) && (document.getElementById ('picBal' + i) != null))
				document.getElementById ('picBal' + i).src = 'images/balance_' + i + '_off.gif';
			else if (document.getElementById ('picBal' + i) != null)
				document.getElementById ('picBal' + i).src = 'images/balance_' + i + '_on.gif';
		}
		for (i = 6; i <= 10; i++) {
			if (document.getElementById ('picBal' + i) != null)
				document.getElementById ('picBal' + i).src = 'images/balance_' + i + '_off.gif';
		}		
	} else if (bal_0_100 > 5) {
		// balance right
		for (i = 6; i <= 10; i++) {
			if ((i <= bal_0_100) && (document.getElementById ('picBal' + i) != null))
				document.getElementById ('picBal' + i).src = 'images/balance_' + i + '_on.gif';
			else if (document.getElementById ('picBal' + i) != null)
				document.getElementById ('picBal' + i).src = 'images/balance_' + i + '_off.gif';
		}
		for (i = 0; i <= 4; i++) {
			if (document.getElementById ('picBal' + i) != null)
				document.getElementById ('picBal' + i).src = 'images/balance_' + i + '_off.gif';
		}
	} else {
		// center
		for (i = 0; i <= 10; i++) {
			if (document.getElementById ('picBal' + i) != null)
				document.getElementById ('picBal' + i).src = 'images/balance_' + i + '_off.gif';
		}
	}
	/*
	var i;
	for (i = 0; i <= 5; i++) {
		if (vol_0_100 == 0)
			document.getElementById ('picVol' + i).src = 'images/volume_' + i + '_off.gif';
		else if ((2*i) <= vol_0_100)
			document.getElementById ('picVol' + i).src = 'images/volume_' + i + '_on.gif';
		else
			document.getElementById ('picVol' + i).src = 'images/volume_' + i + '_off.gif';
	}*/
}	//	SetBalance
	
function DisplayBuffering() {
	if (boolIsBuffering == false)	// globalna zadeva za odstranitev re-entrance
		return;
	
	var nPercent = MediaPlayer.network.bufferingProgress;
	document.getElementById ('idStatus').innerHTML = 'Izravnavanje ' + nPercent + '%';
	if (nPercent < 100)
		setTimeout (DisplayBuffering, 128);
	else
		boolIsBuffering = false
}	//	DisplayBuffering


function GetErrorDescrPoSlovensko(errorCode) {
	switch (errorCode) {
		case 0x80040200	:
				return 'Ni mogoče pobrati ustreznega de-kompresorja\n(De-kompresor je bil naložen, a ni delal. Morebiti bo potrebno ponovno zagnati media spletni brskalnik.)';
		case 0x80040218	:
				return 'Ni bilo moč najti kombinacije filtrov, s katero bi lahko prikazali podatkovni tok.';
		case 0x8004022F	:
				return 'Neveljaven format datoteke.';
		case 0x80040255 :
				return 'Videa ni moč predvajati; ni ustreznega de-kompresorja.';
		case 0x80040265 :
				return 'Ni mogoče igrati posnetka; format ni podprt.';
		case 0x80070002 :
				return 'Http naslova ni mogoče odpreti.';
		case 0x80070005 :
				return 'Naslova na tem protokolu ni mogoče odpreti, ali ni ustreznih pravic za dostop.';
		case 0x80070035 :
				return 'Datoteke na strežniku ni mogoče odpreti.';
		case 0x800C0005 :
				return 'Strežnik ali bližnjeg (proxy) strežnik ni bil najden.';
		case 0x80070043 :
				return 'Na strežniku ni bilo mogoče najti datoteke.';
		case 0x800C000D :
				return 'Neznan ali nepodprt protokol.';
		case 0xC00D0006 :
				return 'Naslova ni mogoče odpreti, ali vzpostavitev povezave ni mogoča.';
		case 0xC00D0013 :
				return 'Čas, predviden za pričetek izvajanja je potekel. Možno je, da gre za težave na povezavah.';
		case 0xC00D0029 :
				return 'Povezava s strežnikom je bila izgubljena. Poizkusite ponovno.';
		case 0xC00D0035 :
				return 'Datoteke iz spletnega naslova ni bilo mogoče prebrati. Poizkusite ponovno.';
		case 0xC00D07F2 :
				return 'Poizkus povezave na multicast kanal ni bil uspešen.';
		case 0xC00D10B3 :
				return 'Nemogoče je najti datoteko; preverite omrežno povezavo.';
	}
	return 'Napaka pri povezavi ali predvajanju. Lahko je tudi napaka na strežniku.\n(Konkretnejši opis napake ni na voljo)';
}	//	GetErrorDescrPoSlovensko

function DisplayError() {
	var p = document.getElementById;
	if (p == null || (p = document.getElementById ('MediaPlayer')) == null)
		return;
				
	if (p.error.errorCount > 0) {
		var errNo = (0x0ffffffff + p.error.item (0).errorCode + 1);

		alert ('NAPAKA!\nKoda napake: (' + errNo.toString (16) + ')\n\n' + 
				GetErrorDescrPoSlovensko (errNo) + '\n\n');
				
		MediaPlayer.error.clearErrorQueue ();
		return;
	}
}	//	DisplayError

function Buffering(boolStartInvoke) {
	if (boolStartInvoke == true) {
		boolIsBuffering = true;
		setTimeout (DisplayBuffering, 17);	// rad imeti praštevila
	}
	else
		boolIsBuffering = false;
}	//	Buffering

function Play() {
	if (MediaPlayer.controls.isAvailable ('Play') && MediaPlayer.URL != '') {
		// auto play je ponavadi nastavljen takole: OFF!
		MediaPlayer.settings.enableErrorDialogs = false;//false
		MediaPlayer.controls.play ();
		
		var p = window.parent.document.getElementById ("idPlayerVContent");
		if (p.rows != '148,*' && p.rows != '392,*')	// jao!
		{
			// no pa dejmo (malo pohack-atirckati)
			if (boolSizeStandard)
				p.rows = '392,*';
			else
				p.rows = '148,*';
			
			p = document.getElementById ("idEmbeddedAll");
			if (null != (p = p.style) && null != (p.display))
				p.display = 'block';
		}
	}
}	//	Play

function PlayFullScreen() {
	if (MediaPlayer.playState == 3) {
		var e;
		try	{
			MediaPlayer.fullScreen = true;//true
		}
		catch (e) {
			alert ('NAPAKA pri preklopu na cel zaslon\n(Operacijo je bilo nemogoče izvesti.)');
		}
	}
}	//	PlayFullSkreen

function NastaviURLinPlayaj(taleURL) {
	Stop();
	MediaPlayer.URL = taleURL;		
	Play();
}	//	NastaviURLinPlayaj

function SetCursorAndStatus(thisId, idNum, cursorStyle, cursorText) {
	var p = document.getElementById (thisId);
	if (p == null)
		return;
	if (p.style.cursor != null)
		p.style.cursor = cursorStyle;
	if (window.status != null)
		window.status = cursorText;
}	//	SetCursor

function renderPlayer(avi) {
	var WMP7;
	var hi = 280;
	var wi = 340;
								
	try 
	{
	  WMP7 = new ActiveXObject("WMPlayer.OCX.7");
	  if (WMP7) {
		  document.write ('<OBJECT ID=MediaPlayer ');
		  document.write (' CLASSID=CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6');
		  document.write (' standby="Nalagam Microsoft Windows Media Player komponente..."');
		  document.write (' TYPE="application/x-oleobject" width="340" height="260">');//'+wi+' '+hi+'
		  document.write ('<PARAM NAME="url" VALUE="'+avi+'">');//'+avi+'
		  document.write ('<PARAM NAME="AutoStart" VALUE="true">');
		  document.write ('<PARAM NAME="ShowControls" VALUE="1">');
		  document.write ('<PARAM NAME="ShowStatusBar" VALUE="true">');
		  document.write ('<PARAM NAME="EnableContextMenu" VALUE="false">');//if true is set it will allow right click on mediaplayer
		  document.write ('<PARAM NAME="uiMode" VALUE="full">');//full
		  document.write ('<PARAM NAME="windowlessVideo" VALUE="true">');//true do not change as if put to 0 it will allow for db click to display full screen
		  document.write ('</OBJECT>');
		}
	}
	catch(e)
	{
		// Handle error -- no WMP 7 or 9 control... use 6
		//IE Code
		document.write ('<OBJECT ID=MediaPlayer ');
		document.write ('CLASSID=CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95 ');
		document.write ('CODEBASE=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715 ');
		document.write ('standby="Nalagam Microsoft Windows Media Player komponente..." ');
		document.write ('TYPE="application/x-oleobject" width="340" height="260">');
		document.write ('<PARAM NAME="FileName" VALUE="'+avi+'">');
		document.write ('<PARAM NAME="AutoStart" VALUE="true">');//true
		document.write ('<PARAM NAME="ShowControls" VALUE="1">');//0
		document.write ('<PARAM NAME="ShowStatusBar" VALUE="true">');//true

		//Netscape code
		document.write ('    <Embed type="application/x-mplayer2"');
		document.write ('        pluginspage="http://www.microsoft.com/windows/windowsmedia/"');
		document.write ('        filename="'+avi+'"');
		document.write ('        src="'+avi+'"');
		document.write ('        Name=MediaPlayer');
		document.write ('        ShowControls=1');//0
		document.write ('        ShowDisplay=0');//0
		document.write ('        ShowStatusBar=1');//1
		document.write ('        EnableContextMenu=0');//0
		document.write ('        width='+wi+'');
		document.write ('        height='+hi+'>');
		document.write ('    </embed>');
		document.write ('</OBJECT>');
	}
	document.write('<div id="idStatus"></div>');
}

function playAvi(avi) {
	MediaPlayer.Url = avi;
}