var interceptor = new Object();

// Get required page elements
interceptor.d = document.getElementById("divIntercept");
interceptor.m = document.getElementById("divInterceptMessage");
interceptor.b = document.getElementById("divInterceptButton");
interceptor.ie = document.getElementById("divInterceptIE");
interceptor.ie2 = document.getElementById("divInterceptInnerIE");

// Get required buttons
interceptor.b1 = document.getElementById("btnInterceptOK");
interceptor.b2 = document.getElementById("btnInterceptRefresh");
interceptor.b3 = document.getElementById("btnInterceptRedirect");
interceptor.b4 = document.getElementById("btnInterceptRedirectWin");
interceptor.r = document.getElementById("btnInterceptReminder");

// Handle scrolling functionality
interceptor.onscroll = window.onscroll;
window.onscroll = function() {
	// Call old functionality before adding more
	if (typeof(interceptor.onscroll) == "function") interceptor.onscroll();
	if (interceptor.d != null) interceptor.d.style.top = (document.all ? document.body.scrollTop : window.pageYOffset) + "px";
};

interceptor.showMessage = function(blnOK, blnRefresh, blnRedir, blnRedirWin, blnReminder, strRedirURL) {
	
	// Show or hide the OK button
	if (blnOK) {
		interceptor.b1.style.display = "";
		// Button makes overlay disappear
		interceptor.b1.onclick = function () {
			interceptor.d.style.display = "none";
		}
	} else interceptor.b1.style.display = "none";
	
	// Show or hide the Refresh button
	if (blnRefresh) {
		interceptor.b2.style.display = "";
		// Button reloads the page
		interceptor.b2.onclick = function () { window.location.reload(); };
	} else interceptor.b2.style.display = "none";
	
	// Show or hide the Redirect (in window) button
	if (blnRedir) {
		interceptor.b3.style.display = "";
		// Button redirects the browser
		interceptor.b3.onclick = function () { window.location.href = strRedirURL; };
	} else interceptor.b3.style.display = "none";
	
	// Show or hide the Redirect (new window) button
	if (blnRedirWin) {
		interceptor.b4.style.display = "";
		// Button opens URL in a new window
		interceptor.b4.onclick = function () { var popwin = window.open(strRedirURL); };
	} else interceptor.b4.style.display = "none";
	
	// Show or hide the Receive Reminder button
	if (blnReminder && typeof(popUpWindowScroll) == "function") {
		interceptor.r.style.display = "";
		interceptor.r.onclick = function () { popUpWindowScroll(4); };
	} else interceptor.r.style.display = "none";
	
	interceptor.d.style.display = ""; // Show the intercept message
	
	// Adjust the height of a div element to fix IE5.5+/IE6 issue (again, go figure)
	interceptor.ie.style.height = document.body.offsetHeight + "px";
	interceptor.ie2.style.height = m.offsetHeight + b.offsetHeight + "px";
	
}

interceptor.hideMessage = function() {
	interceptor.d.style.display = "none"; // Hide the intercept message
}

interceptor.setMessage = function(msg) {
	interceptor.m.innerHTML = msg.replace(/\n/g, "<br />"); // Insert the custom message into the div
}

interceptor.forceRefresh = function() {
	window.location.reload(); // Reload the current location
}

interceptor.forceRedirect = function(url) {
	window.location.href = url; // Redirect browser to the specified URL
}

interceptor.forceRedirectWin = function(url) {
	window.open(url); // Open a new window with the specified URL
}

interceptor.forceReconnectPlayer = function() {
	if (typeof(player.reconnect) == "function") player.reconnect(); // Reconnect the player
}

interceptor.forcePrimary = function() {
	if (typeof(player.forcePrimary) == "function") player.forcePrimary(); // Connect player to primary stream
}

interceptor.forceBackup = function() {
	if (typeof(player.forceBackup) == "function") player.forceBackup(); // Connect player to backup stream
}

interceptor.showLiveBug = function() {
	// Show the Live Bug on the live player
	if (typeof(player.showLiveBug) == "function") player.showLiveBug();
	else window.setTimeout("interceptor.showLiveBugAgain()", 5000); // Retry after 5 seconds
}

interceptor.showLiveBugAgain = function() {
	// Try showing it again
	if (typeof(player.showLiveBug) == "function") player.showLiveBug();
}

interceptor.hideLiveBug = function() {
	// Hide the Live Bug on the live player
	if (typeof(player.hideLiveBug) == "function") player.hideLiveBug();
}

interceptor.showPlayer = function() {
	var p = document.getElementById("divPlayer");
	if (typeof(p) == "object") p.style.display = "";
}

interceptor.hidePlayer = function() {
	var p = document.getElementById("divPlayer");
	if (typeof(p) == "object") p.style.display = "none";
}

interceptor.switchPullSlides = function() {
	if (typeof(player.switchPullSlides) == "function") player.switchPullSlides();
}

interceptor.switchPushSlides = function() {
	if (typeof(player.switchPushSlides) == "function") player.switchPushSlides();
}

interceptor.setDelaySlides = function(delay) {
	if (typeof(player.setDelaySlides) == "function") player.setDelaySlides(delay);
}