/* jQuery CooQuery Plugin v2 (minified) - http://cooquery.lenonmarcel.com.br/
Copyright 2009, 2010 Lenon Marcel
Dual licensed under the MIT and GPL licenses.
http://www.opensource.org/licenses/mit-license.php
http://www.gnu.org/licenses/gpl.html */
(function($){$.setCookie=function(name,value,options){if(typeof name==='undefined'||typeof value==='undefined')
return false;var str=name+'='+encodeURIComponent(value);if(options.domain)str+='; domain='+options.domain;if(options.path)str+='; path='+options.path;if(options.duration){var date=new Date();date.setTime(date.getTime()+options.duration*24*60*60*1000);str+='; expires='+date.toGMTString();}
if(options.secure)str+='; secure';return document.cookie=str;};$.delCookie=function(name){return $.setCookie(name,'',{duration:-1});};$.readCookie=function(name){var value=document.cookie.match('(?:^|;)\\s*'+name.replace(/([-.*+?^${}()|[\]\/\\])/g,'\\$1')+'=([^;]*)');return(value)?decodeURIComponent(value[1]):null;};$.CooQueryVersion='v 2.0';})(jQuery);
/* 
jquery.event.drag.js ~ v1.5 ~ Copyright (c) 2008, Three Dub Media (http://threedubmedia.com)  
Liscensed under the MIT License ~ http://threedubmedia.googlecode.com/files/MIT-LICENSE.txt
*/
(function(E){E.fn.drag=function(L,K,J){if(K){this.bind("dragstart",L)}if(J){this.bind("dragend",J)}return !L?this.trigger("drag"):this.bind("drag",K?K:L)};var A=E.event,B=A.special,F=B.drag={not:":input",distance:0,which:1,dragging:false,setup:function(J){J=E.extend({distance:F.distance,which:F.which,not:F.not},J||{});J.distance=I(J.distance);A.add(this,"mousedown",H,J);if(this.attachEvent){this.attachEvent("ondragstart",D)}},teardown:function(){A.remove(this,"mousedown",H);if(this===F.dragging){F.dragging=F.proxy=false}G(this,true);if(this.detachEvent){this.detachEvent("ondragstart",D)}}};B.dragstart=B.dragend={setup:function(){},teardown:function(){}};function H(L){var K=this,J,M=L.data||{};if(M.elem){K=L.dragTarget=M.elem;L.dragProxy=F.proxy||K;L.cursorOffsetX=M.pageX-M.left;L.cursorOffsetY=M.pageY-M.top;L.offsetX=L.pageX-L.cursorOffsetX;L.offsetY=L.pageY-L.cursorOffsetY}else{if(F.dragging||(M.which>0&&L.which!=M.which)||E(L.target).is(M.not)){return }}switch(L.type){case"mousedown":E.extend(M,E(K).offset(),{elem:K,target:L.target,pageX:L.pageX,pageY:L.pageY});A.add(document,"mousemove mouseup",H,M);G(K,false);F.dragging=null;return false;case !F.dragging&&"mousemove":if(I(L.pageX-M.pageX)+I(L.pageY-M.pageY)<M.distance){break}L.target=M.target;J=C(L,"dragstart",K);if(J!==false){F.dragging=K;F.proxy=L.dragProxy=E(J||K)[0]}case"mousemove":if(F.dragging){J=C(L,"drag",K);if(B.drop){B.drop.allowed=(J!==false);B.drop.handler(L)}if(J!==false){break}L.type="mouseup"}case"mouseup":A.remove(document,"mousemove mouseup",H);if(F.dragging){if(B.drop){B.drop.handler(L)}C(L,"dragend",K)}G(K,true);F.dragging=F.proxy=M.elem=false;break}return true}function C(M,K,L){M.type=K;var J=E.event.handle.call(L,M);return J===false?false:J||M.result}function I(J){return Math.pow(J,2)}function D(){return(F.dragging===false)}function G(K,J){if(!K){return }K.unselectable=J?"off":"on";K.onselectstart=function(){return J};if(K.style){K.style.MozUserSelect=J?"":"none"}}})(jQuery);
// drop shadow
(function($){var dropShadowZindex=1;$.fn.dropShadow=function(options){var opt=$.extend({left:4,top:4,blur:2,opacity:.5,color:"black",swap:false},options);var jShadows=$([]);this.not(".dropShadow").each(function(){var jthis=$(this);var shadows=[];var blur=(opt.blur<=0)?0:opt.blur;var opacity=(blur==0)?opt.opacity:opt.opacity/(blur*8);var zOriginal=(opt.swap)?dropShadowZindex:dropShadowZindex+1;var zShadow=(opt.swap)?dropShadowZindex+1:dropShadowZindex;var shadowId;if(this.id){shadowId=this.id+"_dropShadow"}else{shadowId="ds"+(1+Math.floor(9999*Math.random()))}$.data(this,"shadowId",shadowId);$.data(this,"shadowOptions",options);jthis.attr("shadowId",shadowId).css("zIndex",zOriginal);if(jthis.css("position")!="absolute"){jthis.css({position:"relative",zoom:1})}bgColor=jthis.css("backgroundColor");if(bgColor=="rgba(0, 0, 0, 0)")bgColor="transparent";shadows[0]=$("<div></div>").css("background",opt.color);shadows[0].addClass("dropShadow").css({height:jthis.outerHeight(),left:blur,opacity:opacity,position:"absolute",top:blur,width:jthis.outerWidth(),zIndex:zShadow});var layers=(8*blur)+1;for(i=1;i<layers;i++){shadows[i]=shadows[0].clone()}var i=1;var j=blur;while(j>0){shadows[i].css({left:j*2,top:0});shadows[i+1].css({left:j*4,top:j*2});shadows[i+2].css({left:j*2,top:j*4});shadows[i+3].css({left:0,top:j*2});shadows[i+4].css({left:j*3,top:j});shadows[i+5].css({left:j*3,top:j*3});shadows[i+6].css({left:j,top:j*3});shadows[i+7].css({left:j,top:j});i+=8;j--}var divShadow=$("<div></div>").attr("id",shadowId).addClass("dropShadow").css({left:jthis.position().left+opt.left-blur,marginTop:jthis.css("marginTop"),marginRight:jthis.css("marginRight"),marginBottom:jthis.css("marginBottom"),marginLeft:jthis.css("marginLeft"),position:"absolute",top:jthis.position().top+opt.top-blur,zIndex:zShadow});for(i=0;i<layers;i++){divShadow.append(shadows[i])}jthis.after(divShadow);jShadows=jShadows.add(divShadow);$(window).resize(function(){try{divShadow.css({left:jthis.position().left+opt.left-blur,top:jthis.position().top+opt.top-blur})}catch(e){}});dropShadowZindex+=2});return this.pushStack(jShadows)};$.fn.redrawShadow=function(){this.removeShadow();return this.each(function(){var shadowOptions=$.data(this,"shadowOptions");$(this).dropShadow(shadowOptions)})};$.fn.removeShadow=function(){return this.each(function(){var shadowId=$(this).shadowId();$("div#"+shadowId).remove()})};$.fn.shadowId=function(){return $.data(this[0],"shadowId")};$(function(){var noPrint="<style type='text/css' media='print'>";noPrint+=".dropShadow{visibility:hidden;}</style>";$("head").append(noPrint)})})(jQuery);


//각종 상수값들
/*
left side quick menu가 윈도우가 작아지는 경우 본문을 가릴 수 있음. 그래서 최소값을 지정.
만약 이 값을 여기서 정의만 되며 변경이 필요하면 user.js에서 변경하여 사용할 것.
*/
var jwxe_left_quick_min_x = 0; // 초기에는 작 잡혀있음


var max_zIndex=100000;
var _anchors = [];
window.jwxe = {};
/*************************************************************
// ie6의 백그라운드 이미지 없어지는 문제 해결책
*************************************************************/
if($.browser.msie) {
   var head = document.getElementsByTagName("head")[0];
   var css = document.createElement("link");
   
   css.setAttribute("rel", "stylesheet");
   css.setAttribute("type", "text/css");
   css.setAttribute("href","/_common/ie6.css");
   head.appendChild(css); 
}

/*************************************************************
// 공통 함수
*************************************************************/
var getAllChildren = function(obj, arr) {
  var ccc = $(obj).children();
  for(var i=0;i<ccc.length;i++) {
    if(ccc.get(i).tagName != "!")
      arr.push(ccc.get(i));
    getAllChildren(ccc.get(i), arr);
  }
}



// String prototype -------------------------------------------
String.prototype.encodeURI = function( url ) {
	return encodeURIComponent(this);
}

