// JavaScript Document

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];}
}

function newWindow(page, name, width, height) {
		var left;
		var top;
		var settings;
		var newWindow;

		left = (windowWidth() - width) / 2;
		top = (windowHeight() - height) / 2;

		settings = 'width=' + width + ',';
		settings += 'height=' + height + ',';
		settings += 'left=' + left + ',';
		settings += 'top=' + top + ',';
		settings += 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=no, resizable=no';
		
		newWindow = window.open(page, name, settings);
		if (window.focus) newWindow.window.focus();
	}
	
function imageWindow(page, newWindowName, imageWidth, imageHeight) {
		//CONSTANTS
		var widthPadding = 0;
		var heightPadding = 0;
		var scrollBarPadding = 20;
		var widthRatio = 0.88;
		var heightRatio = 0.88;

		//VARIABLES
		var newWindowWidth, newWindowHeight;
		var maximumWindowWidth, maximumWindowHeight;
		var largeWidth, largeHeight;
		var resize;
		var settings, left, top;
		var newWindow;
		
		largeWidth = false;
		largeHeight = false;
		maximumWindowWidth = Math.floor(windowWidth() * widthRatio);
		maximumWindowHeight = Math.floor(windowHeight() * heightRatio);

		//DETERMINE THE WIDTH OF THE POP-UP WINDOW
		if (imageWidth + widthPadding > maximumWindowWidth) {
			largeWidth = true;
			newWindowWidth = maximumWindowWidth;
		}
		else {
			newWindowWidth = imageWidth + widthPadding;
		}

		//DETERMINE THE HEIGHT OF THE POP-UP WINDOW
		if (imageHeight + heightPadding > maximumWindowHeight) {
			largeHeight = true;
			newWindowHeight = maximumWindowHeight;
		}
		else {
			newWindowHeight = imageHeight + heightPadding;
		}
		
		//ADD SCROLLBAR PADDING IF ONE DIMENSION HAS EXCEEDED THE WINDOW DIMENSIONS, BUT THE OTHER ISN'T
		if (largeWidth && !largeHeight) {
			newWindowHeight = (newWindowHeight + scrollBarPadding < maximumWindowHeight) ? newWindowHeight + scrollBarPadding : maximumWindowHeight;
		}
		else if (largeHeight && !largeWidth) {
			newWindowWidth = (newWindowWidth + scrollBarPadding < maximumWindowWidth) ? newWindowWidth + scrollBarPadding : maximumWindowWidth;
		}

		//DETERMINE THE CENTRAL POSITIONS FOR THE NEW WINDOW
		left = Math.round((windowWidth() - newWindowWidth) / 2);
		top = Math.round((windowHeight() - newWindowHeight) / 2);

		//DETERMINE WHETHER THE WINDOW SHOULD HAVE SCROLLBARS AND BE RESIZABLE
		resize = (largeWidth || largeHeight) ? 'yes' : 'no';

		settings = 'width=' + newWindowWidth + ', ';
		settings += 'height=' + newWindowHeight + ', ';
		settings += 'left=' + left + ',';
		settings += 'top=' + top + ',';
		settings += 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=' + resize + ', resizable=' + resize;

		newWindow = window.open(page, newWindowName, settings);
		if (window.focus) newWindow.window.focus();
	}

	function windowWidth() {
		var width = 0;

		//Non-IE
		if (typeof(window.innerWidth) == 'number') {
			width = window.innerWidth;
		}
		//IE 6+ in 'standards compliant mode'
		else if (document.documentElement && document.documentElement.clientWidth) {
			width = document.documentElement.clientWidth;
		}
		//IE 4 compatible
		else if (document.body && document.body.clientWidth) {
			width = document.body.clientWidth;
		}
		
		return width;
	}

	function windowHeight() {
		var height = 0;

		//Non-IE
		if (typeof(window.innerHeight) == 'number') {
			height = window.innerHeight;
		}
		//IE 6+ in 'standards compliant mode'
		else if (document.documentElement && document.documentElement.clientHeight) {
			height = document.documentElement.clientHeight;
		}
		//IE 4 compatible
		else if (document.body && document.body.clientHeight) {
			height = document.body.clientHeight;
		}

		return height;
	}

	function documentWidth() {		
		return (document.body) ? document.body.clientWidth : window.innerWidth;
	}
	
	function documentHeight() {
		return (document.body) ? document.body.clientHeight : window.innerHeight;
	}
	
	function showHideRightContent(objectID, minimumDocumentWidth)	{
		if (documentWidth() >= minimumDocumentWidth) {
			expandLayer(objectID);
		}
		else {
			contractLayer(objectID);
		}
	}