// @utf-8
/***************************************
# BACK NEXT FAVORITE
---------------------------------------*/
var his = new ajax.win.History();
his.onHashChanged =  function(s){
	if(s){
		var hsahv = his.getParams(s);

		switch(hsahv['mode']){
			case 'list': APM_BBSPageRelation (hsahv['params'],hsahv['page']); break
			case 'tag': APM_BBSTagRelation (hsahv['params'],hsahv['page']); break
			case 'search': APM_BBSSearchRelation (hsahv['params'],hsahv['page']); break;
			default : APM_runBBSProgramMode(hsahv['mode'],hsahv['params']);
		}
	}else{ 
		his.getParams(s);
		APM_BBSPageRelation ('mode=list',1);
	}
};
his.init();

// 풍선도움말
function APM_runBBSBalloon(chkid,params, mode)
{
	var width = 0;
	var height= 0;
	var arrowpath = '../..';
	var padAddXY = '';

	switch (mode){
	case 'errorMsg':
		width = 200;
		height= 200;
		skin = 'default';
		method = APM_BBSBalloonMsg;
	break;
	case 'delete':
		width = 350;
		height= 300;
		skin = 'default';
		method = APM_runBBSProgramMode;
	break;
	case 'headline_delete':
		width = 350;
		height= 300;
		skin = 'default';
		method = APM_runBBSProgramMode;
	break;
	case 'readlock':
		width = 350;
		height= 300;
		skin = 'default';
		method = APM_runBBSProgramMode;
	break;
	}

	new balloon.ApmSoftNet.ALTZ(method, chkid, params, width, height, mode ,skin,arrowpath,padAddXY);
}

// 2007-12-12
function APM_BBSZoom(chkid,w,h,params){
	var width = parseInt(w);
	var height= parseInt(h);
	var padAddXY = '-'+(w/4)+':-40';
	var arrowpath= 'none';

	var tmpObj = document.getElementById('ballooncontents');
	if(tmpObj){ tmpObj.innerHTML = ''; }
	
	new balloon.ApmSoftNet.ALTZ(APM_runBBSProgramMode, chkid, params, width, height,'bbsZoom','default',arrowpath,padAddXY);
}

function APM_BBSBalloonMsg(mode,v)
{
	var errHTML = ''
	errHTML = '<div style="border:1px; border-style:solid; border-color:#e4e4e4; padding:7px;background-color: #ffffff">'
	errHTML+= v;
	errHTML+= '</div>';

	document.getElementById('ballooncontents').innerHTML = errHTML;
	setTimeout("APM_runBBSBalloonHdn()",1000);
}

function APM_runBBSBalloonHdn()
{
	var balloon = document.getElementById('balloon');
	var balloonarrow = document.getElementById('balloonarrow');

	if(balloon){
		balloon.style.visibility = 'hidden';
		
		if(balloonarrow){
			balloonarrow.style.visibility = 'hidden';
		}
	}
}

// 레이어 생성 및 컨트롤
function APM_runBBSDiv(id, w, h, x, y, mode, method, skinv, params){
	var x = (x) ? x : '';
	var y = (y) ? y : '';
	new elementz.ApmSoftNet.DIVZ(id, w, h, x, y, mode, method, skinv, params);
}

function hiddenBBSDiv(id){
	new elementz.ApmSoftNet.DIVZ(id, '', '', '', '', 'hidden', '','','');
}

// search
function APM_BBSSearch(){
	var params = '';
	var objKey = document.forms['bbsSearch'].elements['keyword'];
	if (!objKey.value){
		alert('검색어를 입력하세요');
		objKey.focus();
		return;
	}
	params += '&keyword='+encodeURIComponent(objKey.value);
	APM_BBSSearchRelation (params,1);
}

// SEARCH pageRelation |---------------------------------
function APM_BBSTagRelation (params,page)
{	
	//APM_runBBSReadDisplay('hidden');
	APM_runBBSBalloonHdn();
	lightbox_exitHidden();
	
	params+= '&page='+page+'&tname='+bbsTable;
	if(bbsTable){
		his.setHash('mode=tag&'+params);
		new ajax.ApmSoftNet.REQ(bbsPhpPath+'/search_tag.php',params,APM_runBBSTextProgram,
										'POST','bbsProgram','../..','list','apmloading');
	}else{
		document.getElementById('bbsProgram').innerHTML='게시판명(tname=)이 분실되었습니다.';
	}
}

