// 유틸리티
var drag_user_public_key = 0;
var messagebox_blind_key = 0;
var dialog_messagebox_key = 0;
var dialog_userinfo_key = 0;
var drag_messagebox_id="";
var drag_messagebox_name="";

function lg(v_s) {
	var l_ret=lang[v_s];
	if((l_ret==null)|(l_ret=="")){l_ret=v_s;}
 	return l_ret;
};

function _esc(v_s) {
	return window.encodeURIComponent?encodeURIComponent(v_s):escape(v_s);
};

function _unesc(v_s) {
	return window.decodeURIComponent?decodeURIComponent(v_s):unescape(v_s);
};

function checkLength(o,n,min,max) {
	if( o.val().length > max || o.val().length < min ) {
		alert(String.format(lg("CHECKLENGTH_MSG"), n, min, max));
		o.focus();
		return false;
	} else {
		return true;
	}
};

function textToHtml(v_s)
{
	v_s=v_s.replace(/\&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/  /g,"&nbsp; ").replace(/\r/g,"");
	v_s=($.browser.msie)?v_s.replace(/\n/g,"<BR>"):v_s.replace(/\n/g,"<br>");
	return v_s;
};

function htmlToText(v_s)
{
	v_s=v_s.replace(/\&amp;/g,"&").replace(/\&lt;/g,"<").replace(/&gt;/g,">").replace(/\&nbsp;/g," ").replace(/<BR>/g,"\r\n").replace(/<br>/g,"\r\n").replace(/\&quot;/g,"\"");
	return v_s;
};

function textToXml(v_s)
{
	var l_xml;
	if(document.implementation.createDocument)
	{
		var parser=new DOMParser();
		l_xml=parser.parseFromString(v_s, "text/xml");
	}
	else if(window.ActiveXObject)
	{
		l_xml=new ActiveXObject("Microsoft.XMLDOM");
		l_xml.async="false";
		l_xml.loadXML(v_s);
	}
	return l_xml;
};

function link(u,n) {
	if(n) {
		window.open(u);
	} else {
		window.location=u;
	}
	return false;
};

function getCookie(name) {
	var nameOfCookie = name + "=";
	var x = 0;
	while(x <= document.cookie.length ) {
		var y = (x+nameOfCookie.length);
		if(document.cookie.substring(x,y) == nameOfCookie ) {
			if((endOfCookie=document.cookie.indexOf( ";", y )) == -1) endOfCookie = document.cookie.length;
			return unescape( document.cookie.substring( y, endOfCookie ) );
		}
		x = document.cookie.indexOf(" ", x) + 1;
		if(x == 0) break;
	}
	return "";
};

function setCookie(name, value, expiredays) {
	var todayDate = new Date();
	todayDate.setDate( todayDate.getDate() + expiredays );
	document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";";
};

function CreateBookmarkLink(title,url) {
    //FF
    if (window.sidebar) {
        window.sidebar.addPanel(title,url,"");
    }
    //IE
    else if( window.external ) {
        window.external.AddFavorite(url,title);
    }
    //Opera
    else if(window.opera && window.print) {
        return true;
    }
};

function startPage(Obj,urlStr){
    if (document.all && window.external){
        Obj.style.behavior='url(#default#homepage)';
        Obj.setHomePage(urlStr);
    } else {

    }
};