String.prototype.test = function(regex, params){
	return ((typeof regex == 'string') ? new RegExp(regex, params) : regex).test(this);
}

String.prototype.contains= function(string, separator){
	return (separator) ? (separator + this + separator).indexOf(separator + string + separator) > -1 : this.indexOf(string) > -1;
}

String.prototype.trim= function(){
	return this.replace(/^\s+|\s+$/g, '');
}

String.prototype.clean= function(){
	return this.replace(/\s+/g, ' ').trim();
}

String.prototype.camelCase= function(){
	return this.replace(/-\D/g, function(match){
		return match.charAt(1).toUpperCase();
	});
}

String.prototype.hyphenate= function(){
	return this.replace(/[A-Z]/g, function(match){
		return ('-' + match.charAt(0).toLowerCase());
	});
}

String.prototype.capitalize= function(){
	return this.replace(/\b[a-z]/g, function(match){
		return match.toUpperCase();
	});
}

String.prototype.escapeRegExp= function(){
	return this.replace(/([-.*+?^${}()|[\]\/\\])/g, '\\$1');
}

String.prototype.toInt= function(base){
		return parseInt(this, base || 10);
	}

String.prototype.toFloat= function(){
	return parseFloat(this);
}

String.prototype.hexToRgb= function(array){
	var hex = this.match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);
	return (hex) ? hex.slice(1).hexToRgb(array) : null;
}

String.prototype.rgbToHex= function(array){
	var rgb = this.match(/\d{1,3}/g);
	return (rgb) ? rgb.rgbToHex(array) : null;
}

String.prototype.stripScripts= function(option){
	var scripts = '';
	var text = this.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi, function(){
		scripts += arguments[1] + '\n';
		return '';
	});
	if (option === true) $exec(scripts);
	else if ($type(option) == 'function') option(scripts, text);
	return text;
}

