/*******************************************************************
 *
 * Layer 처리 함수
 * 작성자 : 코딩팀 류중원, kx@xenocube.com
 * 최초작성일 : 2008-06-28
 *
 */ 

// 화면상에 있는 레이어들의 컨트롤러

function Layers(){};

	
// 레이어생성
//  1. 컨텐츠의 내용대로 높이  자동조정
//  2. 위치 자동 조절
//  ex) <a href="javascript:" onclick="top.layers.create({id:'layer1', src:'layer1.html', width:300});">[열기]</a>

Layers.prototype={

	createBackground:function()
	{		
		//반투명레이어생성.		
		objBack = document.createElement("div");				
		objBack.style.top = "0";
		objBack.style.left = "0";
		objBack.style.position = "absolute";				
		objBack.style.filter = "alpha(opacity=5)";		
		objBack.style.backgroundColor = "black";		
		objBack.style.zIndex = 9000;
		objBack.style.display = "none";		
			
		objBack.style.width = document.body.offsetWidth;			 
		objBack.style.height = document.body.scrollHeight;

		document.body.appendChild(objBack);
			
		addOnresizeListener(resizeLayerBackground);
					
		onDocumentResize = function(){
			
		}						
				
		this['background'] = objBack;		
	},

	create:function(param)
	{	
		//레이어가 뜰때 스크롤이 아래에 내려가 있다면 위로 올림		
		if(param.initPos == "false"){
		
		}else{		
			top.window.scroll(0,0);
		}
		
			
		//iframe레이어가 이미 존재하는지 체크
		var ifm = this[param.id];
		var first = false;
		
	
		//iframe레이어가 존재하지 않으면 새롭게 객체 생성	
		if(ifm == null)
		{
			first = true;			
			ifm = top.document.createElement("iframe");
			ifm.name = param.id;
			ifm.id = param.id;
		} 
		param.width = (param.width == null) ? 750 : param.width;				
		ifm.paramWidth = param.width;
		ifm.paramHeight = param.height;
		ifm.autoWidth = param.autoWidth;
		if(ifm.autoWidth == null)
			ifm.autoWidth = "true";
				
		ifm.frameBorder = 0;		
		ifm.scrolling = "no";		
		ifm.style.width = param.width;					
		ifm.style.position = "absolute";		
		ifm.style.display = (param.display == null) ? "block" : "none";
		ifm.style.zIndex = 9000;
		
						
		ifm.onreadystatechange = function() {
			if (ifm.readyState=="complete") {															
				ifm.contentWindow.layerId = param.id;				
				ifm.contentWindow.pFrm = param.pFrm;
							
				if(ifm.paramHeight)
					ifm.style.height = ifm.paramHeight;
				else {
					ifm.style.height = ifm.contentWindow.document.body.offsetHeight;
				}
						
				if(ifm.autoWidth == "true")
					ifm.style.width = ifm.contentWindow.document.body.offsetWidth;
				else
				{
					ifm.style.width = ifm.paramWidth;														
				}
								
				if(param.x == null && param.y == null) 
					top.layers.moveTopMiddle(param.id); //기본은 TopMiddle
				
				//반투명배경 크기조절				
				top.layers['background'].style.width = top.document.body.offsetWidth;
				top.layers['background'].style.height = top.document.body.scrollHeight;
				
				relocateFooter();
			}						
		}
							
		//body에 append
		if(first){					
			top.document.body.appendChild(ifm);		
			this[param.id] = ifm;			
		}
		
					
		
		//객체에 변수할당
		if(param.isBackground == "false")
			this[param.id].isBackground = param.isBackground;
		else
			this[param.id].isBackground = "true";
		
		//iframe에 파일내용할당	
		ifm.src = param.src;
		ifm.x = param.x; ifm.y = param.y; ifm.objId = param.objId;
		ifm.objH = param.objH; ifm.objV = param.objV;								
		window.frames[param.id].name = param.id;	
		
		//위치조정		
		if(param.x && param.y){				
			if(param.objId)
				this.move({id:param.id, objId:param.objId, objH:param.objH, objV:param.objV, x:param.x, y:param.y});
			else
				this.move({id:param.id, x:param.x, y:param.y});		
		}else
			this.moveTopMiddle(param.id); //기본은 TopMiddle
		
		//반투명 배경처리
		this.handleBackground();
		//화면우선순위조정
		this.changeFocus(param.id);
	},
	
	createWithElement:function(param){
		objLayer = document.getElementById(param.id);
		if (objLayer==null) return ;
				
		this[param.id] = objLayer;
		this[param.id].isBackground = param.isBackground; 	
		if (param.x==null) {
			param.x = -(objLayer.offsetWidth /2);
		}
		if (param.y==null) {
			param.y = -(objLayer.offsetHeight /2);
		}
		objLayer.style.display = "none";
		this.move({id:param.id, objId:param.objId, objH:param.objH, objV:param.objV, x:param.x, y:param.y});		
	},
	
	createWithSimpleElement:function(id){		
		objLayer = document.getElementById(id);
				
		this[id] = objLayer;
		this[id].isBackground = "false";
		
		objLayer.style.visibility = "visible";		
	},
	
	// 레이어감추기
	hideSimple:function(id){	
		this[id].style.visibility = "hidden";
		this[id].style.zIndex = 0;		
	},
	
	/*
		윈도우의 크기가 변할 때, 레이어 컨트롤러에 속해있는 모든 레이어들의 위치를 변경된 윈도우 크기에 맞도록 이동시킨다.
	*/
	handleResize:function() {
		for (var i in this) {
			if ( this[i].nodeName == "IFRAME" ) {
				var param = this[i];
				
				if(param.x && param.y){				
					if(param.objId)
						this.move({id:param.id, objId:param.objId, objH:param.objH, objV:param.objV, x:param.x, y:param.y});
					else
						this.move({id:param.id, x:param.x, y:param.y});		
				}else
					this.moveTopMiddle(param.id); //기본은 TopMiddle
			}
		}
	},
	
	/** 전달인자로 넘겨받은 src URL을 참고하여 img 엘리먼트를 생성하고, 생성된 img를 absolute position으로
	   targetID를 id로 가진 엘리먼트의 중앙부분에 띄운다.
	   
	   @param src img의 src 속성에 들어갈 실제 이미지 화일의 경로.(url 표현)
	   @param id  생성된 img에 부여할 고유 id 값. layer controller에서 이 엘리먼트를 관리하므로 id값이 요구됨.
	   @param targetID 생성된 img가 위치할 대상 엘리먼트. 
	**/
	showNotice:function(src, id, targetID, x, y) {
		var img = document.createElement("img");
		if (this[id] != null) {
			this[id].src = src;
			this.show(id);
			return ;
		}
		img.src = src;
		img.id = id;
		img.style.position = "absolute";
		document.body.appendChild(img);
		top.layers.createWithElement({id:id, objId:targetID, objH:'middle', objV:'middle', x:x, y:y, isBackground:'true'});
		top.layers.show(id);
	},
	
	
	// 레이어보이기
	show:function(id){		
		this[id].style.display = "block";
		this.changeFocus(id);
		
		//반투명 배경처리
		this.handleBackground();	
	},
	
	// 레이어감추기
	hide:function(id){	
		this[id].style.display = "none";
		this[id].style.zIndex = 0;
		
		//반투명 배경처리
		this.handleBackground();
	},
	
	// 레이어 움직이기
	//  case 1. 절대적인 x, y 좌표로 이동
	//  case 2. obj의 좌표를 기준으로 상대적인 x, y 좌표로 이동 (obj의 좌표기준필요)   
	move:function(param){
		param.id; // target obj id
		param.objId; // id of source obj
		param.objH; // left middle right
		param.objV; // top middle bottom
		param.x; // relative x with objX or absolute x
		param.y; // relative y with objY or absolute y
		
		if(param.objId){
			obj = document.getElementById(param.objId);									
			objX = getOffsetLeft(obj);
			objY = getOffsetTop(obj);
			objWidth = obj.offsetWidth;
			objHeight = obj.offsetHeight;
			switch(param.objH){
				case "left":				
					targetX = objX;	
					break;
				case "middle":
					targetX = objX + (objWidth/2);
					break;
				case "right":
					targetX = objX + objWidth;
					break;
				default:
					alert("objH가 정의되지 않았습니다.");
			}
			switch(param.objV){
				case "top":				
					targetY = objY;	
					break;
				case "middle":
					targetY = objY + (objHeight/2);
					break;
				case "bottom":
					targetY = objY + objHeight;
					break;
				default:
					alert("objV가 정의되지 않았습니다.");
			}
			
			switch(param.objId){
				case "btnMypage":
				case "loginButton":
					break;
				default:
					if((targetX+param.x) < objX){
						targetX = objX;
						param.x = 0;
					}
					break;
			}
												
							
			this[param.id].style.left = targetX + param.x;
			this[param.id].style.top = targetY + param.y;
				 			
		}else{			
			this[param.id].style.left = param.x;
			this[param.id].style.top = param.y;
		}	
		
		
	},
	// 레이어 움직이기 - 컨텐츠영역의  정가운데
	moveCenter:function(id){	
	alert(top.document.getElementById('content'));				
		if(top.document.getElementById('content')){						
			x = (this[id].offsetWidth)/2;
			y = (this[id].offsetHeight)/2;
			this.move({id:id, objId:'content', objH:'middle', objV:'middle', x:-x, y:-y});
		}
		else{
			//alert("id가 content인 element가 없습니다. move함수를 이용하여 주십시오");
		}
	},	
	
	// 레이어 움직이기 - 컨텐츠영역의 TopMiddle
	moveTopMiddle:function(id){		
		var targetObj = null;
		targetObjId = "content";
		try{		
			var targetObj = top.document.getElementById('content');
			if(targetObj == null){
				targetObj = top.document.getElementById('gnb');
				targetObjId = "gnb";
			}
		}catch(e){}
	
		if(targetObj){						
			x = (this[id].offsetWidth)/2;			
			this.move({id:id, objId:targetObjId, objH:'middle', objV:'top', x:-x, y:0});
		}
		else{
			//alert("id가 content인 element가 없습니다. x:0,y:0로 이동합니다");
			this.move({id:id, x:0, y:0});
		}
	},
	
	// 레이어 움직이기 - 컨텐츠영역의 TopLeft
	moveTopLeft:function(id){
		if(top.document.getElementById('content')){					
			this.move({id:id, objId:'content', objH:'left', objV:'top', x:0, y:0});
		}
		else{			
			//alert("id가 content인 element가 없습니다. x:0,y:0로 이동합니다");
			this.move({id:id, x:0, y:0});			
		}
	},
	
	//레이어의 높이변경 - 기본값은 자동조절
	changeHeight:function(id, height){		
		if(height == null)
			this[id].style.height = this[id].contentWindow.document.body.offsetHeight;
		else		
			this[id].style.height = height;	
	},
	
	//레이어의 넓이변경
	changeWidth:function(id, width){
		this[id].style.width = width;
	},
	
	// 레이어의 화면 우선순위 바꾸기
	changeFocus:function(id){
		var maxIndex = 9000;
		
		for(var i in this){
			if((typeof this[i]) == "object"){					
				if(this[i].style.zIndex > maxIndex){					
					maxIndex = this[i].style.zIndex;
				}				
			}
		}
			
		this[id].style.zIndex = maxIndex + 1;		
			
	},
	
	// 레이어 화면의 src를 바꾸기
	changeSrc:function(id, src){
		this[id].src = src;			
	},
	
	// 해당 레이어객체에 기타 다른 명령어 실행
	execute:function(id, command){
		alert('under construction.');	
	},
	
	// 반투명배경레이어 처리
	handleBackground:function(){		
		isVisibleLayer = false;
	
		for(var i in this){
			if((typeof this[i]) == "object"){
				//background이외에 활성화된 레이어가 없다면 background도 안보여준다.
				if((this[i].style.display) == "block" && (i != "background") && (this[i].isBackground == "true"))
					isVisibleLayer = true;
			}
		}
						
		if(isVisibleLayer)		
			this['background'].style.display = "block";
		else
			this['background'].style.display = "none";						
	},
	
	// 외부에서 만든 레이어를 등록시킨다.
	registLayer:function(id, obj) {
		this[id] = obj; 
	}
}