// SEARCH pageRelation |---------------------------------
function APM_BBSSearchRelation (params,page)
{	
	//APM_runBBSReadDisplay('hidden');
	APM_runBBSBalloonHdn();
	lightbox_exitHidden();
	
	params+= '&page='+page+'&tname='+bbsTable;
	if(bbsTable){
		new ajax.ApmSoftNet.REQ(bbsPhpPath+'/search.php',params, APM_runBBSTextProgram,
										'POST','bbsProgram','../..','list','apmloading');
		his.setHash('mode=search&'+params);
	}else{
		document.getElementById('bbsProgram').innerHTML='게시판명(tname=)이 분실되었습니다.';
	}
}

// pageRelation |---------------------------------
function APM_BBSPageRelation (params,page)
{	
	//APM_runBBSReadDisplay('hidden');
	APM_runBBSBalloonHdn();
	lightbox_exitHidden();
	
	page = (page)?page:1;
	
	params= params+'&page='+page+'&tname='+bbsTable;
	if(bbsTable){
		new ajax.ApmSoftNet.REQ(bbsPhpPath+'/list.php',params,APM_runBBSTextProgram,
										'POST','bbsProgram','../..','list','apmloading');
		his.setHash('mode=list&'+params);
	}else{
		document.getElementById('bbsProgram').innerHTML='게시판명(tname=)이 분실되었습니다.';
	}
}

function APM_runBBSReadDisplay(cource){
	if(cource =='hidden'){
		document.getElementById('bbsRead').style.display='none';
	}else{
		document.getElementById('bbsRead').style.display='block';
	}
}

function APM_runBBSProgramMode(mode,v)
{	
	var runPhp		= '';
	var loadbarid	= 'apmloading';
	var divid		= 'bbsProgram';
	var params		= '';
	var method		= '';
	
	lightbox_exitHidden();
	
	switch (mode){
		case 'bbsZoom' :
			var arr	 = v.split('&');			
			for(var i=0; i<arr.length; i++){
				if(arr[i]){
					var kv = arr[i].split('=');					
					if(kv[0]=='uid'){
						var puid = kv[1];
						break;
					}
				}
			}
			var phom = document.getElementById('photom'+puid);
			var phomv= decodeURIComponent(phom.value);
			var s = /(\|)/g;

			divid	= 'ballooncontents';
			var outhtml= '<div>'
			outhtml += "<a href='#' onmouseout=\"APM_runBBSBalloonHdn(); return false;\""
			outhtml += " onClick=\"APM_runBBSProgramMode('read','"+v+"'); return false;\">"
			outhtml += phomv.replace(s," ")
			outhtml += "</a></div>";

			document.getElementById(divid).innerHTML = outhtml;
			
			effectOpacityInit('zoom'+puid,100,10);
			runUpOpacity();
		break;
		case 'write' :
			runPhp	= bbsPhpPath+'/write.php';
			params	= v;
			method	= APM_runBBSTextProgram;
			his.setHash('mode='+mode+'&'+params);
		break;		
		case 'read' :
			runPhp	= bbsPhpPath+'/read.php';
			params	= v;
			method	= APM_runBBSProgram;

			his.setHash('mode='+mode+'&'+params);
		break;
		case 'reply' :
			runPhp	= bbsPhpPath+'/reply.php';
			params	= v;
			method	= APM_runBBSTextProgram;
			his.setHash('mode='+mode+'&'+params);
		break;		
		case 'modify' :
			runPhp	= bbsPhpPath+'/modify.php';
			params	= v;
			method	= APM_runBBSTextProgram;
			his.setHash('mode='+mode+'&'+params);
		break;	
		case 'headline' :
			runPhp	= bbsPhpPath+'/headline_read.php';
			params	= v;
			method	= APM_runBBSTextProgram;
			//divid	='bbsRead';
			//APM_runBBSReadDisplay();
			APM_runBBSBalloonHdn();
			his.setHash('mode='+mode+'&'+params);
		break;
		case 'headline_write' :
			runPhp	= bbsPhpPath+'/headline_write.php';
			params	= v;
			method	= APM_runBBSTextProgram;
			his.setHash('mode='+mode+'&'+params);
		break;
		case 'headline_modify' :
			runPhp	= bbsPhpPath+'/headline_modify.php';
			params	= v;
			method	= APM_runBBSTextProgram;
			his.setHash('mode='+mode+'&'+params);			
		break;
		case 'headline_delete' :
			runPhp	= bbsPhpPath+'/headline_delete.php';
			divid	= 'ballooncontents';
			params	= v;
			method	= APM_runBBSProgram;
		break;	
		case 'readlock' :
			runPhp	= bbsPhpPath+'/readlock.php';
			divid	= 'ballooncontents';
			params	= v;
			method	= APM_runBBSProgram;
		break;
		case 'delete' :
			runPhp	= bbsPhpPath+'/delete.php';
			divid	= 'ballooncontents';
			params	= v;
			method	= APM_runBBSProgram;
		break;		
		case 'displayview' :
			var disObj = document.getElementById('bbsanswer'+v);
			if(disObj.style.display == 'none'){
				disObj.style.display = '';
			}else{
				disObj.style.display = 'none';
			}
		break;
	}
	
	if(runPhp){
		new ajax.ApmSoftNet.REQ(runPhp,params+'&tname='+bbsTable,method,
										'POST',divid,'../..',mode,'apmloading');
	}
}