/* 주민번호 유효성 체크 시작 */
function isValidJuminNo(juminno) {
	if(juminno=="" || juminno==null || juminno.length!=13) {
		alert("주민등록번호를 적어주세요.");
		return false;
	}

	var jumin1 = juminno.substr(0,6);
	var jumin2 = juminno.substr(6,7);
	var yy     = jumin1.substr(0,2);        // 년도
	var mm     = jumin1.substr(2,2);        // 월
	var dd     = jumin1.substr(4,2);        // 일
	var genda  = jumin2.substr(0,1);        // 성별
	var msg, ss, cc;

	// 숫자가 아닌 것을 입력한 경우
	if (!isNumeric(jumin1)) {
		alert("주민등록번호 앞자리를 숫자로 입력하세요.");
		return false;
	}

	// 길이가 6이 아닌 경우
	if (jumin1.length != 6) {
		alert("주민등록번호 앞자리를 다시 입력하세요.");
		return false;
	}

	// 첫번째 자료에서 연월일(YYMMDD) 형식 중 기본 구성 검사
	if (yy < "00"
      || yy > "99"
      || mm < "01"
      || mm > "12"
      || dd < "01"
      || dd > "31") {
		alert("주민등록번호 앞자리를 다시 입력하세요.");
		return false;
	}

	// 숫자가 아닌 것을 입력한 경우
	if (!isNumeric(jumin2)) {
		alert("주민등록번호 뒷자리를 숫자로 입력하세요.");
		return false;
	}

	// 길이가 7이 아닌 경우
	if (jumin2.length != 7) {
		alert("주민등록번호 뒷자리를 다시 입력하세요.");
		return false;
	}

	// 성별부분이 1 ~ 4 가 아닌 경우
	if (genda < "1" || genda > "4") {
		alert("주민등록번호 뒷자리를 다시 입력하세요.");
		return false;
	}

	// 연도 계산 - 1 또는 2: 1900년대, 3 또는 4: 2000년대
	cc = (genda == "1" || genda == "2") ? "19" : "20";

	// Check Digit 검사
	if (!isSSN(jumin1, jumin2)) {
		alert("입력한 주민등록번호를 검토한 후, 다시 입력하세요.");
		return false;
	}

	return true;
};

function isNumeric(s) {
	for (i=0; i<s.length; i++) {
		c = s.substr(i, 1);
		if (c < "0" || c > "9") return false;
	}
	return true;
};

function isSSN(s1, s2) {
	n = 2;
	sum = 0;
	for (i=0; i<s1.length; i++)
		sum += parseInt(s1.substr(i, 1)) * n++;
	for (i=0; i<s2.length-1; i++) {
		sum += parseInt(s2.substr(i, 1)) * n++;
		if (n == 10) n = 2;
	}

	c = 11 - sum % 11;
	if (c == 11) c = 1;
	if (c == 10) c = 0;
	if (c != parseInt(s2.substr(6, 1))) return false;
	else return true;
};
/* 주민번호 유효성 체크 끝 */

/* 입력값이 NULL인지 체크 */
function isNull(s) {
	if(s == null || s == "") {
        return true;
    }
    return false;
};

/* 입력값에 스페이스 이외의 의미있는 값이 있는지 체크 */
function isEmpty(s) {
    if (s == null || s.replace(/ /gi,"") == "") {
        return true;
    }
    return false;
};

/* 입력값에 특정 문자(chars)가 있는지 체크 */
function containsChars(s,chars) {
    for (var inx = 0; inx < s.length; inx++) {
       if (chars.indexOf(s.charAt(inx)) != -1)
           return true;
    }
    return false;
};

/* 입력값이 특정 문자(chars)만으로 되어있는지 체크 */
function containsCharsOnly(s,chars) {
    for (var inx = 0; inx < s.length; inx++) {
       if (chars.indexOf(s.charAt(inx)) == -1)
           return false;
    }
    return true;
};

/* 입력값이 알파벳인지 체크 */
function isAlphabet(s) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    return containsCharsOnly(s,chars);
};

/* 입력값이 알파벳 대문자인지 체크 */
function isUpperCase(s) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    return containsCharsOnly(s,chars);
};

/* 입력값이 알파벳 소문자인지 체크 */
function isLowerCase(s) {
    var chars = "abcdefghijklmnopqrstuvwxyz";
    return containsCharsOnly(s,chars);
};

/* 입력값에 숫자만 있는지 체크 */
function isNumber(s) {
    var chars = "0123456789";
    return containsCharsOnly(s,chars);
};

/* 입력값이 알파벳,숫자로 되어있는지 체크 */
function isAlphaNum(s) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    return containsCharsOnly(s,chars);
};

/* 입력값이 숫자,대시(-)로 되어있는지 체크 */
function isNumDash(s) {
    var chars = "-0123456789";
    return containsCharsOnly(s,chars);
};

/* 입력값이 숫자,콤마(,)로 되어있는지 체크 */
function isNumComma(s) {
    var chars = ",0123456789";
    return containsCharsOnly(s,chars);
};

/* 입력값이 숫자,도트(.)로 되어있는지 체크 */
function isNumDot(s) {
    var chars = ".0123456789";
    return containsCharsOnly(s,chars);
};

