//Archives Display
// Depends on extstream.js for getElementStyle function
// (c) 2010 Living Word Broadcast - See http://www.lwbcast.org/governance/copyright.php for copyright deails.
if (typeof maxloop == 'undefined') { maxloop = 15; }
var basestreamlink = "http://services.lwbcast.org"; //DO NOT INCLUDE TRAILING SLASH
//var vportnum = "900" + ((streamnum-1) * 2);
//var aportnum = "910" + ((streamnum-1) * 2);
//var vidserv = basestreamlink + ":" + vportnum + "/content/";
//var audserv = basestreamlink + ":" + aportnum + "/content/";
var audimg = "<img src=\"" + baselink + "images/audio_on.gif\" width=\"20\" height=\"20\" border=\"0\"" + (!lwb ?  "onMouseover=\"overlib('Click here to stream audio.',CSSSTYLE, TEXTSIZE, 12, FGCOLOR, '#FFFFFF',WIDTH,'150');\" onMouseout=\"return nd();\"" : 'title="Click here to stream audio."')+">";
var vidimg = "<img src=\"" + baselink + "images/video_on.gif\" width=\"20\" height=\"20\" border=\"0\"" + (!lwb ?  "onMouseover=\"overlib('Click here to stream video.',CSSSTYLE, TEXTSIZE, 12, FGCOLOR, '#FFFFFF',WIDTH,'150');\" onMouseout=\"return nd();\"" : 'title="Click here to stream video."')+">";
var saveimg = "<img src=\"" + baselink + "images/download.gif\" width=\"20\" height=\"20\" border=\"0\"" +  (!lwb ? "onMouseover=\"overlib('Click here to download the service.',CSSSTYLE, TEXTSIZE, 12, FGCOLOR, '#FFFFFF',WIDTH,'200');\" onMouseout=\"return nd();\"" : 'title="Click here to download the service."') + ">";
var sortascimg = "<img src=\"" + baselink + "images/arrowasc.png\" width=\"11\" height=\"9\" border=\"0\">";
var sortdescimg = "<img src=\"" + baselink + "images/arrowdesc.png\" width=\"11\" height=\"9\" border=\"0\">";
// Definition variables - Do not change
var tableheader = "<table width=\"500\" id=\"archives_table\" border=\"0\" cellspacing=\"0\" style=\"background-color:#FFFFCC;font-size:11px;\">\
  <tr><td colspan=\"7\" style=\"border:#0099FF solid 1px; border-top:0px;\" align=\"center\"><strong>Church Services Archive - Listeners Served: <span id='listeners_served'></span></strong></td></tr>\
  <tr>\
    <td rowspan=\"2\" style=\"border:#0099FF solid 1px; border-top:0px; border-right:0px;\" align=\"center\" class=\"archiveheading\"><span onClick=\"changesortorder('Title'); sortfield='Title'; archgetdata(currentpage);\" title=\"Click to sort by Title\" style=\"cursor:pointer\"><u>Title</u></span><span id=\"titlearrow\"></span></td>\
    <td rowspan=\"2\" style=\"border:#0099FF solid 1px; border-top:0px; border-right:0px;\" width=\"110\" align=\"center\" class=\"archiveheading\"><span onClick=\"changesortorder('Minister'); sortfield='Minister'; archgetdata(currentpage);\" title=\"Click to sort by Minister\" style=\"cursor:pointer\"><u>Minister</u></span><span id=\"ministerarrow\"></span></td>\
    <td rowspan=\"2\" style=\"border:#0099FF solid 1px; border-top:0px; border-right:0px;\" width=\"100\" align=\"center\" class=\"archiveheading\"><span onClick=\"changesortorder('Date'); sortfield='Date'; archgetdata(currentpage);\" title=\"Click to sort by Date\" style=\"cursor:pointer\"><u>Date</u></span><span id=\"datearrow\"></span></td>\
    <td style=\"border:#0099FF solid 1px; border-top:0px; border-right:0px;\" width=\"64\" colspan=\"2\" align=\"center\" class=\"archiveheading\">Audio</td>\
    <td style=\"border:#0099FF solid 1px; border-top:0px;\" width=\"64\" colspan=\"2\" align=\"center\" class=\"archiveheading\">Video</td>\
  </tr><tr>\
  <td style=\"border:#0099FF solid 1px; border-top:0px; border-right:0px;\" class=\"archiveheadingsmall\">Stream</td>\
  <td style=\"border:#0099FF solid 1px; border-top:0px; border-right:0px;\" class=\"archiveheadingsmall\">Save</td>\
  <td style=\"border:#0099FF solid 1px; border-top:0px; border-right:0px;\" class=\"archiveheadingsmall\">Stream</td>\
  <td style=\"border:#0099FF solid 1px; border-top:0px;\" class=\"archiveheadingsmall\">Save</td>\
  </tr>";
