/* default variables
============================================================*/
var agent = navigator.userAgent.toLowerCase();
var dname = new String(document.domain);
var path  = new String(location.pathname);
var w3c   = document.getElementById;

/* client variables
============================================================*/
var win    = (agent.indexOf("windows") != -1);
var mac    = (agent.indexOf("mac") != -1);
var gecko  = agent.indexOf("gecko") != -1;
var opera  = agent.indexOf("opera",0) != -1;
var safari = agent.indexOf("safari") != -1;
var ie     = agent.indexOf("msie") != -1 && !opera;
var ie6win = (agent.indexOf("msie 6.") != -1) && win;
var ie7win = (agent.indexOf("msie 7.") != -1) && win;
var ie5mac = (agent.indexOf("msie") != -1) && mac;
var ns     = agent.indexOf("netscape") != -1 && !opera;
var ns6    = (agent.indexOf("netscape6/6.") != -1) && ns;

/* read adjustment css */

document.open();
if(ie6win){ 
	document.write("<style type='text/css' media='screen'>body {behavior:url('../css/csshover.htc');}</style>");
}
document.close();

/* highLight 
============================================================*/
new function(){
	function highLight(){
	
		this.className="highLight";
		this.parentClassName="highLightParent"
		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",highLight);
}