
window.onerror = handleError;
//window.onerror = null;
function handleError(sMsg,sUrl,sLine) {
  var e=" javascript error: "+sMsg+' line '+sLine;
  //alert(e);
  //if(loaded) alert(e); else document.writeln('<div style="background-color:#BBB;color:#E00;"><b>'+e+'</div>');
  window.status=e;
	return true;
}

function popchat(nick,server,whichirc) {
	nick = nick.replace(" ", "_").replace(" ", "_").replace(" ", "_");
	if(nick!='type_a_name') SetCookie('chatname',nick);
	if(!server) server='irc.irctoo.net';
	//popup('chat/'+param+'&nick='+nick,615,450);
	if(whichirc==1) popup('http://widget.mibbit.com/?settings=d76f6880f3495f764c91fd24928b2b6c&server='+server+'&channel=%23errorfm&noServerMotd=true&nick='+nick,745,580,"mib");
	if(whichirc==2) popup('http://chat.mibbit.com/?server='+server+'&channel=%23errorfm&autoConnect=true&nick='+nick,745,580,"mib");
	if(whichirc==3) popup('http://www.errorfm.com/chat/old.php?nick='+nick,745,580,"cgiirc");
	return false;
}

function popsched() {
	popup('schedule.php'+param,798,580);
	return false;
}

var docwidth, imgseq=0;
var ie   = document.all;
var ffx  = document.getElementById && !ie;
var ffx3 = navigator.userAgent.indexOf("Firefox/3") > -1;
var ieWin=(window.ActiveXObject && navigator.userAgent.indexOf('Windows')>0);
var chrome = navigator.userAgent.indexOf("Chrome") > -1;
var playing = false;
var playvolume = -1, playtime = 0;
var loaded = false;
window.onload = loadme;
window.onunload = unloadme;
window.onresize = on_resize;
// break out of frameset
if (self != top) top.location = self.document.location;

function loadme(){
	loaded=true;
	on_resize();
	document.getElementById('refresher').src="refresher.php?s="+stream+"&"+query_string;
	loadme_continued();

	//load player.
  if(noauto != 'true') clickplay();
}

function unloadme(){
	window.onerror = null;
}

function contrclick() {
	document.getElementById('cnt').src='about.php'+param;
}

function on_resize() {
	if(document.body.offsetWidth) docwidth = document.body.offsetWidth+16;
	else docwidth = window.innerWidth;
	if(!loaded) return;
	if(stream==8002) return;

	var c = document.getElementById('cnt');
	var h = 0;
	if(ffx && window.outerWidth>600) {
		h = document.documentElement.clientHeight-299;
	}
	if(ie) h = document.documentElement.offsetHeight-306;
	if(h<490) h = 490; //adjust to height of right column so that cnt resizes properly
	if(h>800) h = 800;
	if(c) c.style.height=h+'px';
}

function loadplayer(src) {
	playvolume = 30;
	playtime = 0;
  // Load player object. Chrome doesn't play streams, add nativeSupport:false to fix this
	$("#player1").jPlayer({
		ready: function () {
			this.element.jPlayer("setFile", src).jPlayer("play");
		},
		volume: 30,
		oggSupport: false,
		nativeSupport: chrome?false:true })
	.jPlayer("onProgressChange", function(loadPercent, playedPercentRelative, playedPercentAbsolute, playedTime, totalTime) {
		if(playtime==0 && playedTime>300) {
		  playtime = 1;
		  document.getElementById('player_play').className = 'player_minus';
		}
	})
	.jPlayer("onSoundComplete", function() {
		this.element.jPlayer("play");
	});
}

function clickplay() {
	var src = "http://errorfm.com:"+stream+"/;/stream.mp3";
$('#rightcol2').text('1');
	if(playing) {
		$("#player1").jPlayer('stop');
		playtime = 0;
	}
	else {
		if(playvolume<0) loadplayer(src);
		else $("#player1").jPlayer("setFile", src).jPlayer("play");
	}
	playing = !playing;
	document.getElementById('player_play').className = playing ? 'player_buf' : 'player_play';
}

function clickplus() {
	if(playing && $("#player1")) {
		playvolume += 5;
		if(playvolume>39) playvolume += 16;
		if(playvolume>100) playvolume = 100;
		$("#player1").jPlayer("volume", playvolume);
	}
}

function clickminus() {
	if(playing && $("#player1")) {
		playvolume -= 5;
		if(playvolume>39) playvolume -= 16;
		if(playvolume<0) playvolume = 0;
		$("#player1").jPlayer("volume", playvolume);
	}
}

function togglenow(grow,stream) {
	var n = document.getElementById('nowon'+stream);
	c = grow ? 'nowonzoom' : 'dimbox'+stream;
	if(n) if(n.className != c) n.className = c;
}

function fixpng(img) { // manual fixing of an img tag
  var imgName = img.src.toUpperCase();
  if (imgName.substring(imgName.length-3, imgName.length) == "PNG") {
    var imgID = (img.id) ? "id='" + img.id + "' " : "";
    var imgClass = (img.className) ? "class='" + img.className + "' " : "";
    var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' ";
    var imgStyle = "display:inline-block;" + img.style.cssText;
    if (img.align == "left") imgStyle = "float:left;" + imgStyle;
    if (img.align == "right") imgStyle = "float:right;" + imgStyle;
    if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle;
    var strNewHTML = "<span " + imgID + imgClass + imgTitle
    + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
    + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
    + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" 
    img.outerHTML = strNewHTML;
  }
}

// for 8002:
var latestcnt = '.';
var cnthidden = true;
function togcnt(id) {
	var n = document.getElementById('newstab8002');
	if(!n) return true;
	//if same button again, hide instead of show
	hide = ((latestcnt == id) && !cnthidden);
	n.style.visibility = hide ? 'hidden' : 'visible';
	n = document.getElementById('newshidden');
	if(n) n.style.visibility = hide ? 'visible' : 'hidden';
	if(!n) window.setTimeout(sheepbug,200);
	latestcnt = id;
	cnthidden = hide;
	return true;
}
function sheepbug() { //bug when clicking [change] on listen page
	var n = document.getElementById('newshidden');
	if(n) n.style.visibility = cnthidden ? 'visible' : 'hidden';
	latestcnt='lis';
}
