// Make all blocks (divs) on one page the same height as the tallest one (when faux columns can't be used)

function getHeights(){
	//check for standards compliance
	if(!document.getElementById) return;
	if(!document.getElementsByTagName) return;
	
	var maxH
	if (maxH=getMaxHeight("1")) setHeights("1", maxH)
	if (maxH=getMaxHeight("4")) setHeights("4", maxH);
	if (maxH=getMaxHeight("7")) setHeights("7", maxH);
	if (maxH=getMaxHeight("10")) setHeights("10", maxH)
}
	
	
function getMaxHeight(rownum) {
	var maxHeight=0;
	var elementId="store_list_"+rownum
	//alert("check id("+elementId+")");
	var holder = document.getElementById(elementId);

	// Does this page contain this holder???
	if (!holder) return;
	
	var lis = holder.getElementsByTagName("li");
	for(var j = 0; j < lis.length; j++){
		//alert("found li("+j+") class("+lis[j].className+")");
		var thisheight = 0;
		var blocks = lis[j].getElementsByTagName("div");
		for(var i = 0; i < blocks.length; i++){
			//alert("found li("+j+")block("+i+") class("+blocks[i].className+")");
			if(blocks[i].className == 'productInfo') {
				height = blocks[i].offsetHeight;
				thisheight += height;
			}
			if (blocks[i].className == 'productImage productImageSmall'){ // we only want <div class="block">
				height = blocks[i].offsetHeight;
				//alert ("li ("+j+") image height is ("+height+") style("+blocks[i].style.height+")");
				thisheight += height;
			}
			if (thisheight>maxHeight) maxHeight=thisheight;
			//alert ("li("+j+") height("+thisheight+") max("+maxHeight+")");
		}
	}
	
	/*
	// Check height of right hand div if its there.
	holder=document.getElementById("store_list_"+rownum);
	if (holder) {
		var blocks = holder.getElementsByTagName("div");
		for(var i = 0; i < blocks.length; i++){
			if(blocks[i].className == 'panel'){ // we only want <div class="block">
				height = blocks[i].offsetHeight;
				alert ("got "+elementId+"  height("+height+")");
				if (height>maxHeight) maxHeight=height;
			}
		}
	}
	*/

	//alert ("GOT MAX("+maxHeight+") for "+rownum);	
	return maxHeight;
}

// make all divs the same height in pixels. must be run on window resize, text increase/decrease. (a ballache basically.)
function setHeights(type, height){
	var elementId="store_list_"+type
	var holder = document.getElementById(elementId);
	
	// This should really be impossible as the element had
	// to exist for us to have called this function in the first place.
	if (!holder) {
		//alert ("Failed to get holder for "+type);
		return ;
	}

	var blocks = holder.getElementsByTagName("div");

	var lis = holder.getElementsByTagName("li");
	for(var j = 0; j < lis.length; j++){

		var thisheight = 0;
		var blocks = lis[j].getElementsByTagName("div");
		for(var i = 0; i < blocks.length; i++){

			//alert("set height li("+j+") block("+i+") class("+blocks[i].className+")");
			if(blocks[i].className == 'productInfo' || blocks[i].className=="productImage productImageSmall"){ // we only want <div class="block">
				thisheight += blocks[i].offsetHeight;
				//alert("currently("+thisheight+") height("+height+")");
				// Only adjust height when looking at productinfo
				if (blocks[i].className=='productInfo' && thisheight < height) {
					var exHeight = height - thisheight;
					var paras = blocks[i].getElementsByTagName("p");
					for(var k=0; k<paras.length; k++) {
						//alert("got li("+j+") block("+i+") para("+k+") class("+paras[k].className+") add ("+exHeight+")px ");
						if (paras[k].className=="variants adjustable") {
							paras[k].style.marginTop=exHeight+"px";
						}
					}
				}
			}
		}
	}

}

//addEvent(window,"load",getHeights);