var browsername;
var strRedirURL = "vrleb_intro.asp";
var strBadRedirReason = "unknown_default";

window.onerror = pluginErr;

function pluginErr(message, url, line) {
	
	// If you modify this file, be sure to update the line numbers in the if statement below.
	if ( message == "Object doesn't support this property or method" && (line == 45 || line == 41) ) {
		alert("You MAY have the Sun Java plugin enabled.\n\nThis must temporarily be disabled to use this service.");
		//alert(line);
		strBadRedirReason = "sun_java";
		badRedir();
		
		return true;
	}
}

function doNetscape() {
	var browserVer = navigator.appVersion.substr(0,4);
	var browserMajVer = browserVer.substr(0,1);
	
	if ( browserMajVer != "4" ) {
		alert("You are running a Netscape browser version that it not supported by this application.");
		strBadRedirReason = "unsupported_browser";
		return false;
	}
	else {
		if ( !navigator.javaEnabled() ) {
			alert("You must have Java enabled to use this application.\n\nPlease enable Java and login again.");
			strBadRedirReason = "java_disabled";
			return false;
		}
		else {
			return true;
		}
	}
}

function doMicrosoft() {
	var applet = document.pluginApplet;
					
	if (!navigator.javaEnabled() || applet == null)
	{
		alert("You must have Java enabled to use this application.\n\nPlease enable Java and login again.");
		strBadRedirReason = "java_disabled";
		return false;
	};

	var version = applet.getJavaVersion();
						
	if ( version.search(/1\.1\.\d/i) != -1 )
	// Check for JRE version of the form 1.1.x
	{
		return true;
	}
	else if ( version.search(/1\.[34]\.\d/i) != -1 )
	{
		alert("You MAY have Sun's Java plugin enabled.\nThis must temporarily be disabled to use this service.\n\nYour current Java plugin version is " + version);
		strBadRedirReason = "sun_java";
		return false;
	}
	else {
		alert("Version: " + version);
		strBadRedirReason = "unknown_microsoft";
		return false;
	};
}

function checkJavaPlugin()
{
	browsername = navigator.appName;
	
	if(browsername.indexOf("Netscape")!= -1) 
	{ 
		browsername="NS";
		return doNetscape();
	}
	else
	{
		if (browsername.indexOf("Microsoft")!=-1) 
		{
			browsername="MSIE";
			return doMicrosoft();
		}
		else 
		{
			browsername="N/A";
			alert("This application cannot be run under this browser.\n\n");
			strBadRedirReason = "unsupported_browser";
			return false;
		}
	}
}
				
function pluginCheck() {
	
	// Only do the Java checks for the PC.
	if ( navigator.platform != "MacPPC" ) {
	
		// The Java plugin has been detected.
		if ( !checkJavaPlugin() ) {
			badRedir();
		}
		// The Java plugin has not been detected.
		else {
			goodRedir();
		}
	}
					
}

function isHost() {
	
	if ( document.location.href.indexOf("/vrl_login_patron.asp") == -1 ) {
		return true;
	}
	else {
		return false;
	}
}

function goodRedir() {
	if ( isHost() ) {
		openHostVRLWindow();
	}
	else {
		// Nothing; let user fill-out form.
	}
}

function badRedir() {
	var redirectPage;
	switch(strBadRedirReason)
	{
		case "unsupported_browser":
			redirectPage = "help/unsupported_browser_help.html";
			break;
		case "sun_java":
			redirectPage = "help/java_plugin_help.html";
			break;
		case "java_disabled":
			redirectPage = "help/java_enable_help.html";
			break;
		default:
			alert("Java Detection: An unknown error has occurred. (" + strBadRedirReason + ")");
			redirectPage = "none";
			break;
	}

	if (redirectPage != "none") {
		helpWin = openPopUpWin(redirectPage,'VRLplusAppletHelp','location=no,status=no,menubar=no,scrollbars=yes,height=600,width=700');
	}

	if ( isHost() ) {
		window.close();
	}
	else {
		document.location.href = strRedirURL;
	}
}

function popUpBlocked(obj_win) {
	var isNull, isUndefined;
	
	isUndefined = ( typeof(obj_win) == "undefined" );
	isNull = ( obj_win == null );
	
	//alert("isUndefined: " + isUndefined);
	//alert("isNull: " + isNull);			
	
	if ( !isUndefined && !isNull ) {
		if ( !obj_win.closed ) {
			return false;
		}
		else {
			return false;
		}
	} else if ( isUndefined ) {
		// It
		return true;
	}
	else if ( isNull ) {
		// 
		return true;
	}
	else if ( obj_win.closed ) {
		return true;
	}
}

function checkForPopUpBlocker(message, redir_page) {
	var ms;
	Today = new Date();
	ms = Today.getUTCMilliseconds(); 
	
	top.window.oConfigWin = window.open('','VRLplusBrowserConfig' + ms,'width=10,height=10,location=no');
	
	// If a pop-up blocker is installed, redirect to info page.
	//alert(popUpBlocked(top.window.oConfigWin));
	
	if ( popUpBlocked(top.window.oConfigWin) ) {
		alert(message);
		self.location.replace(redir_page);
		
		return false;
	}
	else {
		top.window.oConfigWin.close();
	}
}