/*
 *******************************************************************/
function resizeLayerBackground(){
	try{
		if(top.layers['background'] != null){
			top.layers['background'].style.width = document.body.offsetWidth;
			top.layers['background'].style.height = document.body.scrollHeight;
		}
	}catch(e){}
}



function submitToLayer(param){
	objForm = document.getElementById(param.formId);
	objForm.target = param.layerId;
	if(param.strParam)
		objForm.action = objForm.action + param.strParam; 
	if (param.pFrm == null)
		top.layers.create({id:param.layerId, src:'', width:param.width});
	else 
		top.layers.create({id:param.layerId, src:'', width:param.width, pFrm:param.pFrm});
	if (param.Xecure == "true") {
		XecureSubmit(objForm);
	} else {
		objForm.submit();
	}
}

function submitToTab(param){
	objForm = document.getElementById(param.formId);
	var tabs;
	if (param.isSelf == true) {
		tabs = getTabs();
	} else {
		tabs = getTabs(parent);
	}

	var len;
	var objTab;
	var objTarget;
	for(var i in tabs){						
		len = tabs[i].length;					
		for(j=0; j<len; j++){										
			if( (tabs[i][j].tabGroup == param.tabGroup) && (tabs[i][j].tabSeq == param.tabSeq) ){							
				if(tabs[i][j].activeTab == "true"){
					//tabGroup과 tabSeq를 통해 해당 탭을 가져옴
					objTab = tabs[i][j]; 
				}												
			}				
		}								
	}
	
	//openTab 되지 않았다면 iframe이 생성되어있지 않았으므로, 생성.
	
	if (param.isSelf == true)
		openTab(param.tabGroup, param.tabSeq);
	else
		parent.openTab(param.tabGroup, param.tabSeq);
	
		
	//해당 탭의 컨텐츠가 iframe으로 이루어져있다면 해당 iframe으로 submit함
	iframeId = "iframe_" + objTab.contentId;		
	
	if (param.isSelf == true) {
		document.frames[iframeId].name = iframeId;
		objTarget = document.getElementById(iframeId);
	}
	else {
		parent.document.frames[iframeId].name = iframeId;
		objTarget = parent.document.getElementById(iframeId);
	}
	
		 
	if(objTarget != null){
		objForm.target = iframeId;
		if (param.Xecure == "true") {
			XecureSubmit(objForm);
		} else {
			objForm.submit();
		}			
	}		
}

