	var currentListingDiv = null, currentListingLinkEl = null;
	function toggleEpisodes(linkEl) {
		if (linkEl && (linkEl.parentElement || linkEl.parentNode)) {
			var headingDiv = linkEl.parentElement ? linkEl.parentElement : linkEl.parentNode;
			var listingDiv = headingDiv;
			do {
				listingDiv = listingDiv.nextSibling;
			} while (listingDiv && listingDiv.className!="programlist");
			if (listingDiv) {
				if (listingDiv.style.display!="block") {
					listingDiv.style.display = "block";
					linkEl.innerText = "Collapse list of episodes";
				} else {
					listingDiv.style.display = "none";
					linkEl.innerText = "Expand list of episodes";
				}
			}
		}
	}

	function changeListSorting(sortType) {
		var qs = null;
		try {
			qs = location.search.substring(1,location.search.length).split("&");
		} catch (e) {
			qs = [];
		}
		var newQS = "", existing = false;
		for (var i=0; qs!=null && i<qs.length; i++) {
			if (qs[i].indexOf("sort")==0) {
				qs[i] = "sort="+sortType;
				existing = true;
			}
			newQS += (newQS.length ? "&" : "?") + qs[i];
		}
		if (!existing) newQS += (newQS.length ? "&" : "?") + "sort="+sortType;
		location = location.pathname + newQS;
	}

	function subscribeTo(linkEl) {
		window.open(linkEl.href
			,'subscription'
			,'width=600,height=500'
			+',toolbar=0,location=0,directories=0,status=1'
			+',menubar=0,scrollbars=1,resizable=1'
			);
	}
