;(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();
		});

	});

	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);

			if(opts.hoverClass){
				$eventEls.hover(
					function() {
						$cont.find($(this).parent().attr("tagName")).removeClass(opts.hoverClass);
						$(this).parent().addClass(opts.hoverClass);
					}
				);
			}else{
				tabActive($eventEls.eq(0), $eventEls);
				//tabActive($eventChildren.eq(0), $eventChildren);
			}

			$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();
			});

			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, '');
					}
					
					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',
		onimg : '_on.gif',
		offimg : '_off.gif',
		hiddenClass : 'hidden-obj',
		clickCallback : false	//testTabFunction
	}
	/*// 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();

			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 = '50%';
				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 tmp = 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'))) {
							tmp = Number($(this).css('z-index')) + 1;
							$cont.css('z-index', tmp);
						};
						
					});
				});
				$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();
			}

		});
	};

	$.fn.modal.defaults = {
		beforeclose : false,
		close_trigger : '.btn-close',
		draggable : false,
		modal : false,
		modal_class : 'modal-overlay',
		position_left : false,
		position_top : false,
		view_port : true,
		view_width : 960,
		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;

	};

})(jQuery);

function navMenuInt(page_code) {
	if (!page_code) {
		var loc = window.location.href;
		if (loc.indexOf('page_code') === -1) return;
		tmp_str = loc.match(/page_code\=\d+/)[0];
		page_code = tmp_str.replace(/page_code=/, '');
	}
	
	if (page_code == 'all') return;
	
	var lnb = jQuery('#navLnb a');
	var snb = jQuery('#navSnb>li');
	var visualimg = jQuery('.fixed-visual img');
	var page_code_old = page_code;
	var page_code = [Number(page_code.substr(0, 2)), Number(page_code.substr(2, 2)), Number(page_code.substr(4, 2))];
	page_code = jQuery.map(page_code, function(value, i) {
		if(value > 0) return value;
	});
	var on_class = 'on';
	var active_class = 'state-active';
	var hidden_class = 'display-none';

	visualimg.attr("src",visualimg.attr("src").replace("/guide/fixed_visual.jpg","/common/fixed_visual"+page_code[0]+".jpg"));

	jQuery(lnb).eq(page_code[0] - 1)
		.addClass(on_class)
		.children().addClass(active_class);

	jQuery(snb).eq(page_code[0] - 1)
		.siblings()
		.removeClass(active_class)
		.addClass(hidden_class)
	.end()
	.removeClass(hidden_class)
	.addClass(active_class)

	/*
		.find('>ul>li').eq(page_code[1] - 1)
			.siblings()
			.removeClass(active_class)
				.find('>ul')
				.addClass(hidden_class)
			.end()
		.end()
		.addClass(active_class)
			.find('>ul')
			.removeClass(hidden_class)
				.find('>li').eq(page_code[2] - 1)
					.siblings()
					.removeClass(active_class)
				.end()
				.addClass(active_class);
	*/
	.find('>ul>li>a').each(function() {
		var this_tmp_str = $(this).attr('href').match(/page_code\=\d+/)[0];
		var this_page_code = this_tmp_str.replace(/page_code=/, '');
		if(this_page_code.substr(0,4)==page_code_old.substr(0,4)){
			$(this).parent().siblings()
				.removeClass(active_class)
				.find('>ul')
				.addClass(hidden_class)
			.end()
			$(this).parent().addClass(active_class)

			$(this).parent().find('>ul>li>a').each(function() {
				var this_tmp_str2 = $(this).attr('href').match(/page_code\=\d+/)[0];
				var this_page_code2 = this_tmp_str2.replace(/page_code=/, '');
				if(this_page_code2.substr(0,6)==page_code_old.substr(0,6)){
					$(this).parent().addClass(active_class)
				}
			});
		}
	});
}

function highlightLnb(ev) {
	jQuery(this)
		.children()
			.fadeIn('slow')
			.addClass('state-active');
};

function highlightOutLnb(ev) {
	jQuery(this)
		.children()
			.removeClass('state-active')
			.end();
};

function highlightSnb(ev) {
	if (jQuery(this).next().is('ul')) {
		ev.preventDefault();
	} else {
		return;
	}
	var cont = jQuery(this).parent();
	if (!jQuery(cont).hasClass('state-active')) {
		jQuery(cont).children('ul')
			//.stop()
			.slideToggle(200);
	}
};

function debug(c) {
	jQuery('body').append('<div id="#debbug">');
	jQuery('#debbug').text(c);
}

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="btn_close"><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');
};
/* dialog style */
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">');
}