/*******************************************************************
 *
 * 탭 처리 함수
 * 작성자 : 코딩팀 류중원, kx@xenocube.com
 * 최초작성일 : 2008-06-28
 *
 */


function ActivateTab(){	
	var tabs = getTabs();					
	var len;
			
	for(var i in tabs){		
		len = tabs[i].length;			
		if(tabs[i][0] == null)
			return; 	
		for(j=0; j<len; j++){				
			if(tabs[i][j].autoLink != "false"){						
				tabs[i][j].style.cursor = "hand";
				tabs[i][j].onclick = function(){changeTab();}				
			}
		}
		
		if (tabs[i][0].isFirst == null) {
			if(tabs[i][0].parentNode.initOpen == null || tabs[i][0].parentNode.initOpen == "" ) {
				changeTab(tabs[i][0].tabGroup, tabs[i][0].tabSeq);	
			} else {
				changeTab(tabs[i][0].tabGroup, tabs[i][0].parentNode.initOpen);	
				tabs[i][0].isFirst = true;		
			}
			tabs[i][0].isFirst = true;
		}
	}
		
	if(window.layerId){
		top.layers.changeHeight(window.layerId);
	}
		
	relocateFooter();
										
}

function getTabs(target){	

	//어떤 document에서 가져올지를 정해주었다면 해당 document에서 element를 가져옴
	if(target)		
		elements = target.document.all;
	else
		elements = document.all;	
		
	var tabs = new Array();
	tabs.temp = new Object();
	var len = elements.length;
	var tabGroup;
	
	for(var i=0; i<len; i++){
		if(elements[i].tabGroup != null && elements[i].tabGroup != ""){
			tabGroup = elements[i].tabGroup;			
			if(tabs.temp[tabGroup] == null)
				tabs.temp[tabGroup] = new Array();
				
			tabs.temp[tabGroup].push(elements[i]);				
		}				 
	}														
	return tabs.temp;  
}

