﻿// ----------------------------------------//
// FileName:	evenHeight.js
// Author:		Umezawa Nozomi
// UpDate:		2011/01/16
// ----------------------------------------

function evenHeight(target_parentbox){
	if (target_parentbox.search(/\./) != -1 ) {
		var targetParentTag = document.getElementsByTagName("div");
		target_parentbox = target_parentbox.substring(1, target_parentbox.length);
		for(var i = 0; i < targetParentTag.length; i++){
			if(targetParentTag[i].className.indexOf(target_parentbox) != -1){
				var targetParentElement =  targetParentTag[i];
				flat(targetParentElement);
			}
		}
	}
	else if (target_parentbox.search(/#/) != -1 ){
		target_parentbox = target_parentbox.substring(1, target_parentbox.length);
		var targetParentElement =  document.getElementById(target_parentbox);
		flat(targetParentElement);
	}else{
		
	}
	

}// END _ function calculateHeight();


function flat(targetParentElement){
	if (targetParentElement) {
			var targetChildElement =  targetParentElement.getElementsByTagName("div");
	 		if (targetChildElement) {
				targetNode_array = new Array();
					for (i = 0; i < targetChildElement.length; i++){
							targetNode_array[i] = calculateHeight(targetChildElement[i]);
							if (targetChildElement[i].getElementsByTagName("div")) {
								var skipNode = targetChildElement[i].getElementsByTagName("div").length;
								i = i + skipNode;
							}
					}
					nMaxHeight = maxHeight(targetNode_array);
					addHeight(targetChildElement,targetNode_array,nMaxHeight);
	 	}
	}
}


function calculateHeight(targetNode){
	var targetNodeHeight = targetNode.offsetHeight;
	return targetNodeHeight;
}

function maxHeight(targetNode_array){
	var nMaxHeight = targetNode_array[0];
	for (i=1; i<targetNode_array.length; i++) {
		if (targetNode_array[i]>nMaxHeight){nMaxHeight=targetNode_array[i];}
	}
	return nMaxHeight;
}
function addHeight(targetElementList,checkNode_array,nMaxHeight){
		for(var i= 0; i < checkNode_array.length; i++){
			if (targetNode_array[i]) {
				targetElementList[i].style.height = nMaxHeight + 'px';
			}
		}
}


/* -------------------------------- 
  window.onload execution order
 -------------------------------- */

if (window.addEventListener) { //for W3C DOM
  window.addEventListener("load", jsEvenHeight, false);
} else if (window.attachEvent) { //for IE
  window.attachEvent("onload", jsEvenHeight);
} else  {
  window.onload = jsEvenHeight;
}

function jsEvenHeight(){
	evenHeight(".l_ranking_1_main");
	evenHeight(".l_ranking_2_main");
	evenHeight(".l_item_1_area");
	evenHeight(".l_item_2_area");
	evenHeight(".l_item_3_area");
	evenHeight(".l_item_4_area");
	evenHeight(".l_item_5_area");
	evenHeight("#magazinlist");
}
