
userAgent = window.navigator.userAgent;
browserVers = parseInt(userAgent.charAt(userAgent.indexOf("/")+1),10);

function HasPlugin(plugin)
{
	for(var i = 0; i < navigator.plugins.length; i++)
	{
		if(navigator.plugins[i].name.indexOf(plugin) != -1)
			return (true);
	}
	
	return (false);
}	
function checkCookie() {
	setCookie("CookieTest", "OK", 1);
	var v = getCookie("CookieTest");
	setCookie("CookieTest", "");
	return (v == "OK");
}	// checkCookie() end
function getCookie(inName) {
	var search = inName + "="
	if (document.cookie.length > 0) {
		var offset = document.cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			var end = document.cookie.indexOf(";", offset);
			if (end == -1)
				end = document.cookie.length;
			return unescape(document.cookie.substring(offset, end));
		}
	}
}	// getCookie(inName) end
function setCookie(inName, inVal, inTime, inPeriodInSecond) {
	if (!inPeriodInSecond) inPeriodInSecond = 86400;
	if (!inTime && (document.location.href.indexOf("localhost") > -1 ||
			document.location.href.indexOf("127.0.0.1") > -1)) {
		inTime = 30;			// on IIS localhost non expiring cookies don't seem to work?
		inPeriodInSecond = 60;	// so lets have 30 mins instead
	}
	var expire = "";
	if (inTime) {
		var today = new Date();
		today.setTime(today.getTime() + (inTime * inPeriodInSecond * 1000)); 
		expire = ";expires=" + today.toGMTString();
	}
	document.cookie = inName + "=" + escape(inVal) + expire + ";path=/;";
}	// setCookie(inName, inVal, inDays) end
function GetSessionCookieName() {
	var oStr = "";
	if (window.location.search.match(/player=([^&]*)/i)) {
		oStr = RegExp.$1;
	} else if (window.location.search.indexOf("list=on") > -1 || debugMode) {
		oStr = "list";
	}
	return "nsp2_PSC_" + oStr;
}
function MakeArray(n) {
	this.length = n
	for (var i = 1; i<=n; i++) {
		this[i] = 0
	}
	return this
}
function Trim(inString) {
	var retVal = "";
	var start = 0;
	while ((start < inString.length) && (inString.charAt(start) == ' ')) {
		++start;
	}
	var end = inString.length;
	while ((end > 0) && (inString.charAt(end - 1) == ' ')) {
		--end;
	}
	retVal = inString.substring(start, end);
	return retVal;
}	// Trim(inString) end
function hex(n) {
	var h=parseInt(n).toString(16);
	return h.toUpperCase();
//	return (h.length%2)?"0"+h:h
}
function Truncate(inString, inMaxLen, inPad) {
	if (!inPad) inPad = "...";
	var oString = "";
	if (inString.length > inMaxLen)
		oString = inString.substr(0, inMaxLen - inPad.length) + inPad;
	else
		oString = inString;
	
	return oString;
}
function encode(str) {
	var result = "";
	for (i = 0; i < str.length; i++) {
		if (str.charAt(i) == " ") result += "+";
		else result += str.charAt(i);
	}
	return escape(result);
}
function decode(str) {
 	var result = str.replace(/\+/g, " ");
	return unescape(result);
}
function MM_swapImgRestore() { //v3.0
  	var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_preloadImages() { //v3.0
  	var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_swapImage() { //v3.0
   	var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   	if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function findElement(n,ly) {
	d = document;
	if (browserVers < 4)		return d[n];
	// jb - Netscape 7.1 appears as version 5.0 - bizarre!
	if ((browserVers >= 5) && (d.getElementById)) {initImgID; return(d.getElementById(n))}; 
	var cd = ly ? ly.document : d;
	var elem = cd[n];
	if (!elem && cd.all) elem=cd.all[n];	// added by JB - odd!
	if (!elem && cd.layers) {
		for (var i=0;i<cd.layers.length;i++) {
			elem = findElement(n,cd.layers[i]);
			if (elem) return elem;
		}
	}
	return elem;
}
function TrocaImg(a,img) {
	b = document.getElementById(a);
	b.src = img;
}		
function EscreveDados(local, val){
	dDiv = document.getElementById(local);
	dDiv.innerHTML = val;
}
function EscreveDados2(local, val){
    if (local == "zdebug" && debugMode == true)
	dDiv = document.getElementById(local);
	dDiv.innerHTML = dDiv.innerHTML+"<br />"+val;
}
function EscreveDebug(local, val){
    if (debugMode){
 	 dDiv = document.getElementById(local);
	 dDiv.innerHTML = dDiv.innerHTML+"<br />"+val;
	}
}
function reduzTexto(texto,numero) {
	if (texto.length > numero)
		texto = texto.substring(0,numero-2)+"...";
	return texto;
}
function SecondsToMinutes(val){
	minutes = 0; seconds = 0;
	while(val > 60){
		val = val - 60;
		minutes++;
	}
	seconds = Math.floor(val)+"";
	minutes = minutes+"";
	if(minutes.length < 2) minutes = "0"+minutes;
	if(seconds.length < 2) seconds = "0"+seconds;
	return minutes+":"+seconds;
}
var up;
var cmin1,csec1,cmin2,csec2;
function Minutes(data) {
	for(var i=0;i<data.length;i++) if(data.substring(i,i+1)==":") break;
	return(data.substring(0,i)); 
}
function Seconds(data) {
	for(var i=0;i<data.length;i++) if(data.substring(i,i+1)==":") break;
	return(data.substring(i+1,data.length)); 
}
function Display(min,sec) {
	var disp;
	if(min<=9) disp=" 0";
	else disp=" ";
	disp+=min+":";
	if(sec<=9) disp+="0"+sec;
	else disp+=sec;
	return(disp); 
}
CSAg = window.navigator.userAgent; CSBVers = parseInt(CSAg.charAt(CSAg.indexOf("/")+1),10);
function IsIE() { return CSAg.indexOf("MSIE") > 0;}
function setClientSize(inWidth, inHeight) {
	if (this.self != this.top || (typeof debugMode != "undefined" && debugMode)) return;	// not if i'm in a frame
    if (inWidth < 0 || inHeight < 0) {	// fullscreen
		return;
		//inWidth = window.screen.width;
		//inHeight = window.screen.height;
	}
	if (!IsIE()) {
		window.innerWidth = inWidth;
		window.innerHeight = inHeight;
	
	} else {	// is IE and a right pain!
    
		// it is important to resize the window to the
		// wanted values first, even if we won't get them.
		window.resizeTo(inWidth, inHeight);
		window.scrollTo(0,0);
		// create the checkpoint element
		var cp = document.createElement("div");
		cp.style.position = "absolute";
		cp.style.width = "0px";
		cp.style.height = "0px";
		cp.style.right = "0px";
		cp.style.bottom = "0px";
		
		// we can only read it's position after we
		// insert it into the document
		document.body.appendChild(cp);
		
		// here we get the actual client size
		var current_width = cp.offsetLeft;
		var current_height = cp.offsetTop;
		
		// here we find out how much more we need
		// in order to get to the needed inWidth x inHeight size
		// (or in other words, we compute the size of
		// window decorations: border, scroll bars, title)
		var dw = inWidth - current_width;
		var dh = inHeight - current_height;
		
		// and _finally_ we get what we need
		window.resizeBy(dw, dh);
		
		// we can safely delete the checkpoint now
		document.body.removeChild(cp);
		
		// for the curious, return to see how much
		// did IE miss it
		return { missed_width: dw, missed_height: dh };
	} // if IsIE
}
function clickIE4() {
	if (event.button==2){
		alert(mymsg);
		return false;
	}
}
function clickNS4(e) {
	if (e.which==2 || e.which==3){
		alert(mymsg);
		return false;
	}
}
function vidFullScreen(msg) {
	if (bd.activex) {
		if(aZPlayer[n].playState == 3) {			
			alert(msg);
			aZPlayer[n].fullScreen = true;
		}
	} else
		ShowMsgNActiveX();
}
function vidVolumeDown() {
	if (!bd.is_mac) {
		if (bd.activex) {
			var dif = 10;
			if (vidVolume <= 10) dif = 2;
			if (vidVolume <=  6) dif = 1;
			vidVolumeSet(vidVolume - dif);
			vidMute = false;	// changing vol un-mutes!
			led = parseInt(Math.floor(vidVolume + dif/1000)/10);
		}
	} else {
		alert("Sorry! No controls to Mac");
	}
}
function vidVolumeUp() {
	if (!bd.is_mac) {
		if (bd.activex) {
			var dif = 10;
			if (vidVolume < 10) dif = 2;
			if (vidVolume <  6) dif = 1;
			vidVolumeSet(vidVolume + dif);
			vidMute = false;	// changing vol un-mutes!
			led = parseInt(Math.floor(vidVolume + dif/1000)/10);
		}
	} else {
		alert("Sorry! No controls to Mac");
	}
}
function vidVolumeGet() {
	vidVolume = aZPlayer[n].settings.volume;
	return vidVolume;
}
function vidVolumeSet(inVolume) {	// porcentagem
	if (bd.activex) {
		aZPlayer[n].settings.volume = inVolume;
		vidVolume = aZPlayer[n].settings.volume;
	}		
}
function UpdateBP(){
	if(debugMode)
		EscreveDados("plBuff", "Buffering progress: " + aZPlayer[n].network.bufferingProgress + " percent complete");
	EscreveDados("statusbox", ARMAZENANDO+": " + aZPlayer[n].network.bufferingProgress + " % "+COMPLETO);
}
function ThingsToDoWhilePlaying(){
	if (bd.activex) {
		if(aZPlayer[n].controls.currentPosition > 0)
			if(!vBuff)
				EscreveDados("statusbox", EXECUTANDO+"&nbsp; "+SecondsToMinutes(aZPlayer[n].controls.currentPosition)+" / "+SecondsToMinutes(aZPlayer[n].currentMedia.Duration));
		if(aZPlayer[n].PlayState == 10){
			if(n == 1){
				n = 0;
				MM_findObj("mediaPlayer1").style.visibility = "visible"
				MM_findObj("mediaPlayer2").style.visibility = "hidden"
				PlayPause();
			}
			EscreveDados("statusbox", PARADO);			
		} else if(aZPlayer[n].PlayState == 1){
			EscreveDados("statusbox", PARADO);
			clearInterval(play_interval);
		} else if(aZPlayer[n].PlayState == 2){
			EscreveDados("statusbox", PAUSA);
		} else if(aZPlayer[n].PlayState == 3) {
			if(n == 0)
				mediaAtual(aZPlayer[n].currentMedia.sourceURL.substr(aZPlayer[n].currentMedia.sourceURL.search(rExpindice)+10));
			if(debugMode) {
				if (aZPlayer[n].network.bandwidth != 0)
					EscreveDados("plBanda", "Largura de banda: " + aZPlayer[n].network.bandWidth + " K bits/segundo");
				else
					EscreveDados("plBanda", "Largura de banda não disponível para esta media.");
				if (aZPlayer[n].network.bitRate)
					EscreveDados("plBitRate", aZPlayer[n].network.bitRate/1000 + " Kbps");
			}
		}
	}
}
function contaTempo() {
	cmin1=0;
	csec1=0;
	UpRepeat(); 
}
function UpRepeat() {
	csec1++;
	if(csec1==60) { csec1=0; cmin1++; }
	$('divStatus').update(Display(cmin1,csec1));
	ups=setTimeout("UpRepeat()",1000);
}
function ativacontaTempo(){
	$('divStatus').update('Conectando...');
	if(!bd.activex)
	   ups = setTimeout("contaTempo();", 6000);
}
function desativacontaTempo(){
	clearInterval(ups);
	EscreveDados("divStatus", "00:00");
}
function limpaStatusInd() {

}
function changeViewPlayer(playerN){
	if(playerN == "1"){
		aZPlayer[0].style.visibility = "hidden"
		aZPlayer[1].style.visibility = "visible"
	} else {
		aZPlayer[1].style.visibility = "hidden"
		aZPlayer[0].style.visibility = "visible"	
	}
}
function carregaMedia(z_media) {
	aZPlayer[n].URL = z_media;
}
function carregaPlaylist(lista) {
	wmPlaylist = aZPlayer[n].newPlaylist("Zion", lista)
	aZPlayer[n].currentPlaylist = wmPlaylist
}
function Proximo() {
	if (bd.activex) {
        if (aZPlayer[n].controls.isAvailable('Next'))
            aZPlayer[n].controls.next();
	}
}	
function ShutMeDown() {
	if (bd.activex) {
		if(n == 1){ // podcast
			aZPlayer[n].controls.stop();
			n = 0;
			PlayPause();
		} else {
			aZPlayer[n].controls.stop();
			TrocaImg("BtnPause","./img/bt_pause1.gif");
			TrocaImg("BtnPlay","./img/bt_play1.gif");
			limpaStatusInd();
			if(aZPlayer[n].OpenState == 13)
				resetPlaylist()
		}
	} else {
		clearInterval(ups);
		EscreveDados("statusbox", PARADO);		
		wm = getHTML_WMP("","mediaPlayer1","0")
		EscreveDados("mediaID", wm);	
	}
}
function PauseMe() {
	if (bd.activex)
		aZPlayer[n].controls.pause();
		TrocaImg("BtnPause","./img/bt_pause2.gif");
		TrocaImg("BtnPlay","./img/bt_play1.gif");
}
function PlayPause() {	
	changeViewPlayer(n);
	if (bd.activex) {
		if (aZPlayer[n].PlayState == 3) {
		   	aZPlayer[n].controls.Pause();
			TrocaImg("BtnPause","./img/bt_pause2.gif");
			TrocaImg("BtnPlay","./img/bt_play1.gif");
		} else {
			clearInterval(play_interval);
			play_interval = setInterval("ThingsToDoWhilePlaying();", 1000);
		   	aZPlayer[n].controls.Play();
			TrocaImg("BtnPause","./img/bt_pause1.gif");
			TrocaImg("BtnPlay","./img/bt_play2.gif");
		}
	} else {
		if (MM_findObj("mediaPlayer1").data == "") {
			wm = getHTML_WMP(zionMedia,"mediaPlayer1",true)
			EscreveDados("mediaID", wm);
			EscreveDados("statusbox", CARREGANDO);
			ups = setTimeout("contaTempo()",5000)
		} else
			ShowMsgNActiveX();
	}
}
function OuvirPodcast(podmedia) {
	if (bd.activex){
		newURLmedia = podmedia		
		aZPlayer[n].controls.Pause();
		limpaStatusInd();
		n = 1;
		carregaMedia(newURLmedia);
		PlayPause();
	} else {
		clearInterval(ups);
		EscreveDados("statusbox", CARREGANDO);
		ups = setTimeout("contaTempo()",5000)	
		newURLmedia = zionMedia+"&pod=1&pri="+encode(podmedia)
		wm = getHTML_WMP(newURLmedia,"mediaPlayer1","1")
		EscreveDados("mediaID", wm);
	}
}
function zPlayItem(num) {
	midia = oPlaylist.getMidia(num)
	newURLmedia = zionMedia+"&pri="+midia
	if (bd.activex){
		wmItem = aZPlayer[0].newMedia(midia)
		aZPlayer[n].controls.Stop();
		limpaStatusInd();
//		n = 1;
		carregaMedia(newURLmedia);
//		carregaPlaylist(wmPlaylist)
		PlayPause();
	} else {
		clearInterval(ups);
		EscreveDados("statusbox", CARREGANDO);
		ups = setTimeout("contaTempo()",5000)
		wm = getHTML_WMP(newURLmedia,"mediaPlayer1","1")
		EscreveDados("mediaID", wm);
	}
}
function infosis() {
	saida  = "Browser: " + bd.browser + "<br />"
	saida += "Plataform: " + bd.platform + "<br />"
	saida += "Windows Media: " + bd.wmp_ver + "<br />"
	saida += "ActiveX: " + (bd.activex?LB_SIM:LB_NAO) + "<br />"
	saida += "Cookie: " + (bd.cookies?LB_SIM:LB_NAO) + "<br /><br />"
	EscreveDados("infosis", saida);
}