function APM_runBBSProgram(reqs)
{
	var outhtml= '';
	var xmlDoc = '';
	var xmlDoc = reqs.responseXML;

	var chkcode	= xmlDoc.getElementsByTagName('chkcode').item(0).firstChild.nodeValue;
	var v_contents	= xmlDoc.getElementsByTagName('contents').item(0).firstChild.nodeValue;

	if(chkcode == 1){
		outhtml += v_contents;
		this.printMsg(outhtml);

		if(this.mode == 'read'){
			APM_runBBSBalloonHdn();
			
			var v_uid		= xmlDoc.getElementsByTagName('uid').item(0).firstChild.nodeValue;
			var v_cmtlevel	= xmlDoc.getElementsByTagName('cmtlevel').item(0).firstChild.nodeValue;
			
			//document.getElementById('bbsProgram').innerHTML = outhtml;
			// 코멘트 출력여부
			if(cmtTable && v_cmtlevel=='y'){
				cmtIntPid = v_uid;
				APM_CmtPageRelation ('',1);
				APM_runCmtProgramMode ('write','');
			}
		document.documentElement.scrollTop = 0;
		document.body.scrollTop = 0;
		
		// 
		LightBoxPlus();
		}
	}else{
		APM_runBBSBalloonHdn();
		if(this.mode=='read'){
			alert(v_contents);
			//APM_BBSPageRelation ('mode=list',1);
		}else{
			alert(v_contents);
		}
	}
}

function APM_runBBSTextProgram(reqs)
{
	var outhtml= '';

	outhtml += reqs.responseText;
	this.printMsg(outhtml);

	// editor plus /--
	switch (this.mode){
		case 'headline_write' :
		case 'headline_modify':
		case 'write' :
		case 'reply' :
		case 'modify':
			var chkDObj = document.getElementById('description');
			if(chkDObj){
				var editorId = chkDObj.getAttribute('editor');
				if(editorId) generate_wysiwyg('description');
			}
		break;
	}
	
	document.documentElement.scrollTop = 0;
	document.body.scrollTop = 0;

	// select menu
	switch(this.mode){
		case 'headline_write' :
		case 'write' :
			APM_srhSelectMenu('form','apmBBSWForm');
		break;
		case 'reply' :
			APM_srhSelectMenu('form','apmBBSREForm');
		break;
		case 'modify':
		case 'headline_modify':
			APM_srhSelectMenu('form','apmBBSMForm');
		break;
	}
}

