String.prototype.trim = function()
{
	return this.replace(/(^\s*)|(\s*$)/gi, "");
} 

var gaia={};

gaia.popUp = function(url, width, height) {
		var winObj = window.open(url, "PopUp", "scrollbars=no, resiable=yes, width="+width+", height="+height);
		winObj.focus();
};

gaia.checkLogin = function(url) {
	if(confirm("먼저 로그인 하셔야 합니다.\n로그인 페이지로 이동 하시겠습니까?")){
		parent.location = "http://www.daum.net/Mail-bin/login.html?url="+encodeURIComponent(url);
	}
};
/*
gaia.checkIdentity = function(url) {
	if(confirm("정통부 지침에 따라 본인확인을 하셔야 댓글을 작성하실 수 있습니다.\n본인확인 페이지로 이동 하시겠습니까?")){
		parent.location = "https://user.daum.net/checkidentity/check.daum?svcCode=f&rtnURL="+encodeURIComponent(url);
	}
};
*/

gaia.commentListResize = function() {
	try{
		parent.document.getElementById('commentList').height = document.getElementById('commentArea').offsetHeight;
	}
	catch(e){}
}


gaia.link = function(url) {
	window.location.href=url;
}


// 삭제
gaia.del = function(url, allowPost) {
	var message = "해당 글을 삭제하시겠습니까?"

	if( allowPost == "Y"){
		message = "해당 글을 삭제하시겠습니까? \nDaum지식에 등록된 게시글은 삭제되지 않습니다."
	}

	if(confirm(message)){
		gaia.link(url);
	}
}


gaia.daum_paging_rollover = function(obj, img, type) {
	var imgurl = "http://image.hanmail.net/hanmail/2006_ui/";
	var tmp
	if (type == "on") {
		obj.src = imgurl + img + "_over.gif";
	} else {
		obj.src = imgurl + img + ".gif";
	}
};

//list
gaia.searchSubmitForm = function(formEl) {
	var errorMessage = null;
	var objFocus = null;
	if (formEl.searchInput.value.length == 0) {
		errorMessage = "내용을 넣어주세요.";
		objFocus = formEl.searchInput;
	}
	if(errorMessage != null) {
		alert(errorMessage);
		objFocus.focus();
		return false;
	}
	return true;
};

//read
gaia.copyURL={
	call:function (articleId){
		if(gaia.copyURL.clipboard(articleId)) {
			alert('게시물 주소가 복사되었습니다. 원하시는 곳에 ctrl+v로 붙여넣으세요.');
		}
	},
	clipboard:function(intext) {
		if (window.clipboardData) {
			window.clipboardData.setData("Text", intext);
				return true;
		}
		else if (window.netscape) {
			try {
				netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
				var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
				if (!clip) return;
				var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
				if (!trans) return;
				trans.addDataFlavor('text/unicode');
				var str = new Object();
				var len = new Object();
				var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
				var copytext=intext;
				str.data=copytext;
				trans.setTransferData("text/unicode",str,copytext.length*2);
				var clipid=Components.interfaces.nsIClipboard;
				if (!clip) return false;
				clip.setData(trans,null,clipid.kGlobalClipboard);
				return true;
			} catch(e) {
			}
		}
		return false;
	}
};

