//LWB Player Javascript Functions and Code
//document.write('<div id="lwbplayercode"></div><div id="statusdiv"></div>');
function init_containers () {
	var new_elem = document.createElement('div');
	new_elem.id = "lwbplayerdiv";
	new_elem.style.cssText = "position:absolute;padding:0px;margin:0px;width:573px;height:142px;display:none;";
	new_elem.innerHTML = '<div id="lwbplayermove" title="Click and drag to move" style="min-width:572px;min-height:12px;position:absolute;top:0px;left:0px;cursor:move;display:block;z-index:2;background-color:#FFFFFF;opacity:0;filter: alpha(opacity=0); -moz-opacity: 0;">Please upgrade your browser to the lastest release for best results.</div>'+
						'<div id="lwbplayerinnerdiv" style="position:absolute; background:none; width:573px;height:142px; font-family:sans-serif, Arial, Helvetica;overflow:hidden;"></div>' + 
						'<div id="lwbplayervideo" style="position:absolute; background:none; width:527px;height:486px; font-family:sans-serif, Arial, Helvetica;overflow:hidden;"></div>' + 
						'<div id="lwbplayercode" style="position:absolute;height:527px;width:486px;overflow:hidden;top:-10000px;left:-10000px;"></div>';
	document.body.appendChild(new_elem);
}
init_containers();
var positionslider; var volumeslider; var volumeslider_refl; var positionslider_refl; var volumebar, progressbar, progressbar_refl, volumebar_refl; var is_stream = true; var positiondrag = false;
var playbtn;var stopbtn;var pausebtn; var mutebtn; var fastforwardbtn; var rewindbtn;var currurl; var closeplayerbtn; 
var progxmin = 176; var progxmax = 355; var progymin = 32; var progymax = 32; var playerdisabled = false;
var volxmin = 447; var volxmax = 537; var volymin = 32; var volymax = 32;
var lwbplayer; var lwbplayercode; var stream_length = false; var stream_offset = 0;var use_fake_position = true;
var playerplaying = false;
try {
	var arVersion = navigator.appVersion.split("MSIE");var version = parseFloat(arVersion[1]);if (isNaN(version)) version = 123;
} catch (err) { var version = 123; }
var pngfix = false;
if (version > 6) {var canopacify = true;} else {var canopacify = false;}
if (version == 6) var pngfix = true;
function showplayer () {
	if (typeof(lwbajaxon) != 'undefined' && lwb) lwbajaxon();
	doDMarquee();
	var obj = document.getElementById('lwbplayerdiv');
	if (currplayertype == 'video') {
		document.getElementById("lwbplayervideo").style.display = 'block';
		document.getElementById("lwbplayercode").style.top = "66px";
		document.getElementById("lwbplayercode").style.left = "22px";
		document.getElementById("lwbplayerinnerdiv").style.display = 'none';
		document.getElementById("lwbplayermove").style.minHeight = '30px';
		document.getElementById("lwbplayervideo").style.backgroundImage = "url(" + lwbwebsite + '/lwbplayer/images/videobg.png)';
		document.getElementById("lwbplayerdiv").appendChild(document.getElementById("closeplayerbtn"));
		document.getElementById("closeplayerbtn").style.left = '490px';
		document.getElementById("closeplayerbtn").style.top = '5px';
	} else {
		document.getElementById("lwbplayervideo").style.display = 'none';
		document.getElementById("lwbplayerinnerdiv").style.display = 'block';
		document.getElementById("lwbplayermove").style.minHeight = '12px';
		document.getElementById("lwbplayercode").style.top = "-10000px";
		document.getElementById("lwbplayercode").style.left = "-10000px";
		document.getElementById("closeplayerbtn").style.left = '537px';
		document.getElementById("closeplayerbtn").style.top = '1px';
	}
	if (obj.style.display != 'block') {
		obj.style.display="block";
		obj.style.top = "123px";
		obj.style.left = 169 + lwbdockoffset + 'px';
		if (lwb) {
			document.getElementById('lwbplayerdock').style.display = 'block';
			document.getElementById('lwbplayerdock').style.height= "130px";
		}
		if (typeof resize_main != 'undefined') resize_main (270); //refeditor
		if (canopacify && (version > 7)) { //IE 6 and lower has problems with fade
			changeOpac(1,'lwbplayerdiv');
			opacity('lwbplayerdiv',1,100,3000);
		}
	}
}
var currtype='';var currstream;var currplayertype = 'audio';
//lwbplay -- brings up the lwbplayer and tunes in to specified stream
var lwbplay_running = false;lwbplay_kill = false;lwbplay_attempt = false;
function lwbplay (stream,type,player,attempts) {
	if (typeof(type) == 'undefined') { var type = 'mp3'; } //mp3 is default
	//if (currplayertype == 'video' && type != 'ogg') { player = false; }
	if (lwbplay_kill) {
		lwbplay_kill = false;
		return false;
	}
	if (lwbplay_attempt&&!attempts) {
		lwbplay_kill = true;
	}
	lwbplay_running = true;lwbplay_attempt = true;
	if (typeof(playerinit) == 'undefined') { addjs("/lwbplayer/animation.js",true); addjs("/lwbplayer/lwbplayer_funcs.js",true);  } //load additional libraries
	if (!attempts) { document.getElementById('titlediv').innerHTML = '<div><div style="color:#CC0000">Loading LWBPlayer.... please wait</div></div>';doDMarquee();}
	if (playing && !attempts) {
		try { stop();} catch (e) {}
	}
	getstatus();
	if ((playing || buffering) && attempts) { //successful
		try { clearInterval(statusinterval);} catch (e) {}
		statusinterval = window.setInterval('getstatus()',500);
		if (curplayer.id=='jw' && currstream.indexOf("archives.php?")!=-1) {
			fileregex = /file=([^&]+)/i;
			var matches = fileregex.exec(currstream);
			addjs(basestreamlink + "/archives/fileinfo.php?file=" + matches[1] + "&churchid="+streamname,false);
		}
		lwbplay_running = false;
		lwbplay_attempt = false;
		return true;
	} else if (attempts > 15) {
		try { clearInterval(statusinterval);} catch (e) {}
		lwbplay_running = false;
		lwbplay_attempt = false;
		document.getElementById('titlediv').innerHTML = '<div><div style="color:#CC0000">Error: Could not load stream. Please check your internet connection and try again.</div></div>';doDMarquee();
		return false;
	}
	if (type == 'ogg'||type == 'mp4'||type=='flv') { currplayertype = 'video'; } else { currplayertype = 'audio'; }
	window.setTimeout(showplayer,1);
	if (!player) {
		if (currtype != type) {selplayer(type); try { setvolume(50); } catch(e) {}; currtype = type;}
	} else {
		setplayer(player,true); try { setvolume(50); } catch(e) {}
	}
	if (String(stream).match(/^\d$/)) { 
		var portsuffix = (parseInt(stream)-1)*2;
		var port = "80" + (portsuffix < 10 ? "0" + portsuffix : portsuffix);
		var realstream = 'http://' + window.location.hostname + ":" + port + "/";
		//var realstream = 'http://192.168.1.40:8006/';
	} else {realstream = stream;}
	currstream = stream;
	if (attempts==undefined) attempts = 0; attempts++;
	getstatus();
	if (!playing && !buffering) { 
		try {setsource(realstream); play(); } catch (e) {}
	}
	getstatus();
	window.setTimeout("lwbplay('" + stream + "','" + type  + "','" +  curplayer.id + "'," + attempts + ")", 1000);
	lwbplay_running = false;
}
var iepng = false;
function correctPNG() {
var arVersion = navigator.appVersion.split("MSIE");var version = parseFloat(arVersion[1]);
   if ((version >= 5.5) && (document.body.filters) && (version < 7)) {
	addjs('/lwbplayer/iepng.js',true);
   }
}
function opacity(id, opacStart, opacEnd, millisec) { 
    //speed for each frame 
    var speed = Math.round(millisec / 100); 
    var timer = 0; 
    if(opacStart > opacEnd) { 
        for(i = opacStart; i >= opacEnd; i--) { 
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        } 
    } else if(opacStart < opacEnd) { 
        for(i = opacStart; i <= opacEnd; i++) { 
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        } 
    } 
} 
function changeOpac(opacity, id) { 
    var object = document.getElementById(id).style; 
    object.opacity = (opacity / 100); 
    object.MozOpacity = (opacity / 100); 
    object.KhtmlOpacity = (opacity / 100); 
	object.filter = "alpha(opacity=" + opacity + ")"; 
}
if (!lwb)  addjs(lwbwebsite + "/lwbplayer/lwbplayer_funcs.js");