/*--------------------------------------------------------------------------*



 *  



 *  heightLine JavaScript Library beta1



 *  



 *  MIT-style license. 



 *  



 *  2007 Kazuma Nishihata 



 *  http://www.webcreativepark.net



 *  



 *--------------------------------------------------------------------------*/



new function(){



	



	function heightLine(){



	



		this.className="heightLine";



		this.parentClassName="heightLineParent"



		reg = new RegExp(this.className+"-([a-zA-Z0-9-_]+)", "i");



		objCN =new Array();



		var objAll = document.getElementsByTagName ? document.getElementsByTagName("*") : document.all;



		for(var i = 0; i < objAll.length; i++) {



			var eltClass = objAll[i].className.split(/\s+/);



			for(var j = 0; j < eltClass.length; j++) {



				if(eltClass[j] == this.className) {



					if(!objCN["main CN"]) objCN["main CN"] = new Array();



					objCN["main CN"].push(objAll[i]);



					break;



				}else if(eltClass[j] == this.parentClassName){



					if(!objCN["parent CN"]) objCN["parent CN"] = new Array();



					objCN["parent CN"].push(objAll[i]);



					break;



				}else if(eltClass[j].match(reg)){



					var OCN = eltClass[j].match(reg)



					if(!objCN[OCN]) objCN[OCN]=new Array();



					objCN[OCN].push(objAll[i]);



					break;



				}



			}



		}



		



		//check font size



		var e = document.createElement("div");



		var s = document.createTextNode("S");



		e.appendChild(s);



		e.style.visibility="hidden"



		e.style.position="absolute"



		e.style.top="0"



		document.body.appendChild(e);



		var defHeight = e.offsetHeight;



		



		changeBoxSize = function(){



			for(var key in objCN){



				if (objCN.hasOwnProperty(key)) {



					if(key == "parent CN"){



						for(var i=0 ; i<objCN[key].length ; i++){



							var max_height=0;



							var CCN = objCN[key][i].childNodes;



							for(var j=0 ; j<CCN.length ; j++){



								if(CCN[j] && CCN[j].nodeType == 1){



									CCN[j].style.height="auto";



									max_height = max_height>CCN[j].offsetHeight?max_height:CCN[j].offsetHeight;



								}



							}



							for(var j=0 ; j<CCN.length ; j++){



								if(CCN[j].style)CCN[j].style.height = max_height + "px";



							}



						}



					}else{



						var max_height=0;



						for(var i=0 ; i<objCN[key].length ; i++){



							objCN[key][i].style.height="auto";



							max_height = max_height>objCN[key][i].offsetHeight?max_height:objCN[key][i].offsetHeight;



						}



						for(var i=0 ; i<objCN[key].length ; i++){



							objCN[key][i].style.height = max_height + "px";



						}



					}



				}



			}



		}



		



		checkBoxSize = function(){



			if(defHeight != e.offsetHeight){



				changeBoxSize();



				defHeight= e.offsetHeight;



			}



		}



		changeBoxSize();



		setInterval(checkBoxSize,1000)



	}



	



	function addEvent(elm,listener,fn){



		try{



			elm.addEventListener(listener,fn,false);



		}catch(e){



			elm.attachEvent("on"+listener,fn);



		}



	}



	addEvent(window,"load",heightLine);



}