/*
gaia.Scrap={
	showScrapLayer:function (curObj, link1, link2, link3) {
		clickAreaCheck = true;
		var copyList = new Array("ī���", "��α׷�", "�÷���8��");
		var type = new Array("�� ");
		var str = "<div class='nLayer'><table style='width:90px;'>";
		for (var i=0; i < copyList.length; i++) {
			str += "<tr><td onMouseOver=this.style.backgroundColor='#f1f1f1' onMouseOut=this.style.backgroundColor='#ffffff'>";
			str += "<a href=\'"+eval("link"+Number(i+1))+"\' class='laycss'>" + type[0] + copyList[i] + "</a>";
			str += "</td></tr>";
		}
		str += "</table></div>";

		setLayersPosition(curObj, str, "ScrapLayer", "p");
	},
	setScrapLayersPosition:function (curObj, str) {
		var name = "ScrapLayer";

		if (!document.getElementById(name)) {
			var cElement = document.createElement("DIV");
			cElement.id = name;
			cElement.style.position = 'absolute';
		cElement.style.zIndex = 50;
			document.body.appendChild(cElement);
		}
		document.getElementById(name).style.top = gaia.Scrap.getAbsoluteTop(curObj) + curObj.offsetHeight;
		document.getElementById(name).style.left = gaia.Scrap.getAbsoluteLeft(curObj)-100;
		document.getElementById(name).innerHTML = str;
		divDisplay(name, 'block');
	},
	divDisplay:function (objId, act) {
		if (document.getElementById(objId)) {
			document.getElementById(objId).style.display = act;
		}
	},
	getAbsoluteTop:function (oNode){
		var oCurrentNode=oNode;
		var iTop=0;
		while(oCurrentNode.tagName!="BODY"){
			iTop+=oCurrentNode.offsetTop;
			oCurrentNode=oCurrentNode.offsetParent;
		}
		return iTop;
	},
	getAbsoluteLeft:function (oNode){
		var oCurrentNode=oNode;
		var iLeft=0;
		while(oCurrentNode.tagName!="BODY"){
			iLeft+=oCurrentNode.offsetLeft;
			oCurrentNode=oCurrentNode.offsetParent;
		}
		return iLeft;
	},
	goScrapCafe:function ( node, grpid, fldid, dataid ) {
		window.open("http://scrap-test.cafe.daum.net/_dss_/scrap_cafe?location_id="+grpid+"&folder_id="+fldid+"&data_id="+dataid+"&source_location_code="+source_location_code+"&source_etc="+node,'scrap','width=620, height=460', 'resizable=yes,scrollbars=yes');
	},
	goScrapBlog:function ( node, grpid, fldid, dataid ) {
		window.open("http://scrap-test.cafe.daum.net/_dss_/scrap_blog?type=alpha-test&location_id="+grpid+"&folder_id="+fldid+"&data_id="+dataid+"&source_location_code="+source_location_code+"&source_etc="+node+"&target_location_code=4",'scrap','width=620, height=460', 'resizable=yes,scrollbars=yes');
	},
	goScrapPlanet:function ( node, grpid, fldid, dataid ) {
		window.open("http://scrap-test.cafe.daum.net/_dss_/scrap_planet?location_id="+grpid+"&folder_id="+fldid+"&data_id="+dataid+"&source_location_code="+source_location_code+"&source_etc="+node+"&target_location_code=3",'scrap','width=620, height=460', 'resizable=yes,scrollbars=yes');
	},
	goScrapMail:function ( node, grpid, fldid, dataid ) {
		window.open("http://scrap-test.cafe.daum.net/_dss_/scrap_mail?location_id="+grpid+"&folder_id="+fldid+"&data_id="+dataid+"&source_location_code="+source_location_code+"&source_etc="+node+"&target_location_code=15",'scrap','width=620, height=460', 'resizable=yes,scrollbars=yes');
	}
}
*/

