﻿/*
Screen Resolution Redirect
*/
var MasterBody;
var lastWidth = 0;

var divCenter = null;
var divLeft = null;
var divRight = null;
var divRight2 = null;
var divMasthead = null;
var divNavigation = null;
var divFooter = null;
var divColumns = [];

function setDivProperties(div, mandatory, fixedWidth, resolutionX) {
	div.mandatory = mandatory;
	div.fixedWidth = fixedWidth;
	div.resolutionX = resolutionX;
}
function declareDIVS() {
	divLeft = document.getElementById("column_left");
	setDivProperties(divLeft, 'true', 'true', null);
	divColumns[0] = divLeft;
	
	divCenter = document.getElementById("column_center");
	setDivProperties(divCenter, 'true', 'true', null);
	divColumns[1] = divCenter;
	
	divRight = document.getElementById("column_right");
	setDivProperties(divRight, 'false', 'true', 800);
	divColumns[2] = divRight;
	
	divRight2 = document.getElementById("column_right2");
	setDivProperties(divRight2, 'false', 'true', 1024);
	divColumns[3] = divRight2;
	
	divMasthead = document.getElementById("masthead");
	divNavigation = document.getElementById("navigation");
	divFooter = document.getElementById("footer");


//	detectBrowser();
//	if (browser == "Microsoft Internet Explorer") {
//		$get('MasterBody').style.overflow = 'auto';
//	}

}

function HideShade() {

	divShade = document.getElementById("ga_shade");
	if (divShade != null) {
		hideDiv(divShade);
	}
}

