;(function($){$.browserTest=function(a,z){var u='unknown',x='X',m=function(r,h){for(var i=0;i<h.length;i=i+1){r=r.replace(h[i][0],h[i][1]);}return r;},c=function(i,a,b,c){var r={name:m((a.exec(i)||[u,u])[1],b)};r[r.name]=true;r.version=(c.exec(i)||[x,x,x,x])[3];if(r.name.match(/safari/)&&r.version>400){r.version='2.0';}if(r.name==='presto'){r.version=($.browser.version>9.27)?'futhark':'linear_b';}r.versionNumber=parseFloat(r.version,10)||0;r.versionX=(r.version!==x)?(r.version+'').substr(0,1):x;r.className=r.name+r.versionX;return r;};a=(a.match(/Opera|Navigator|Minefield|KHTML|Chrome/)?m(a,[[/(Firefox|MSIE|KHTML,\slike\sGecko|Konqueror)/,''],['Chrome Safari','Chrome'],['KHTML','Konqueror'],['Minefield','Firefox'],['Navigator','Netscape']]):a).toLowerCase();$.browser=$.extend((!z)?$.browser:{},c(a,/(camino|chrome|firefox|netscape|konqueror|lynx|msie|opera|safari)/,[],/(camino|chrome|firefox|netscape|netscape6|opera|version|konqueror|lynx|msie|safari)(\/|\s)([a-z0-9\.\+]*?)(\;|dev|rel|\s|$)/));$.layout=c(a,/(gecko|konqueror|msie|opera|webkit)/,[['konqueror','khtml'],['msie','trident'],['opera','presto']],/(applewebkit|rv|konqueror|msie)(\:|\/|\s)([a-z0-9\.]*?)(\;|\)|\s)/);$.os={name:(/(win|mac|linux|sunos|solaris|iphone)/.exec(navigator.platform.toLowerCase())||[u])[0].replace('sunos','solaris')};if(!z){$('html').addClass([$.os.name,$.browser.name,$.browser.className,$.layout.name,$.layout.className].join(' '));}};$.browserTest(navigator.userAgent);})(jQuery);
;(function($){$.fn.bgIframe=$.fn.bgiframe=function(s){if($.browser.msie&&/6.0/.test(navigator.userAgent)){s=$.extend({top:'auto',left:'auto',width:'auto',height:'auto',opacity:true,src:'javascript:false;'},s||{});var prop=function(n){return n&&n.constructor==Number?n+'px':n;},html='<iframe class="bgiframe"frameborder="0"tabindex="-1"src="'+s.src+'"'+'style="display:block;position:absolute;z-index:-1;'+(s.opacity!==false?'filter:Alpha(Opacity=\'0\');':'')+'top:'+(s.top=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+\'px\')':prop(s.top))+';'+'left:'+(s.left=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+\'px\')':prop(s.left))+';'+'width:'+(s.width=='auto'?'expression(this.parentNode.offsetWidth+\'px\')':prop(s.width))+';'+'height:'+(s.height=='auto'?'expression(this.parentNode.offsetHeight+\'px\')':prop(s.height))+';'+'"/>';return this.each(function(){if($('> iframe.bgiframe',this).length==0)this.insertBefore(document.createElement(html),this.firstChild);});}return this;};})(jQuery);