gaia.vote = {
	isVote : false, //투표여부
	el : null, //추천수 or 찬성/반대수 넣을 element array
	resName : null, //추천:recommendCount, 찬성:agreeCount, 반대:disagreeCount

	login:function(loginUrl){
		parent.location.href=loginUrl;
	},
	isMy:function(){
		alert("자신의 글에는 투표하실 수 없습니다");
		return;
	},
	check:function() {
		//로그인체크
		/*if(loginUserId==''){ gaia.vote.login(loginUrl);return false;}
		//본인여부체크
		if(loginUserId==articleUserId){
			alert("자신의 글에는 투표하실 수 없습니다");
			return false;
		}*/
		if(gaia.vote.isVote){
			alert("이미 평가를 하셨습니다");
			return false;
		}
		return true;
	},
	call:function(callUrl, elId) {
		if(!gaia.vote.check()) return;
		gaia.vote.el = document.getElementById(elId);
		var tmp = callUrl.split("?");
		var aj = new Ajax( { url:tmp[0], param:tmp[1], onComplete:gaia.vote.callBack } );
		aj.send();
	},
	recom:function(callUrl, elId){
		gaia.vote.resName = "recommendCount";
		if(!gaia.vote.call(callUrl, elId)) return;
	},
	agree:function(callUrl, elId) {
		gaia.vote.resName = "agreeCount";
		if(!gaia.vote.call(callUrl, elId)) return;
	},
	disagree:function(callUrl, elId) {
		gaia.vote.resName = "disagreeCount";
		if(!gaia.vote.call(callUrl, elId)) return;
	},
	callBack:function(res){
		var result = eval('(' + res.responseText + ')');

		if(result.status == '300'){
			alert("잘못된 오류입니다. 다시한번 시도해 주세요.");
		}
		else {
			if (result.status == '500' || result.status == '600' || result.status == '700'){
				alert("이미 평가를 하셨습니다");
			}else if (result.status == '200'){
				gaia.vote.el.innerHTML = result[gaia.vote.resName];
			}
			gaia.vote.isVote = true;
		}
	}
}
/*
gaia.recommend={
	isRecommend : false, //추천여부

	login:function(loginRecommendUrl){
		parent.location.href=loginRecommendUrl;
	},
	call:function(loginUserId, articleUserId, loginRecommendUrl, callUrl){

		//로그인체크
		if(loginUserId==''){ gaia.recommend.login(loginRecommendUrl);return; }

		//본인여부체크
		if(loginUserId==articleUserId){
			alert("자신의 글에는 투표하실 수 없습니다");
			return false;
		}

		if(gaia.recommend.isRecommend){
			alert("이미 추천 하셨습니다");
			return;
		}

		var tmp = callUrl.split("?");
		var url = tmp[0];
		var param = tmp[1];
		new UI.Ajax( { url:url, param:param, onComplete:gaia.recommend.callBack } );
	},
	callBack:function(res){
		var result = eval('(' + res.responseText + ')');

		if (result.status == '500'){
			alert("이미 찬성 혹은 반대를 하셨습니다");
			gaia.recommend.isRecommend = true;
			return false;
		}else if(result.status == '600'){
			alert("이미 추천하셨습니다");
			gaia.recommend.isRecommend = true;
			return false;
		}else if (result.status == '700'){
			alert("이미 반대하셨습니다");
			gaia.recommend.isRecommend = true;
			return false;
		}else if (result.status == '300'){
			alert("잘못된 오류입니다. 다시한번 시도해 주세요.");
			return false;
		}else if (result.status == '200'){
			gaia_recommendCount.innerHTML = result.recommendCount;
			gaia.recommend.isRecommend = true;
		}
	}
};
*/
//write
gaia.updateChar = function(FieldName, mententname, textlimitname){
		var strCount = 0;
		var tempStr, tempStr2;
		for(i = 0;i < document.getElementById(mententname).value.length;i++)
		{
			tempStr = document.getElementById(mententname).value.charAt(i);
			if(escape(tempStr).length > 4) strCount += 2;
				else strCount += 1 ;
		}
		if (strCount > FieldName){
			alert("최대 " + FieldName + "byte이므로 초과된 글자수는 자동으로 삭제됩니다."); 
			strCount = 0;
			tempStr2 = "";
			for(i = 0; i < document.getElementById(mententname).value.length; i++)
			{
				tempStr = document.getElementById(mententname).value.charAt(i);
				if(escape(tempStr).length > 4) strCount += 2;
				else strCount += 1 ;
				if (strCount > FieldName)
				{
					if(escape(tempStr).length > 4) strCount -= 2;
					else strCount -= 1 ;
					break;
				}
				else tempStr2 += tempStr;
			}
			document.getElementById(mententname).value = tempStr2;
		}
		document.getElementById(textlimitname).innerHTML = strCount;
};

gaia.add_file = function (){
	var input_add = "<br>URL <input type='text' name='cUrl' >설명<input type='text' name='cTitle'><input type='hidden' name='cMarkingType' value='1'/>"
	document.getElementById("add_area").innerHTML += input_add;
};

gaia.blogPostion = function(url, isChecked, multi_post_layer ) {
	document.getElementById(multi_post_layer).style.display  = 'block';
	if(isChecked){
			document.getElementById(multi_post_layer).innerHTML =
			'<input type="hidden" id="blogCategoryId" name="blogCategoryId" value="0"><input type="hidden" id="blogArticleOpen" name="blogArticleOpen" value="A"><iframe name="blogpost_prepare" src="'+url+'" width="100%" height="62" border="0" frameborder="0" scrolling="no" marginheight="0" marginwidth="0"></iframe>';
	}else{
			document.getElementById(multi_post_layer).style.display  = 'none';
	}
};