function changeTab(tabGroup, tabSeq){
	var activeTabSeq = tabSeq;
	// 어떤 탭인지 파리미터가 넘어오지 않앗다면, 이벤트를 분석하여 자동 계산
	if((tabGroup == null) || (tabSeq == null)){
		eventTab = event.srcElement;
		while(eventTab.tabGroup == null){
			eventTab = eventTab.parentNode;		
		}		
		tabGroup = eventTab.tabGroup;
		activeTabSeq = eventTab.tabSeq;
	}	
				
	var tabs = getTabs();
	tabs = tabs[tabGroup];		
	var len = tabs.length;
		
		
	for(var j=0; j<len; j++){				
		//탭처리 - 보이기/감추기					
		if(tabs[j].activeTab != null){ // activeTab이 설정되지 않았다면 항상보여준다.
			if((tabs[j].tabSeq == activeTabSeq) && (tabs[j].activeTab == "true")){ //이벤트발생탭의 활성화탭
				if(tabs[j].isInline == "true")
					tabs[j].style.display = "inline";
				else
					tabs[j].style.display = "block";							
			}
			else if((tabs[j].tabSeq != activeTabSeq) && (tabs[j].activeTab == "false")) //이벤트비발생탭의  비활성화탭
			{
				if(tabs[j].isInline == "true")
					tabs[j].style.display = "inline";
				else
					tabs[j].style.display = "block";			
			}
			else // 이벤트발생탭의 비활성화탭 and 이벤트비발생탭의 활성화탭
			{					
				tabs[j].style.display = "none";					
			}
		}
		
				
		//컨텐츠처리 - 보이기/감추기
		if((tabs[j].tabSeq == activeTabSeq) && ((tabs[j].activeTab == "true") || (tabs[j].activeTab == null)) ){
					
			switch(tabs[j].contentType){
				case "multiIframe":										
				case "singleIframe":					
					objContent = document.getElementById(tabs[j].contentId); 
					objContent.style.display = "block";
					objIframe = objContent.firstChild;
					if(objIframe == null){
						objIframe = document.createElement("iframe");
						objIframe.isTab = "true";
						objIframe.scrolling = "no";
						objIframe.frameBorder = 0;
						
						//form submit을 위해 window의 frames에 name등록						
						iframeId = "iframe_" + tabs[j].contentId;																	
						objIframe.id = iframeId;  
						objIframe.name = iframeId;												
						 
						if(objContent.style.width)
							objIframe.style.width = objContent.style.width;
						else
							objIframe.style.width = "100%";
											
						objIframe.onreadystatechange = function() {			
							if (objIframe.readyState=="complete") {
							try {
								objContent.style.height = objIframe.contentWindow.document.body.offsetHeight;
								objIframe.height = objIframe.contentWindow.document.body.offsetHeight;
							} catch (e) {}
								//iframe이 layer위에 있다면 layer의 높이도 자동조절
								if(window.layerId){
									top.layers.changeHeight(window.layerId);
								}
								resizeParentIframe();		
								relocateFooter();						 								
							}						
						}
																				
						objContent.appendChild(objIframe);
						document.frames[iframeId].name = iframeId;									
					}			
					/************************/
					/* Xecure와 관련된 처리        */
					/************************/
					if(tabs[j].contentSrc != null){
						if (tabs[j].Xecure == "true") 
							XecureNavigate(tabs[j].contentSrc, iframeId);
						else 
							objIframe.src = tabs[j].contentSrc;
					}	
					break;
				case "div":						
					document.getElementById(tabs[j].contentId).style.display = "block";
					if (tabs[j].onActive) eval(tabs[j].onActive);										
					break;
				case "request":
					document.getElementById(tabs[j].contentId).style.display = "block";					
					// 이것은 콜백 함수입니다.		
					tabs[j].changeContent = function(contentId, content){ 
						document.getElementById(contentId).innerHTML = content;
						ActivateTab();
					 };
					HTTP.getText(tabs[j].contentSrc, tabs[j].contentId, tabs[j].changeContent);	
					break;				 						
				default:
					break;											
			}
		}else if((tabs[j].tabSeq != activeTabSeq) && ((tabs[j].activeTab == "true") || (tabs[j].activeTab == null)) ){		
			switch(tabs[j].contentType){
				case "singleIframe":					
					break;
				case "multiIframe":
					document.getElementById(tabs[j].contentId).style.display = "none";					
					break;
				case "div":
					document.getElementById(tabs[j].contentId).style.display = "none";										
					break;
				case "request":
					document.getElementById(tabs[j].contentId).style.display = "none";
					break;		 
				default:
					break;											
			}			
		}							
		//
	}
	
	resizeFont();
	resizeParentIframe();	
		
}

