/*
*
* - ±â  ´É : Æ¯Á¤ ·¹ÀÌ¾î Ç¥½Ã Åä±Û
*          IE6ÀÌÇÏÀÇ select ·¹ÀÌ¾î Åõ°ú ¹®Á¦¸¦ visibility¸¦ hidden ¼³Á¤ ÇÏ´Â ¹æ¹ýÀ¸·Î ÇØ°áÇÔ
* - ÀÛ¼ºÀÏ : 2009.06.03(¼ö)
* - ÀÛ¼ºÀÚ : ¹èÂùµÎ (tandol@empal.com)
*
* - »ç¿ë¹ý :
*          var a = new LayerToggleClass('·¹ÀÌ¾îID¸í');
*          a.toggle();
*
*/
var LayerToggleClass = function(ObjName){
	this.SelectedObjs = null;
	this.Obj = null;
	this.ObjName = ObjName;
	this.isIE6 = this.init();
}
LayerToggleClass.prototype.init=function(){ // IE6Ã¼Å©
	var AgntUsr=navigator.userAgent.toLowerCase();
	var isIE6 = false;
	if(AgntUsr.indexOf('msie')!=-1){ // IEÀÌ¸é
		var ptr = AgntUsr.indexOf('msie');
		var ptr1 = AgntUsr.indexOf('.', ptr);
		var version = parseInt(AgntUsr.substring(ptr+5, ptr1));
		if(version<=6){
			isIE6 = true;
		}
	}
	return isIE6;
}
LayerToggleClass.prototype.toggle=function(){
	if(this.isAction) return;
	this.Obj = document.getElementById(this.ObjName);
	if(this.Obj){
		this.Height = this.Obj.offsetHeight;
		this.Width  = this.Obj.offsetWidth;
		if(this.Obj.style.visibility!='hidden'){
			this.Obj.style.visibility = 'hidden';
			if(this.isIE6) this.RestoreSelect();
		}else{
			this.Obj.style.visibility = 'visible';
			if(this.isIE6) this.HideSelect();
		}
	}
}
LayerToggleClass.prototype.HideSelect=function(){
	var select_tags = document.getElementsByTagName('select');
	var BoxObjPos = this.GetPos(this.Obj);
	this.SelectedObjs = new Array();
	for(var s_i=0; s_i<select_tags.length; s_i++){
		var EleObjPos = this.GetPos(select_tags[s_i]);
		var x1,x2,y1,y2,w1,w2,h1,h2;
		if(BoxObjPos['left']>EleObjPos['left']){
			x1 = EleObjPos['left'];  x2 = BoxObjPos['left'];
			w1 = EleObjPos['width']; w2 = BoxObjPos['width'];
		} else {
			x1 = BoxObjPos['left'];  x2 = EleObjPos['left'];
			w1 = BoxObjPos['width']; w2 = EleObjPos['width'];
		}
		if(BoxObjPos['top']>EleObjPos['top']) {
			y1 = EleObjPos['top'];    y2 = BoxObjPos['top'];
			h1 = EleObjPos['height']; h2 = BoxObjPos['height'];
		} else {
			y1 = BoxObjPos['top'];    y2 = EleObjPos['top'];
			h1 = BoxObjPos['height']; h2 = EleObjPos['height'];
		}
		if(select_tags[s_i].style.visibility != 'hidden'){
			if(x1 <= x2 + w2 &&
				y1 <= y2 + h2 &&
				x1 + w1 >= x2 &&
				y1 + h1 >= y2
			) {
				this.SelectedObjs[this.SelectedObjs.length] = select_tags[s_i];
				select_tags[s_i].style.visibility = 'hidden';
			}
		}
	}
}
LayerToggleClass.prototype.RestoreSelect=function(){
	var bakLen = 0;
	try{ bakLen = this.SelectedObjs.length; } catch(e){ }
	for(var i=0; i<bakLen; i++){
		this.SelectedObjs[i].style.visibility = 'visible';
	}
	this.SelectedObjs = null
}
LayerToggleClass.prototype.GetPos=function(obj){
	var tmp_obj;
	var curLeft = 0;
	var curTop = 0;
	tmp_obj = obj;
	if(tmp_obj.offsetParent){
		while(tmp_obj.offsetParent){
			curLeft += tmp_obj.offsetLeft;
			curTop += tmp_obj.offsetTop;
			tmp_obj = tmp_obj.offsetParent;
		}
	}else{
		curLeft = tmp_obj.offsetLeft;
		curTop = tmp_obj.offsetTop;
	}
	var ret = {'left':curLeft, 'top':curTop, 'width':obj.offsetWidth, 'height':obj.offsetHeight};
	return ret;
}