// 첨부파일 이미지 파일일경우 에디터에 입력하기 /--
function APM_BBSIsset_editorHTML(filename,gid, width, height){
	var filetype = '';

	if(filename){
		var pathpoint	= filename.lastIndexOf('.');
		var filepoint	= filename.substring(pathpoint+1,filename.length);
		filetype		= filepoint.toLowerCase();
	}
	
	// find object
	var objv	= '';
	var chkDObj	= document.getElementById('description');
	var inHTML	= '';	
	switch(filetype){
		case 'gif':
		case 'jpg':
		case 'jpeg':
		case 'png': 
			inHTML = '<a href="'+filename+'link" rel="lightbox1" liboxid="'+gid+'" title="" target="_blank">'
			inHTML+= '<img src="'+filename+'" id="'+gid+'" border="0" width="'+width+'" height="'+height+'" vspace="5" hspace="5" align="left"  />';
			inHTML+= '</a><br />';
		break;
		case 'swf': inHTML = '<embed src="'+filename+'" border="0" width="'+width+'" height="'+height+'"></embed>';		
		break;
	}
	
	// 입력
	var contentsv = document.getElementById('wysiwyg'+'description').contentWindow.document;
	if(chkDObj && inHTML){
		if(new RegExp(/Firefox/).test(navigator.userAgent)){
			objv = contentsv.body.innerHTML; //document.createTextNode(contentsv.body.innerHTML);
		}else{
			objv = contentsv.body.innerHTML;
		}		
	contentsv.body.innerHTML = objv+inHTML;
	}
}

// form value register php |------------------------------------->
function APM_runBBSProgramRegister(mode,v)
{
	var runPhp = '';
	var loadbarid = 'apmloading';
	var divid = '';
	var params= '';
	var method=APM_runBBSRegisterRlt;
	
	switch(mode){
		case 'write' :
			// 폼체크
			if(formparams = chkFormzFuncDec('apmBBSWForm')){
				params = v;
				params+= formparams;
				
				// 전송버튼
				var subObj = document.getElementById('apmBBSWSubmit');
				if(subObj) subObj.style.display = 'none';
				
				runPhp = bbsPhpPath+'/write_register.php';
			}
		break;
		case 'reply' :
			// 폼체크
			if(formparams = chkFormzFuncDec('apmBBSREForm')){
				params = v;
				params+= formparams;
				
				// 전송버튼
				var subObj = document.getElementById('apmBBSRESubmit');
				if(subObj) subObj.style.display = 'none';
				
				runPhp = bbsPhpPath+'/reply_register.php';
			}
		break;		
		case 'modify' :
			// 폼체크
			if(formparams = chkFormzFuncDec('apmBBSMForm')){
				params = v;
				params+= formparams;

				// 전송버튼
				var subObj = document.getElementById('apmBBSMSubmit');
				if(subObj) subObj.style.display = 'none';
				
				runPhp = bbsPhpPath+'/modify_register.php';
			}
		break;
		case 'headline_write' :
			// 폼체크
			if(formparams = chkFormzFuncDec('apmBBSWForm')){
				params = v;
				params+= formparams;
				
				// 전송버튼
				var subObj = document.getElementById('apmBBSWSubmit');
				if(subObj) subObj.style.display = 'none';
				
				runPhp = bbsPhpPath+'/headline_write_register.php';
			}
		break;
		case 'headline_modify' :
			// 폼체크
			if(formparams = chkFormzFuncDec('apmBBSMForm')){
				params = v;
				params+= formparams;

				// 전송버튼
				var subObj = document.getElementById('apmBBSMSubmit');
				if(subObj) subObj.style.display = 'none';
				
				runPhp = bbsPhpPath+'/headline_modify_register.php';
			}
		break;
		case 'headline_delete':
			// 비밀번호
			var passwd = document.getElementById('bbsdelpasswd');
			var passwdv= passwd.value;
			if(!passwdv){
				alert('비밀번호를 입력해 주세요');
				passwd.select();
				passwd.focus();
				return;
			}

			// 특수문자
			if(!chkFormz.chketcstr(passwdv)){
				alert('비밀번호에 특수문자를 사용할 수 없습니다.');
				passwd.select();
				passwd.focus();
				return;
			}
			params = v
			params+= '&passwd='+encodeURIComponent(passwdv)
			APM_runBBSBalloonHdn();
			runPhp = bbsPhpPath+'/headline_delete_register.php';
		break;		
		case 'headline_deldirect':
			var flag = confirm('정말로 삭제하시겠습니까?');
			if(flag==true){
				params = v
				runPhp = bbsPhpPath+'/headline_delete_register.php';
			}else{ return; }
		break;
		case 'readlock':
			// 비밀번호
			var passwd = document.getElementById('readlockpasswd');
			var passwdv= passwd.value;
			if(!passwdv){
				alert('비밀번호를 입력해 주세요');
				passwd.select();
				passwd.focus();
				return;
			}

			// 특수문자
			if(!chkFormz.chketcstr(passwdv)){
				alert('비밀번호에 특수문자를 사용할 수 없습니다.');
				passwd.select();
				passwd.focus();
				return;
			}
			params = 'mode=read&'+v
			params+= '&passwd='+encodeURIComponent(passwdv)

			APM_runBBSBalloonHdn();
			APM_runBBSProgramMode('read',params);
		break;
		case 'delete':
			// 비밀번호
			var passwd = document.getElementById('bbsdelpasswd');
			var passwdv= passwd.value;
			if(!passwdv){
				alert('비밀번호를 입력해 주세요');
				passwd.select();
				passwd.focus();
				return;
			}

			// 특수문자
			if(!chkFormz.chketcstr(passwdv)){
				alert('비밀번호에 특수문자를 사용할 수 없습니다.');
				passwd.select();
				passwd.focus();
				return;
			}
			params = v
			params+= '&passwd='+encodeURIComponent(passwdv)
			
			APM_runBBSBalloonHdn();
			runPhp = bbsPhpPath+'/delete_register.php';
		break;		
		case 'deletedirect':
			var flag = confirm('정말로 삭제하시겠습니까?');
			if(flag==true){
				params = v
				runPhp = bbsPhpPath+'/delete_register.php';
			}else{ return; }
		break;
		case 'recom':
			params = v;
			runPhp = bbsPhpPath+'/recom_register.php';
		break;
		case 'unrecom':
			params = v;
			runPhp = bbsPhpPath+'/unrecom_register.php';
		break;
	}

	if (runPhp){
		new ajax.ApmSoftNet.REQ(runPhp, params+'&tname='+bbsTable,method,'POST',divid,'../..', mode,loadbarid);
	}
}