gaia.file={
	fileObjName : "file0",

	createFileObj:function() {
		var num = String(parseInt(gaia.file.fileObjName.substring(4, gaia.file.fileObjName.length)) + 1);
		var str = "";
		var fileName = "file" + num;
		var newDiv = document.createElement("DIV");
		newDiv.id = "filelist" + num;
		newDiv.style.paddingBottom = '4px';
		document.getElementById("filesDiv").appendChild(newDiv);
		str = "<input type='file' name='file"+num+"' id='file"+num+"' size='32'>";
		str += " <a href='javascript:removeFileObj("+num+")'><img src='http://icon.hanmail.net/gaia/bt_delete.gif' width='37' height='20' border=0 alt='ì­ì ' /></a>";
		document.getElementById("filelist"+num).innerHTML = str;

		fileObjName = fileName;
	},

	removeFileObj:function(num) {
		document.getElementById("filelist"+num).innerHTML = "";
		document.getElementById("filelist"+num).style.display = 'none';
	},

	removeFileObj2:function(){
		var v = document.getElementById('fileid').checked;
		if(v == true){
			document.getElementById('filelist0').style.display = "";
		}else{
			document.getElementById('filelist0').style.display = "none";
		}
		removeFileObj();
	}
};

gaia.writeSubmitForm = function(f) {
	var index;
	var type = document.getElementById("type").value;

	if(type == "write"){
		if (f.cate.value != ""){
			var va = true;
			for(var i=0; i<f.cate.length; i++){
				if(f.cate[i].checked == true){
					va = false;
				}
			}
			if(va) {
				alert("분류를 선택하여 주세요");
				return false;
			}
		}
	}

	if ( f.gaiaSubject.value == '' ) {
		alert('제목을 넣어 주세요');
		f.gaiaSubject.focus();
		return false;
	}

	if(f.filecheck.value == "yes"){
		if(type == "write"){
			if (f.File0.value == ""){
				alert("첨부 파일을 넣어 주세요");
				return false;
			}
		}else{
			if (document.getElementById("fileid").checked == true && document.getElementById("File0").value == ""){
				alert("ëíì´ë¯¸ì§ë¥¼ ì íí´ì£¼ì¸ì");
				return false;
			}
		}
	}
}

