/*
 * since 2008.10.11. by lks
 * prototype-1.6.0.4.js or scriptaculous-1.8.1 or higher required.
 */

	var WGN_lib_common = Class.create();

	WGN_lib_common.prototype =
	{
		initialize: function(){

		},

		//-----------------------------------------------------------------------------
		// 팝업창 띄우기
		// @사용법 : wgn.openPopup( "", { width: 400, height: 500, scroll: 0, top: 100, left: 100, name: "name_popup" } );
		// 각 옵션의 기본값은 아래 참조
		// @return : 팝업창객체
		//-----------------------------------------------------------------------------
		openPopup: function( url, option ){
			var obj_option = option == null ? {} : option;

			if( url               == null ) url               = "";
			if( obj_option.width  == null ) obj_option.width  = window.screen.availWidth;
			if( obj_option.height == null ) obj_option.height = window.screen.availHeight;
			if( obj_option.scroll == null ) obj_option.scroll = 0;
			if( obj_option.top    == null ) obj_option.top    = ( window.screen.availHeight - obj_option.height ) / 4;
			if( obj_option.left   == null ) obj_option.left   = ( window.screen.availWidth  - obj_option.width  ) / 4;
			if( obj_option.name   == null ) obj_option.name   = "";
			if( obj_option.errMsg == null ) obj_option.errMsg = "Please disable popup blocking!";

			var newWindow = window.open( url, obj_option.name, "width=" + obj_option.width + ",height=" + obj_option.height + ",scrollbars=" + obj_option.scroll + ",toolbar=0,menubars=0,locationbar=0,historybar=0,statusbar=0,resizable=0,left=" + obj_option.left + ",top=" + obj_option.top + ",channelmode=no,titlebar=no", false );

			if( !newWindow ){
				alert( obj_option.errMsg );
				return false;
			}
			newWindow.focus();

			return newWindow;
		}
	}

	var wgn = new WGN_lib_common();

	//-----------------------------------------------------------------------------
	// 활성화된 플래시 삽입
	//-----------------------------------------------------------------------------
	function activeSwf( o_id, o_src, o_width, o_height, o_transparent ){
		obj =  '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,15,0" id="'+ o_id +'" name="'+ o_id +'" width="'+ o_width +'" height="'+ o_height +'" align="middle">';
		obj += '<param name="allowScriptAccess" value="always" />';
		obj += '<param name="allowFullScreen" value="false" />';
		if( o_transparent == "transparent"){
			obj += '<param name="wmode" value="transparent" />';
		}
		obj += '<param name="movie" value="'+ o_src +'" />';
		obj += '<param name="quality" value="high" />';
		obj += '<param name="bgcolor" value="#ffffff" />';
		obj += '<embed src="'+ o_src +'"';
		if( o_transparent == "transparent" ){
			obj += ' wmode="transparent"';
		}
		obj += ' quality="high" bgcolor="#ffffff" width="'+ o_width +'" height="'+ o_height +'" name="'+ o_id +'" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
		obj += '</object>';
		
		document.writeln( obj );
	}

	//-----------------------------------------------------------------------------
	// select skin 적용
	//
	// 사용법
	//  new WGN_SD.Selectbox('element_id', {
	//      fontSize      : 11,
	//      lineSize      : 13
	//  });
	//-----------------------------------------------------------------------------
	if( typeof WGN_SD == "undefined" ){
		var WGN_SD = new Object();

		WGN_SD.$  = function( id ){
			return document.getElementById( id );
		}
		WGN_SD.$$ = function(){
			var obj = function(){
				if( this.__const )
					this.__const.apply( this,arguments );
			}
			WGN_SD.extend( obj.prototype,arguments[0] );

			return obj;
		}
		WGN_SD.$c = function( tag ){
			return document.createElement( tag );
		}
		WGN_SD.extend = function( obj ){
			for( var i=0; i<arguments.length; i++ ){
				for( var x in arguments[i] )
					obj[x]=arguments[i][x];
			}

			return obj;
		}
		WGN_SD.lim = function( val,min,max ){
			return Math.max( Math.min( val,max ), min );
		}
	}

	WGN_SD.Selectbox = WGN_SD.$$({
		__const : function( id ){
			var t = this;
			var s = t._source = WGN_SD.$( id );
			var sd_width,
				sd_height,
				sd_fontSize,
				sd_lineSize,
				sd_FLPadding,
				sd_listSize,
				sd_skinActive,
				sd_skinFormat,
				sd_borderActive,
				sd_borderSet,
				sd_txtElColor,
				sd_txtElBgColor,
				sd_optTxtColor,
				sd_optBgColor,
				sd_optTxtHover,
				sd_optBgHover,
				sd_optTxtPadding;
/*
			if( s.className.match("SD_STYLE01") ){
				sd_width         = 157;

			}
			if( s.className.match("SD_STYLE02") ){
				sd_width         = 178;
				sd_skinFormat    = "/agabang.com/shop/image/board/btn/sd_style02.gif";
				sd_borderSet     = "1px solid #79074c";
				sd_txtElColor    = "#ffffff";
				sd_txtElBgColor  = "#af1e76";
				sd_optTxtColor   = "#d86dae";
				sd_optBgColor    = "#af1e76";
				sd_optTxtHover   = "#c38fae";
				sd_optBgHover    = "#79074c";

			}
*/
			if( !sd_width )         sd_width         = s.offsetWidth -2;
			if( !sd_height )        sd_height        = 17;
			if( !sd_fontSize )      sd_fontSize      = 11;
			if( !sd_lineSize )      sd_lineSize      = 13;
			if( !sd_FLPadding )     sd_FLPadding     = 2;
			if( !sd_listSize )      sd_listSize      = 100;
			if( !sd_skinActive )    sd_skinActive    = false;
			if( !sd_skinFormat )    sd_skinFormat    = "/image/common/b_select01.gif";
			if( !sd_borderActive )  sd_borderActive  = true;
			if( !sd_borderSet )     sd_borderSet     = "1px solid #dbdbdb";
			if( !sd_txtElColor )    sd_txtElColor    = "#6c6c6c";
			if( !sd_txtElBgColor )  sd_txtElBgColor  = "#ffffff";
			if( !sd_optTxtColor )   sd_optTxtColor   = "#6c6c6c";
			if( !sd_optBgColor )    sd_optBgColor    = "#ffffff";
			if( !sd_optTxtHover )   sd_optTxtHover   = "#ffffff";
			if( !sd_optBgHover )    sd_optBgHover    = "#6c6c6c";
			if( !sd_optTxtPadding ) sd_optTxtPadding = "2px 4px";

			t.options = WGN_SD.extend({
				width         : sd_width,           //s.offsetWidth;
				height        : sd_height,          //s.offsetHeight;
				fontSize      : sd_fontSize,
				lineSize      : sd_lineSize,
				FLPadding     : sd_FLPadding,       // FLPadding 2 = optTxtPadding 0 4px
				listSize      : sd_listSize,
				skinActive    : sd_skinActive,
				skinFormat    : sd_skinFormat,      //"/image/sbox_%s.gif";
				borderActive  : sd_borderActive,
				borderSet     : sd_borderSet,
				txtElColor    : sd_txtElColor,
				txtElBgColor  : sd_txtElBgColor,
				optTxtColor   : sd_optTxtColor,
				optBgColor    : sd_optBgColor,
				optTxtHover   : sd_optTxtHover,
				optBgHover    : sd_optBgHover,
				optTxtPadding : sd_optTxtPadding
			}, arguments[1] )

			var o = t.options;
			var e = t._element = WGN_SD.$c( "div" );
			var c = e.appendChild( WGN_SD.$c( "div" ) );
			var p = { left:0, top:0 };

			{
				var _o = t._source;
				do{
					p.left += _o.offsetLeft;
					p.top  += _o.offsetTop;
					_o     =  _o.offsetParent;
				}while( _o )
			}

			s.parentNode.insertBefore( e, s );
			s.style.display = "none";

			if( o.borderActive )
				e.style.border = o.borderSet;

			with( e.style ){
				top        = p.top + "px";
				left       = p.left + "px";
				width      = o.width + "px";
				height     = o.height + "px";       // height = ( o.height-2 ) + "px";
				background = o.txtElBgColor;
				lineHeight  = o.lineSize + "px";
			}

			with( c.style ){
				width    = o.width + "px";
				height   = o.height + "px";         // height   = ( o.height-2 ) + "px";
				fontSize = o.fontSize + "px";
				overflow = "hidden";
				cursor   = "pointer";
			}

			c.onmouseover = function(){
				if( !t._list_el.parentNode || !t._list_el.parentNode.tagName )
					document.body.appendChild( t._list_el );
			}
			c.onmousedown = function(e){
				t.onmousedown.call( t, e || window.event );
			}
			c.onmouseup = function(){
				t.onmouseup.apply( t, [] );
			}

			var b = c.appendChild( WGN_SD.$c( "div" ) );

			with( b.style ){
				background         = "no-repeat url( " + o.skinFormat.replace( '%s','bt' ) + " ) 50% 50%";
				b.style.cssFloat   = "right";
				b.style.styleFloat = "right";
				height             = "100%";
			}
			t._txt_el = c.appendChild( WGN_SD.$c( "div" ) );
			with( t._txt_el ) {
				appendChild( document.createTextNode( s.options[s.selectedIndex].text ) );

				// var tempPadding = Math.max( Math.floor( ( o.height-offsetHeight )/2 ),0 );
				// if( tempPadding > 5 ) tempPadding = 2;

				with( style ) {
					height      = o.fontSize + "px";
					lineHeight  = o.lineSize + "px";
					overflow    = "hidden";
					//marginTop   = Math.max( Math.floor( ( o.height-offsetHeight )/2 ),0 ) + "px";
					//marginTop   = tempPadding + "px";
					marginTop   = "3px";
					marginLeft  = marginTop;
					paddingLeft = o.FLPadding + "px";
					color       = o.txtElColor;
				}
			}
			c.appendChild( WGN_SD.$c( "div" ) ).style.clear = "both";


			var im;
			( im = WGN_SD.$c( "img" ) ).onload = function(){
				b.style.width = im.width + "px";
			}
			im.src = o.skinFormat.replace( "%s","bt" );
			t._list_el = WGN_SD.$c( "div" );

			with( t._list_el.style ){
				position   = "absolute";
				border     = o.borderSet;
				display    = "none";
				oveflow    = "auto";
				fontSize   = o.fontSize + "px";
				lineHeight = o.lineSize + "px";
			}
			t._list_el.onmousedown = function(e){
				t.onscrollbar.call( t, e || window.event );
			}
			t._event_onmousedown = function(e){
				t.onmousedown.call( t, e || window.event );
			}
			t.paint();
		},
		onmousedown : function(e){
			if( this._list_el.style.display == "none" ){
				var t = this;
				var p = { left:0, top:0 }

				{
					var o = t._element;
					while( o.offsetParent ){
						p.left   += o.offsetLeft;
						p.top    += o.offsetTop;
						o        =  o.offsetParent;
					}
				}

				this.paint();
				this._list_el.style.display = "";

				var pos_el_top;
				var pos_dm;

				pos_el_top = p.top + this._element.offsetHeight - 1;

				if( document.body.scrollHeight < document.body.offsetHeight ){
					pos_dm = document.body.offsetHeight - pos_el_top;
				} else{
					pos_dm = document.body.scrollHeight - pos_el_top;
				}

				if( pos_dm < this._list_el.offsetHeight ){
					pos_el_top = p.top - this._list_el.offsetHeight + 1;
				}

				if( this._list_el.offsetWidth < this._element.offsetWidth )
					this._list_el.style.width = this._element.offsetWidth + "px";

				with( this._list_el.style ){
					width  = this._element.offsetWidth - 2 + "px";      // 리스트 width
					top    = pos_el_top + "px";
					left   = p.left + "px";
					zIndex = 9999;
				}
			}else{
				this._list_el.style.display = "none";

				with( document ){
					try{
						detachEvent( "onmousedown", this._event_onmousedown );
					}catch(e){
						removeEventListener( "mousedown", this._event_onmousedown, false );
					}
				}
			}
			try{
				e.preventDefault();
				e.stopPropagation();
			}catch(e){
				e.returnValue = false;
				e.cancelBubble = true;
			}
		},
		onmouseup : function(){
			if( this._list_el.style.display != "none" ){
				with( document ){
					try{
						attachEvent( "onmousedown", this._event_onmousedown );
					}catch(e){
						addEventListener( "mousedown", this._event_onmousedown );
					}
				}
			}
		},
		onselect : function(e){
			var el = e.target || e.srcElement;
			var o  = this.options;
			var s  = this._source;

			s.selectedIndex = el._index;

			this._txt_el.firstChild.nodeValue = s.options[s.selectedIndex].text;
			this.onmousedown();
			if( this._source.onchange )
				this._source.onchange();
		},
		onover : function(e){
			var el = e.target || e.srcElement;
			var c  = el.parentNode.childNodes;
			var i  = el._index;
			var o = this.options;

			for( var _i = 0; _i<c.length; _i++ ){
				c[_i].style.color = o.optTxtColor;
				c[_i].style.background = o.optBgColor;
			}
			el.style.color = o.optTxtHover;
			el.style.background = o.optBgHover;
		},
		onscrollbar : function(e){
			try{
				e.preventDefault();
				e.stopPropagation();
			}catch(e){
				e.returnValue  = false;
				e.cancelBubble = true;
			}
		},
		paint : function(){
			var o = this.options;
			var s = this._source;
			var op;

			this._list_el.innerHTML = "";
			this._list_el.style.width = "";
			this._list_el.style.height = "";

			for( var i = 0; i < s.options.length; i++ ){
				( op = this._makeOption( s.options[i].value, s.options[i].text ) )._index = i;

				with( op.style ){
					padding = o.optTxtPadding;
					cursor = "pointer";
					color = ( i == this._source.selectedIndex ) ? o.optTxtHover : o.optTxtColor;
					background = ( i == this._source.selectedIndex ) ? o.optBgHover : o.optBgColor;
				}
				this._list_el.appendChild( op );
			}

			var old = this._list_el.style.display;

			this._list_el.style.display = "block";

			if( ( this._list_el.offsetHeight-2 ) > op.offsetHeight * o.listSize )
				this._list_el.style.height = op.offsetHeight*o.listSize;

			this._list_el.style.display = old;
		},
		_makeOption : function( value, text ){
			var o = WGN_SD.$c( "div" );
			var t = this;

			o._value = value;
			o.appendChild( document.createTextNode( text ) );
			o.onmouseover = function(e){
				t.onover.call( t, e || window.event )
			}
			o.onmousedown = function(e){
				t.onselect.call( t ,e || window.event )
			}

			return o;
		}
	});

	// css 상에서
	// > .png24 { tmp:expression(setPng24(this)); }
	function setPng24( obj ){
		obj.width = obj.height = "1";
		obj.className = obj.className.replace( /\bpng24\b/i, "" );
		obj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + obj.src + "',sizingMethod='image');";
		obj.src = "";
		return "";
	}

	// brand header navigation menu active
	function hNavi_active( nName, dep1 ){
		if( dep1 == null || dep1 == undefined ) return false;

		var nName = $$( "." + nName )[0]
		var dep = nName.getElementsByTagName("IMG")[dep1]

		if( dep ){
			dep.src = dep.src.substr( 0, dep.src.indexOf(".gif") ) + "on.gif";
			dep.onmouseover = "";
			dep.onmouseout  = "";
		}
	}

	// layer popup basicElle
	function view_board( obj, url ){
		var bodyHeight = document.body.offsetHeight;
		var scrollHeight = document.body.scrollHeight;
		var scrollTopWidth = document.documentElement.scrollLeft;
		var scrollTopHeight = document.documentElement.scrollTop;

		if( obj == "ETW_news" ){
			var lPopupBg_height = $$( ".ETW_sBody" )[0];

			basicElle_bd  = "";
			basicElle_bd += "<div class='ETW_news' id='ETW_news' style='display:none;'>";
			basicElle_bd += "<div class='news_wrapper'>";
			basicElle_bd += "<div class='news_title'>";
			basicElle_bd += "<h1><img src='/image/news_txt01.gif' alt='news & event' /></h1>";
			basicElle_bd += "<div class='news_close'><img src='/image/common/b_popupClose03.gif' alt='팝업창 닫기' onclick='hide_board(\"ETW_news\");' /></div>";
			basicElle_bd += "</div>";
			basicElle_bd += "<iframe class='news_contents' marginwidth='0' marginheight='0' frameborder='0' src='" + url + "'></iframe>";
			basicElle_bd += "</div>";
			basicElle_bd += "</div>";

			val = basicElle_bd;
		}

		if( !$(obj) ){
			var lPopupBg = layerPopup_bg( "ffffff", "50" );
			$$( "BODY" )[0].insert({ bottom:lPopupBg + val });
		}
		
		$( "layerPopup_wrapper" ).setStyle({
			"display" : "block",
			"height"  : lPopupBg_height.offsetHeight + "px"
		})

		$(obj).setStyle({
			"position"   : "absolute",
			"top"        : "-9999px",
			"left"       : "-9999px",
			"display"    : "block"
		})

		var objTemp_width  = $(obj).offsetWidth;
		var objTemp_height = $(obj).offsetHeight;

		$(obj).setStyle({ 
			"top"        : "50%",
			"left"       : "50%",
			"display" : "none"
		})

		var obj_marginTop;
		var obj_marginLeft;

		obj_marginTop  = -objTemp_height/2 + scrollTopHeight;
		obj_marginLeft = -objTemp_width/2 + scrollTopWidth;

		Effect.toggle( obj, 'appear', {duration:0.4}); // $( obj ).show();

		$(obj).setStyle({
			"marginTop"  : obj_marginTop + "px",
			"marginLeft" : obj_marginLeft + "px"
		})
	}

	function hide_board( obj ){
		$( "layerPopup_wrapper" ).hide();
		Effect.toggle( obj, 'appear', {duration:0.3}); // $( obj ).hide();

		setTimeout("del_board()", 500);
	}

	function del_board( obj ){
		var board = $( "layerPopup_wrapper" ).next("DIV",0);
		board.remove();
		$( "layerPopup_wrapper" ).remove();
	}

	function layerPopup_bg( color, bright ){
		var lPopupBg = "<div id='layerPopup_wrapper' style='display:none; position:absolute; top:0; left:0; z-index:2;";
			lPopupBg += " min-width:1003px; width:100%; ";
			lPopupBg += " background:#" + color + "; -moz-opacity:0." + bright + "; filter:alpha(opacity=" + bright + ");'>";
			lPopupBg += "<div style='width:1003px; height:1px; margin:0 auto;'><\/div>";
			lPopupBg += "<\/div>";

		return lPopupBg;
	}


