nav_arr = new Array('who','our','new','con');

nav = "";

function gObj(me) {
	if (document.getElementById) {
		return document.getElementById(me);
	}
}

function gImg(me) {
	if (document.images) {
		return document.images[me];
	}
}

function switchNav(nv) {  // done onload
	var i;
	for (i = 0; i < nav_arr.length; i++) {
		dv = gObj(nav_arr[i]);
		if (nav_arr[i] == nv) {
			dv.style.display = 'block';
		} else {
			dv.style.display = 'none';
		}
	}

	// check for ie6 and replace blog png with gif (no png support in ie6)
	if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { 
		var ieversion = new Number(RegExp.$1);
		if ((ieversion < 7)&&(gImg('blog'))) {
			gImg('blog').src = "images/blog.gif";
		}
	}
}

function goTo(url, tgt) {
	if (typeof(tgt) == "undefined") {
		window.location.href = url;
	} else {
		window.open(url,tgt);
	}
}

function evenCols() {  // evens up the vertical rule on col_2 style columns
	var divarr = document.getElementsByClassName("col_2");
	if (divarr.item(1).offsetHeight >= divarr.item(0).offsetHeight) {
		divarr.item(0).style.height = divarr.item(1).offsetHeight + "px";	
	} else {
		divarr.item(1).style.height = divarr.item(0).offsetHeight + "px";
	}
}


// The following is set to show/hide content in certain divs

function deepCss(who, css) {  // cross-browser style sniffer (cool)
    var val = '', str = '';
    if (!who || who.style == undefined) return '';
    if (/\-/.test(css)) {
		str = css.replace(/\-[a-z]/g, function(w) {
			return w.charAt(1).toUpperCase() + w.substring(2);
		})
    }
    val = who.style[str];
    if (!val) {
		if (who.currentStyle) {
			val = who.currentStyle[str];
		} else {
			var dv = document.defaultView || window;
			if (dv && dv.getComputedStyle) {
				val = dv.getComputedStyle(who,'').getPropertyValue(css);
            }
        }
    }
    return (val) ? val : '';
}

function showHide(dv) { 
	var nDiv = gObj(dv);
	var lObj = gObj(dv+"_link");
	var mObj = gObj(dv+"_more");
	var sObj = gObj(dv+"_span");
	var lines = 4;  // how many lines in reduced div
	var p = nDiv.getElementsByTagName("p").item(0);
	var lineHt = deepCss(p,"line-height");
	var linePdg = deepCss(p,"padding-bottom");
	var ht = parseInt(lineHt.replace("px",""));
	var pd = parseInt(linePdg.replace("px",""));
	if (lObj.innerHTML == "more &gt;") { 
		nDiv.style.height = "auto";
		nDiv.style.overflow = "visible";
		lObj.innerHTML = "&lt; less";
		mObj.style.marginTop = "-" + linePdg;
		if (sObj != null) {
			sObj.style.display = "inline";
		}
		lObj.blur();
	} else {
		nDiv.style.height = (lines * ht) + "px";  // gets adjusted below
		nDiv.style.overflow = "hidden";
		lObj.innerHTML = "more &gt;";
		if (sObj != null) {
			sObj.style.display = "none";
		}
		lObj.blur();
		mObj.style.marginTop = "0";
	}
}	

function isMore(dv) {
	var nDiv = gObj(dv);
	var p = nDiv.getElementsByTagName("p").item(0);
	var lineHt = deepCss(p,"line-height");
	var ht = parseInt(lineHt.replace("px",""));
	if ((nDiv.offsetHeight + (ht * 2)) < nDiv.scrollHeight) {
		return true;
	}
	return false;
}

function doMoreLinks(who) {  
	var i;
	for (i = 0; i < document.getElementsByTagName("div").length; i++) {
		var divClass = document.getElementsByTagName("div").item(i).className;
		var divId = document.getElementsByTagName("div").item(i).id;
		if ((divClass == "more_div")&&(divId.indexOf(who) > -1)) {
			var nDiv = document.getElementsByTagName("div").item(i);
			var p = nDiv.getElementsByTagName("p").item(0);
			var lineHt = deepCss(p,"line-height");
			var linePdg = deepCss(p,"padding-bottom");
			var ht = parseInt(lineHt.replace("px",""));
			var pd = parseInt(linePdg.replace("px",""));
			var divId = nDiv.id;
			var lines = 4;  // how many lines in reduced div 
			var moreId = divId + "_more";
			var morePara = gObj(moreId);
			var currStr = morePara.innerHTML;
			var linkStr = '<a href="javascript:showHide(\''+divId+'\');" id="'+divId+'_link">more &gt;</a>';
			if (isMore(divId)) {
				var paraArr = new Array();
				var j;
				for (j=0; j < nDiv.getElementsByTagName("p").length; j++) {
					var para = nDiv.getElementsByTagName("p").item(j);
					if (para.offsetTop < nDiv.offsetHeight + nDiv.offsetTop) {
						paraArr.push(para);
					}
				}
				var paras = paraArr.length;
				nDiv.style.height = ((lines * ht) + ((paras - 1) * pd)) + "px";
				if (currStr.indexOf("javascript:showHide") == -1) {
					morePara.innerHTML = (currStr != '&nbsp;') ? currStr + linkStr : linkStr;
				}
			} else if (currStr.indexOf(linkStr) > -1) {
				nDiv.style.height = "auto";
				morePara.innerHTML = currStr.replace(linkStr,"");
			} else {
				nDiv.style.height = "auto";
				morePara.style.display = "none";
			}
		}
	}
}