/* heading tab auto height */
function thisHeight(obj) {
	var $self = obj;
	var parent = $self.parent();
	$(parent).height(
		function() {
			var height = $self.outerHeight(true) + $('h3.on', $self).next().outerHeight(true);
			$('>div', $self).css('top', $self.outerHeight(true));
			return height;
		}
	);
};

/*
 * jQuery selectbox plugin
 *
 * Copyright (c) 2007 Sadri Sahraoui (brainfault.com)
 * Licensed under the GPL license and MIT:
 *   http://www.opensource.org/licenses/GPL-license.php
 *   http://www.opensource.org/licenses/mit-license.php
 *
 * The code is inspired from Autocomplete plugin (http://www.dyve.net/jquery/?autocomplete)
 *
 * Revision: $Id$
 * Version: 0.6
 *
 * Changelog :
 *  Version 0.6
 *  - Fix IE scrolling problem
 *  Version 0.5
 *  - separate css style for current selected element and hover element which solve the highlight issue
 *  Version 0.4
 *  - Fix width when the select is in a hidden div   @Pawel Maziarz
 *  - Add a unique id for generated li to avoid conflict with other selects and empty values @Pawel Maziarz
 */

jQuery.fn.extend({
	selectbox: function(options) {
		return this.each(function() {
			new jQuery.SelectBox(this, options);
		});
	}
});


/* pawel maziarz: work around for ie logging */
if (!window.console) {
	var console = {
		log: function(msg) {
	 }
	}
}
/* */
jQuery.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 || 150;
	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 = $('<div>');
	$select_wrap.addClass(options.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.width());
		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.size();
		} else if (active > lis.size()) {
			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() > options.maxHeight) {
			$container.height(options.maxHeight);
		}
	}

};

/* select axax */
function addSelect(selectId, selectData, callback) {
	var selectId = selectId;
	var selectData = selectData;
	$(selectId + '_input').remove();
	$(selectId + '_container').remove();
	$(selectId).empty();
	$(selectId).append(selectData);
	$(selectId).selectbox({
		onChangeCallback : callback
	});
}

/* select callback test */
	function testSelect(args) {
		alert($(args).val());
		/*
		$els = $(args);
		if ($els.val() == 'all') {
			//alert($els.val());
			addSelect('#categorySearch2', '<option>대분류1</option><option>대분류2</option><option>대분류3</option><option>대분류4</option>');
		}
		if ($els.val() == 'subject') {
			addSelect('#categorySearch2', '<option>제목1</option><option>제목2</option><option>제목3</option><option>제목4</option>');
		}
		if ($els.val() == 'write') {
			addSelect('#categorySearch2', '<option>작성자1</option><option>작성자2</option><option>작성자3</option><option>작성자4</option>');
		}
		*/
	}

function formTextActivated(){
	$(".textarea")
		.focus(function(){ $(this).removeClass("on");})
		.blur(function(){if(!$(this).attr("value")) $(this).addClass("on");});

	$("input.value")
		.focus(function(){ $(this).removeClass("value"); $(this).attr("value","");})
		.blur(function(){if(!$(this).attr("value")){ $(this).addClass("value"); $(this).attr("value","Search");}});
}

function setCookie( name, value, expiredays ){
	var todayDate = new Date();
		todayDate.setDate( todayDate.getDate() + expiredays );
		document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";";
}

function getCookie(name) {
	var nameStr = name + "=" ;
	var nameLen = nameStr.length;
	var cookieLen = document.cookie.length;  //쿠기값이 없을시 기본적으로 45이다.  document.cookie.length >= 45
	var i = 0;
	while( i < cookieLen ) {
		var j = i + nameLen;
		if ( document.cookie.substring(i, j) == nameStr ) {
			var end = document.cookie.indexOf(";", j); // ;의 위치
			if( end == -1) end = document.cookie.length;
			return unescape( document.cookie.substring(j, end) ); //쿠키값 반환
		}

		i = document.cookie.indexOf(" ", i) + 1;
		if ( i == 0) {
			break;
		}
	}
}

function dialog_closeWin(cName){
	if ($("#dialogchk").attr("checked") == true){
		setCookie( cName, "done" , 1 );
		$("#openDialogA").remove();
	}
}

function getPosition(docwith){
	var vSize = document.body.clientWidth;

		if(vSize>docwith) var dialog_left = (vSize-docwith)/2;
		else var dialog_left=0;

		if($.browser.name=="msie6" || $.browser.name=="msie7") dialog_left -=3;
		return dialog_left;
}