function setDisplay(divid, bool) {
	var div = document.getElementById(divid);
	if(div!=null)
	    div.display = bool;
}
function widths(docWidth, centerMinWidth, centerWidth) {
	var totalWidth = 0;
	var i = 0;
	for (i = 0; i < divColumns.length; i++) {
		div = divColumns[i];
		if (div.mandatory == 'false') {
			if (div.display == 'false')
				hideDiv(div);
			else {
				if ((docWidth) <= div.resolutionX)
					hideDiv(div);
				else
					showDiv(div);
			}
		}
		else
			showDiv(div);
		if (isVisible(div)) {
			totalWidth += (div.offsetWidth);
			if (totalWidth > docWidth) {
				var overlap = totalWidth - docWidth;
				if (centerWidth - overlap < centerMinWidth) {
					if (div.mandatory == 'false') {
						hideDiv(div);
						totalWidth -= (div.offsetWidth);
					}
				}
			}
		}
	}
	return totalWidth;
}
function size() {
	var myWidth = 0, myHeight = 0;

	if (divCenter == null) {
	    declareDIVS();
	    var originalHeight = divCenter.offsetHeight;
	}
	
	var scrOf = getScrollXY();
	   
	if (typeof (window.innerWidth) == 'number') {
		//Non-IE
		myWidth = document.documentElement.clientWidth; //window.innerWidth;
		myHeight = window.innerHeight;
	} else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
	//IE 6+ in 'standards compliant mode'
	myWidth = document.documentElement.clientWidth;  //- (document.documentElement.scrollWidth - document.documentElement.clientWidth);
		myHeight = document.documentElement.clientHeight;
	} else if (document.body && (document.body.clientWidth || document.body.clientHeight)) {
		//IE 4 compatible
		myWidth = document.body.clientWidth;
		myHeight = document.body.clientHeight;
	}
	myWidth -= scrOf[0]
	if (lastWidth == myWidth)
		return;
	else
		lastWidth = myWidth;

	var totalWidth = 0;
	var centerWidth = (divCenter.offsetWidth); 
	
	totalWidth = widths(myWidth, 606, centerWidth);
	centerWidth = (divCenter.offsetWidth);
	totalWithoutCenter = (totalWidth - centerWidth);
	if (((myWidth - totalWithoutCenter) - getDivStyleWidth(divCenter)) < 582) {
		totalWidth = 174 + 580;
		divCenter.style.width = '500px';
	}
	else
	    divCenter.style.width = ((myWidth - totalWithoutCenter) - getDivStyleWidth(divCenter)) + 'px';
	totalWidth = totalWithoutCenter + divCenter.offsetWidth;
	divFooter.style.width = totalWidth - getDivStyleWidth(divFooter) + 'px';
	divMasthead.style.width = totalWidth - getDivStyleWidth(divMasthead) + 'px';
	divNavigation.style.width = totalWidth - getDivStyleWidth(divNavigation) + 'px';

	$get('MasterBody').style.width = totalWidth;

	highest = divLeft.offsetHeight; 

	h = divCenter.offsetHeight; 
	if (highest < h)
		highest = h;
	h = divRight.offsetHeight; 
	if (highest < h)
		highest = h;

    divCenter.style.position = "absolute";
    divLeft.style.position = "absolute";
    divRight.style.position = "absolute";
    divRight2.style.position = "absolute";
    divMasthead.style.position = "absolute";
    divNavigation.style.position = "absolute";
    divFooter.style.position = "absolute";

    divLeft.style.height = highest - getDivStyleHeight(divLeft) + 'px';
	divCenter.style.height = highest - getDivStyleHeight(divCenter) + 'px';
	divRight.style.height = highest - getDivStyleHeight(divRight) + 'px';
	divRight2.style.height = highest - getDivStyleHeight(divRight2) + 'px';

	var ll = 0;
	var cl = divLeft.offsetWidth;
	var rl = divCenter.offsetLeft + divCenter.offsetWidth;
	var r2l = rl + divRight.offsetWidth - getDivStyleWidth(divRight);

	divMasthead.style.top = "0px";
	divMasthead.style.left = "0px";
	divNavigation.style.top = "200px";
	var heightHeadNav = 200 + divNavigation.offsetHeight;
	divCenter.style.top = (divNavigation.offsetHeight + 200) + "px";
	divLeft.style.top = (divNavigation.offsetHeight + 200) + "px";
	divRight.style.top = (divNavigation.offsetHeight + 200) + "px";
	divRight2.style.top = (divNavigation.offsetHeight + 200) + "px";
	divFooter.style.top = (divLeft.offsetTop + divLeft.offsetHeight - getDivStyleHeight(divLeft)) + "px";
	divLeft.style.left = ll + "px";
	divCenter.style.left = cl + "px";
		if (isVisible(divRight)) {
	    divRight.style.left = (divCenter.offsetLeft + divCenter.offsetWidth) + "px";
	    if (isVisible(divRight2)) {
	    divRight2.style.left = (divRight.offsetLeft + divRight.offsetWidth) + "px";
	    }
	}
	else if(isVisible(divRight2))
	{
	divRight2.style.left = (divCenter.offsetLeft + divCenter.offsetWidth) + "px";
	}
	
	showDiv(divCenter);
}
function getDivStyleWidth(div) {
	var style = getStyleRule('LayoutSite.css', '#' + div.id);
	var width=0;
	if (style.borderLeftWidth == 'medium')
		width += 4;
	else
		width += Number(style.borderLeftWidth.substr(0, style.borderLeftWidth.length - 2));
	if (style.borderRightWidth == 'medium')
		width += 4;
	else
		width += Number(style.borderRightWidth.substr(0, style.borderRightWidth.length - 2));
	if (style.paddingLeft == 'medium')
		width += 4;
	else
		width += Number(style.paddingLeft.substr(0, style.paddingLeft.length - 2));
	if (style.paddingRight == 'medium')
		width += 4;
	else
		width += Number(style.paddingRight.substr(0, style.paddingRight.length - 2));
	return width;
}
function getDivStyleHeight(div) {

	var style = getStyleRule('LayoutSite.css', '#' + div.id);

	var height = 0;
	if (style.borderTopWidth == 'medium')
		height += 4;
	else
		height += Number(style.borderTopWidth.substr(0, style.borderTopWidth.length - 2));
	if (style.borderBottomWidth == 'medium') {
		height += 4;
	}
	else
		height += Number(style.borderBottomWidth.substr(0, style.borderBottomWidth.length - 2));
	
	if (style.paddingTop == 'medium')
		height += 4;
	else
		height += Number(style.paddingTop.substr(0, style.paddingTop.length - 2));
	if (style.paddingBottom == 'medium')
		height += 4;
	else
		height += Number(style.paddingBottom.substr(0, style.paddingBottom.length - 2));
	return height;
}
function getStyleRule(sheet, styleRule) {
	for (i = 0; i < document.styleSheets.length; i++) {
		var ss = document.styleSheets[i];
		if (ss != null && ss.href != null & ss.href != '') {
			if (ss.href != null && ss.href.substring(ss.href.length - sheet.length, ss.href.length) == sheet) {
				var rules = null;
				if (document.styleSheets[i].cssRules)
					rules = document.styleSheets[i].cssRules;
				else
					rules = document.styleSheets[i].rules;
				for (ii = 0; ii < rules.length; ii++) {
					var ssr = rules[ii];
					if (ssr != null && ssr.selectorText != null && ssr.selectorText != '') {
						if (ssr.selectorText == styleRule) {
							return ssr.style;
						}
					}
				}
			}
		}
	}
}