gaia.commentReply = {

	//replyForm : null,

	displayFrom:function(id,type, mode, allowTitleComment){
		/*var replyForm = document.getElementById('rForm');
		if(replyForm) {
			replyForm.parentNode.removeChild(replyForm);
			replyForm = null;
			if(oldreplyWrap)oldreplyWrap.style.display="block";
		}
		var replyWrap = document.getElementById('rct_'+id);
		oldreplyWrap = document.getElementById('ct_'+id);

		replyForm = document.createElement('div');
		replyForm.id = 'rForm';
		var html ='<div class="cmtUpdate">'
				+'	<textarea name="commentContent" id="recomment"';

		if (mode == "login") {
			html = html + ' onclick="checkLogin(0);" onkeyup="checkLogin(0);"'
		} else if(mode == "identityCheck") {
			html = html + ' onclick="checkLogin(1);" onkeyup="checkLogin(1);"'
		} else {
			html = html + ' onkeyup="gaia.updateChar($!bbs.maxCommentLength,\'recomment\', \'textlimit2\')"'
		}

		html = html + ' ></textarea>'
				+'	<a href="javascript:gaia.commentReply.submit('+id+');"><img src="http://icon.hanmail.net/gaia/bt_oks.gif" width="36" height="20" alt="등록" /></a>'
				+'	<a href="javascript:gaia.commentReply.hiddenForm('+id+',\''+type+'\');"><img src="http://icon.hanmail.net/gaia/bt_cancels.gif" width="36" height="20" alt="취소" /></a>'
				+'	<span class="retextCount"><b id="textlimit2">0</b>\/$!bbs.maxCommentLength bytes(한글 $kor_length자)</span>'
				+'	<span class="retexticon"><input type="hidden" id="texticon2" name="allowTexticon" value="F"></span>'
				+'</div><br class="cls"\/>';

		if (allowTitleComment == "T") {
			html = '제목 : <input type="text" name="comment.subject" size="8" maxlength="16" class="inputbox" value="$!resultComment.subject"/><br>' + html
		}

		replyForm.setAttribute("id","updateCmtArea");
		replyForm.innerHTML = html;
		replyWrap.appendChild(replyForm);*/
		
		document.getElementById("id").value =id;
		var replyWrap = document.getElementById('rct_'+id);
		var replyForm = document.getElementById('updateCmtArea');
		replyWrap.appendChild(replyForm);
		replyForm.style.display = "block";
		gaia.commentListResize();
	},

	hiddenForm:function(id,type){
		//document.getElementById('ct_'+id).style.display="";
		//replyForm.parentNode.removeChild(replyForm);
		//replyForm = null;
		var replyForm = document.getElementById('updateCmtArea');
		replyForm.style.display = "none";
		gaia.commentListResize();
	},

	submit:function(id) {
		var errorMessage = null;
		var objFocus = null;
		var cmtText = document.getElementById("recomment");
		if (cmtText.value.length == 0) {
			errorMessage = "내용을 넣어주세요.";
			alert(errorMessage);
			cmtText.focus();
		}
		else{
			document.updateCommentForm.action = "commentReply";
			document.updateCommentForm.submit();
		}
	}
};
/*
gaia.commentWrite = {
	submitForm: function(formEl) {
		var errorMessage = null;
		var objFocus = null;
		var cmtText = document.getElementById("comment");
		if (cmtText.value.length == 0) {
			errorMessage = "내용을 넣어주세요.";
			objFocus = cmtText;
		}
		if(errorMessage != null) {
			alert(errorMessage);
			objFocus.focus();
			return false;
		}
		return true;
	}
}*/

gaia.commentWrite = {
	user_login_info : 0, // 0:미로그인 1:로그인 2:본인확인필요
	submitForm: function(formEl) {
		//alert(formEl.objCate1.value)
		//return false;

		var errorMessage = null;
		var objFocus = null;
		var cmtText = document.getElementById("comment");
		cmtText.value = cmtText.value.trim();
		if (cmtText.value.length == 0) {
			errorMessage = "내용을 넣어주세요.";
			objFocus = cmtText;
		}
		if(errorMessage != null) {
			alert(errorMessage);
			objFocus.focus();
			return false;
		}
		return true;
	},
	checkLogin : function(loginURL) {
		if(gaia.commentWrite.user_login_info==0) {
			if(confirm("먼저 로그인 하셔야 합니다.\n로그인 페이지로 이동 하시겠습니까?"))
				parent.location = loginURL + escape (parent.document.location.href);
			else
				document.getElementById("comment").blur();
		}
	},
	checkLogin2 : function(isBlockedServiceCheck, blockedSvcRedirectURL, identityCheck, loginLimit) {
		topUrl = escape (parent.document.location.href);

		if(isBlockedServiceCheck == "true"){
			parent.location = blockedSvcRedirectURL;
		}
		if(identityCheck == "false") {
			if(confirm("정통부 지침에 따라 본인확인을 하셔야 댓글을 작성하실 수 있습니다.\n본인확인 페이지로 이동 하시겠습니까?")){
				//alert(loginLimit+topUrl)  
				parent.location = loginLimit+topUrl;
			}else {
				document.getElementById("comment").blur();
			}
		}
	}
}

