var onair_info_url = "/backend/onairinfo.aspx";
function updateInfo() {
	new Ajax.Request(
		onair_info_url, 
		{	method: "get",
			requestHeaders: {Accept: "application/json"},
			onComplete: gotInfo
		}
	);
	window.setTimeout("updateInfo()", 40000);
}
function gotInfo(transport) {
try {
		var onairinfo = transport.responseText.evalJSON(false);
		if (onairinfo) {
			var p4Norge = onairinfo.Channels.ChannelInfo.find(function(ch) { return ch.ChannelId == 1; });
			setMainProgramInfo(p4Norge);
		}
	} catch (e) {}
}
function setChannelInfo(infobox, channel) {
	if (infobox != null && channel != null) {
		var onclick = "openP4Player(" + channel.ChannelId + "); return false;";
		var txt = getCurrent(channel.OnairInfo);
		var title = channel.Name + " n&aring;: " + getCurrent(channel.OnairInfo, " med &quot;", "&quot;").replace(/'/g, "&#39;");
		infobox.innerHTML = "<a href=\"#\" onclick='" + onclick + "' title='" + title + "'>" + txt + "</a>";
	}
}
function setMainProgramInfo(channel) {
	if (channel != null) {
		var mainProgramTitle = $("programtitle");
		var mainProgramHosts = $("programhosts");
		var mainProgramCurrent = $("mainCurrent");
		var mainProgramNext = $("mainNext");
		var hostImage = $("hostimage");
		var hostImage_ie6 = $("hostimage_ie6");
		var info = channel.OnairInfo;
		
		if (info.programName != undefined && mainProgramTitle) {
		    if (info.homepageSrc != undefined)
		        mainProgramTitle.innerHTML = "<a href=\"" + info.homepageSrc + "\">" + info.programName + "</a>";
		    else
		        mainProgramTitle.innerHTML = info.programName;		    
		}

		var hosts = "";
		if (isArray(info.programHosts)) {
			hosts = "med " + info.programHosts[0];
			for (var i = 1; i < info.programHosts.length - 1; i++) {
				hosts += ", " + info.programHosts[i];
			}
			if (i < info.programHosts.length)
			    hosts += " og " + info.programHosts[info.programHosts.length - 1];

			if (hosts == "med ")
			    hosts = "&nbsp;";
		} else if (info.programHosts.length > 0) {
			hosts = "med " + info.programHosts;
		}
				
		if (hosts != undefined && mainProgramHosts) {
		    if (info.homepageSrc != undefined)
		        mainProgramHosts.innerHTML = "<a href=\"" + info.homepageSrc + "\">" + hosts + "</a>";
		    else
		        mainProgramHosts.innerHTML = hosts;
		}

		if (mainProgramCurrent) {
			mainProgramCurrent.innerHTML = "<b>N&Aring;:</b> " + getCurrent(info).toUpperCase();
		}

		if (mainProgramNext) {
			mainProgramNext.innerHTML = "<b>STRAKS:</b> " + getNext(info).toUpperCase();
		}

		if (hostImage) {
			if (info.imageSrc != undefined && info.imageSrc != "" && info.imageSrc != "pic") {
				hostImage.show();
				if (info.imageSrc.indexOf("http://") >= 0)
					hostImage.src = info.imageSrc;
				else
					hostImage.src = "http://www.p4.no" + info.imageSrc;
				if (typeof (pngfix_image) == "function") {
					// Fix transparent png's for IE6
					hostImage_ie6.src = hostImage.src;
				}
			} else {
				hostImage.hide();
			}
		}

		var hostImageLink = $("hostimageLink");
		if (hostImageLink && info.homepageSrc != undefined) {
				hostImageLink.href = info.homepageSrc;
		}

        if (typeof (pngfix_image) == "function") {
            // Fix transparent png's for IE6
            pngfix_image($("ncl_p4norge_logo"));
            pngfix_image($("ncl_p4bandit_logo"));
            pngfix_image($("ncl_p4hits_logo"));
            pngfix_image($("ncl_radiocountry_logo"));
            pngfix_image($("ncl_p4retro_logo"));
            pngfix_image($("ncl_p4ballade_logo"));
        }

        // Fix for Opera-browsere
        if (hostImage && hostImage.src != "/images/1.gif" && hostImage.width <= 1) {
        	if (hostImage_ie6) {
        		hostImage_ie6.src = hostImage.src;
        	}
        }
	}
}
function isArray(obj) {
	return obj && (obj.constructor == Array);
}

function getCurrent(info, titleStart, titleEnd) {
	if (titleStart == null) titleStart = " - ";
	if (titleEnd == null) titleEnd = "";
	if (info) {
		var ret = "";
		if (info.currentArtist != null)
			ret = info.currentArtist;
		if (info.currentTitle != null)
			ret += titleStart + info.currentTitle + titleEnd;
		return ret;
	}
}

function getNext(info, separator) {
	if (separator == null) separator = " - ";
	if (info) {
		var ret = "";
		if (info.nextArtist != null)
			ret = info.nextArtist;
		if (info.nextTitle != null)
			ret += separator + info.nextTitle;
		return ret;
	}
}

// Fix transparent png's for IE6
// Uses a temp img to measure image width
function fixHostImage(img) {
    var hostImage = $("hostimage");
    try {
        if (img.width > 1) {
            hostImage.width = img.width;
            if (typeof (pngfix_image) == "function")
                pngfix_image(hostImage);
        }
    } catch (e) { };
}