function getScrollXY() {
	var scrOfX = 0, scrOfY = 0;
	if (typeof (window.pageYOffset) == 'number') {
		//Netscape compliant
		scrOfY = window.pageYOffset;
		scrOfX = window.pageXOffset;
	} else if (document.body && (document.body.scrollLeft || document.body.scrollTop)) {
		//DOM compliant
		scrOfY = document.body.scrollTop;
		scrOfX = document.body.scrollLeft;
	} else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
		//IE6 standards compliant mode
		scrOfY = document.documentElement.scrollTop;
		scrOfX = document.documentElement.scrollLeft;
	}
	return [scrOfX, scrOfY];
}
function getColourDepth() {
	if (screen.colorDepth <= 8) //if screen is 8 bit or less
		document.body.style.background = "#00FF00" //simple lime background for 8 bit screens
	else
		document.body.style.background = "#E7F8ED" //fancy green background for modern screens
}

function isVisible(div)
{
	if (document.getelementbyid) { // DOM3 = IE5, NS6
		if(div.style.visibility == 'visible')
			return true;
	}
	else {
		if (document.layers) { // Netscape 4
			if(div.visibility == 'visible')
			return true;
		}
		else { // IE 4
			if(div.style.visibility == 'visible')
			return true;
		}
	}
}


function hideDiv(div) {
	div.style.left = 0;
	if (document.getelementbyid) { // DOM3 = IE5, NS6
		div.style.visibility = 'hidden';
		div.style.position = 'fixed'
	}
	else {
		if (document.layers) { // Netscape 4
			div.visibility = 'hidden';
			div.style.position = 'fixed'
		}
		else { // IE 4
			div.style.visibility = 'hidden';
			div.style.position = 'fixed'
		}
	}
}

function showDiv(div) {
	if (document.getelementbyid) { // DOM3 = IE5, NS6
		div.style.visibility = 'visible';
		div.style.position = 'relative'
	}
	else {
		if (document.layers) { // Netscape 4
			div.visibility = 'visible';
			div.style.position = 'relative'
		}
		else { // IE 4
			div.style.visibility = 'visible';
			div.style.position = 'relative'
		}
	}
}
function initializeMap() {
	if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById("map_canvas"));
		map.setCenter(new GLatLng(33.765747, -118.245080), 13);
		map.setUIToDefault();
		var point = new GLatLng(33.765747, -118.245080);
		map.addOverlay(new GMarker(point));
	}
}

function addLoadEvent(func) {
	MasterBody = document.getElementById("MasterBody");
	var oldonload = MasterBody.onload;
	if (typeof MasterBody.onload != 'function') {
		MasterBody.onload = func;
	} else {
		MasterBody.onload = function() {
			if (oldonload) {
				oldonload();
			}
			func();
		}
	}
}
function addWindowLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			if (oldonload) {
				oldonload();
			}
			func();
		}
	}
}
function Init() {
	window.onresize = size;
	addEvent(window, "load", HideShade);
}
	var browser = navigator.appName;
	var browserVersion = 0.0;
function detectBrowser() {
	var b_Version = navigator.appVersion;
	browserVersion = parseFloat(b_Version);
}