function closeTab(tabGroup, tabSeq){
	var tabs = getTabs();			
	var len;
	
	for(var i in tabs){						
		len = tabs[i].length;			
		for(j=0; j<len; j++){										
			if( (tabs[i][j].tabGroup == tabGroup) && (tabs[i][j].tabSeq == tabSeq) ){							
				if(tabs[i][j].activeTab == "true"){
					tabs[i][j].style.display = "none";						
				}else{					
					if(tabs[i][j].isInline == "true")
						tabs[i][j].style.display = "inline";
					else
						tabs[i][j].style.display = "block";
					
					document.getElementById(tabs[i][j].contentId).style.display = "none";
				}												
			}				
		}								
	}	
	
	resizeParentIframe();
}

function openTab(tabGroup, tabSeq){
	var tabs = getTabs();			
	var len;
	
	for(var i in tabs){						
		len = tabs[i].length;					
		for(j=0; j<len; j++){										
			if( (tabs[i][j].tabGroup == tabGroup) && (tabs[i][j].tabSeq == tabSeq) ){							
				if(tabs[i][j].activeTab == "true"){
					//탭 보이기/감추기
					if(tabs[i][j].isInline == "true")
						tabs[i][j].style.display = "inline";
					else
						tabs[i][j].style.display = "block";
					
					//컨텐츠 보이기/감추기
					switch(tabs[i][j].contentType){
						case "multiIframe":										
						case "singleIframe":					
							objContent = document.getElementById(tabs[i][j].contentId); 
							objContent.style.display = "block";
							objIframe = objContent.firstChild;
							if(objIframe == null){
								objIframe = document.createElement("iframe");
								objIframe.isTab = "true";
								objIframe.scrolling = "no";
								objIframe.frameBorder = 0;
								
								//form submit을 위해 window의 frames에 name등록						
								iframeId = "iframe_" + tabs[i][j].contentId;																	
								objIframe.id = iframeId;  
								objIframe.name = iframeId;												
								 
								if(objContent.style.width)
									objIframe.style.width = objContent.style.width;
								else
									objIframe.style.width = "100%";
													
								objIframe.onreadystatechange = function() {			
									if (objIframe.readyState=="complete") {
										objContent.style.height = objIframe.contentWindow.document.body.offsetHeight;
										objIframe.height = objIframe.contentWindow.document.body.offsetHeight;
										//iframe이 layer위에 있다면 layer의 높이도 자동조절
										if(window.layerId){
											top.layers.changeHeight(window.layerId);
										}			
										resizeParentIframe();
										relocateFooter();				 								
									}						
								}
																						
								objContent.appendChild(objIframe);
								document.frames[iframeId].name = iframeId;									
							}					
							/************************/
							/* Xecure와 관련된 처리        */
							/************************/
							if (tabs[i][j].Xecure == "true") 
								XecureNavigate(tabs[i][j].contentSrc, iframeId);
							else 
								objIframe.src = tabs[i][j].contentSrc;
							break;
						case "div":
							objContent = document.getElementById(tabs[i][j].contentId); 
							objContent.style.display = "block";
							break;																
					}					
					//											
				}else{					
					tabs[i][j].style.display = "none";
				}												
			}				
		}								
	}	
	
	resizeFont();
	resizeParentIframe();	
}