var tablefooter = "<tr><td colspan=\"7\" style=\"border:#0099FF solid 1px; border-top:0px;\" align=\"center\"><span id=\"backbutton\"></span>&nbsp;&nbsp;<span id=\"morebutton\"><a href=\"javascript: showmore();\"><strong>Next >></strong></a></span></td></tr></table>";
var archives;
var currentpage = 1;
var archiveshown = false;
//Sort defaults
var sortfield = "Date";
var sortorder = "DESC";
var archivedata=false;
var archloopnum;

//document.write("<link rel=\"stylesheet\" id=\"ss_ajax_archive\" href=\"none.css\" type=\"text/css\"><div id=\"div_ajax_archive\" style=\"display:none;\"></div>");
//document.write("<style type=\"text/css\">.archivetext { font-size: 10pt;} .archiveheading { font-size: 10pt; font-weight:bold} .archiveheadingsmall { font-size: 7.5pt; font-weight: normal; text-align:center;}</style>");


function changesortorder (newsortfield) {
	if (newsortfield == sortfield) {
		if (sortorder == "DESC") {
			sortorder="ASC";
		} else {
			sortorder="DESC";
		}
	}	
}

function overlibtitle (title) {
	if (title.length < 20) {
		return title;
	}
	var newtitle = title.substr(0,17) + "...";
	if (!lwb)
		return title = "<span onmouseover=\"javascript: overlib('" + title.replace("'", "&rsquo;") + "', CSSSTYLE, TEXTSIZE, 12, FGCOLOR, '#FFFFFF')\" onMouseout=\"nd();\">" + newtitle + "</span>";
	else 
		return title = "<span title='" + title.replace("'", "&rsquo;") + "' onMouseout=\"nd();\">" + newtitle + "</span>";
}
function archgetdata(pagenum) {
	archloopnum = 0 ;
	archivedata = false;
	addjs(baselink + "archivedata.php?streamnum=" + streamnum + "&streamname=" + streamname + "&page=" + pagenum + "&sortfield=" + sortfield + "&sortorder=" + sortorder,false);
	try { clearInterval(archloop); } catch (err) {} // in case there is an interval running already
	archloop = setInterval("archdatawait()", 500);
	document.getElementById("archivediv").innerHTML += "<strong><font color=\"CC0000\">Loading...";
}