/* 입력값이 사용자가 정의한 포맷 형식인지 체크 */
function isValidFormat(s,format) {
    if (s.search(format) != -1) {
        return true; //올바른 포맷 형식
    }
    return false;
};

/* 입력값이 이메일 형식인지 체크 */
function isValidEmail(s) {
	var check1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/;
    var check2 = /^[a-zA-Z0-9\-\.\_]+\@[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4})$/;

    if ( !check1.test(s) && check2.test(s) ) {
        return true;
    } else {
        return false;
    }

    // var format = /^((\w[\-\.])+)@((\w[\-\.])+)\.([A-Za-z]+)$/;
    // return isValidFormat(s,format);
};

/* 입력값이 전화번호 형식(숫자-숫자-숫자)인지 체크 */
function isValidPhone(s) {
    var format = /^(\d+)-(\d+)-(\d+)$/;
    return isValidFormat(s,format);
};

/* 입력값의 바이트 길이를 리턴 */
function getByteLength(s) {
    var byteLength = 0;
    for (var inx = 0; inx < s.length; inx++) {
        var oneChar = escape(s.charAt(inx));
        if ( oneChar.length == 1 ) {
            byteLength ++;
        } else if (oneChar.indexOf("%u") != -1) {
            byteLength += 2;
        } else if (oneChar.indexOf("%") != -1) {
            byteLength += oneChar.length/3;
        }
    }
    return byteLength;
};

/* 입력값에서 콤마를 없앤다. */
function removeComma(s) {
    return s.replace(/,/gi,"");
};

//숫자에서 콤마를 빼고 반환.
function rtnnumber(n){
 n=n.replace(/,/g,"");
 if(isNaN(n)){return 0;} else{return n;}
}

// 숫자를 변환..
function addComma(n) {
 if(isNaN(n)){return 0;}
  var reg = /(^[+-]?\d+)(\d{3})/;  
  n += '';
  while (reg.test(n))
    n = n.replace(reg, '$1' + ',' + '$2');
  return n;
}

jQuery.fn.highlight = function (text, o) {
	return this.each( function(){
		var replace = o || '<span class="highlight">$1</span>';
		$(this).html( html.replace( new RegExp('('+text+'(?![\\w\\s?&.\\/;#~%"=-]*>))', "ig"), replace) );
    });
};