function closeAllTabs(tabGroup){
	var tabs = getTabs();			
	var len;
	
	for(var i in tabs){						
		len = tabs[i].length;			
		for(j=0; j<len; j++){										
			if(tabs[i][j].tabGroup == tabGroup){							
				if(tabs[i][j].activeTab == "true"){
					tabs[i][j].style.display = "none";						
				}else{					
					if(tabs[i][j].isInline == "true")
						tabs[i][j].style.display = "inline";
					else
						tabs[i][j].style.display = "block";
					
					document.getElementById(tabs[i][j].contentId).style.display = "none";
				}												
			}				
		}								
	}
	
	resizeParentIframe();	
}


function openAllTabs(tabGroup){
	var tabs = getTabs();			
	var len;
	
	for(var i in tabs){						
		len = tabs[i].length;			
		
		for(j=0; j<len; j++){												
			if(tabs[i][j].tabGroup == tabGroup){							
				if(tabs[i][j].activeTab == "true"){
					if(tabs[i][j].isInline == "true")
						tabs[i][j].style.display = "inline";
					else
						tabs[i][j].style.display = "block";
					
					//컨텐츠 보이기/감추기
					switch(tabs[i][j].contentType){
						case "multiIframe":										
						case "singleIframe":					
							objContent = document.getElementById(tabs[i][j].contentId); 
							objContent.style.display = "block";
							objIframe = objContent.firstChild;
							if(objIframe == null){
								objIframe = document.createElement("iframe");
								objIframe.isTab = "true";
								objIframe.scrolling = "no";
								objIframe.frameBorder = 0;
								
								//form submit을 위해 window의 frames에 name등록						
								iframeId = "iframe_" + tabs[i][j].contentId;																	
								objIframe.id = iframeId;  
								objIframe.name = iframeId;												
								 
								if(objContent.style.width)
									objIframe.style.width = objContent.style.width;
								else
									objIframe.style.width = "100%";
													
								objIframe.onreadystatechange = function() {			
									if (objIframe.readyState=="complete") {
										objContent.style.height = objIframe.contentWindow.document.body.offsetHeight;
										objIframe.height = objIframe.contentWindow.document.body.offsetHeight;
										//iframe이 layer위에 있다면 layer의 높이도 자동조절
										if(window.layerId){
											top.layers.changeHeight(window.layerId);
										}
										resizeParentIframe();
										relocateFooter();								 								
									}						
								}
																						
								objContent.appendChild(objIframe);
								document.frames[iframeId].name = iframeId;									
							}					
							/************************/
							/* Xecure와 관련된 처리        */
							/************************/
							if (tabs[i][j].Xecure == "true") 
								XecureNavigate(tabs[i][j].contentSrc, iframeId);
							else 
								objIframe.src = tabs[i][j].contentSrc;
			
							break;
						case "div":
							objContent = document.getElementById(tabs[i][j].contentId); 
							objContent.style.display = "block";
							break;																
					}				
					//											
				}else{						
					tabs[i][j].style.display = "none";
				}												
			}				
		}								
	}
	
	resizeFont();
	resizeParentIframe();	
}

