var jsTooltip =  function(evt,target,str,configSetting){
	//==체크
	if(str==null){alert('필수값이 없습니다.');return false;}
	var config = {'gapLeft':5 ,'gapTop':5 , 'className':'jsTooltip','style':{} };
	if(configSetting){
		for(x in configSetting){
			if(config[x] != undefined){
				config[x] = configSetting[x];
			}
		}
	}
	//== 변수값 설정
	this.target = target
	this.str = str
	this.gapLeft = config['gapLeft'];
	this.gapTop = config['gapTop'];
	divTooltip = document.createElement('div');
	divTooltip.className = config['className']; 
	divTooltip.innerHTML = this.str;
	//divTooltip.appendChild(document.createTextNode(this.str));
	this.target.divTooltip = divTooltip;
	//== 스타일 설정
	if(config['style'] != null){
		for(x in config['style']){
			divTooltip.style[x] = config['style'][x];
		}
	}	
	divTooltip.style.display = 'none';
	divTooltip.style.left = 0;
	divTooltip.style.right = 0;	
	divTooltip.style.position = 'absolute'; 
	
	document.body.appendChild(divTooltip);
	var thisC = this;
	this.target.onmouseover = function(evt){ thisC.show(evt,thisC.target); }
	this.target.onmousemove = function(evt){ thisC.show(evt,thisC.target); }
	this.target	.onmouseout = function(evt){ thisC.hide(evt,thisC.target); }
	if(evt && evt.type == 'mouseover'){
		thisC.show(evt,thisC.target);
	}
}
jsTooltip.prototype.show = function(evt,target){
	if(window.event){ evt = window.event ;}
	if(target.divTooltip){
		var scrollLeft = Math.max(document.documentElement.scrollLeft,document.body.scrollLeft);
		var scrollTop = Math.max(document.documentElement.scrollTop,document.body.scrollTop);
		var scrollWdith = Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);
		var scrollHeight = Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);
		
		target.divTooltip.style.display = 'block';		
		var divRight = evt.clientX + target.divTooltip.offsetWidth;
		var divBottom = target.divTooltip.offsetTop+target.divTooltip.offsetHeight;
		var x = evt.clientX+this.gapLeft+scrollLeft;
		var y = evt.clientY+this.gapTop+scrollTop;
		
		
		if(divRight + scrollLeft + this.gapLeft + 20 >= scrollWdith){
			x = (scrollWdith - target.divTooltip.offsetWidth - 10 );

		}
		target.divTooltip.style.left = x+'px';
		target.divTooltip.style.top = y+'px';
		
	}
}
jsTooltip.prototype.hide = function(evt,target){
	if(target.divTooltip){
		target.divTooltip.style.display = 'none';
	}
}