(function($) {

	$(function() {

		/* body addClass */
		if($.browser.name == 'msie') {
			//$('<div>'+ $.browser.className + '</div>').appendTo(document.body);
			$('body').addClass($.browser.className);
		} else {
			//$('<div>'+ $.browser.name + '</div>').appendTo(document.body);
			$('body').addClass($.browser.name);
		}

		$('a.call_link').live('click', function(ev) {
			$.ajax({
				beforeSend : function() {},
				url : $(this).attr('href'),
				success : function(data) {
					$('body').append(dataProcessing(data));
				},
				complete : function() {}
			});
			ev.preventDefault();
		});

		$('a.call_link2').live('click', function(ev) {
			layerClose();
			$.ajax({
				beforeSend : function() {},
				url : $(this).attr('href'),
				success : function(data) {
					$('body').append(dataProcessing(data));
				},
				complete : function() {}
			});
			ev.preventDefault();
		});

	});

	var $ajaxStatus = $('<div id="ajaxStatus"></div>');

	$ajaxStatus
		.bind('ajaxStart', function() {
		$('body').append($ajaxStatus);
			$ajaxStatus.css({
				'top' : ($(window).height() / 2) - ($ajaxStatus.outerHeight() / 2),
				'left' : ($(window).width() / 2) - ($ajaxStatus.outerWidth() / 2)
			});
			$(this).show();
		})
		.bind('ajaxStop', function() {
			var t = this;
			setTimeout(function() {
				$(t).hide();
			}, 1500);
		})
		.bind('ajaxSend', function(evt, xhr, ajaxOptions) {
			//alert(ajaxOptions.url);
		})
		.bind('ajaxComplete', function(evt, xhr, ajaxOptions) {
			//alert(ajaxOptions.url);
		});

	$.ajaxSetup({
		cache : true,
		dataType : 'html',
		error : function(xhr, status, error) {
			alert('An error occurred: ' + error);
		},
		timeout : 60000, // 60초
		type : 'POST',
		url : '/ko/guide/ajax-gateway.html'
	});

	/* default tab */
	$.fn.defaultTab = function(options) {
		return this.each(function() {
			options = options || {};
			var $cont = $(this);
			var parentSelecter = $cont.attr('class');
			var opts = $.extend({}, $.fn.defaultTab.defaults, options || {});
			var $eventEls = $(opts.eventEls, $cont);
			var $eventChildren = $(opts.eventChildren, $cont)
			var $ajaxTarget = $('div #' + opts.ajaxTarget);
			tabActive($eventEls.eq(opts.startTabIndex), $eventEls);
			//tabActive($eventChildren.eq(0), $eventChildren);

			if(!$cont.hasClass('aLink-undisabled')){
				$eventEls.bind('click focus', function(ev) {
					tabActive($(this), $eventEls);
					if ($eventChildren.size()) {
						var target = $(this).attr('href');
						if ($(target).find('a:first')[0]) {
							target = $(target).find('a:first');
							tabActive(target, $eventChildren);
						} else {
							tabActive(false, $eventChildren);
						}
					}
					ev.preventDefault();
				});
			}

			$eventEls.hover(
				function() {
					$(this).parent().addClass(opts.hoverClass);
				},
				function() {
					$(this).parent().removeClass(opts.hoverClass);
				}
			);

			if ($eventChildren) {
				$eventChildren.bind('focus', function(ev) {
					$parents = $(this).parents();
					$parents =  $parents.filter(function() {return $(this).attr('id')});
					$target = $('a[href*=' + $parents.eq(0).attr('id') + ']');
					tabActive($target, $eventEls);
					ev.preventDefault();
				});
			}

			function tabActive(obj, eventEls) {
				var self = obj;
				var current = $(eventEls).index($(self)[0]);
				if(!self) current = -1;
				//if ($(self).parent().hasClass(opts.tabOnClass)) return false;
				$(eventEls).each(function(n) {
					var href = $(this).attr('href');
					// URL 을 표준 링크로 만든다
					if (!$.support.herfNormalized) {
						var loc = window.location;
						href = href.replace(loc.protocol + '//' + loc.host + loc.pathname, '');
					}
					// url 과 id가 같이 존재한다.
					if (href.indexOf('#') != -1) {
						href = href.substr(href.indexOf('#'));
					};
					if(current == n) {
						$(this).parent().addClass(opts.tabOnClass);
						$(this).children('img').attr('src', function() {return this.src.replace(opts.offimg, opts.onimg);});
						$cont.find(href).removeClass(opts.hiddenClass);
						if(href.indexOf('#') == -1) {
							//$ajaxTarget.css('border', '1px solid red');
							//$ajaxTarget.empty();
							$ajaxTarget.load(href +' div');
						}
					} else {
						$(this).parent().removeClass(opts.tabOnClass);
						$(this).children('img').attr('src', function() {return this.src.replace(opts.onimg, opts.offimg);});

						$cont.find(href).addClass(opts.hiddenClass);

					}
				});

				if(opts.clickCallback) opts.clickCallback($cont);
			}

		});
	};

	$.fn.defaultTab.defaults = {
		ajaxTarget : 'AjaxContentWrap',
		eventEls : 'a',
		eventChildren : false,
		tabOnClass : 'on',
		hoverClass : 'hover',
		onimg : '_on.gif',
		offimg : '_off.gif',
		hiddenClass : 'hidden_obj',
		clickCallback : false,	//testTabFunction
		startTabIndex : 0
	}
	/*// img tab */

	$.fn.modal = function(options) {
		return this.each(function(n) {
			options = options || {};
			var $cont = $(this);
			var opts = $.extend({}, $.fn.modal.defaults, options || {});
			var $overlay;
			if (opts.modal) {
				$overlay = $('<div>');
				$overlay.addClass(opts.modal_class);
				$('body').append($overlay);
			}


			setSize();

			if($.browser.className=="msie6") {
				$("div:not(.dialog-type-A) select").hide();
			}

			function setSize() {
				var browser_width = $(window).width();
				var browser_height = $(window).height();
				var cont_width = $cont.outerWidth();
				var cont_height = $cont.outerHeight();
				var margin_top = '-' + Math.floor(cont_height /2) + 'px';
				var margin_left = '-' + Math.floor(cont_width /2) + 'px';
				var modal_width = Math.floor(browser_width) + 'px';
				var modal_height = Math.floor(browser_height) + 'px';
				var top = $(window).scrollTop() + (browser_height /2);
				var left = '50%';

				if (opts.view_port) {

					if (browser_height < opts.view_height) {
						margin_top = 0;
						top = (opts.view_height /2) - (Math.floor(cont_height /2));
						modal_height = opts.view_height;
					}

					if (browser_width < opts.view_width) {
						margin_left = 0;
						left = (opts.view_width /2) - (Math.floor(cont_width /2));
						modal_width = opts.view_width;
					}
				}

				if (opts.position_top) top = opts.position_top, margin_top = 0;
				if (opts.position_left) left = opts.position_left, margin_left = 0;

				$cont.css({'position' : 'absolute', 'z-index' : opts.z_index,'top' : top, 'left' : left, 'margin-top' : margin_top, 'margin-left' : margin_left});
				if (opts.modal) $overlay.css({'width' : modal_width, 'height' : modal_height, 'z-index' : opts.z_index - 1});
			};

			$(window).bind('resize', function() {
				if (opts.view_port) {
					setSize();
				}
			});

			$(opts.close_trigger, $cont).focus();

			if (opts.draggable) {
				$('.draggable-handle', $cont).click(function() {
					var temp = 0;
					$('div.dialog-type-A').each(function(n) {
						if ($cont.attr('id') == $(this).attr('id')) return;
						if (Number($cont.css('z-index')) <= Number($(this).css('z-index'))) {
							temp = Number($(this).css('z-index')) + 1;
							$cont.css('z-index', temp);
						};

					});
				});
				$cont.draggable({
					handle: '.draggable-handle',
					containment: '#wrapper', scroll: false
				});
			} else {
				$('.draggable-handle', $cont).css('display', 'none');
			}

			$(opts.close_trigger, $cont).live('click', function() {
				modalRemove();
			});

			function modalRemove() {
				if (opts.beforeclose) opts.beforeclose();
				$cont.remove();
				if (opts.modal) $overlay.remove();

				if ($.browser.className=="msie6") {
					$("div:not(.dialog-type-A) select").show();
				}
			}

		});
	};

	$.fn.modal.defaults = {
		beforeclose : false,
		close_trigger : '.close-btn',
		draggable : false,
		modal : false,
		modal_class : 'modal-overlay',
		position_left : false,
		position_top : false,
		view_port : true,
		view_width : 980,
		view_height : false,
		z_index : 9999

	}

	$.fn.pngFix = function(settings) {

		// Settings
		settings = $.extend({
			blankgif: 'blank.gif'
		}, settings);

		var ie55 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 5.5") != -1);
		var ie6 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 6.0") != -1);

		if ($.browser.msie && (ie55 || ie6)) {

			//fix images with png-source
			jQuery(this).find("img[src$=.png]").each(function() {

				jQuery(this).attr('width',jQuery(this).width());
				jQuery(this).attr('height',jQuery(this).height());

				var prevStyle = '';
				var strNewHTML = '';
				var imgId = (jQuery(this).attr('id')) ? 'id="' + jQuery(this).attr('id') + '" ' : '';
				var imgClass = (jQuery(this).attr('class')) ? 'class="' + jQuery(this).attr('class') + '" ' : '';
				var imgTitle = (jQuery(this).attr('title')) ? 'title="' + jQuery(this).attr('title') + '" ' : '';
				var imgAlt = (jQuery(this).attr('alt')) ? 'alt="' + jQuery(this).attr('alt') + '" ' : '';
				var imgAlign = (jQuery(this).attr('align')) ? 'float:' + jQuery(this).attr('align') + ';' : '';
				var imgHand = (jQuery(this).parent().attr('href')) ? 'cursor:hand;' : '';
				if (this.style.border) {
					prevStyle += 'border:'+this.style.border+';';
					this.style.border = '';
				}
				if (this.style.padding) {
					prevStyle += 'padding:'+this.style.padding+';';
					this.style.padding = '';
				}
				if (this.style.margin) {
					prevStyle += 'margin:'+this.style.margin+';';
					this.style.margin = '';
				}
				var imgStyle = (this.style.cssText);

				strNewHTML += '<span '+imgId+imgClass+imgTitle+imgAlt;
				strNewHTML += 'style="position:relative;white-space:pre-line;display:inline-block;background:transparent;'+imgAlign+imgHand;
				strNewHTML += 'width:' + jQuery(this).width() + 'px;' + 'height:' + jQuery(this).height() + 'px;';
				strNewHTML += 'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader' + '(src=\'' + jQuery(this).attr('src') + '\', sizingMethod=\'scale\');';
				strNewHTML += imgStyle+'"></span>';
				if (prevStyle != ''){
					strNewHTML = '<span style="position:relative;display:inline-block;'+prevStyle+imgHand+'width:' + jQuery(this).width() + 'px;' + 'height:' + jQuery(this).height() + 'px;'+'">' + strNewHTML + '</span>';
				}

				jQuery(this).hide();
				jQuery(this).after(strNewHTML);

			});

			// fix css background pngs
			jQuery(this).find("*").each(function(){
				var bgIMG = jQuery(this).css('background-image');
				if(bgIMG.indexOf(".png")!=-1){
					var iebg = bgIMG.split('url("')[1].split('")')[0];
					jQuery(this).css('background-image', 'none');
					jQuery(this).get(0).runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + iebg + "',sizingMethod='scale')";
				}
			});

			//fix input with png-source
			jQuery(this).find("input[src$=.png]").each(function() {
				var bgIMG = jQuery(this).attr('src');
				jQuery(this).get(0).runtimeStyle.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader' + '(src=\'' + bgIMG + '\', sizingMethod=\'scale\');';
			jQuery(this).attr('src', settings.blankgif)
			});

		}

		return jQuery;

	};

	$.fn.extend({
		selectbox: function(options) {
			return this.each(function() {
				new $.SelectBox(this, options);
			});
		}
	});

	$.SelectBox = function(selectobj, options) {

		var opt = options || {};
		opt.wrapClass = opt.wrapClass || "select-wrap";
		opt.inputClass = opt.inputClass || "text";
		opt.containerClass = opt.containerClass || "option-container";
		opt.hoverClass = opt.hoverClass || "current";
		opt.currentClass = opt.selectedClass || "selected";
		opt.maxHeight = opt.maxHeight || 100;
		opt.onChangeCallbak = opt.onChangeCallback || false;
		opt.onChangeParams = opt.onChangeParams || false;
		opt.debug = opt.debug || false;

		var elm_id = selectobj.id;
		var active = 0;
		var inFocus = false;
		var hasfocus = 0;
		//jquery object for select element
		var $select = $(selectobj);
		// jquery container object
		var $container = setupContainer(opt);
		//jquery input object
		var $input = setupInput(opt);
		// hide select and append newly created elements
		$select.hide();
		var $select_wrap = $('<span>');
		$select_wrap.addClass(opt.wrapClass);
		$select.before($select_wrap);
		$select_wrap.append($input).append($container);

		init();

		$input
		.click(function(){
			$container.parent().css('z-index','100');
			if (!inFocus) {
				$container.toggle();
			}
		})
		.focus(function(){
			$container.parent().css('z-index','100');
		   if ($container.not(':visible')) {
			   inFocus = true;
			   $container.show();
		   }
		})
		.keydown(function(event) {
			switch(event.keyCode) {
				case 38: // up
					event.preventDefault();
					moveSelect(-1);
					break;
				case 40: // down
					event.preventDefault();
					moveSelect(1);
					break;
				//case 9:  // tab
				case 13: // return
					event.preventDefault(); // seems not working in mac !
					$('li.'+opt.hoverClass).trigger('click');
					break;
				case 27: //escape
				  hideMe();
				  break;
			}
		})
		.blur(function() {
			if ($container.is(':visible') && hasfocus > 0 ) {
				if(opt.debug) console.log('container visible and has focus')
			} else {
			  // Workaround for ie scroll - thanks to Bernd Matzner
			  if($.browser.msie || $.browser.safari){ // check for safari too - workaround for webkit
			// IE8 getAttribute('id') error  {.getAttribute('id') => .id}
			if(document.activeElement.id.indexOf('_container')==-1){
			  hideMe();
			} else {
			  $input.focus();
			}
		  } else {
			hideMe();
			}
			}
		});


		function hideMe() {
			hasfocus = 0;
			$container.hide();
			$container.parent().css('z-index','0');
		}

		function init() {
			$container.append(getSelectOptions($input.attr('id')))
			setHeight();
			setPosition();
			$container.hide();
		}

		function setupContainer(options) {
			var container = document.createElement("div");
			$container = $(container);
			$container.attr('id', elm_id+'_container');
			$container.addClass(options.containerClass);
			$container.width($select.width());
			return $container;
		}

		function setupInput(options) {
			var input = document.createElement("input");
			var $input = $(input);
			$input.attr("id", elm_id+"_input");
			$input.attr("name", elm_id+"_name");
			$input.attr("type", "text");
			$input.addClass(options.inputClass);
			$input.attr("autocomplete", "off");
			$input.attr("readonly", "readonly");
			$input.width($select.outerWidth() - 2);
			return $input;
		}

		function moveSelect(step) {
			var lis = $("li", $container);
			if (!lis || lis.length == 0) return false;
			active += step;

			//loop through list
			if (active < 0) {
				active = lis.length - 1;
			} else if (active > lis.length - 1) {
				active = 0;
			}

			scroll(lis, active);
			lis.removeClass(opt.hoverClass);

			$(lis[active]).addClass(opt.hoverClass);
		}

		function scroll(list, active) {

			var el = $(list[active]).get(0);
			var list = $container.get(0);

			if (el.offsetTop + el.offsetHeight > list.scrollTop + list.clientHeight) {
				list.scrollTop = el.offsetTop + el.offsetHeight - list.clientHeight;
			} else if(el.offsetTop < list.scrollTop) {
				list.scrollTop = el.offsetTop;
			}

		}

		function setCurrent() {
			var li = $("li."+opt.currentClass, $container).get(0);
			var ar = (''+li.id).split('_');
			var el = ar[ar.length-1];
			// $select.val(el);
			$select.get(0).selectedIndex = $('li', $container).index(li);
			$input.val($(li).text());
			// opt.onChangeParams = { selectedVal : $select.val() };
			if (opt.onChangeCallback) opt.onChangeCallback($select);
			return true;
		}

		// select value
		function getCurrentSelected() {
			return $select.val();
		}

		// input value
		function getCurrentValue() {
			return $input.val();
		}

		function getSelectOptions(parentid) {
			var select_options = new Array();
			var ul = document.createElement('ul');
			$select.children('option').each(function() {
				var li = document.createElement('li');
				li.setAttribute('id', parentid + '_' + $(this).val());
				li.innerHTML = $(this).text();
				if ($(this).is(':selected')) {
					$input.val($(this).text());
					$(li).addClass(opt.currentClass);
				}
				ul.appendChild(li);
				$(li)
				.mouseover(function(event) {
					hasfocus = 1;
					if (opt.debug) console.log('over on : '+this.id);
					jQuery(event.target, $container).addClass(opt.hoverClass);
				})
				.mouseout(function(event) {
					hasfocus = -1;
					if (opt.debug) console.log('out on : '+this.id);
					jQuery(event.target, $container).removeClass(opt.hoverClass);
				})
				.click(function(event) {
				  var fl = $('li.'+opt.hoverClass, $container).get(0);
					if (opt.debug) console.log('click on :'+this.id);
					$('li.'+opt.currentClass).removeClass(opt.currentClass);
					$(this).addClass(opt.currentClass);
					setCurrent();
					//$select.change();
					$select.get(0).blur();
					hideMe();
				});
			});
			return ul;
		}

		function setPosition() {
			var document_height = $(document).height();
			var input_offset = $input.offset();
			var select_height = input_offset.top + $container.height();
			if(document_height >= select_height) {
				$container.css({'top':
					function() {
						return ($input.outerHeight() - 1) + 'px';
					}
				})
			} else {
				$container.css({'top':
					function() {
						return '-' + $container.height() + 'px';
					}
				})
			}
		}

		function setHeight() {
			if($container.height() > opt.maxHeight) {
				$container.height(opt.maxHeight);
			}
		}

	};

	$.fn.listElem = function(options) {
		return this.each(function(n) {
			options = options || {};

		var $cont = $(this);
		var active = 0;
		var inFocus = false;
		var hasfocus = 0;
		var opts = $.extend($.fn.listElem.defaults, options || {});
		var $showControl = $cont.find(opts.showControl);
		var $viewElem = $cont.find(opts.viewElem);

		setPosition();
		setHeight();

		$viewElem
		.attr('id', opts.viewId + '_' + n + '_container')
		.removeClass(opts.hideClass)
		.css('display', 'none');
		$showControl
		.click(function(){
			if (!inFocus) {
				$viewElem.toggle();
			}
		})
		.focus(function(){
			if ($viewElem.not(':visible')) {
				inFocus = true;
				$viewElem.show();
			}
		})
		.keydown(function(event) {
			switch(event.keyCode) {
				case 38: // up
					event.preventDefault();
					moveSelect(-1);
					$viewElem.find('a').unbind('mouseover', overActive);
					break;
				case 40: // down
					event.preventDefault();
					moveSelect(1);
					$viewElem.find('a').unbind('mouseover', overActive);
					break;
				case 9:
					hideMe();
					break;
				case 13: // return
					event.preventDefault(); // seems not working in mac !
					$viewElem.find('a.on').trigger('click');
					break;
				case 27: //escape
				  hideMe();
				  break;
			}
		})
		.blur(function() {
			if($viewElem.is(':visible') && hasfocus > 0) {

			} else {
				if($.browser.msie || $.browser.safari){ // check for safari too - workaround for webkit
					// IE8 getAttribute('id') error  {.getAttribute('id') => .id}
					if(document.activeElement.id.indexOf('_container')==-1){
						hideMe();
					} else {
						$showControl.focus();
					}
				} else {
					hideMe();
				}
			}
		});

		$viewElem.find('a')
		.mouseover(function() {
			hasfocus = 1;
		})
		.mouseout(function() {
			hasfocus = -1;
		});
		$viewElem.find('a').each(function() {
			$(this).click(function(event) {
				setAction(event);
				hideMe();
				return false;
			});
		});
		$('body').mouseover(function() {
			$viewElem.find('a').bind('mouseover', overActive);
		});

		function hideMe() {
			hasfoucs = 0;
			$viewElem.hide();
		}

		function moveSelect(step) {
			var lis = $('a', $viewElem);
			if (!lis || lis.length == 0) return false;
			active += step;
		//loop through list
			if (active < 0) {
				active = lis.size();
			} else if (active > lis.size()) {
				active = 0;
			}
			scroll(lis, active);
			lis.removeClass('on');
			$(lis[active]).addClass('on');
		}

		function scroll(list, active) {
			var el = $(list[active]).get(0);
			var list = $viewElem.get(0);
			if (el.offsetTop + el.offsetHeight > list.scrollTop + list.clientHeight) {
				list.scrollTop = el.offsetTop + el.offsetHeight - list.clientHeight;
				//alert(el.offsetTop + el.offsetHeight - list.clientHeight);
			} else if(el.offsetTop < list.scrollTop) {
				list.scrollTop = el.offsetTop;
			}
		}

		function setAction(event) {
			var elem = $('a.on', $viewElem).get(0);
			if($(elem).attr('target') == '_blank') {
				window.open(event.target);
			} else {
				location.href = event.target;
			}
			return true;
		}

		function overActive() {
			var lis = $('a', $viewElem);
			active = $(lis).index($(this));
			lis.removeClass('on');
			$(lis[active]).addClass('on');
			//return active;

		}

		function setPosition() {
			//var document_height = $(document).scrollTop() + $('body').height();
			var input_offset = $showControl.offset();
			var select_height = input_offset.top + $viewElem.find('ul').height();
			/*if($(document.body).height() >= select_height) {
				$viewElem.css({'top':
					function() {
						return ($showControl.outerHeight() - 1) + 'px';
					}
				})
			} else {
				$viewElem.css({'top':
					function() {
						return '-' + $viewElem.height() + 'px';
					}
				})
			}*/
		}

		function setHeight() {
			$viewElem.height(opts.maxHeight);
		}

	});
}

	$.fn.listElem.defaults = {
		showControl: '.checker', //show control class name
		viewElem: '.viewer', // viewer element class name
		viewId: 'viewer', //view container create id;
		hideClass: 'hidden-obj', // hidden class name str
		maxHeight: 150
	}

})(jQuery);

function dataProcessing(data) {
	data = data.replace(/<script.*>.*<\/script>/ig,""); // Remove script tags
	data = data.replace(/<\/?meta.*>/ig,""); //Remove link tags
	data = data.replace(/<\/?link.*>/ig,""); //Remove link tags
	data = data.replace(/<\/?html.*>/ig,""); //Remove html tag
	data = data.replace(/<\/?body.*>/ig,""); //Remove body tag
	data = data.replace(/<\/?head.*>/ig,""); //Remove head tag
	data = data.replace(/<\/?!doctype.*>/ig,""); //Remove doctype
	data = data.replace(/<title.*>.*<\/title>/ig,""); // Remove title tags
	return data;
}

/* alert */
function dialogAlert(msg, callbackfunc) {
	var html = [], h = -1;
	html[++h] = '<div class="alert-wrap" id="alert">';
	html[++h] = '<div class="header"></div>';
	html[++h] = '<p class="container">';
	html[++h] = msg;
	html[++h] = '<span class="btn-area">';
	if (callbackfunc) {
		html[++h] = '<a href="#none" class="beforeclose"><img src="/resources/img/alert/alert_btn_confirm.gif" alt="확인" title="" /></a>';
	}
	html[++h] = '<a href="#none" class="close-btn"><img src="/resources/img/alert/alert_btn_cancel.gif" alt="취소" title="" /></a>';
	html[++h] = '</span>';
	html[++h] = '</p>';
	html[++h] = '<div class="footer"></div>';
	html[++h] = '</div>';

	jQuery('body').append(html.join(''));
	jQuery('.alert-wrap').pngFix();
	jQuery('div.alert-wrap').modal({
		position_top : 274,
		modal_class : 'modal-overlay-alert',
		z_index : 10001,
		beforeclose : callbackfunc
	});
}

function alertCallback() {
	alert('test alert call back function');
}
function alertCallback2() {
	alert('test alert call back function2');
}
function alertTest() {
	dialogAlert('<span class="icon_a">개인정보 이용 및 활용에 대한 고객님의 동의 절차를 거치지 않으면 비교견적 산출 단계가 진행되지 않습니다.개인정보 이용 및 활용에 대한 고객님의 동의 절차를 거치지 않으면 비교견적 산출 단계가 진행되지 않습니다.개인정보 이용 및 활용에 대한 고객님의 동의 절차를 거치지 않으면 비교견적 산출 단계가 진행되지 않습니다.</span>', alertCallback2)
}
/* dialog beforeclose() */
function dialogBeforeclose() {
	alert('dialogBeforeclose');
};

/* heading tab auto height */
function thisHeight(obj) {
	var $self = obj;
	var $parent = $self.parent();
	$self.height(
		function() {
			var height = $('.on', $self).outerHeight(true) + $('.on', $self).next('div').outerHeight(true);
			//$('>div', $self).css('top', $('.on', $self).outerHeight(true));
			//alert(height);
			return height;
		}
	);
};

// table 우측 보더 삭제
function tableBorderRight(cssName) {
	var els = $('table[class*='+cssName+']');
	var index;
	var row_count;
	$(els).find('tr').children(':last-child').each(function(n) {
		if($(this).attr('rowspan') > 1) {
			row_count = $(this).attr('rowspan') + n;
			index = n;
		};
		if((n > index) && (n < row_count)) return;
		$(this).css('border-right', 'none');
	});
}
// 암시적 레이블 방식 명시적으로 적용
function explicitLabel(cssName, margin) {
	$('label[class*='+cssName+']').css('padding-left', function() {return $(this).next().outerWidth(true)});
	$('input[class*='+cssName+']').css({
		'margin-left' : function() {
			return -$(this).prev().outerWidth(true)
		},
		'margin-right' : function() {
			if (margin) {
				return $(this).prev().width() + margin;
			} else {
				return $(this).prev().width();
			}
		}
	});
}

function activeHoverClass(selecter, className) {
	$('.' + selecter).hover(
		function() {
			$(this).addClass(className);
		},
		function() {
			$(this).removeClass(className);
		}
	);
}

//아이프레임 리사이즈
function autoResizeIframe(iframe) {
	var iframe = iframe;
	var iframe_height = iframe.contentWindow.document.body.scrollHeight;
	iframe.style.height = iframe_height + 'px';
}

function extensionBox(selecter) {
	cont = jQuery(selecter);
	jQuery(cont).addClass('extension-box');
	jQuery(cont)
		.append('<div class="resizable-s">')
			.children('div.resizable-s')
			.width(function() {return jQuery(this).width() - 20})
			.css('margin-left', '20px')
		.end()
		.append('<div class="resizable-w">')
			.children('div.resizable-w').height(function() {return jQuery(cont).height() - 20})
		.end()
		.append('<div class="resizable-ws">');
}

/* snb */
function NavMenuSnb(el){
	$snb_container = $(el);
	$snb_sub = $snb_container.find(">ul>li.active>ul");
	$snb_sub_active = $snb_container.find(">ul>li>ul>li.active");
	$snb_container.find("li.active").find("img").each(function(){
		$(this).attr("src",$(this).attr("src").replace(".gif","_on.gif"));
	});

	$snb_sub_active.parent()
		.siblings("a").find("img").attr("src",function(){return $(this).attr("src").replace(".gif","_on.gif");})
		.end()
		.parent().addClass("active");

	$snb_sub.show();
	$snb_sub_active.parent().show();

	$snb_container.find(">ul>li>a").click(function(){
		$(this).parent().find("ul").slideDown();
	});
}

/*lnb*/
var $menuTimer;
var $lnb_container;

function NavMenuLnb(el){
	$lnb_container = $(el);
	$lnb_menu = $lnb_container.find(">ul>li>a");
	$lnb_menu_sub = $lnb_container.find(">ul>li>ul>li>a");
	$lnb_active = $lnb_container.find(">ul>li>ul>li.active");

	//서브페이지 선택페이지에 해당하는 over 효과
	$lnb_active
			.find(">a>img").attr("src",function(){return $(this).attr("src").replace(".gif","_on.gif");})
			.end()
			.parent().fadeIn(100)
			.end()
			.parent().parent().find(">a>img").attr("src",function(){return $(this).attr("src").replace(".gif","_on.gif");});

	//1차메뉴 오버시 하위 2차메뉴 display
	$lnb_menu.bind('hover mouseover', function(){
		$lnb_container.find(">ul>li>ul").hide();
		$(this).siblings("ul").show();
		clearTimeout($menuTimer); 
	});

	//1차메뉴 오버시 이미지on처리
	if($lnb_active.length<1){
		$lnb_menu.bind('hover mouseover', function(){
			$lnb_menu.find(">img").attr("src",function(){return $(this).attr("src").replace("_on.gif",".gif");});
			$(this).find(">img").attr("src",function(){return $(this).attr("src").replace(".gif","_on.gif");});
		});
	}else{
		$lnb_active.parent().parent().siblings("li").find(">a").bind('hover mouseover', function(){
			$lnb_active.parent().parent().siblings("li").find(">a>img").attr("src",function(){return $(this).attr("src").replace("_on.gif",".gif");});
			$(this).find(">img").attr("src",function(){return $(this).attr("src").replace(".gif","_on.gif");});
		});
	}

	//1차메뉴 아웃시 현재페이지 해당 메뉴 display
	$lnb_menu.bind('blur mouseout',function(){
		timerOn();
	});

	//2차메뉴 오버시 이미지on처리
	$lnb_menu_sub.bind('hover mouseover',function(){
		$lnb_container.find(">ul>li>ul>li:not(.active)>a").find("img").attr("src",function(){return $(this).attr("src").replace("_on.gif",".gif");});
		if($(this).parent().attr("class").indexOf("active")) $(this).find("img").attr("src",function(){return $(this).attr("src").replace(".gif","_on.gif");});
		clearTimeout($menuTimer);
	});

	//2차메뉴 아웃시 이미지 off처리 && 현재페이지 해당 메뉴 display
	$lnb_menu_sub.bind('blur mouseout',function(){
		$lnb_container.find(">ul>li>ul>li:not(.active)>a").find("img").attr("src",function(){return $(this).attr("src").replace("_on.gif",".gif");});
		if($(this).parent().parent().find("li.active").length<1) timerOn();
	});
}

function timerOn(){
	clearTimeout($menuTimer);
	$menuTimer = setTimeout("timerSet()",500);
}

function timerSet(){
	clearTimeout($menuTimer);
	$lnb_container.find(">ul>li>ul").fadeOut(100);
	$lnb_container.find(">ul>li>ul>li.active").parent().fadeIn(100);

	if($lnb_container.find("li.active").length>0){
		$lnb_container.find(">ul>li>ul>li.active").parent().parent().siblings("li").find(">a>img").attr("src",function(){return $(this).attr("src").replace("_on.gif",".gif");});
	}else{
		$lnb_container.find(">ul>li>a>img").attr("src",function(){return $(this).attr("src").replace("_on.gif",".gif");});
	}
}

function testSelect(a,b){
	alert("select box onchange event!!");
}
