/* 
Fix for dynamically adjusting column heights on the country site bottom panels.
MMCS-868
*/

matchColumns=function(){ 
	 	 
	 var allDivs; 
	
     // get all <div> elements in the document 
     allDivs=document.getElementsByTagName('div'); 
     
     /*
     Fix panel header height.
     */
     var headerDivs,maxHeaderDivHeight,headerDivHeight,headerDiv;
	 
     headerDivs=[];
     maxHeaderDivHeight=0; 

     // iterate over all <div> elements in the document 
     for(var i=0;i<allDivs.length;i++){ 

          // make collection with <div> elements with class attribute 'topBannerHeaderHeight' 
          if(/\btopBannerHeaderHeight\b/.test(allDivs[i].className)){ 

                headerDiv=allDivs[i]; 

                headerDivs[headerDivs.length]=headerDiv; 

                // determine height for <div> element 
                if(headerDiv.offsetHeight){ 
                     headerDivHeight=headerDiv.offsetHeight; 					
                } 
                else if(headerDiv.style.pixelHeight){ 
                     headerDivHeight=headerDiv.style.calculate;					 
                }
				
                // pixelHeight maximum height 
                maxHeaderDivHeight=Math.max(maxHeaderDivHeight,headerDivHeight);
          } 
     }    
	 if ((BrowserDetect.browser) == "Explorer" && (BrowserDetect.version) == "7")
	 {
	   maxHeaderDivHeight = maxHeaderDivHeight - 15;
	 } 
     // assign maximum height value to all of headerDivs[]
     for(var i=0;i<headerDivs.length;i++){ 
          headerDivs[i].style.height=maxHeaderDivHeight + "px";
     }
     
     /*
     Fix panel body height.
     */
     var innerBodyDivs,maxInnerBodyDivHeight,innerBodyDivHeight,innerBodyDiv; 

     innerBodyDivs=[]; 
     maxInnerBodyDivHeight=0; 

     // iterate over all <div> elements in the document 
     for(var i=0;i<allDivs.length;i++){ 

          // make collection with <div> elements with class attribute 'topBannerPanelHeight' 
          if(/\binnerBodyHeight\b/.test(allDivs[i].className)){ 

                innerBodyDiv=allDivs[i]; 

                innerBodyDivs[innerBodyDivs.length]=innerBodyDiv; 

                // determine height for <div> element 
                if(innerBodyDiv.offsetHeight){ 
                     innerBodyDivHeight=innerBodyDiv.offsetHeight; 					
                } 
                else if(innerBodyDiv.style.pixelHeight){ 
                     innerBodyDivHeight=innerBodyDiv.style.calculate;					 
                } 

                // pixelHeight maximum height 
                maxInnerBodyDivHeight=Math.max(maxInnerBodyDivHeight,innerBodyDivHeight); 
          } 
     } 
		
     // assign maximum height value to all of innerBodyDivs[]
     for(var i=0;i<innerBodyDivs.length;i++){ 
          innerBodyDivs[i].style.height=maxInnerBodyDivHeight + "px"; 
     }
 
	 /*
     Fix panel body height if the link button is hidden.
     */
     var outerBodyDivs,outerBodyDivHeight,outerBodyDiv, differenceList, maxDifference; 
     
     outerBodyDivs=[];
     differenceList=[];
	 divIndex = 0;
	 maxDifference=0;
	 
     // iterate over all <div> elements in the document 
     for(var i=0;i<allDivs.length;i++){ 

          // make collection with <div> elements with class attribute 'outerBodyHeight' 
          if(/\bouterBodyHeight\b/.test(allDivs[i].className)){ 

				
                outerBodyDiv=allDivs[i]; 

                outerBodyDivs[outerBodyDivs.length]=outerBodyDiv; 

                // determine height for <div> element 
                if(outerBodyDiv.offsetHeight){ 
                     outerBodyDivHeight=outerBodyDiv.offsetHeight; 					
                } 
                else if(outerBodyDiv.style.pixelHeight){ 
                     outerBodyDivHeight=outerBodyDiv.style.calculate;					 
                } 

				differenceList[divIndex]= outerBodyDivHeight - maxInnerBodyDivHeight;
  
				divIndex++;
          }
     }
     
     maxDifference = differenceList.max();
     
     for (var i=0;i<differenceList.length;i++) {
		differenceList[i] = maxDifference - differenceList[i];
		
		if( (BrowserDetect.browser) != "Explorer" ) {
			if ((differenceList[i] <= 41) && (differenceList[i] >=21))
				differenceList[i] = 41;
		} else {
			if ((differenceList[i] <= 35) && (differenceList[i] >=15))
				differenceList[i] = 35;
		}
     }

     // assign maximum height value to all of innerBodyDivs[]
     for(var i=0;i<innerBodyDivs.length;i++){ 
          innerBodyDivs[i].style.height=(maxInnerBodyDivHeight + differenceList[i])+"px"; 
     }     
} 

// Returns a maximum value stored inside the array of integers
Array.prototype.max = function() {
	var max = this[0];
	var len = this.length;
	for (var i = 1; i < len; i++) if (this[i] > max) max = this[i];
	return max;
}

// Runs the script when page loads 
window.onload=function(){
     if(document.getElementsByTagName){ 
          matchColumns();			 
     } 
}