//jes
/*if(typeof(UI)=="undefined") var UI={};
Object.extend=function(a, b){
  for (var property in b) a[property] = b[property];
  return a;
};
UI.Ajax = function(options) {
	this.options={
		method:'GET',
		param:'',
		onComplete:null,
		onError:null,
		asynchronous: true,
		contentType: 'application/x-www-form-urlencoded',
		encoding:'UTF-8'
	}
	Object.extend(this.options, options);
	if(this.options.url) this.send();
};
UI.Ajax.prototype={
	getReq:function(){
		var req=null;
		try { req = new XMLHttpRequest(); }
		catch(e)
		{
			try { req = new ActiveXObject("Msxml2.XMLHTTP"); }
			catch(e)
			{
				try { req = new ActiveXObject("Microsoft.XMLHTTP"); }
				catch(e) { }
			}
		}
		return req;
	},
	send:function(){
		this.req = this.getReq();
		var op=this.options;
		var url=op.url;
		var param=op.param;
		var method=op.method.toUpperCase();
		if(method=='GET' && param) url=url+"?"+param;
		this.req.open(method, url, op.asynchronous);
		this.req.setRequestHeader('Content-Type', op.contentType+';charset='+op.encoding);

		var self = this;
		this.req.onreadystatechange = function() { self.onStateChange.call(self) }
		this.req.send(method=='POST'?param:null);
	},
	onStateChange: function() {
		if(this.req.readyState==4)
		{
			if(this.req.status=="200") this.options.onComplete(this.req);
			else
			{
				if(this.options.onError) this.options.onError(this.req);
				else alert("서버에러입니다! 잠시후에 다시 시도하세요! "+this.req.status);
			}
		}
	}
};*/


gaia.getCookie=function(name){
	name += "=";
	cookie = document.cookie + ";";
	start = cookie.indexOf(name);
	if (start != -1)
	{
		end = cookie.indexOf(";",start);
		return unescape(cookie.substring(start + name.length, end));
	}
	return "";
};

gaia.setCookie=function(name,value,expires){
	var d = new Date();	var day="";
	if(expires)
	{
		var today = new Date();
		var expiry = new Date(today.getTime() + expires * 1000);
		day = "expires="+expiry.toGMTString()+";";
	}
	document.cookie = name+"="+escape(value)+"; path=/;"+day;
};

gaia.feedback={
    isAgree : false, //추천여부
    isDisagree : false, //추천여부
    isRecommend : false, //추천여부
    divId : "test",

    login:function(loginFeedbackUrl){
        document.location.href=loginFeedbackUrl;
    },
    call:function(loginUserId, objectUserId, loginFeedbackUrl, callUrl, id, mode){

        gaia.feedback.divId = id;

        //로그인체크
        if(loginUserId==''){ gaia.feedback.login(loginFeedbackUrl);return; }

        //본인여부체크
        if(loginUserId==objectUserId){
            alert("자신의 글에는 투표하실 수 없습니다");
            return false;
        }
        if (mode == 'article') {
            if(gaia.feedback.isAgree){
                alert("이미 평가하셨습니다");
                return;
            }
            if(gaia.feedback.isDisagree){
                alert("이미 평가하셨습니다");
                return;
            }
            if(gaia.feedback.isRecommend){
                alert("이미 추천하셨습니다");
//              alert(mode);
                return;
            }
        }

        var tmp = callUrl.split("?");
        var url = tmp[0];
        var param = tmp[1];
        var aj = new Ajax( { url:url, param:param, onComplete:gaia.feedback.callBack} );
		aj.send();
    },
    callBack:function(res){
        var result = eval('(' + res.responseText + ')');

        if (result.status == '500'){
            alert("이미 평가하셨습니다");
            gaia.feedback.isAgree = true;
            return false;
        }else if(result.status == '600'){
            alert("이미 평가하셨습니다");
            gaia.feedback.isDisagree = true;
            return false;
        }else if (result.status == '700'){
            alert("이미 추천하셨습니다");
            gaia.feedback.isRecommend = true;
            return false;
        }else if (result.status == '300'){
            alert("잘못된 오류입니다. 다시한번 시도해 주세요.");
            return false;
        }else if (result.status == '200'){

            if (result.mode == 'recommend')
            {
                document.getElementById(gaia.feedback.divId).innerHTML = result.recommendCount;
                gaia.feedback.isRecommend = true;
            }

            if (result.mode == 'agree')
            {
                document.getElementById(gaia.feedback.divId).innerHTML = result.agreeCount;
                gaia.feedback.isAgree = true;
            }

            if (result.mode == 'disagree')
            {
                document.getElementById(gaia.feedback.divId).innerHTML = result.disagreeCount;
                gaia.feedback.isDisagree = true;
            }
        }
    }
};