function swapElement(activeId, deactiveId){
	activeObj = document.getElementById(activeId);
	deactiveObj = document.getElementById(deactiveId);
	
	if(activeObj.style.display == "inline" || activeObj.style.display == "block"){
		activeObj.style.display = "none";
		deactiveObj.style.display = "block"; 
	}else{
		activeObj.style.display = "block";
		deactiveObj.style.display = "none";
	}		  
}


//iframe안의 div등이 바뀌었을때 높이를 재조절하는 함수
function resizeParentIframe(){	
	ifms = parent.document.getElementsByTagName("iframe");
				
	for(var i=0; i<ifms.length; i++){		
		if(ifms[i].isTab == "true"){							
			try{
				ifms[i].parentNode.style.height = ifms[i].contentWindow.document.body.offsetHeight;
				ifms[i].height = ifms[i].contentWindow.document.body.offsetHeight;
			}catch(e){
			
			}			
		}
	}
	
	ifms = top.document.getElementsByTagName("iframe");
				
	for(var i=0; i<ifms.length; i++){				
		if(ifms[i].isTab == "true"){							
			try{
				ifms[i].parentNode.style.height = ifms[i].contentWindow.document.body.offsetHeight;
				ifms[i].height = ifms[i].contentWindow.document.body.offsetHeight;
			}catch(e){
			
			}			
		}
	}
	
	relocateFooter();
}
/*
 *******************************************************************/