﻿// this depricated function is used on the news layout pages.
function resizeElementHeight(id) {
	var ele = document.getElementById(id);
   	if(ele){
   		var e = ele.offsetHeight;
		var h = ele.offsetHeight;
		par = document.getElementById("ContentRegion");
		if(par){
			h = par.offsetHeight;
		}
   		var m = Math.max(e,h);
   		ele.style.height= (m)+"px";
	}
}

// get the offset of a div.  most commenly used to get a container height for
// a two or three column layout to set the child divs
function getOffsetHeight(id) {
	var ele = document.getElementById(id);
   	if(ele){
   		return ele.offsetHeight;
   }
}

// set the height of a child div. make them all line up at the bottom.
// news and services, and site home page layout all use this
function setOffsetHeight(id, height, padding) {
// heights are in px.
// the optional padding parameter lets you fudge the offset for divs that are fussy

	var ele = document.getElementById(id);
	var currentHeight;
	var adjustedHeight;
	var v_padding;
	
	v_padding = 0;
	if (null == padding) {
		v_padding = 0;
	} else {
		v_padding = padding;
	}
		
   	if(ele){
		currentHeight = getOffsetHeight(id) ;
		adjustedHeight = Math.max(currentHeight,(height + v_padding))
		if (currentHeight < adjustedHeight) {
		// then we will increase the height of element 
	   		if(0 == v_padding){  
			// this is where we go look for a "floating logo"
	   			var logo = getLogoAbsolute(ele);
	   			if(logo){
	   				var glr = 1+(1/3);  // the Golden Logo Ratio!
	   				var h = logo.clientHeight*glr;
	   				ele.style.height= (height-h)+"px";
	   			} 
	   			else{
	   				ele.style.height= (height)+"px";
	   			}
	   		}
			else {
	   		// need to fudge?
	   			ele.style.height= adjustedHeight+"px";
	   		}
		}

	}
   	
}

// recursivly search for a child div with the class "LogoAbsolute"
function getLogoAbsolute(ele){
	if(ele.className.indexOf("LogoAbsolute") >=0){
		return ele;
	}
	else if(ele.hasChildNodes()){
		for(var i=0;i<ele.childNodes.length; i++){
			var child = ele.childNodes[i];
			if(child.className){
				 var logo  = getLogoAbsolute(child);
				 if(logo){
				 	return logo;
				 }
			}
		}
		return false;
	}
	else{
		return false;  //no child nodes;
	}
	
}