String.prototype.htmlEncode = function(){
	return this.replace(/&/g, "&amp;").replace(/>/g, "&gt;").replace(/</g, "&lt;").replace(/"/g, "&quot;");
}

String.prototype.htmlDecode = function(){
  return this.replace(/&gt;/g, ">").replace(/&lt;/g, "<").replace(/&quot;/g, '"').replace(/&amp;/g, "&");
}


String.prototype.substitute= function(object, regexp){
	return this.replace(regexp || (/\\?\{([^{}]+)\}/g), function(match, name){
		if (match.charAt(0) == '\\') return match.slice(1);
		return (object[name] != undefined) ? object[name] : '';
	});
}


String.prototype.replaceAll = function(FindString, ReplaceString) {
	var SearchIndex = 0;
	var NewString = ""; 
	while (this.indexOf(FindString,SearchIndex) != -1)    {
  	NewString += this.substring(SearchIndex,this.indexOf(FindString,SearchIndex));
  	NewString += ReplaceString;
  	SearchIndex = (this.indexOf(FindString,SearchIndex) + FindString.length);         
 	}
	NewString += this.substring(SearchIndex,this.length);
	return NewString;
}


//*************************************************************
// 배경이미지 오버/아웃
// id, sson_url, sson_over_bg, sson_out_bg, sson_sel_over_bg, sson_sel_out_bg,
// ssoff_url, ssoff_over_bg, ssoff_out_bg, ssoff_sel_over_bg, ssoff_sel_out_bg,
//*************************************************************
function jwxe_changeBgCss(obj,url) {
	
	// 이미지 타입
	//if(!url) return;
	if(obj.get(0).bgObj.imageTag) {	
		if(!url) return;
		obj.get(0).bgObj.imageTag.src = url;
	} else {
		//백그라운드 타입	
		obj.css('background-image','url('+url+')');
	}	
	//$(obj).fadeIn('fast');
}

function jwxe_setMouseOverOut(obj, over_bg, out_bg){
	
	$(
		function() {
			obj.hover(function(){
		  		jwxe_changeBgCss($(this),over_bg);
					
		  });
			obj.focus(function(){
		  		jwxe_changeBgCss($(this),over_bg);
					
		  });
		}
	)
	
	$(
		function() {
			obj.mouseout(function(){
				//if($(this).parents('.jwxe_menu_box2').length == 0)  // tab menu, main menu 는 마우스아웃을 금지
				if($(this).parent().parent().attr('class').test(/jwxe_menu_box0|jwxe_main_hidden_menu|jwxe_menu_box2/) == false ) // tab menu 는 마우스아웃을 금지
		  		jwxe_changeBgCss($(this),out_bg);
		  });
			obj.blur(function(){
				//if($(this).parents('.jwxe_menu_box2').length == 0)  // tab menu 는 마우스아웃을 금지
				if($(this).parent().parent().attr('class').test(/jwxe_menu_box0|jwxe_main_hidden_menu|jwxe_menu_box2/) == false)  // tab menu 는 마우스아웃을 금지
		  		jwxe_changeBgCss($(this),out_bg);
		  });
		}
	)
	
	
}

function jwxe_clearMouseOverOut(obj){
	
	obj.unbind();
	/*
	obj.unbind('focus');
	obj.unbind('blur');
	obj.unbind('mouseout');
	*/
	
}


function jwxe_changeBg(obj){
	_anchors.push(obj);
}

function jwxe_expand(a) {
	if(a.next().length > 0) {
		$(a.next().get(0)).css("display","block");
	}
}


function jwxe_bubble_select(el) {
	
	// 메인 메뉴 이면 셀렉트를 취소
	if(el.parents('.jwxe_menu_box0,.jwxe_main_hidden_menu').length > 0 ) return;
	
	var j, parent = el.parent().parent(), tagName = parent.attr('tagName'), a, className = parent.attr('class');

	// 부모를 펼친다.	
	//while (tagName && tagName.toLowerCase() == "ul" && parent.css("display") == "none" && className != 'jwxe_menu_box0') {
	while (tagName && tagName.toLowerCase() == "ul" && !className.test(/jwxe_menu_box0|jwxe_main_hidden_menu/)) {
	
		a = parent.prev();
		
		parent.css("display", "block");
		if(a && (tag = a.attr('tagName')) && tag.toLowerCase() == 'a') {
			
			j = a.get(0); 
			if(j && j.bgObj) {
				
				j.bgObj.select = true;
				jwxe_clearMouseOverOut(a);
				jwxe_changeBGProc(j.bgObj);
			}
		}
		
		parent = a.parent().parent();
		tagName = parent.attr('tagName');
		
	}
	
	// 자식을 펼친다.
	var nxt = el.next();
	
	if(nxt.length > 0 && nxt.attr('tagName').toLowerCase() == 'ul') {
		nxt.css('display','block');		
	}
		
}

function jwxe_set_select( obj ) {
	
	var a, j;
	
	if(typeof(obj) == 'string') {
		a = $('#'+obj);
		j = a.get(0);
	}	else {
		a = $(obj);
		j = obj;
	}
	j.bgObj.select = true;
	jwxe_clearMouseOverOut(a);
	jwxe_changeBGProc(j.bgObj);

}


function jwxe_changeBGProc(obj) {
	
	var sson_url = obj.sson_url?obj.sson_url:obj.ssoff_url;
	var ssoff_url = obj.ssoff_url;
	var el = $('#'+obj.id);
	
	if(!el.length) return;
	 
	el.get(0).bgObj = obj;
	obj.el = el;
	

	// background 인지 image tg 인지
	obj.imageTag = el.children('img').get(0);

	// 이미 jwxe_bubble_select 에 의하여 지정 되었으면
	if(obj.assinged) {
		jwxe_clearMouseOverOut(el);
	}
	
	// 메인메뉴에 있는 anchor 인지
	
	/*
	obj.mainMenu = (el.parents('.jwxe_menu_box0').length > 0);
	if(obj.mainMenu) {
		obj.masterAnchor = $(el.parent().parent().prev());
	}
	*/
	
	
	if(_so_) { 
	
		//if(_thisUrl.indexOf(sson_url) > -1 ) { // session on, selected
		//el.get(0).selectBg = obj.sson_sel_out_bg;
		if(obj.select == true) { // session on, selected
			//var sson_sel_over_bg = obj.sson_sel_over_bg ? obj.sson_sel_over_bg : (obj.ssoff_sel_over_bg?obj.ssoff_sel_over_bg:obj.ssoff_over_bg);
			$( function() { jwxe_bubble_select(el); } );
			if(obj.sson_sel_out_bg) {
				$( function(){
						obj.outBg = obj.sson_sel_out_bg;
						jwxe_changeBgCss(el, obj.sson_sel_out_bg);
					}
				);
				if(obj.sson_sel_over_bg ) {
					obj.outBg = obj.sson_sel_out_bg;
					obj.overBg = obj.sson_sel_over_bg;
					jwxe_setMouseOverOut(el,obj.sson_sel_over_bg,obj.sson_sel_out_bg);
				}	
			} else {
				if(obj.sson_out_bg) {
					$( function() {
							obj.outBg = obj.sson_out_bg;
							jwxe_changeBgCss(el,obj.sson_out_bg);
						}
					)		
					if(obj.sson_over_bg ) {
						obj.outBg = obj.sson_out_bg;
						obj.overBg = obj.sson_over_bg;
						jwxe_setMouseOverOut(el,obj.sson_over_bg,obj.sson_out_bg);
					}	
				} else {
					if(obj.ssoff_sel_out_bg) {
						
						$( function() {
								obj.outBg = obj.ssoff_sel_out_bg;
								jwxe_changeBgCss(el,obj.ssoff_sel_out_bg);
							}
						)		
						
						if(obj.ssoff_sel_over_bg) {
							obj.outBg = obj.ssoff_sel_out_bg;
							obj.overBg = obj.ssoff_sel_over_bg;
							jwxe_setMouseOverOut(el,obj.ssoff_sel_over_bg,obj.ssoff_sel_out_bg);
						}
					} else {
						
						if(obj.ssoff_over_bg && obj.ssoff_out_bg) {
							obj.outBg = obj.ssoff_out_bg;
							obj.overBg = obj.ssoff_out_bg;
							jwxe_setMouseOverOut(el,obj.ssoff_over_bg,obj.ssoff_out_bg);
						}
						
					}
					
				}
			}
			
		}	else {
			if(obj.sson_out_bg) {
				$( function() {
						obj.outBg = obj.sson_out_bg;
						jwxe_changeBgCss(el,obj.sson_out_bg);
					}
				)		
				if(obj.sson_over_bg) {
					obj.outBg = obj.sson_out_bg;
					obj.overBg = obj.sson_over_bg;
					jwxe_setMouseOverOut(el,obj.sson_over_bg,obj.sson_out_bg);
				}	
			} else {
				//if(obj.ssoff_over_bg && obj.ssoff_out_bg) { 
					// 오버만 있으면  가능
				if(obj.ssoff_over_bg) { 
					obj.outBg = obj.ssoff_out_bg;
					obj.overBg = obj.ssoff_over_bg;
					jwxe_setMouseOverOut(el,obj.ssoff_over_bg,obj.ssoff_out_bg);
				}
			}
		}

	} else {

		//if(_thisUrl == _thisHost+ssoff_url ) { // session off, selected
		//if(_thisUrl.indexOf(ssoff_url) > -1) { 		
		//el.get(0).selectBg = obj.ssoff_sel_out_bg;
		
		if(obj.select == true) { // session on, selected
			$( function() { jwxe_bubble_select(el); } );
			if(obj.ssoff_sel_out_bg) {
				$( function() {
						obj.outBg = obj.ssoff_sel_out_bg;
						jwxe_changeBgCss(el,obj.ssoff_sel_out_bg);
					}
				)		
				if(obj.ssoff_sel_over_bg) {
					obj.outBg = obj.ssoff_sel_out_bg;
					obj.overBg = obj.ssoff_sel_over_bg;
					jwxe_setMouseOverOut(el,obj.ssoff_sel_over_bg,obj.ssoff_sel_out_bg);
				}
			} else {
				
				if(obj.ssoff_over_bg && obj.ssoff_out_bg) {
					obj.outBg = obj.ssoff_out_bg;
					obj.overBg = obj.ssoff_over_bg;
					jwxe_setMouseOverOut(el,obj.ssoff_over_bg,obj.ssoff_out_bg);
				}
				
			}
		
		}	else {
			//if(obj.ssoff_over_bg && obj.ssoff_out_bg) {
			if(obj.ssoff_over_bg) {
				obj.outBg = obj.ssoff_out_bg;
				obj.overBg = obj.ssoff_over_bg;
				jwxe_setMouseOverOut(el,obj.ssoff_over_bg,obj.ssoff_out_bg);
			}
		}
		
	}
	
	obj.assinged = true;
}

/*************************************************************
// 엥커 마우스 오버/아웃/셀렉트
*************************************************************/
$(
	function() {
		
		var selected = false, key, i, obj, url, objs = [], curUrl = document.location.href, found = false, menu_cd;

		var lastIndex = curUrl.lastIndexOf('.');
		if(lastIndex >= 0)
			curUrl = curUrl.substring(0,lastIndex);
			
		//셀렉트를 판단
		for(i=0; i<_anchors.length; i++) {
			
			obj = _anchors[i];
			
			url = obj.ssoff_url;
			
			menu_cd = obj.menu_cd;
			
			if(!menu_cd && (!url || url == '' || url == '#')) continue;
			
			if (_so_) {
				url = obj.sson_url ? obj.sson_url : obj.ssoff_url;
			}
			url = _thisHost + url.trim().replace(_thisHost,'');
			
			lastIndex = url.lastIndexOf('.');
			if(lastIndex >= 0)
				url = url.substring(0,lastIndex);			
			
			
			
			obj.select = false;
			if(menu_cd && _cur_menu_cd && menu_cd == _cur_menu_cd ) {
				selected = true;
				obj.select = true;
				found = true;
			}else if(curUrl == url) {
				selected = true;
				obj.select = true;
				found = true;
			} else if(curUrl.indexOf(url) > -1) {
				obj.length = url.length;
				objs.push( obj );
			}
			
		}
		
		if(selected == false) {
			var length = 0;
			//if(found == false) {
				//부분 일치하는 도메인중 길이가 큰 검색
				var index = -1, max = 0;
				for(i=0; i<objs.length; i++) {
					if(objs[i].length >= max) {
							max = objs[i].length;
							index = i;
					}
				}
				
				if(index != -1) {
					length = objs[index].length;
					//objs[index].select = true;
				}
			//}
			for(i=0;i<objs.length;i++) {
				if(length == objs[i].length) {
					objs[i].select = true;
				}	
			}
		}	
			
			
		for (i = 0; i < _anchors.length; i++) {
			jwxe_changeBGProc(_anchors[i]);
			}
		
		
				
	}
	
)

$(

	/* anchor 커스텀 태그에서 판단한 선택여부를 script에 적용
	 * 
	 */
	function() {
		$('a[class~=jw_selected]').each(function() {
				//this.bgObj.select = true;
				//var obj = $(this);
				if(this.bgObj && this.bgObj.select == false) {
					this.bgObj.select = true;
					jwxe_clearMouseOverOut($(this));
					jwxe_changeBGProc(this.bgObj);
				}
				//jwxe_set_select(this);
		}); 
			
				
	}

)

/*************************************************************
// 메인 관련
*************************************************************/
/*
$(
	function() {
		var jwxe_menu_boxs = $("ul[class=jwxe_menu_box0]");
		for(var i=0;i<jwxe_menu_boxs.length;i++) {
			var children = new Array();
			getAllChildren(jwxe_menu_boxs.get(i), children);
			for(var j=0;j<children.length;j++) {
				var emt = $(children[j]);
				if(emt.attr("tagName").toLowerCase() == "ul") {
					emt.css("display", "none");
				}
			}
		}
	}
)
*/

var func_jwxe_menu_box0 = function() {
	
	var next = $(this).next();
	var tagName = "";

	next.attr("display", "block");
	var parent = $(this);
	do {
		parent.attr("display", "block");
		parent = parent.parent();
	} while(parent.attr("class") != "jwxe_menu_box0");

	parent = $(this);
	do {
		parent = parent.parent();
	} while(parent.attr("class") != "jwxe_menu_box0");
	
	var tmp_parent = parent;
	do {
		tmp_parent = tmp_parent.parent();
	} while(tmp_parent.attr("class").indexOf("lo_") == -1);
	tmp_parent.css("z-index", max_zIndex);
	
	var children = new Array();
	getAllChildren(parent.get(0), children);
	for(var j=0;j<children.length;j++) {
		var emt = $(children[j]);
		if(emt.attr("tagName").toLowerCase() == "ul") {
			if(emt.attr("display") == "block") {
				emt.css("display", "block");
				//emt.fadeIn('fast');
				emt.css("z-index", max_zIndex);
			} else {
				emt.css("display", "none");
				//emt.fadeOut('fast');
				emt.css("z-index", "");
				var prev = emt.prev(); // 자신외의 anchor 의 마우스 아웃
				if(prev.length > 0 && prev.attr("tagName").toLowerCase() == 'a') {
					if(prev,prev.get(0).bgObj)
						jwxe_changeBgCss(prev,prev.get(0).bgObj.outBg);
				}
				
			}
		}
		emt.attr("display", "none");
	}
}

$(
	function() {
		$("ul[class=jwxe_menu_box0] a").hover(func_jwxe_menu_box0);
		$("ul[class=jwxe_menu_box0] a").focus(func_jwxe_menu_box0);
	}
)

var func_jwxe_main_hidden_menu = function() {
	
	var next = $(this).next();
	var tagName = "";

	next.attr("visibility", "visible");
	var parent = $(this);
	do {
		parent.attr("visibility", "visible");
		parent = parent.parent();
	} while(parent.attr("class") != "jwxe_main_hidden_menu");

	parent = $(this);
	do {
		parent = parent.parent();
	} while(parent.attr("class") != "jwxe_main_hidden_menu");
	
	var tmp_parent = parent;
	do {
		tmp_parent = tmp_parent.parent();
	} while(tmp_parent.attr("class").indexOf("lo_") == -1);
	tmp_parent.css("z-index", max_zIndex);
	
	var children = new Array();
	getAllChildren(parent.get(0), children);
	for(var j=0;j<children.length;j++) {
		var emt = $(children[j]);
		if(emt.attr("tagName").toLowerCase() == "ul") {
			if(emt.attr("visibility") == "visible") {
				emt.css("visibility", "visible");
				//emt.fadeIn('fast');
				emt.css("z-index", max_zIndex);
			} else {
				emt.css("visibility", "hidden");
				//emt.fadeOut('fast');
				emt.css("z-index", "");
				var prev = emt.prev(); // 자신외의 anchor 의 마우스 아웃
				if(prev.length > 0 && prev.attr("tagName").toLowerCase() == 'a') {
					if(prev,prev.get(0).bgObj)
						jwxe_changeBgCss(prev,prev.get(0).bgObj.outBg);
				}
				
			}
		}
		emt.attr("visibility", "hidden");
	}
}

$(
	function() {
		$("ul[class=jwxe_main_hidden_menu] a").hover(func_jwxe_main_hidden_menu);
		$("ul[class=jwxe_main_hidden_menu] a").focus(func_jwxe_main_hidden_menu);
	}
)

/*************************************************************
// 탭 View 관련
*************************************************************/
/*
$(
	function() {
		var jwxe_menu_boxs = $(".jwxe_menu_box2"), prevEl, emt;
		
		for(var i=0;i<jwxe_menu_boxs.length;i++) {
			var children = $(jwxe_menu_boxs.get(i)).children();  //li(s)
			var bFirst = true;
			for(var j=0;j<children.length;j++) {
				emt = $(children.get(j)).children(); // a
				
				if(emt.attr("tagName").toLowerCase() == 'a') {
					if(bFirst) {
						emt.css("display", "block");
						//emt.css("z-index", max_zIndex);
						// 첫번째 탭은 셀렉트 표시
						
						prevEl = emt.prev();
						if(prevEl && prevEl.get(0).bgObj) {
							jwxe_changeBgCss(prevEl,prevEl.get(0).bgObj.overBg);
						}
						emt.css("z-index", max_zIndex+1);
						
						bFirst = false;
					} else {
//						emt.css("display", "none");
						
						//emt.css("z-index", "0");
					}
				} else if(emt.attr("tagName").toLowerCase() == "a") {
									//if($(this).parents('.jwxe_menu_box2').length == 0)  // tab menu 는 마우스아웃을 금지
					emt.css("z-index", max_zIndex+1);
					
				}
					
			}
		}
	}
)
*/
$(
	function() {
		var jwxe_menu_boxs = $("ul[class=jwxe_menu_box2]"), prevEl, emt;
		
		for(var i=0;i<jwxe_menu_boxs.length;i++) {
			var children = new Array();
			getAllChildren(jwxe_menu_boxs.get(i), children);
			//children = $(jwxe_menu_boxs.get(i)).children();
			var bFirst = true;
			for(var j=0;j<children.length;j++) {
				emt = $(children[j]);
				if(emt.attr("tagName").test(/ul/i)) {
					if(bFirst) {
						emt.css("display", "block");
						//emt.css("z-index", max_zIndex);
						// 첫번째 탭은 셀렉트 표시
						
						prevEl = emt.prev();
						if(prevEl && prevEl.get(0).bgObj) {
							jwxe_changeBgCss(prevEl,prevEl.get(0).bgObj.overBg);
						}
						emt.css("z-index", max_zIndex);
						
						bFirst = false;
					} else {
						emt.css("display", "none");
						
						//emt.css("z-index", "0");
					}
				} else if(emt.attr("tagName").toLowerCase() == "a") {
									//if($(this).parents('.jwxe_menu_box2').length == 0)  // tab menu 는 마우스아웃을 금지
					emt.css("z-index", max_zIndex+1);
					
				}
			}
		}
	}
)

var func_jwxe_menu_box2 = function() {
	
	var self = $(this);
	var next = self.next();
	var tagName = "";

	next.attr("display", "block");
	var parent = self;
	do {
		parent.attr("display", "block");
		parent = parent.parent();
	} while(parent.attr("class") != "jwxe_menu_box2");

	parent = self;
	do {
		parent = parent.parent();
	} while(parent.attr("class") != "jwxe_menu_box2");
	var children = new Array();
	getAllChildren(parent.get(0), children);
	
	//children = jwxe_menu_boxs.children();
	
	for(var j=0;j<children.length;j++) {
		var emt = $(children[j]);
		if(emt.attr("tagName").test(/ul/i)) {
					//console.log(emt.attr("tagName"));
			if(emt.attr("display") == "block") {
				emt.css("display", "block");
				//emt.fadeIn();
				
				
				//emt.css("z-index", max_zIndex);
			} else {
				emt.css("display", "none");
				//emt.fadeOut();

				var prev = emt.prev('a'); // 자신외의 anchor 의 마우스 아웃
				if(prev.length > 0 && prev.attr("tagName").toLowerCase() == 'a') {
					if(prev.get(0).bgObj)
						jwxe_changeBgCss(prev,prev.get(0).bgObj.outBg);
				}
				
				//emt.css("z-index", "0");
				//emt.fadeOut();
			}
		}

		emt.attr("display", "none");
	}
	
}

$(
	function() {
		$("ul[class=jwxe_menu_box2] a").hover(func_jwxe_menu_box2);
		$("ul[class=jwxe_menu_box2] a").focus(func_jwxe_menu_box2);
	}
	
	
)


/*************************************************************
// 밑으로 늘어나는 서브 메뉴 관련
*************************************************************/
/*
$(
	function() {
		var tmp = $("*[class=jwxe_menu_box1] *");
		for(var i=0;i<tmp.length;i++) {
			var t = $(tmp.get(i));
			t.css("position", "static");
		}

		var menus = $("*[class=jwxe_menu_box1] a");
		for(var i=0;i<menus.length;i++) {
			var menu = $(menus.get(i));
			var w = menu.css("width");
			var next = menu.next();
			var tagName = "";
			if((tagName=next.attr("tagName")) != null && (tagName.toLowerCase() == "ul")) {
				//next.css("overflow", "hidden");
				//next.css("height", "0");
				//next.css("display", "none");
				//next.css("width", "200px");
			}
		}
	}
)
*/


/*
var func_jwxe_menu_box1 = function() {
	
	
	var next = $(this).next();
	var tagName = "";
	if((tagName=next.attr("tagName")) != null && (tagName.toLowerCase() == "ul")) {
		var of = next.css("overflow");
		if(of == "hidden") {
			next.css("overflow", "");
			next.css("height", "");
		} else {
			next.css("overflow", "hidden");
			next.css("height", "0");
		}
	}
	
}
*/
var jwxe_menu_box1_click = function( el ) {
  	
		
		var li = $(el).parent();
		var ul = li.parent();
		var objs = ul.children(), a;
		//console.log(li, objs);
		for(var i=0; i<objs.length; i++) {
			var obj = objs[i];
			if(li[0] != obj) {
				//console.log(obj);
				if(obj.children.length > 0 && obj.children[0])
					$(obj.children[0]).next().css("display", "none");
			}	
		}
		
		
		
  	var next = $(el).next();
  	var tagName = "";
  	if ((tagName = next.attr("tagName")) != null && (tagName.toLowerCase() == "ul")) {
			
  		var dip = next.css("display");
  		if (dip == "none") {
				next.fadeIn('fast');
	  		//next.css('display','block');
  		} else {
				next.fadeOut('fast');
	  		//next.css('display','none');
			}
  	}
		
}


$(
	function() {
		
		//$(".jwxe_menu_box1 a").css({'position':'relative','border':'1px solid blue', 'margin-top':'5px'});
		//$(".jwxe_menu_box1 ul").css({'position':'relative','border':'1px solid red', 'margin-top':'5px'});
		
		$(".jwxe_menu_box1 a").css('position','relative');
		//$(".jwxe_menu_box1").css('position','relative');
		$(".jwxe_menu_box1 .jwxe_menu_box1").each( function() {
			var obj = $(this);
			if(obj.css('position') == 'absolute' && obj.css('left').toInt() == 0 && obj.css('top').toInt() == 0 ) {
				obj.css('position','relative');
			} 
		});
		
		/*
		$(".jwxe_menu_box1 a").each( function() {
			var next = $(this).next(), tagName;
			if(next) {
				tagName = next.attr("tagName");
				
				if(tagName && tagName.toLowerCase() == "ul") {
					$(this).attr("href","#");
				}
			}
		});*/
		
		//$(".jwxe_menu_box1 ul").css('position','relative');

		// 링크가 없고 하위가 ul 인것만 클릭 이벤트 생성		
		var jwxe_menu_box1_focused = false;		
		$('.jwxe_menu_box1 a').each(function(){
			var anchor = $(this);
			var next = anchor.next(), tagName;
			if(next.length > 0) {
				var tagName = next.attr('tagName').toLowerCase();
				var href = anchor.attr('href');
				if(tagName == 'ul' && (href == '' || typeof(href) == 'undefined' || href.substring(0,1) == '#')) {
					anchor.click(function() {
						if(jwxe_menu_box1_focused) {
							jwxe_menu_box1_focused = false;
							return;
						}
		  			jwxe_menu_box1_click( this );
						return false;
					});	
				}	
			}
		});
		
		
		$(".jwxe_menu_box1 a").focus(function() {
			jwxe_menu_box1_focused = true;
			var anchor = $(this);
			var next = anchor.next(), tagName;
			if(next.length > 0) {

				$(".jwxe_menu_box1 li ul").css('display','none');
				var tagName = next.attr('tagName').toLowerCase();
				if(tagName == 'ul') {
					next.fadeIn('fast');
				}	
			}
		});


		
		/*		
		$(".jwxe_menu_box1 a").click(function(){
			if ($(this).next().length > 0) { // 하위 메뉴가 있는것만 펼쳐지도록
	  		jwxe_menu_box1_click( this );
			}
		});
		*/
		
	}
)

/*************************************************************
// 플래시 삽입
*************************************************************/

$(
	function(){
  
  	if ($.browser.msie) {
  	
  		var objs = $("object[type=application/x-shockwave-flash]");
  		for (var i = 0; i < objs.length; i++) {
  			obj = $(objs.get(i));
  			var w = obj.attr("width");
  			var h = obj.attr("height");
  			var u = obj.attr("data");
  			var str = "<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0' width='" + w + "' height='" + h + "'>" +
  			"<param name='wmode' value='transparent' />" +
  			"<param name='allowScriptAccess' value='sameDomain' />" +
  			"<param name='movie' value='" +
  			u +
  			"' />" +
  			"<param name='quality' value='high' />" +
  			//"<embed src='" + u + "' quality='high' width='" + w + "' height='" + h + "' name='flash' allowScriptAccess='sameDomain' type='application/x-shockwave-flash' wmode='Transparent' pluginspage='http://www.macromedia.com/go/getflashplayer'>" +
					"</object>";
					obj.attr("outerHTML", str);
				}
			}
		}
)

/*************************************************************
// IE 버그 수정
*************************************************************/
if ($.browser.msie && $.browser.version < 7) { // IE

	$(function(){
	
		$("img[src$=png]").css("behavior", "url(/_common/iepngfix/iepngfix.htc)");
		
		//$("input").css("behavior", "url(/_common/iepngfix/iepngfix.htc)");
		//$("ul").css("behavior", "url(/_common/iepngfix/iepngfix.htc)");
	})
}		


/*************************************************************
// 탭처리
*************************************************************/



/*************************************************************
// 팝업코드 처리
*************************************************************/
$(
	function() {
		$("div[class=jwxe_popup]").css({"z-index":max_zIndex+1,'cursor':'move'});
	}
)

$(
	function() {

		var popups = $(".jwxe_popup");
		
		if(popups.length > 0) {
			
			var w = 0;
			var left = 0;
			/*
			var divs = $("div[class^=lo_]");
			if(divs.length > 0) {
				w = parseInt($(divs[0]).css("width"));
				left = $(divs[0]).position().left;
			} else {
				w = 1000;
			}*/
			
			if ($.browser.safari) {
		  	el =  document.body;
			} else {
		  	el =  document.documentElement;
			}
			w = el.offsetWidth;
			
			var sw = 0;
			for (var i = 0; i < popups.length; i++) {
				popups[i] = $(popups[i]);
				sw += popups[i].width()+20;
			}
			
			left = (parseInt((w-sw)/2) );
			if(left < 0) left = 0;
			for(var i=0;i<popups.length;i++) {
				var p = popups[i];
				if(i!=0) {
					left += (popups[i-1].width())+20;
					
				}
				p.css("left", left + "px") 
				p.css("top", "150px");
			}

			for(var i=0; i<popups.length; i++) {			
				// 그림자
				var drs = popups.get(i).dropShadow({left: 4, top: 4, blur: 1, color:'#787878'});
				//drs.removeClass('jwxe_popup');
				// 드래그
				popups.get(i).bind('drag',function( event ){
					$( this ).css({
						top: event.offsetY,
						left: event.offsetX
						});
					$( this ).next('.dropShadow').css({
						top: event.offsetY,
						left: event.offsetX
						});
				});
				popups.get(i).css('visibility','visible');
				
			}
			
			
		
		}
		
	}
)
$(
	function() {
		$("a[class=jwxe_popup_close]").click(
			function() {
				var parent = $(this).parent();
				parent.css("display","none");
				parent.next('.dropShadow').css('display','none'); // 그림자도 지운다
			}
		);
	}
)


$(
	function() {
		$("a[class=jwxe_popup_close_7]").click(
			function() {
				var parent = $(this).parent();
				parent.css("display","none");
				parent.next('.dropShadow').css('display','none'); // 그림자도 지운다
				
				var nm = $(this).attr("name");
				
				$.setCookie( nm, 'true', {
				  duration : 7, // In days
				  path : '/',
				  domain : '',
				  secure : false
				});
				//console.log($.readCookie(nm));			
			}
		);
	}
)
/*
$(
	function() {
		$("a[class=jwxe_popup_close_7]").click(
			function() {
				$(this).parent().css("display","none");
				var nm = $(this).attr("name");
				var idx = nm.indexOf("_");
				nm = "/" + nm.substring(0, idx) +"/_popup/" + nm.substring(idx+1);
				$.get(nm);
			}
		);
	}
)
*/
$(
	function() {
		// 버튼 위치 정리		
		$("a[class=jwxe_popup_close]").each(function() {
			var el = $(this);
			el.css({top:(el.parent().height()-24)+'px', left:(el.parent().width()-54)+'px'});
		});
		$("a[class=jwxe_popup_close_7]").each(function() {
			var el = $(this);
			el.css({top:(el.parent().height()-24)+'px', left:(el.parent().width()-168)+'px'});
		});

	}
)
/*************************************************************
// 설문  처리
*************************************************************/
$(
	function() {
		var vote_objs = $("input[class=jwxe_survey_vote]");
		vote_objs.css("top", (vote_objs.parent().parent().parent().height() - 39) + "px");
		vote_objs.css("left", (vote_objs.parent().parent().parent().width() - 92) + "px");

		var q_objs = $("div[class=jwxe_survey_q]");
		q_objs.css("width", (q_objs.parent().parent().parent().parent().width() - 50) + "px");
		
		var r_objs = $("div[class=jwxe_survey_r]");
		r_objs.css("width", (r_objs.parent().width() - 50) + "px");
	}
)

/*************************************************************
// JWXE_A_MASTER인 경우 처리 Mouse Over, Focus에 반응하는 Layer 관련 Script
*************************************************************/
// 먼저 모두 숨겨준다.
$(
	function() {
		$("*[class=jwxe_a_master]").next().css("display","none");
	}
)

$(
	function() {
		$("*[class=jwxe_a_master]").focus(
			function() {
				$("*[class=jwxe_a_master]").next().css("display","none");
				$("*[class=jwxe_a_master]").next().css("z-index", "");
				$(this).next().css("z-index",max_zIndex);
				$(this).next().css("display","block");
				//$(this).next().fadeIn();
			}
		)
	}
)
$(
	function() {
		$("*[class=jwxe_a_master]").mouseover(
			function() {
				$("*[class=jwxe_a_master]").next().css("display","none");
				$("*[class=jwxe_a_master]").next().css("z-index", "");
				$(this).next().css("z-index",max_zIndex);
				$(this).next().css("display","block");
				//$(this).next().fadeIn();
			}
		)
	}
)

/**********************************************************************
// Banner1 타입 제자리에서 계속 배너가 변화하는 타입.
**********************************************************************/
// 최초 로드시 맨 앞에 배너가 처음에 보이도록 해야 한다.
$(
	function() {
		var banners = $("ul[class=jwxe_banner1]");
		for(var bi=0;bi<banners.length;bi++) {
			var siblings = $(banners[bi]).children();
			for(var i=0;i<siblings.length;i++) {
				$($(siblings[i]).children()[0]).css("z-index",0);
				$($(siblings[i]).children()[0]).css("left",0);
				$($(siblings[i]).children()[0]).css("top",0);
				$($(siblings[i]).children()[0]).attr("jwxe_isFocus", "false");
			}
			if(siblings.length > 0) {
				$($(siblings[0]).children()[0]).css("z-index",1);
			}
		}
	}
)

// 탭 선택시 선택된 Link가 최 상단에 나타나도록 처리되어야 한다.
$(
	function() {
		$("ul[class=jwxe_banner1] li a").focus(
			function() {
				// 자신의 부모중 모든 놈들의 z-Index를 0으로 만들고.. 자신의 z-Index만 1로 만든다.
				var siblings = $(this).parent().parent().children();
				for(var i=0;i<siblings.length;i++) {
					$($(siblings[i]).children()[0]).css("z-index",0);
					$($(siblings[i]).children()[0]).attr("jwxe_isFocus", "false");
				}
				$(this).css("z-index",1);
				$(this).attr("jwxe_isFocus", "true");
			}
		)
	}
)

$(
	function() {
		$("ul[class=jwxe_banner1] li a").blur(
			function() {
				$(this).attr("jwxe_isFocus", "false");
			}
		)
	}
)

$(
	function() {
		$("ul[class=jwxe_banner1] li a").mouseover(
			function() {
				$(this).attr("jwxe_isFocus", "true");
			}
		)
	}
)

$(
	function() {
		$("ul[class=jwxe_banner1] li a").mouseout(
			function() {
				$(this).attr("jwxe_isFocus", "false");
			}
		)
	}
)

// 자기 자식들에게 Focus가 없다면 2초 단위로 배너가 교체 되도록 한다.
$(
	function() {
		setInterval(
			function() {
				var banners = $("ul[class=jwxe_banner1]");
				for(var bi=0;bi<banners.length;bi++) {
					var siblings = $(banners[bi]).children();
					var focus_idx = -1;
					for(var i=0;i<siblings.length;i++) {
						if($($(siblings[i]).children()[0]).attr("jwxe_isFocus") == "true") {
							// 누군가 Focus를 가진 상태이므로 중지한다.
							focus_idx = -1;
							break;
						}
						if($($(siblings[i]).children()[0]).css("z-index") == 1) {
							focus_idx = i;
							break;
						}
					}
					if(focus_idx != -1) {
						for(var i=0;i<siblings.length;i++) {
							$($(siblings[i]).children()[0]).css("z-index", "0");
						}
						$($(siblings[((focus_idx+1)%siblings.length)]).children()[0]).css("z-index", "1");
					}
				}
			}
			,2000
		);
	}
)

/**********************************************************************
// Banner2 타입 배너가 우에서 좌로 흐르는 타입
**********************************************************************/
// 최초 모든 배너들이 잘 늘어서도록 처리해야 한다.
$(
	function() {
		var banners = $("ul[class=jwxe_banner2]");
		for(var bi=0;bi<banners.length;bi++) {
			$(banners[bi]).attr("jwxe_dir", "+");
			var siblings = $(banners[bi]).children();
			var x = 0;
			for(var i=0;i<siblings.length;i++) {
				$($(siblings[i]).children()[0]).css("left", x);
				$($(siblings[i]).children()[0]).css("top", 0);
				x += (parseInt($($(siblings[i]).children()[0]).css("width")) + 5);
				$($(siblings[i]).children()[0]).attr("jwxe_isFocus", "false");
			}
		}
	}
)

// focus를 가지거나 마우스가 올라오면 멈춘다.
$(
	function() {
		$("ul[class=jwxe_banner2] li a").focus(
			function() {
				$(this).attr("jwxe_isFocus", "true");
			}
		)
	}
)

$(
	function() {
		$("ul[class=jwxe_banner2] li a").blur(
			function() {
				$(this).attr("jwxe_isFocus", "false");
			}
		)
	}
)

$(
	function() {
		$("ul[class=jwxe_banner2] li a").mouseover(
			function() {
				$(this).attr("jwxe_isFocus", "true");
			}
		)
	}
)

$(
	function() {
		$("ul[class=jwxe_banner2] li a").mouseout(
			function() {
				$(this).attr("jwxe_isFocus", "false");
			}
		)
	}
)

// 흐르게 한다.
$(
	function() {
		var banners = $("ul[class=jwxe_banner2]");
		if(banners.length > 0) {
			setInterval(
				function() {
					for(var bi=0;bi<banners.length;bi++) {
						var siblings = $(banners[bi]).children();
						var isFocus = false;
						for(var i=0;i<siblings.length;i++) {
							if($($(siblings[i]).children()[0]).attr("jwxe_isFocus") == "true") {
								isFocus = true;
								break;
							}
						}
						if(!isFocus) {
							var prev = $(banners[bi]).scrollLeft();
							if($(banners[bi]).attr("jwxe_dir") == "+") {
								$(banners[bi]).scrollLeft($(banners[bi]).scrollLeft()+2);
							} else {
								$(banners[bi]).scrollLeft($(banners[bi]).scrollLeft()-2);
							}
							if(prev == $(banners[bi]).scrollLeft()) {
								if($(banners[bi]).attr("jwxe_dir") == "+") {
									$(banners[bi]).attr("jwxe_dir", "-");
								} else {
									$(banners[bi]).attr("jwxe_dir", "+");
								}
							}
						}
					}
				}
				,50
			);
		}
	}
)

/**********************************************************************
// 브라우저에 가로폭이 꽉차는 배경 처리 관련...
**********************************************************************/
// 시작시점에 layout용으로 설정된 DIV 태그에 대해 가상으로 자식 엘리먼트를 추가하고 Background를 설정한다.\
$(
	function() {
		var divs = $("div[class^=lo_]");
		for(var i=0;i<divs.length;i++) {
			var div = $(divs.get(i));
			var bg = div.css("background");
			if(bg != null && bg != "" && bg != undefined) {
				var vt = "<div class='JWXE_BG' style='visibility:hidden;display:none;position:absolute;left:0;top:0;height:0;width:0;background:" + bg + ";z-index:-1000;'>&nbsp;</div>";
				div.append(vt);
				div.css("background", "");
			}
		}
	}
)

var onWindowResize = function() {
	var divs = $("div[class=JWXE_BG]");
	for(var i=0;i<divs.length;i++) {
		var div = $(divs.get(i));
		div.css("left", "-" + div.parent().offset().left + "px");
		div.css("width", document.documentElement.clientWidth + "px");
		div.css("height", div.parent().height());
		//alert(div.parent().height());
		div.css("display", "block");
		div.css("visibility", "visible");
	}
}

// 브라우저 크기가 변할 경우 설정된 가상 엘리먼트들의 폭을 변경해준다.
$(
	function() {
		$(window).resize(onWindowResize);
		setTimeout(onWindowResize, 1);
	}
)

/**********************************************************************
// submit 버튼의 value 를 제거한다
**********************************************************************/
$(
	function() {
		$(".jwxe_input_submit").attr("value", "");
	}
)

/**********************************************************************
// flash wrapper div의  display:none 를 제거한다
**********************************************************************/
$(
	function() {
		//$(".jwxe_flash").css("display", "block");
		$(".jwxe_flash").each(function(){
			if(this.style.display == 'none') {
				this.style.display = 'block';
			} 
		});

	}
)

/**********************************************************************
// 확대/축소/출력 스크립트
**********************************************************************/
var current_zoom = 100;
var jwxe_zoomIn = function() {
	current_zoom += 10;
  if($.browser.msie && $.browser.version < 8.0){    // IE
  	$("body").children().css("zoom", current_zoom + "%");
    return;
	}	
	alert("표준 브라우저에서의 확대/축소는 브라우저의 기능을 이용합니다.\n화면 확대: 키보드의 control키와 '+'를 동시에 누릅니다.\n화면 축소: 키보드의 control키와 '-'를 동시에 누릅니다.");
}
var jwxe_zoomDef = function() {
  if($.browser.msie && $.browser.version < 8.0){    // IE
  	$("body").children().css("zoom", "100%");
    return;
	}	
	alert("표준 브라우저에서의 확대/축소는 브라우저의 기능을 이용합니다.\n화면 확대: 키보드의 control키와 '+'를 동시에 누릅니다.\n화면 축소: 키보드의 control키와 '-'를 동시에 누릅니다.");
}
var jwxe_zoomOut = function() {
  if($.browser.msie && $.browser.version < 8.0){    // IE
  	current_zoom -= 10;
  	$("body").children().css("zoom", current_zoom + "%");
    return;
	}	
	alert("표준 브라우저에서의 확대/축소는 브라우저의 기능을 이용합니다.\n화면 확대: 키보드의 control키와 '+'를 동시에 누릅니다.\n화면 축소: 키보드의 control키와 '-'를 동시에 누릅니다.");
}
var jwxe_print = function() {
	// 먼저 부모를 찾아서 부모의 outerHTML을 다 넘겨준다.
	var arr = $("div[class=jwxe_root]");
	var max_div = null;
	var max_tb = 0;

	for(var i=0;i<arr.length;i++) {
		var emt = $(arr.get(i));
		var tmp_tb = emt.height() * emt.width();
		if(tmp_tb > max_tb) {
			max_tb = tmp_tb;
			max_div = emt;
		}
	}
	if(max_div != null) {
		var pf = document.getElementById("jwxe_print_form");
		pf.contents.value = max_div.html();
		pf.submit();
	}

	
	/*
	var p = $(this);
	do {
		p = p.parent();
		var cls = p.attr("class")
	} while(!(cls.length > 3 && cls.substring(0,3) == "lo_"));

	var pf = document.getElementById("jwxe_print_form");
	pf.contents.value = p.attr("outerHTML");
	pf.submit();
	*/
}

$(
	function() {
		$("#jwxe_zoomIn").click(jwxe_zoomIn);
		$("#jwxe_zoomOut").click(jwxe_zoomOut);
		$("#jwxe_zoomDef").click(jwxe_zoomDef);
		$("#jwxe_print").click(jwxe_print);
		if($("#jwxe_print").length > 0) {
			var str = "<form id='jwxe_print_form' action='/_sys/page_template/print.jsp' method='post' target='_blank'>" +
			"<input type='hidden' name='contents' value='123'/>" + 
			"</form>";
			$("body").append(str);
		}
	}
)

/**********************************************************************
// 퀵메뉴 스크립트(상하 스크롤)
**********************************************************************/

$(function(){ 
	var _quickMenuBox = $('.jwxe_quick_menu'),  _quickMenuBoxTop;
	if (_quickMenuBox.length > 0) {
		_quickMenuBox.css('z-index',100000);		
		$($('body').children().get(0)).after(_quickMenuBox);
  	_quickMenuBoxTop = _quickMenuBox.offset().top;
		_quickMenuBoxHeight = _quickMenuBox.height();
		bodyHeight = document.body.scrollHeight || document.documentElement.scrollHeight; 		
  }	 
	$(window).scroll(function(){ //윈도우에 스크롤값이 변경될때마다
		if(_quickMenuBox.length > 0) {
	  	var top = document.documentElement.scrollTop || document.body.scrollTop;
			
			if(top + _quickMenuBoxTop + _quickMenuBoxHeight < bodyHeight) { 
				_quickMenuBox.stop();//현재 박스를 멈추고 
				_quickMenuBox.animate({"top": top + _quickMenuBoxTop}, 500);	//바디의 스크롤값에 처음 지정해놓은 박스값의 Top을 더한후 애니메이션 효과 주기
			}
		}	 
	});  
}); 


/**********************************************************************
// 퀵메뉴 스크립트 (상단 고정)
**********************************************************************/

$(function(){
	 
	var _quickSideMenuBox = $('.jwxe_quick_side_menu, .jwxe_quick_right_side_menu');
	
	var _quickSideMenuBoxWidth, _body, _quickRightMinTop;
	
	if(_quickSideMenuBox.length > 0) {
		_quickRightMinTop = _quickSideMenuBox.css('top').toInt();
		_quickSideMenuBoxWidth = _quickSideMenuBox.css('width').toInt();
		_body = $('body');
	}	
	
	var _quickSideChange = function( firstLoading ) {
		var el;
		
		if(_quickSideMenuBox.length <= 0) return;
			
		if ($.browser.safari) {
	  	el =  document.body;
		} else {
	  	el =  document.documentElement;
		}
		
		var top; // = el.scrollTop;
		if(_quickSideMenuBox.get(0).className.test(/jwxe_quick_right_side_menu/)) {
			if (el.scrollTop > _quickRightMinTop) {
	  		top = el.scrollTop;
	  	} else {
	  		top = _quickRightMinTop;
			} 	
		} else {
			top = el.scrollTop;
		}
		
		var offsetWidth = el.offsetWidth;
		var left = el.scrollLeft+offsetWidth;//   Math.max(document.documentElement.scrollWidth, document.body.scrollWidth);
		
		// 최소값의 적용
		if(left < jwxe_left_quick_min_x)
			left = jwxe_left_quick_min_x;

		if($.browser.msie) {
			left -= 4;
			
			if($.browser.version == 6.0 || el.scrollHeight > el.offsetHeight) {
				if($.browser.version == 6.0 )
					left -= 13;
				else
					left -= 17;
			}
		}
		_quickSideMenuBox.stop();
		_quickSideMenuBox.animate({top: top, left: left - _quickSideMenuBoxWidth}, 400);	 
	}
	
	if(_quickSideMenuBox.length) {
		$(_body.children().get(1)).after(_quickSideMenuBox);
		_quickSideMenuBox.css('z-index',1000);		
	}

	$(window).load(function(){ //윈도우에 스크롤값이 변경될때마다 
		_quickSideChange( true ); 
	});
	
	$(window).scroll(function(){ //윈도우에 스크롤값이 변경될때마다 
			_quickSideChange(); 
	}); 
	
 	var resizeTimer;
	if ($.browser.msie) {
  	window.onresize = function(){
  		clearTimeout(resizeTimer);
  		resizeTimer = setTimeout(_quickSideChange, 100);
  	}
  } else {
		$(window).resize(function() {
			_quickSideChange(); 
		    clearTimeout(resizeTimer); 
		    resizeTimer = setTimeout(_quickSideChange, 100); 
		}); 
	} 
	
	/*	
	var resizeTimer; 
	$(window).resize(function() {
		_quickSideChange(); 
	    clearTimeout(resizeTimer); 
	    resizeTimer = setTimeout(_quickSideChange, 100); 
	});*/ 

	_quickSideChange( true );
	
});

/*
 * 구글맵 로딩 함수
 */
var loadGoogleMap = function( opt ) {
	this.load(opt);
}
loadGoogleMap.prototype = {
		
	load: function(opt) {

		var self = this;
		var dom = document.getElementById(opt.id)

		this.latlng = new google.maps.LatLng(opt.lat, opt.lng);
		
		var options = {
			zoom: opt.zoom,
			center: this.latlng,
	    mapTypeId: google.maps.MapTypeId.ROADMAP
	  }
		
	  this.map = new google.maps.Map(dom , options);
		
		var marker = new google.maps.Marker({
	    position: this.latlng, 
	    map: this.map 
	  });		
	
	
	  this.infowindow = new google.maps.InfoWindow({ 
			content: opt.content,
	    position: this.latlng
	  });
	  this.infowindow.open(this.map);
	
			
		google.maps.event.addListener(marker, "click", function() {
	 		self.infowindow.open(self.map);
	 	});			
	}
		
}



/* 폼 재전송 방지 */
function __jwxeOnSubmit(form) {
	if(form.submitted == true) return false;
	form.submitted = true;
	form.submit();
	return true;
}


function chkEmail(val) {
	var reg = /^[\w\-]+@(?:(?:[\w\-]{2,}\.)+[a-zA-Z]{2,})$/;
	return reg.test(val);	
	
}

function chkTel(val) {
	var reg = /^\d{2,3}-\d{3,4}-\d{4}$/;
	return reg.test(val);	
}

function chkDate(dayStr) {

	var valid = false;
	if(dayStr.search(/\d{4}-(0[1-9]|1[0-2])-([0-3][0-9])/)==0) { 
        var arrDay = dayStr.split("-");
        var year = parseInt(arrDay[0]);
        var month = parseInt(arrDay[1].replace(/^0(\d)/g,"$1"));
        var day = parseInt(arrDay[2].replace(/^0(\d)/g,"$1"));
        var d = new Date(year,month-1,day);
        if(d.getMonth() == month-1 && d.getDate() == day ) 
				valid = true ;
  }
		
  return valid;

}

function chkEmailValid(obj, title, mustInput) {
	
	if(!obj) return true;
	
	if(!obj.value && mustInput == true) {	
		alert(title+' 입력해 주세요');
		obj.focus();
		return false;
	} 
	
	if(obj.value && !chkEmail(obj.value)) {
		alert('이메일 형식이 옳바르지 않습니다.');
		obj.focus();
		return false;
	}
	
	return true;
	
}


function chkTelValid(obj, title, mustInput) {
	
	if(!obj) return true;

	if(!obj.value && mustInput) {	
		alert(title+' 입력해 주세요');
		obj.focus();
		return false;
	} 
	
	if(obj.value && !chkTel(obj.value)) {
		alert('연락처 형식이 옳바르지 않습니다. 예) 02-123-1234 또는 011-123-1234');
		obj.focus();
		return false;
	}
	
	return true;
	
}

function chkDateValid(obj, title, mustInput) {

	if(!obj) return true;

	if(!obj.value && mustInput) {	
		alert(title+' 입력해 주세요');
		obj.focus();
		return false;
	} 
	
	if(obj.value && !chkDate(obj.value)) {
		alert('정확한 날짜형식을 입력해 주시기 바랍니다. (예:2010-05-05)');
		obj.focus();
		return false;
	}
	
	return true;
	
}


function chkValid(obj, title) {

	if(!obj) return true;

	if(!obj.value) {	
		alert(title+' 입력해 주세요');
		try {
			obj.focus();
		} catch(e) {}
		return false;
	}
	
	return true;
	
}

/*****************************
 * 업로드 파일 종류 체크
 */

function chkFileExt(obj, reg, pass){
	
	var value = obj.value;
	
	if(pass && !value) return true;
	
	return reg.test(value.substring(value.indexOf('.') + 1));
	
}

/*****************************
 * 파일첨부에서 갯수를 선택하면 늘고 줄이기
 */
function initAttach(id, maxCount) {
	$(
		function() {	
			$('#'+id).change(function() {
				var cnt = parseInt(this.value);
				for(var i=1; i<=maxCount; i++ ) {
					var f = $('#file_nm'+i);
					if(i<=cnt) {
						f.parent().css('display','block');
						f.css('display','block');
					} else {
						f.css('display','none');
						f.attr('value','');
						f.parent().css('display','none');
					}	
				}	
			});
		}
	)	
}




/*****************************
 * 달력 초기화
 */
function initCalendar(id, isEmpty){
	$(
		function() {
			var obj = $('#'+id);
			
			if(!isEmpty && !obj.attr("value")) {
				obj.attr("value",new Date().getDateString("YYYY-MM-DD"));
			}
			
			obj.datepicker({
				changeMonth: true,
				changeYear: true,
				yearRange: '2009:2020'
			});
		}
	)
	
}


/*****************************
 * 에디터 초기화
 */
function initEditor(id, jsPath, callBack ) {
$(
		function() {
			var config = {
				customConfig: jsPath,
				resize_enabled:false,
	 			skin: 'office2003',
				on: {
					instanceReady: function() {
						if(callBack){
							try {
			  			callBack();
			  			} catch(e) {}
						}
						onWindowResize();
					}
				}
			}
	  		CKEDITOR.replace(id,config);

		}	
	);
}



/*****************************
 * 날짜 포맷
 */

Number.prototype.to2 = function() { return (this > 9 ? "" : "0")+this; };
Date.MONTHS = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
Date.DAYS   = ["Sun", "Mon", "Tue", "Wed", "Tur", "Fri", "Sat"];
Date.prototype.getDateString = function(dateFormat) {
  var result = "";
  
  dateFormat = dateFormat == 8 && "YYYY.MM.DD" ||
               dateFormat == 6 && "hh:mm:ss" ||
               dateFormat ||
               "YYYY.MM.DD hh:mm:ss";
  for (var i = 0; i < dateFormat.length; i++) {
    result += dateFormat.indexOf("YYYY", i) == i ? (i+=3, this.getFullYear()                     ) :
              dateFormat.indexOf("YY",   i) == i ? (i+=1, String(this.getFullYear()).substring(2)) :
              dateFormat.indexOf("MMM",  i) == i ? (i+=2, Date.MONTHS[this.getMonth()]           ) :
              dateFormat.indexOf("MM",   i) == i ? (i+=1, (this.getMonth()+1).to2()              ) :
              dateFormat.indexOf("M",    i) == i ? (      this.getMonth()+1                      ) :
              dateFormat.indexOf("DDD",  i) == i ? (i+=2, Date.DAYS[this.getDay()]               ) :
              dateFormat.indexOf("DD",   i) == i ? (i+=1, this.getDate().to2()                   ) :
              dateFormat.indexOf("D"   , i) == i ? (      this.getDate()                         ) :
              dateFormat.indexOf("hh",   i) == i ? (i+=1, this.getHours().to2()                  ) :
              dateFormat.indexOf("h",    i) == i ? (      this.getHours()                        ) :
              dateFormat.indexOf("mm",   i) == i ? (i+=1, this.getMinutes().to2()                ) :
              dateFormat.indexOf("m",    i) == i ? (      this.getMinutes()                      ) :
              dateFormat.indexOf("ss",   i) == i ? (i+=1, this.getSeconds().to2()                ) :
              dateFormat.indexOf("s",    i) == i ? (      this.getSeconds()                      ) :
                                                   (dateFormat.charAt(i)                         ) ;
  }
  return result;
};



/*****************************
 * 동영상 자막
 */

$(
	function() {
		$(".jwxe_movie").css("display", "block");
	}
);


	function jwxe_popupWindow( url, width, height, target, scrollbars, resizable) {
		var tar = "";
		var properties = "";
		
		if( target ) tar = target;
		if( width ) properties += ", width=" + width;
		if( height ) properties += ", height=" + height;
		if( scrollbars ) properties += ", scrollbars=yes";
		if( resizable ) properties += ", resizable=yes";

		properties = properties.substring(2);

		var win = window.open( url, tar, properties );
		win.focus();

		//return win;
	}

	
	/* anchor 커스텀 태그에서 판단한 선택여부를 script에 적용
	 * 
	 */
	

/*
 * ajax
 */

window.Andwise = {};

Andwise.addEvent = function(element, eventName, observer, capture) {
    if (typeof element == 'string') {
        element = document.getElementById(element);
    }
    if (element.addEventListener) {
        element.addEventListener(eventName, observer, capture);
    } else if (element.attachEvent) {
        element.attachEvent('on' + eventName, observer);
    }
};
	

Andwise.Ajax = function( opt ) {
	this.xmlhttp = null;
	this.opt = opt;
	return this;
	
}

Andwise.Ajax.prototype = {
	get: function( params ) {
		this.opt.method = "GET";
		this.params = params;
		if(this.getQueryString() != '') {
			if(this.opt.url.indexOf('?') > -1) {
				this.opt.url = this.opt.url+'&'+ this.getQueryString();
			} else {
				this.opt.url = this.opt.url + this.getQueryString();
			}
		}
		this.load();
		return this;
	},
	post: function( params ) {
		this.opt.method = "POST";
		this.params = params;
		this.load();
		return this;
	},
	getQueryString: function() {
		var retv = '';
		for(var key in this.params) {
			retv += '&'+key+'='+encodeURIComponent(this.params[key]);
		}
		if(retv != '') {
			retv = retv.substring(1);
		}
		return retv;
		
	},
	load: function() {
		
		this.scope = this.opt.scope || this;
		var self = this;
	
		if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
			this.xmlhttp = new XMLHttpRequest();
		} else {// code for IE6, IE5
			this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		
		this.xmlhttp.onreadystatechange = function() {
			self.stateChange.call(self);
		}
		
		this.xmlhttp.open(this.opt.method,this.opt.url,true);
		if(this.opt.method == "POST") {
			this.xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			this.xmlhttp.send(this.getQueryString());
		} else {
			this.xmlhttp.send();
		}
		
	},
	stateChange: function() {
		
		if (this.xmlhttp.readyState==4) {
			if (this.xmlhttp.status==200) {
				if(this.opt.onSuccess)
					this.opt.onSuccess.call(this.scope, this.xmlhttp.responseText);
			} else {
				if(this.opt.onFailure)
					this.opt.onFailure.call(this.scope,this.xmlhttp.status);
			}
		}
		
	}	
}	
