
// GLOBAL FUNCTIONS

// check browser

ns4 = (document.layers)? true:false;
ie4 = (document.all)? true:false;

//Image swap function//
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// jump menu

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

// javascript open new browser window

function MM_openBrWindow(theURL,windowName,features,windowType) { //v2.0
	if (windowType == 'normal') {
	features = 'toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes'
	}
  mywindow = window.open(theURL,windowName,features);
  mywindow.focus();
}

// ns4 resize fix

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

// dhtml show/hide functions

function show(id) {
        if (ns4) document.layers[id].visibility = "show"
        else if (ie4) document.all[id].style.visibility = "visible"
}

function hide(id) {
        if (ns4) document.layers[id].visibility = "hide"
        else if (ie4) document.all[id].style.visibility = "hidden"
}


// ENTER key to submit form function

function checkEnter(e)
{ //e is event object passed from function invocation
	var characterCode // literal character code will be stored in this variable

	if(e && e.which)
		{ //if which property of event object is supported (NN4)
		e = e
		characterCode = e.which //character code is contained in NN4's which property
			}
	else{
		e = event
		characterCode = e.keyCode //character code is contained in IE's keyCode property
			}
	if(characterCode == 13)
	{ //if generated character code is equal to ascii 13 (if enter key)
		 document.forms[0].submit() //submit the form
		return false
	}
	else {
		return true
	}

}


function submitForm(formID,selectID)
{
	if (!document[formID][selectID][0].selected) { document[formID].submit(); }
}

/*
	@method:   Browser/OS Detection.
	@version:   1.0
	@url:          http://www.quirksmode.org/js/detect.html
*/
var BrowserDetect =
{
	init: function()
	{
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function(data)
	{
		for (var i=0;i<data.length;i++)
		{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) { if (dataString.indexOf(data[i].subString) != -1) return data[i].identity; }
			else if (dataProp) return data[i].identity;
		}
	},
	searchVersion: function(dataString)
	{
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser:
	[
		{ string: navigator.userAgent, subString: "Google", identity: "Spider" },
		{ string: navigator.userAgent, subString: "Yahoo! Slurp", identity: "Spider" },
		{ string: navigator.userAgent, subString: "HTTrack", identity: "Spider", versionSearch: "HTTrack" },
		{ string: navigator.userAgent, subString: "OmniWeb", versionSearch: "OmniWeb/", identity: "OmniWeb" },
		{ string: navigator.userAgent, subString: "Safari", identity: "Safari" },
		{ string: navigator.vendor, subString: "Apple", identity: "Safari" },
		{ prop: window.opera, identity: "Opera" },
		{ string: navigator.userAgent, subString: "Opera", identity: "Opera" },
		{ string: navigator.vendor, subString: "iCab", identity: "iCab" },
		{ string: navigator.vendor, subString: "KDE", identity: "Konqueror" },
		{ string: navigator.userAgent, subString: "Firefox", identity: "Firefox" },
		{ string: navigator.vendor, subString: "Camino", identity: "Camino" },
		{ string: navigator.userAgent, subString: "Netscape6", versionSearch: "Netscape6", identity: "Netscape" },
		{ string: navigator.userAgent, subString: "Netscape",identity: "Netscape" },
		{ string: navigator.userAgent, subString: "MSIE", identity: "MSIE", versionSearch: "MSIE" },
		{ string: navigator.userAgent, subString: "Gecko", identity: "Mozilla", versionSearch: "rv" },
		{ string: navigator.userAgent, subString: "Mozilla", identity: "Mozilla", versionSearch: "Mozilla" }
	],
	dataOS:
	[
		{ string: navigator.platform, subString: "Windows CE", identity: "WindowsCE" },
		{ string: navigator.platform, subString: "Win", identity: "Windows" },
		{ string: navigator.platform, subString: "Mac", identity: "Mac" },
		{ string: navigator.userAgent, subString: "Mac", identity: "Mac" },
		{ string: navigator.userAgent, subString: "OS X", identity: "Mac" },
		{ string: navigator.userAgent, subString: "PPC", identity: "Mac" },
		{ string: navigator.platform, subString: "Linux", identity: "Linux" }
	]
};

/*
	@method:   Environmental flags setup.
*/
BrowserDetect.init();

_platform = BrowserDetect.OS;
_browser = BrowserDetect.browser;
_version = BrowserDetect.version;

is_ie = (_browser=='MSIE');
is_netscape = (_browser=='Netscape');
is_opera = (_browser=='Opera');
is_firefox = (_browser=='Firefox');
is_safari = (_browser=='Safari');
is_spider = (_browser=='Spider');
is_mac = (_platform=='Mac');
is_windows = (_platform=='Windows');
is_windowsCE = (_platform=='WindowsCE');
is_linux = (_platform=='Linux');
isBrowserBlacklisted = (is_mac&&is_ie)||(is_ie&&!(_version>=5)&&(!is_windowsCE))||(is_netscape&&!(_version>=7));

if (isBrowserBlacklisted) document.location = 'not-supported.cfm';
