//==============================================================================
// na_height.js 1.0
// by NavigationArts: navarts.com
//==============================================================================
// This function is built to take 2 elements, compare the actual browser rendered 
// heigths, and then makes the shorter one taller. Useful when trying to emulate
// a table based design grid.
//==============================================================================

function NA_height_init() {
	if(document.getElementById('nav-section')) {
		if(document.getElementById('nav-section').className == 'photo') {
			NA_height('nav-section','content-main');
		}
	}
	NA_height('content-promo-nw','content-promo-ne');
	NA_height('content-promo-sw','content-promo-se');
}

function NA_height(obj1,obj2) {
	if(document.getElementById(obj1)) {
	
		padbor1 = 0;
		padbor2 = 0;
		
		d1 = document.getElementById(obj1);
		d2 = document.getElementById(obj2);
		
		var docvalues = new Array(2);
			docvalues[0] = d1;
			docvalues[1] = d2;
		
		if (d1.currentStyle) {
			var cssvalues = new Array(4)
				cssvalues[0] = 'paddingTop';
				cssvalues[1] = 'paddingBottom';
				cssvalues[2] = 'borderTopWidth';
				cssvalues[3] = 'borderBottomWidth';
			
			for(j=0; j < docvalues.length; j++) {
				for(i=0; i < cssvalues.length; i++) {
					valAdd = parseInt(docvalues[j].currentStyle[cssvalues[i]]);
					if (! isNaN(valAdd)) {
						k = j + 1;
						valOrg = eval('padbor' + k);
						valNew = valOrg + valAdd;
						eval('padbor' + k + '=' + valNew);
					}
				}
			}
		}
		else if (window.getComputedStyle) {
			var cssvalues = new Array(4)
				cssvalues[0] = 'padding-top';
				cssvalues[1] = 'padding-bottom';
				cssvalues[2] = 'border-top-width';
				cssvalues[3] = 'border-bottom-width';
			
			for(j=0; j < docvalues.length; j++) {
				for(i=0; i < cssvalues.length; i++) {
					valAdd = parseInt(window.getComputedStyle(docvalues[j], '').getPropertyValue(cssvalues[i]));
					if (! isNaN(valAdd)) {
						k = j + 1;
						valOrg = eval('padbor' + k);
						valNew = valOrg + valAdd;
						eval('padbor' + k + '=' + valNew);
					}
				}
			}
		}
		
		// Microsoft Check.
		if (navigator.userAgent.toLowerCase().indexOf('msie 5') != -1) { 
			padbor1 = 0; // IE5 Box Model
			padbor2 = 0;
		}
		
		a1 = padbor1;
		a2 = d1.offsetHeight - a1;
		a3 = d1.offsetHeight;
		
		b1 = padbor2;
		b2 = d2.offsetHeight - b1;
		b3 = d2.offsetHeight;
		
		z1 = a1 - b1;
		z2 = a2 - b2;
		z3 = z1 + z2;
		
		safari1 = 0;
		safari2 = 0;
		
		if (z3 < 0) {
			z3 = z3 * -1;
		}
		
		// this is because getComputedStyle doesn't work for Safari, so the padbor needs to be hard coded
		// adding in the && padbor1 == 0 is hope that newer versions of Safari that support getComputedStyle
		// won't break here
		if (navigator.userAgent.toLowerCase().indexOf('safari') != -1 && padbor1 == 0) {
			if (obj1 == 'nav-section') {
				safari1 = -170;
				safari2 = 170;
			}
		}
		
		if (a3 < b3) {
			a2 = a2 + z3;
			d1.style.height = a2 + safari1 + 'px';
		}
		else if (a3 > b3) {
			b2 = b2 + z3;
			d2.style.height = b2 + safari2 + 'px';
		}
	}
}

addEvent(window, "load", NA_height_init);