function APM_runBBSRegisterRlt(reqs)
{
	var outhtml= '';
	var xmlDoc = '';
	var xmlDoc = reqs.responseXML;

	var v_chkcode	= xmlDoc.getElementsByTagName('chkcode').item(0).firstChild.nodeValue;
	var v_contents	= xmlDoc.getElementsByTagName('contents').item(0).firstChild.nodeValue;

	if (v_chkcode == 1)
	{
		switch(this.mode){
			case 'headline_write' :
			case 'headline_modify': APM_BBSPageRelation ('',1); break;
			case 'reply':
			case 'modify':
				var v_page	= xmlDoc.getElementsByTagName('page').item(0).firstChild.nodeValue;
				var v_params= xmlDoc.getElementsByTagName('params').item(0).firstChild.nodeValue;
				APM_runBBSProgramMode('read','page='+v_page+'&'+v_params);
			break;
			case 'recom':
				var v_vote	= xmlDoc.getElementsByTagName('vote').item(0).firstChild.nodeValue;
				var obj = document.getElementById('bbs_voteRecom');
				obj.innerHTML = '('+v_vote+')';
				
				APM_runBBSBalloon('bbs_voteRecom','성공적으로 투표를 하였습니다', 'errorMsg');
			break;
			case 'unrecom':
				var v_vote	= xmlDoc.getElementsByTagName('vote').item(0).firstChild.nodeValue;
				var obj = document.getElementById('bbs_voteUnrecom');
				obj.innerHTML = '('+v_vote+')';
				
				APM_runBBSBalloon('bbs_voteUnrecom','성공적으로 투표를 하였습니다','errorMsg');
			break;				
			default :
				APM_BBSPageRelation ('',1);
		}
	}else{
		switch(this.mode){
			case 'headline_write' :
			case 'write' :
				var subObj = document.getElementById('apmBBSWSubmit');
				if(subObj) subObj.style.display = '';
			break;
			case 'reply':
				var subObj = document.getElementById('apmBBSRESubmit');
				if(subObj) subObj.style.display = '';
			break;
			case 'headline_modify' :
			case 'modify':
				var subObj = document.getElementById('apmBBSMSubmit');
				if(subObj) subObj.style.display = '';
			break;
		}

		alert(v_contents);
	}
}