function archdatawait() {
	if(!archivedata && archloopnum < maxloop) {
		archloopnum++ ; document.getElementById("archivediv").innerHMTL += ".";
		return ;
	} else if (archloopnum > maxloop) {
		clearInterval(archloop) ; error(); return;
	}
	clearInterval(archloop) ;
	if (archivedata.match(/\*\*/)) {
		archives = "";
		var archiveinfo = archivedata.split("**");
		var maxpage = archiveinfo[0];
		var numarchives = archiveinfo[1];
		var listeners_served = archiveinfo[2];
		archivedata = archiveinfo[3];
		var archdataarr = archivedata.split("||");
		if (numarchives == 0) {
			archives = "<tr><td style=\"border:#0099FF solid 1px; border-top:0px;\" colspan=\"7\" align=\"center\" class=\"archivetext\">There are currently no items in the archive.</td></tr>";		
		} else if (archdataarr.length == 1) {
			archives = "<tr><td style=\"border:#0099FF solid 1px; border-top:0px;\" colspan=\"7\" align=\"center\" class=\"archivetext\">Sorry, there are no more archives.</td></tr>";		
		} else {
			for (var i=0;i < archdataarr.length - 1; i++) {
				var archiverow = archdataarr[i].split("|");	
				archives += "<tr><td style=\"border:#0099FF solid 1px; border-top:0px; border-right: 0px;\" class=\"archivetext\" nowrap=\"nowrap\">" + overlibtitle(archiverow[0]) + "</td>\
		<td style=\"border:#0099FF solid 1px; border-top:0px; border-right:0px;\" class=\"archivetext\">" + archiverow[1] + "</td>\
		<td style=\"border:#0099FF solid 1px; border-top:0px; border-right:0px;\" class=\"archivetext\">" + archiverow[2] + "</td>\
		<td style=\"border:#0099FF solid 1px; border-top:0px; border-right:0px;\" width=\"20\" align=\"center\" class=\"archivetext\">" + ((archiverow[5] == 'Y') ? "<a href=\"javascript:void(0)\" onclick=\"lwbplay('" + basestreamlink + "/archives/archives.php?churchid=" + streamname + "&file=" + archiverow[3] + "/" + archiverow[4] + "." + archiverow[7] + "','"+archiverow[7]+"');\">" + audimg + "</a>": "&nbsp;") + "</td>\
		<td style=\"border:#0099FF solid 1px; border-top:0px; border-right:0px;\" width=\"20\" align=\"center\" class=\"archivetext\">" + ((archiverow[5] == 'Y') ? "<a href=\"" + basestreamlink + "/archives/archives.php?download=true&churchid=" + streamname + "&file=" + archiverow[3] + "/" + archiverow[4] + "." + archiverow[7] + "\">" + saveimg + "</a>": "&nbsp;") + "</td>\
		<td style=\"border:#0099FF solid 1px; border-top:0px; border-right:0px;\" width=\"20\" align=\"center\" class=\"archivetext\">" + ((archiverow[6] == 'Y') ? "<a href=\"javascript:void(0)\" onclick=\"archive_video_stream('" + basestreamlink + "/archives/archives.php?churchid=" + streamname + "&file=" + archiverow[3] + "/" + archiverow[4] + "." + archiverow[8] + "','"+archiverow[8]+"');\">" + vidimg + "</a>": "&nbsp;") + "</td>\
		<td style=\"border:#0099FF solid 1px; border-top:0px;\" width=\"20\" align=\"center\" class=\"archivetext\">" + ((archiverow[6] == 'Y') ? "<a href=\"" + basestreamlink + "/archives/archives.php?download=true&churchid=" + streamname + "&file=" + archiverow[3] + "/" + archiverow[4] + "." + archiverow[8] + "\">" + saveimg + "</a>": "&nbsp;") + "</td>\
	  </tr>";
			}
		}
		var archivediv = document.getElementById("archivediv");
		archivediv.innerHTML = tableheader + archives + tablefooter;
		document.getElementById("listeners_served").innerHTML = listeners_served;
		if (lwb) document.getElementById("archives_table").style.cssText = "background-color:#FFFFCC; border-top:#0099FF solid 1px;";
		if (numarchives == 0) {
			document.getElementById("morebutton").innerHTML = "";
			document.getElementById("backbutton").innerHTML = "";
		} else if (currentpage == 1 && maxpage != 1) {
			document.getElementById("backbutton").innerHTML = "";
		} else if (currentpage == maxpage) {
			document.getElementById("morebutton").innerHTML = "";
			document.getElementById("backbutton").innerHTML = "<a href=\"javascript: goback();\"><strong><< Previous</strong></a>";
		} else {
			document.getElementById("backbutton").innerHTML = "<a href=\"javascript: goback();\"><strong><< Previous</strong></a>";
			document.getElementById("morebutton").innerHTML = "<a href=\"javascript: showmore();\"><strong>Next >></strong></a>";
		}
	document.getElementById(sortfield.toLowerCase() + "arrow").innerHTML = (sortorder == "DESC" ? sortdescimg : sortascimg);
	} else {
		error(); return;
	}
}
function archive_video_stream(stream,type) {
	if (type!='mp4'&&type!='flv') {
		window.location.href = baselink + "tunein.lwb?type=pls&stream=" + encodeURIComponent(stream);	
	} else {
		lwbplay(stream,type,'jw'); //jw player is much better than HTML5 players, e.g. fullscreen support
	}
}
function showarchives () {
	if (!archiveshown||lwb) {
		archiveshown = true;
		archgetdata(1); currentpage = 1;
		if (!lwb) document.getElementById("vieworhide").innerHTML = "Hide";
	} else {
		document.getElementById("archivediv").innerHTML = "";
		archiveshown = false;
		if (!lwb) document.getElementById("vieworhide").innerHTML = "View";
	}
}

function error () {
	document.getElementById("archivediv").innerHTML = "There seems to be a problem with the archive you are attempting to view. Please ensure that you are connected to the internet and try again.<br>If this problem persists please send an email to thevoice1017@lwbwb.org. Thank you for your patience.";	
}

function showmore() {
	currentpage++;
	archgetdata(currentpage);
}

function goback () {
	currentpage--;
	archgetdata(currentpage);
}