jQuery.fn.autolink = function () {
	return this.each( function(){
		var re = /((http|https|ftp):\/\/[\w?=&.\/-;#~%-]+(?![\w\s?&.\/;#~%"=-]*>))/g;
		$(this).html( $(this).html().replace(re, '<a href="$1">$1</a>') );
	});
};

jQuery.fn.mailto = function () {
	return this.each( function() {
		var re = /(([a-z0-9*._+]){1,}\@(([a-z0-9]+[-]?){1,}[a-z0-9]+\.){1,}([a-z]{2,4}|museum)(?![\w\s?&.\/;#~%"=-]*>))/g;
		$(this).html( $(this).html().replace( re, '<a href="mailto:$1";>$1</a>') );
	});
};

String.format = function () {
    return String._toFormattedString(false, arguments)
};

String._toFormattedString = function (A, C) {
    var J = "",
        H = C[0];
    for (var L = 0; true;) {
        var G = H.indexOf("{", L),
            I = H.indexOf("}", L);
        if (G < 0 && I < 0) {
            J += H.slice(L);
            break
        }
        if (I > 0 && (I < G || G < 0)) {
            J += H.slice(L, I + 1);
            L = I + 2;
            continue
        }
        J += H.slice(L, G);
        L = G + 1;
        if (H.charAt(L) === "{") {
            J += "{";
            L++;
            continue
        }
        if (I < 0) {
            break
        }
        var E = H.substring(L, I),
            F = E.indexOf(":"),
            B = parseInt(F < 0 ? E : E.substring(0, F)) + 1,
            D = F < 0 ? "" : E.substring(F + 1),
            K = C[B];
        if (typeof K === "undefined" || K === null) {
            K = ""
        }
        if (K.toFormattedString) {
            J += K.toFormattedString(D)
        } else {
            if (A && K.localeFormat) {
                J += K.localeFormat(D)
            } else {
                if (K.format) {
                    J += K.format(D)
                } else {
                    J += K.toString()
                }
            }
        }
        L = I + 1
    }
    return J
};

function setLanguage(s) {
	if(s==null) s="en_US";
	$.post("/?act=setLanguage", {"user_lang":s}, function(text){
		var data = eval("(" + text + ")");
		if(data.is_error==0) {
			window.location.reload(true);
		}
	});
};

function viewPC(s,p) {
	if(s==null) s="1";
	$.post("/?act=setMobile", {"view_pc":s}, function(text){
		var data = eval("(" + text + ")");
		if(data.is_error==0) {
			if(p==null) {
				window.location.reload(true);
			} else {
				window.open("/?pid="+p);
			}
		}
	});
};

function getLocation() {
	if(navigator.geolocation) {
		navigator.geolocation.getCurrentPosition(successCallback, errorCallback,
				{
					enableHighAccuracy: true,
					timeout: 50000,
					maximumAge: 0
				}
		);
	} else {
		//do something when geolocation is not supported
	}
}

function setGeolocation() {
	if(navigator.geolocation) {
		navigator.geolocation.getCurrentPosition(
				function (position) { 
					$.post("/?act=setGeoLocation", {"init_lat":position.coords.latitude,"init_lng":position.coords.longitude}, function(text){
						var data = eval("(" + text + ")");
						if(data.is_error==0) {
						}
					});
				},
				function (error) {
	 				switch(error.code) 
	 				{
	       				case error.TIMEOUT:
	 						alert ('Timeout');
	 						break;
	 					case error.POSITION_UNAVAILABLE:
	 						alert ('Position unavailable');
	 						break;
	 					case error.PERMISSION_DENIED:
	 						alert ('Permission denied');
	 						break;
	 					case error.UNKNOWN_ERROR:
	 						alert ('Unknown error');
	 						break;
	 				}
				}
		);  
	}
};

jQuery.fn.highlight = function (text, o) {
	return this.each( function(){
		var replace = o || '<span class="highlight">$1</span>';
		$(this).html( $(this).html().replace( new RegExp('('+text+'(?![\\w\\s?&.\\/;#~%"=-]*>))', "ig"), replace) );
	});
};

jQuery.fn.autolink = function () {
	return this.each( function(){
		var re = /((http|https|ftp):\/\/[\w?=&.\/-;#~%-]+(?![\w\s?&.\/;#~%"=-]*>))/g;
		$(this).html( $(this).html().replace(re, '<a href="$1">$1</a> ') );
	});
};

jQuery.fn.mailto = function () {
	return this.each( function() {
		var re = /(([a-z0-9*._+]){1,}\@(([a-z0-9]+[-]?){1,}[a-z0-9]+\.){1,}([a-z]{2,4}|museum)(?![\w\s?&.\/;#~%"=-]*>))/g
		$(this).html( $(this).html().replace( re, '<a href="mailto:$1">$1</a>' ) );
	});
};

jQuery.fn.extend({
	slideRightShow: function() {
		return this.each(function() {
			$(this).show('slide', {direction: 'right'}, "fast");
		});
	},
	slideLeftHide: function() {
		return this.each(function() {
			$(this).hide('slide', {direction: 'left'}, "fast");
		});
	},
	slideRightHide: function() {
		return this.each(function() {
			$(this).hide('slide', {direction: 'right'}, "fast");
		});
	},
	slideLeftShow: function() {
		return this.each(function() {
			$(this).show('slide', {direction: 'left'}, "fast");
		});
	}
});

jQuery.fn.scrollableAddClones = function(addItems) {
  // grab scrollable plugin
  var scrollable;
  if (!(scrollable = $(this).data('scrollable')) || !scrollable.getConf().circular)
    return;
  // grab scrollable elements and remember it's count
  var nodes = scrollable.getItems();
  var length = nodes.length;
  // grab class for the nodes
  var clonedClass = scrollable.getConf().clonedClass;
  // get wrap object to append the clones to
  var wrap = scrollable.getItemWrap();
  // fill as much nodes as needed for 500 pixels
  if (!addItems) addItems = Math.ceil(500 / nodes.eq(1).width());
  // create fake container to add the clones to (max 15 clones)
  var newNodesAppend = $('<span />');
  for (var i = 1; i <= (addItems < 15 ? addItems : 15); i++)
    nodes.eq(i % length).clone().addClass(clonedClass).appendTo(newNodesAppend);
  // insert HTML
  newNodesAppend.children().appendTo(wrap);
};

String.prototype.replaceAll = function( searchStr, replaceStr ){  
	var temp = this;  
	while( temp.indexOf( searchStr ) != -1 ) {  
		temp = temp.replace( searchStr, replaceStr );  
	}  
	return temp;  
}; 

// 필수변수
var sid="0";
var pid="0";
var user_id="0";
var locale="en";
var drag_module="";

$(document).ready(function(){
	$.fn.increaseFontsize = function(size, speed, easing, callback) {
		return this.animate({fontSize: size}, speed, easing, callback);
	};

	$.ctrl = function(key, callback, args) {
		$(document).keydown(function(e) {
			if(!args) args=[]; // IE barks when args is null
			if(e.keyCode == key.charCodeAt(0) && e.ctrlKey) {
				callback.apply(this, args);
				return false;
			}
		});
	};

	if($.browser.msie && $.browser.version=="6.0") {
		if(getCookie("explorerchk") != "done") {
			setCookie("explorerchk","done",1);
			if(confirm("이 홈페이지는 익스플로러6을 지원하지 않습니다.\n익스플로러8 또는 파이어폭스3 이상을 사용해주시기 바랍니다.\n익스플로러8을 설치하시겠습니까?")) {
				window.location="http://campaign.naver.com/goodbye-ie6";
			}
		}
	}
	
	var dh = $(window).height();
	var dw = $(window).width();

	if(dw>dh) {
		// Landscape
		$("html").removeClass("drag_portrait");
		$("html").addClass("drag_landscape");
	} else {
		// Portrait
		$("html").removeClass("drag_landscape");
		$("html").addClass("drag_portrait");
	}
	
	$(window).resize( function(){
		var height = $(window).height();
		var width = $(window).width();

		if(width>height) {
			// Landscape
			$("html").removeClass("drag_portrait");
			$("html").addClass("drag_landscape");
		} else {
			// Portrait
			$("html").removeClass("drag_landscape");
			$("html").addClass("drag_portrait");
		}
	});	

	// 소셜 로그인
	$("#drag_social_twitter").live("click",function(){
		jQuery.socialLogin("twitter");
	});

	$("#drag_social_me2day").live("click",function(){
		jQuery.socialLogin("me2day");
	});

	$("#drag_social_yozm").live("click",function(){
		jQuery.socialLogin("yozm");
	});

	$("#drag_social_facebook").live("click",function(){
		jQuery.socialLogin("facebook");
	});
	
	// 정보공개
	$(".drag_user_public").live("click",function(e) {
		if(drag_user_public_key==0) {
			var l_s="<div id='popup_user_area'></div>";	
			$("body").append(l_s);
		}
		
		if($("#popup_user_area").is(":hidden")) {
			var public_id=$(this).attr("rel");
			$.post("/?act=getUserPublic", {"public_id":public_id}, function(text){
				var data = eval("(" + text + ")");
				if(data.is_error==0) {
					drag_messagebox_id=data.messagebox_id;
					drag_messagebox_name=data.messagebox_name;
					
					var l_s="<ul>";
					if(data.allow_message=="1") l_s+='<li class="message"><a href="javascript:void(0);" rel="'+public_id+'">'+lg("Send Message")+'</a></li>';
					if(data.homepage!="") l_s+='<li class="homepage"><a href="http://'+data.homepage+'" target="_blank">'+lg("Homepage")+'</a></li>';
					if(data.blog!="") l_s+='<li class="blog"><a href="http://'+data.blog+'" target="_blank">'+lg("Blog")+'</a></li>';
					if(data.twitter_id!="") l_s+='<li class="twitter"><a href="http://twitter.com/'+data.twitter_id+'" target="_blank">'+lg("Twitter")+'</a></li>';
					if(data.facebook_id!="") l_s+='<li class="facebook"><a href="http://www.facebook.com/'+data.facebook_id+'" target="_blank">'+lg("Facebook")+'</a></li>';
					if(data.email!="") l_s+='<li class="email"><a href="mailto:'+data.email+'">'+lg("Email")+'</a></li>';
					//l_s+='<li class="view_user_info"><a href="javascript:void(0);" rel="'+public_id+'">'+lg("View_User_Info")+'</a></li>';
					
					// 게시판 모듈일 경우
					if(drag_module=="board") {
						l_s+='<li class="view_written"><a href="javascript:void(0);" rel="'+data.written+'">'+lg("View_Written")+'</a></li>';
					}
						
					l_s+="</ul>";

					$("#popup_user_area").html(l_s);

					var left = e.pageX-40;
					var top = e.pageY+10;
					
					$("#popup_user_area").css({left: left, top: top});
					$("#popup_user_area").show();
				} else {
					alert(data.msg);
				}
			});
		} else {
			$("#popup_user_area").hide();
		}
	});
	
	$(".view_written a","#popup_user_area").live("click",function(e) {
		link("/?pid="+pid+"&search_target=user_name&search_keyword="+$(this).attr("rel"));		
	});
	
	$(".view_user_info a","#popup_user_area").live("click",function(e) {
		$("#popup_user_area").hide();
		jQuery.showBlind();
		jQuery.showUserInfoPopup();
		
		var public_id=$(this).attr("rel");
		$.post("/?act=getUserInfo", {"public_id":public_id}, function(text){
			var data = eval("(" + text + ")");
			if(data.is_error==0) {
				var l_s="<div>";

				l_s+="</div>";

				$(".content","#dialog_userinfo").html(l_s);
			} else {
				alert(data.msg);
			}
		});
	});
	
	$(".close","#dialog_userinfo").live("click",function(){
		jQuery.hideUserInfoPopup();
		jQuery.hideBlind();
	});
	
	$(".message a","#popup_user_area").live("click",function(e) {
		$("#popup_user_area").hide();
		jQuery.showBlind();
		jQuery.showMessageboxPopup();
		
		$("#messagebox_receiver_id").val(drag_messagebox_id);			
		$("#messagebox_receiver_name").html(drag_messagebox_name);
		$("#messagebox_title").val("");
		var oEditor=CKEDITOR.instances.messagebox_content;
		if(oEditor!=null) {
			oEditor.setData("<br />");
		}
		
		$("#messagebox_content").val("");		
	});
	
	$(".close","#dialog_messagebox").live("click",function(){
		jQuery.hideMessageboxPopup();
		jQuery.hideBlind();
	});
	
	$("#messagebox_send_btn").live("click",function() {

		if($("#messagebox_title").val()=="") {
			alert(lg("Please enter title"));
			$("#messagebox_title").focus();
			return false;
		}

		var oEditor=CKEDITOR.instances.messagebox_content;
		if(oEditor!=null) $("#messagebox_content").val(oEditor.getData());

		var queryString = $("#messageboxWriteFrm").formSerialize();
		
		jQuery.hideMessageboxPopup();
		jQuery.hideBlind();
		
		$.post("/?act=sendMessage",queryString,function(text){
			data = eval("(" + text + ")");
			if(data.is_error==0) {					
				alert("쪽지를 발송하였습니다.");
			} else {
				if(data.msg!=null) {
					alert(lg(data.msg));
				} else {
					alert(lg("An error has occured"));
				}
			}				
		});
	});
});

(function($) {
	$.socialLogin = function(social_site) {
		$.post("/social_login.jsp", {"sid":sid,"social_site":social_site}, function(text){
			var data = eval("(" + text + ")");
			if((data.is_error==0)&&(data.authorization_url!="")) {
				window.open(data.authorization_url);
				//window.location=data.authorization_url;
			} else {
				if(data.msg!=null) {
					alert(lg(data.msg));
				} else {
					alert(lg("Unexpected Error"));
				}
			}
		});
	};
	
	$.showBlind = function() {
		if(messagebox_blind_key==0) {
			$("body").append("<div id='messagebox_blind'></div>");
			$("#messagebox_blind").width($("body").width());
			$("#messagebox_blind").height($("body").height());
			$("#messagebox_blind").css({"opacity": "0.7"});
			messagebox_blind_key=1;
		}
		
		$("#messagebox_blind").fadeIn("slow");		
	};

	$.hideBlind = function() {
		$("#messagebox_blind").fadeOut("slow", function() {
			$(this).hide();
		});		
	};

	$.showMessageboxPopup = function() {
		if(dialog_messagebox_key==0) {
			var l_s="<div id=\"dialog_messagebox\" class=\"dialog_messagebox\">"
			+"	<a class=\"close\"><img alt=\"닫기\" src=\"/skins/yellow/default/images/close.png\" /></a>"
			+"	<div class=\"content\">"
			+"		<form id=\"messageboxWriteFrm\" name=\"messageboxWriteFrm\" action=\"\">"
			+"		<table summary=\"쪽지 보내기\" class=\"basic_table\">"
			+"		<tbody>"
			+"		<input type=\"hidden\" id=\"messagebox_receiver_id\" name=\"receiver_id\" value=\"\">"
			+"		<tr>"
			+"		    <td class=\"wh100 column1\">받는이</td>"
			+"		    <td colspan=\"3\" id=\"messagebox_receiver_name\"></td>"
			+"		</tr>"
			+"		<tr>"
			+"		    <td class=\"wh100 column1\">제목</td>"
			+"		    <td colspan=\"3\"><input type=\"text\" class=\"wh90p\" id=\"messagebox_title\" name=\"title\" value=\"\" size=\"50\" maxlength=\"50\"></td>"
			+"		</tr>"
			+"		<!--tr>"
			+"		    <td class=\"wh100 column1\">옵션</td>"
			+"		    <td colspan=\"3\"><input value=\"1\" name=\"allow_mail\" type=\"checkbox\" /> 메일발송</td>"
			+"		</tr-->"
			+"		</tbody>"
			+"		</table>"
			+"		"
			+"		<div class=\"mt20\">"
			+"			<textarea cols=\"50\" rows=\"5\" class=\"wh90p\" id=\"messagebox_content\" name=\"content\"></textarea>"
			+"		</div>"
			+"		"
			+"		<div class=\"mt20 tCenter\">"
			+"			<a href=\"javascript:void(0);\" class=\"button middle strong\" id=\"messagebox_send_btn\"><span>쪽지 보내기</span></a>"
			+"		</div>"
			+"		</form>"		
			+"	</div>"
			+"</div>";
			$("body").append(l_s);
			
			CKEDITOR.replace('messagebox_content',
				{
					language : locale,
					extraPlugins : 'uicolor',
					uiColor: '#CACACA',
					scayt_autoStartup : false,
					height:213,
					resize_dir:'vertical',
					contentsCss:'/css/draghome-0.1.1/draghome-0.1.1.css',
					enterMode: 2, /* 1:p / 2:br / 3:div */
					shiftEnterMode: 2
					,toolbar :
					[
						['Source','-','NewPage','Preview','Print'],
						['Bold','Italic','Underline','Strike'],
						['Link','Unlink','Anchor'],
						['Font','FontSize'],
						['TextColor','BGColor']
					]
				}
			);
			
			dialog_messagebox_key = 1;
		}
		
		var w=($(window).width()-709)/2;
		var h=($(window).height()-590)/2+$(window).scrollTop();
		$("#dialog_messagebox").css("left",w);
		$("#dialog_messagebox").css("top",h);
		$("#dialog_messagebox").show();
	};

	$.hideMessageboxPopup = function() {
		$("#dialog_messagebox").hide();
	};
	
	$.showUserInfoPopup = function() {
		if(dialog_userinfo_key==0) {
			var l_s="<div id=\"dialog_userinfo\" class=\"dialog_userinfo\">"
			+"	<a class=\"close\"><img alt=\"닫기\" src=\"/skins/yellow/default/images/close.png\" /></a>"
			+"	<div class=\"content\">"
			+"	</div>"
			+"</div>";
			$("body").append(l_s);
			
			dialog_userinfo_key = 1;
		}
		
		var w=($(window).width()-709)/2;
		var h=($(window).height()-590)/2+$(window).scrollTop();
		$("#dialog_userinfo").css("left",w);
		$("#dialog_userinfo").css("top",h);
		$("#dialog_userinfo").show();
	};

	$.hideUserInfoPopup = function() {
		$("#dialog_userinfo").hide();
	};
})(jQuery);

