// All rights reserved Kseek co., ltd. 본 문서의 모든 저작권은 (주)케이시크에 있습니다. 일부및 전부에 대한 무단 복제를 금합니다.
// 2007.5.4 (주)케이시크

// 2009.06.29 _icut_tds 구하는 부분 오류수정; pline에서 각 td셀의 넓이 계산하는 부분 수정 (httpw와 함께 패치해야함)
// 2009.04.27 __plain ==> "&quote;" => '"' 로 번안하지 않도록 뺌. title=" dfsdfs ""dlfjsd" 형태 에러 발생.
// 2008.01.08 _thumbnail => alternative 추가 옵션 제공.
// 2008.12.03 __s2s 함수 추가.. 댓글에서 \n => <br /> 로 표기하는 것 때문에 그러함.
// 2008.11.24 _on_enter 키 추가...
// 2008.11.04 icons/board =>  icons/ls 가 됨.
// 2008.10.14 댓글 삭제에서 shell 이어받기가 안되는 부분 수정하였음
// 2008.10.10 Sumit->언어셋 변환하도록, mail, uinfo, mssg 에서 이름삭제(IE 6.0 미스매치)
// 2008.10.07 Movie clip 실행안되는 오류 수정.
// 2008.10.07 widthfit 을 첨부된 이미지 파일에 적용하다.
// 2008.10.07 폴리티콘 옵션이 없을 때 안나온다.
// 2008.10.01 댓글 달기 textarea 가 submit 창을 오버하지 않도록 조정했음.
// 2008.09.10 _pl_vars 함수에서 확장필드값을 'null'로 처리하는 문제 해결되었음.
// 2008.06.25 _div_display ==> _display로 변경됨.
// this javascript must be located after #!shell...; statement.
// There is a sentence for chaining call the shell document.
//  라고 하면 실행되도록 했다.
var SrCnt=0;
var ToDate = new Date();

var __ticon ={
	'*':['star','별 게시물'],
	'#':['sharp','창의'],
	' ':['space','추천'],
	'+':['plus','우수'],
	'-':['minus','주의'],
	'0':['00','접수단계'],
	'1':['01','준비단계'],
	'2':['02','검토단계'],
	'3':['03','처리단계'],
	'4':['04','협의단계'],
	'5':['05','보류단계'],
	'6':['06','이관단계'],
	'7':['07','반려단계'],
	'8':['08','기각단계'],
	'9':['09','완료단계'],
	'str':'*# +-0123456789'
};
var _Bicon = 'default';

var  On_Enter=' onkeypress="" ';//' onkeypress="try{_on_enter(event,this.onclick);}catch(e){}" ';
var Browser_lang=null;

function _browser_lang()
{
	var lang,x=navigator;
	if(Browser_lang!=null)return Browser_lang;
	if(typeof(x.userLanguage)!='undefined')lang=x.userLanguage;
	else if(typeof(x.language)!='undefined')lang=x.language;
	else lang='en';
	lang=lang.toLowerCase();
	if(lang.indexOf('ko-')==0)lang='ko';
	Browser_lang=lang;
	return lang;
}
function _ch_ticon(tt)
{
	if(typeof(tt)!='string')return null;
	if(tt.length<3)return null;
	if(tt.charAt(0)!='['||tt.charAt(2)!=']')return null;
	var c=tt.charAt(1);
	if((__ticon.str).indexOf(c)>-1)return c;
	return null
}

function _ticon_change(slt)
{
	if(typeof(slt.form.title)=='undefined')return;
	var te=slt.form.title, tt=te.value;
	var c=_ch_ticon(tt);
	if(c!=null)tt=tt.substring(3);
 	te.value=slt.value+tt;
	return;
}

function _ticon_select(tt, nm, st,de,dv)
{
	var tc,s='<select name="'+nm+'" title="'+st+'" onchange="_ticon_change(this);" class="select">\r\n', i, len,str;
	s+='<option value="" title="'+dv+'">'+de+'</option>\r\n';
	str=__ticon['str'];
	tc=_ch_ticon(tt);
	for(len=str.length,i=0;i<len;i++){
		var c=str.charAt(i), ic=__ticon[c], sl=((tc==c)?' selected="selected"':'');
		s+=('<option value="['+str.charAt(i)+']" title="'+ic[0]+' '+ic[1]+'"'+sl+'>'+ic[1]+'</option>\r\n');
	}
	document.write(s);
}

function _byid(id)
{
	return document.getElementById(id);
}
var __Style = { 
	listbg	:"#FFFFFF",
	listov	:"#FCFCFC",
	listsw	:"#FFFFFF",
	list	:"#FFFFFF",
	text	:"#777777",
	atext	:"#1144DD",
	rtext	:"#FF0000",
	headbg	:"#E3EAEC",
	head	:"#333333",
	id	:"",
	bodybg	:"#FFFFFF",
	name	:"#777777",
	namebg	:"#C9C9C9",
	fsize	:"9pt",
	ewidth	:"640px"
};
var SegioShell=null;

function _loc_shell()
{
	var shell='';
	var href = location.href;
	var opt = href.split('?');
	if(opt.length<2)return '';
	href= opt[opt.length-1];
	var ind = href.indexOf('shell=');
	if(ind<0)return '';
	href=href.substring(ind);
	opt = href.split('&');
	if(opt.length>0)return opt[0];
	return '';
}

function _segioshell()
{
	if(SegioShell == null)SegioShell=_loc_shell();
	return SegioShell;
}


function _is_fmatch(ff, extds)
{
	var len, i, ext = extds.split(':');
	len = ext.length;
	for(i=0;i<len;i++)if(ext[i]==ff)return true;
	return false;
}

function _resize(img,width,height,adjust)
{
	if((img.width>width)&&(img.width>2)){
		img.height=(img.height*width) / img.width;
		img.width=width;
	}
	if((img.height>height) && (img.height>2)){
		img.width =(img.width * height) / img.height;
		img.height=height;
	}
	if(adjust&&(img.height>0)){
		if(height>img.height)img.vspace = (height-img.height)/2;
	}
	return;
}

function _get_fext(fname)
{
	fname = fname.split('.');
	if(fname.length<2)return '';
	return fname[fname.length-1].toLowerCase();
}


function _pop_image(width,height, img)
{
	var result, dd, src;
	var _left=(screen.width-width)/2;
	var _top=(screen.height-height)/2;
	var opt='resizable=yes,scrollbars=yes,left='+_left+',top='+_top;
	opt +=',width=0, height=0';
	
	result=window.open('','pop_img',opt);

	dd = result.document.getElementById("view_div");
	src='<img src="'+img+'" border=0 onclick="window.close()" ';
	src += 'onload="window.moveTo((screen.width-this.width)/2,';
	src +='(screen.height-this.height)/2);window.resizeTo(this.width+55,this.height+90);" ';
	src +='style="cursor:pointer;">';

	if(dd)dd.innerHTML=src;
	else {
		var html = '<html><head><title>image_preview</title></head>';
		html += ('<body><div id="view_div">'+src+'</div></body></html>');
		result.document.write(html);
	}
	result.focus();
}

function _em_image(url, w, h)
{
	var s='';
	if(url.length<4)return s;
	s+= ('<a href="#" onclick="javascript:_pop_image(100,90,\''+url+'\');');
	s+=('re'+'turn(false);" title="'+url+'">');
	s+=('<img name="'+w+'x'+h+'" border="0"');
//	s+=(' onload="_resize(this,'+w+','+h+',false);"');
	s+=(' src="'+url+'?thumb='+w+'x'+h+'" />');
	s+='</a><br/>';
	s+='<a href="'+url+'">'+url+'</a>\n';
	s+='<br/><br/>\n';
	return s;
}

function _em_movie(url, w, h, tp)
{
	var s='';

	if(url.length<4)return s;
	if(url.charAt(0)=='/'){
		url=location.protocol+'//'+location.host+url;
	}
	s= "<embed src='" + url + "' width='" + w+ "' height='" + h + "' type='"+tp+"'>";
	s+="</embed>\n";
	return s;
}


function _em_flash(url, w, h, tp)
{
	var s='';

	if(url.length<4)return s;
	s= "<embed src='" + url + "' width='" + w+ "' height='" + h + "' type='"+tp+"'>\n";
	s+="\n</embed>\n";
	return s;
}

function _em_music(url,w,h, tp)
{
	var s='';

	if(url.length<4)return s;
	s= "<embed src='" + url + "' type='"+tp+"'>";
	s+="</embed>\n";
	return s;
}

function __re_check(cked,els, nm)
{
	var i,j;
	j=els.length;

	for(i=0;i<j;i++){
		var ele= els[i];
		if(ele.name!=nm)continue;
		ele.checked = cked?!ele.checked:cked;
	}
	return;  
}

function _re_check(ch, nm)
{
	return __re_check(ch.checked,ch.form.elements,nm);
}


function _fsz_str(sz)
{
	var unit='B';
	if(sz>999){ sz /= 1024; unit='KB'; }
	if(sz>999){ sz /= 1024; unit='MB'; }
	if(sz>999){ sz /= 1024; unit ='GB'; }
	if(sz>999){ sz /= 1024; unit ='TB'; }
	if(sz>=10) sz = Math.round(sz);
	else if(sz>=1) sz = Math.round(sz*10)/10;
	else sz = Math.round(sz*100)/100;
	return (''+sz+' '+unit);
}

function _post_attached(files,ml)
{
	var i, s='', len=files.length, did;
	var f_cont ="gif:jpg:bmp:png:wmv:mp3:jpe:jpeg:png";
	var zframe = _zero_iframe(); 

	if(!ml)ml=false;
	for(i=0;i<len;i++){
		var file=files[i];
		if(file[1].length>0)continue;
		if(!ml){
			if(_is_fmatch(_get_fext(file[0]), f_cont))continue;
		}	
		did = 'div_pop_'+(SrCnt++);
		
		s +='<tr><td>'+_ficon(file[4])+'</td>\n<td>';
 		s+='<a href="'+file[2]+'" title="다운로드">';
		s +=file[0]+'&nbsp;</a></td><td>';
		s+=( _fsz_str(file[3]))+'&nbsp;</td><td>'+__date_str(file[5])+'&nbsp;</td>';

		s+='</tr>';

 	}

	if(s.length>0)s = '<table border="0" cellpadding="0">'+s+'</table>';
	else s="&nbsp;";
	dwrite(s);
}

function _em_ftype(fmatch, files)
// 파일 타입이 같은 것만 골라서 화면 구성에 포함시킨다.
{
	var i, len,file,cnt,ext, s='';
	len = files.length;


//alert(fmatch+ '    '+files);
	for(cnt=i=0;i<len;i++){
		file = files[i];
		if(file[1].length>0)continue;
		if(_is_fmatch( _get_fext(file[0]), fmatch[0])){
	 		var opt = fmatch[2];
			s+=fmatch[1](file[2], opt[0], opt[1],opt[3]);
			file[1] = 'used';
			cnt ++;
		}
	}
	document.write(s);
	return cnt;
}

function _em_attached(files)
{
	var i, len,wfit=0;

	if(typeof(ImageWidthFit)!='undefined')wfit=ImageWidthFit;
	wfit = (wfit>20)?wfit:550;
	var f_match =[
		["wmv:asf:mov:avi:mpg:mpeg",_em_movie, [420,315,'application/x-mplayer2','']],
		["mp3:wav:wma",		_em_music, [420,315,'application/x-mplayer2','']],
		["swf",			_em_flash,   [wfit,wfit,'application/x-mplayer2','']],
		["jpg:png:gif:jpeg:bmp:jpe",	_em_image, [wfit,4000,'','']]];

	if(files.length<1)return 0;
	for(len=f_match.length, i=0;i<len;i++){
		_em_ftype(f_match[i], files);
	}
	return len;
}

function dwrite(str)
{
	document.write(str);
	return 0;
}

function _user_menu_str(id, name, title, oncl,cl)
{
	var s='',cnt=0,  an, did;

	if(cl==null)cl='atext';
	if(!id)return title;
	if(id.length<1)return title;
	
	an = _umail_popstr(id,name);
	if(an.length>0){
		s += an + '편지쓰기' + '</a>';
		cnt ++;
	}

	an = _umssg_popstr(id, name);
	if(an.length>0){
		if(cnt++)s += '<br />\n';
		s += an + '쪽지보내기' + '</a>';
	}

	an = _uinfo_popstr(id,name);
	if(an.length>0){
		if(cnt++)s += '<br />\n';
		s += an + '사용자정보' + '</a>';
	}

	if(cnt<1){
		if(!oncl)return title;
		return ('<a href="#" '+oncl+' class="atext">' + title + '</a>');
	}
	if(!oncl)oncl='#';
	
	did = 'div_pop_'+(SrCnt++);
	var dl = '<div style="display:none;position:absolute;z-index:10;" id="'+did+'" class="s_popupdiv">';
	dl  += s;
	dl += '</div>\n';
	title='<span class="'+cl+'">'+title+'</span>';
	s = '<a href="#" '+oncl+'" onclick="_display(\''+did+'\');return(false);" onclick="return false;">'+title+'</a>'+dl;
	return s;
}

function __writer_str(u, idview,cl)
{
	var str='무명씨',nm, id;
	
	if(!u)return str;
	nm=u[1], id=u[0];

	if(nm.length>0){
		str = nm;
		if(id.length>0&&idview==true)str += ('('+u[0]+')');
	}

	if(str.length<1)str="&nbsp;";
	str = _user_menu_str(id, nm, str,null,cl);

	return str;
}

function __is_newdate(d)
{
	var date = new Date();
	date.setFullYear(d[0],d[1]-1,d[2]);
	date.setDate(date.getDate()+1);
	return (ToDate<date)?true:false;
}

function __date_str(date)
{
	var str='';
	var d=date[0].split('/');

	if(__is_newdate(d))return date[1];
	str += d[0].substring(2,4)+'-' + d[1]+'-'+d[2];
	return str;
}

function __bgcolor(ele,c)
{
	ele.style.background=c;
}

function __postlist_headline()
{
	var str = '';
	return str;
}

function _mov_bg(col)
{
	return ' onmouseover=\"__bgcolor(this,\''+col+'\');\"';
}

function _mout_bg(col)
{
	return ' onmouseout=\"__bgcolor(this,\''+col+'\');\"';
}

function _map_bdata(data, mid)
{
	if(mid>=0){
		var da = data[mid];
		return (da!=null)?da:null;
	}
	return null;
}

function _pl_date( post, dmap,an,c,tc)
{
	var d = _map_bdata(post,dmap["date"]);
	d=d?__date_str(d):"";
	return _span(d,tc);
}

function _pl_uname(post, dmap,an,c,tc)
{
	var d = _map_bdata(post,dmap["uname"]);
	d=(d)?d:"사용자이름이 없습니다.";
	return _span(d,tc);
}

function _pl_file( post, dmap)
{
	var d = _map_bdata(post,dmap["file"]);
	var src ='&nbsp;';
	
	if(d == null)return src;
	if(d.length<1)return src;
	var f = d[0];
	if(f.length<5)return src;
	src = '<a href="'+f[2]+'" title="'+f[0]+'">'+_ficon(f[4])+'</a>';
	return src;
}

function _span(s,c)
{
	if(c==null)return s;
	return '<span class="'+c+'">'+s+'</span>';
}

function _pl_no( post, dmap, an,c,tc)
{
	var no='&nbsp;', n=_map_bdata(post,dmap["no"]);
	var img='',alt='';
	if(n){
		var ns=n[0], op=n[1];
		if(ns.length>2)no=ns[1];
		if(__in(op,'not')){ img='l_notice.gif'; alt='공지'; }
	}
	no=_span(no,tc);
	if(img.length>0)no=_bicon(img,alt);
	return _anchor_str(an,no);
}

function _pl_read( post, dmap,an,c,tc)
{
	var d=_map_bdata(post,dmap["read"]);
	d=(d!=null)?d:0;
	return _span(d,tc);
}

function _pl_check(post, dmap, an,c,tc)
{
	var s;
	var c=_map_bdata(post,dmap["check"]);
	if(c){
		s ='<input type="checkbox" class="checkbox" name="'+c[0]+'" value="'+c[1]+'" />';
	}else s="nbsp;";
	return _span(s,tc);
}

function _anchor_str(an, s)
{
	var t='&nbsp;';
	if(s)if(s.length>0)t=s;
	if(an.length>0)t= an+t+'</a>';
	return t;
}

function _pl_vars (post, dmap, an, c,tc)
{
	var s=_map_bdata(post,dmap[c[0]]);
	s=s?s:'&nbsp;';
	return _span(s,tc);
}

function __in(s, k)
{
	return ((s.indexOf(k)>=0)?true:false);
}

function __len(o)
{
	if(!o)return 0;
	if(typeof(o.length)=='number')return o.length;
	return 0;
}

function _url_str(u)
{
	var s='';
	if(__len(u)<1)return s;
	s+=' <a href="'+u+'" title="'+u+'" target="_blank">'+_bicon('t_go2url.gif','Open Url')+'</a>';
	return s;
}

function _pl_title( post, dmap, an, c, tc)
{
	var s=_map_bdata(post,dmap["title"]);
	var r,i1,i2,i3,i4,d=0,a1,a2,a3,a4;
	var n=_map_bdata(post,dmap["no"]);
	var w=0;

	i1=r=i2=i3=i4=a1=a2=a3=a4='';
	
	var u=_map_bdata(post,dmap["url"]);
	var op=n[1],no=n[0];
	
	
	if(__in(op,'tic')){ i1='t_icon.gif'; }
	if(__in(op,'not')){ i1='t_notice.gif'; a1='공지';}
	if(__in(op,'loc')){i2='t_viewlock.gif';a2='보기잠금'; }
	if(__in(op,'new')){i3='t_new.gif';a3='새 게시믈'; }
		
	if(no.length>2){
		d=no[3];
		w=no[2];
	}
	if(d>0)r='';

	var tic=_ch_ticon(s);
	if(tic!=null){
		var ti=__ticon[tic];
		i1='t_'+ti[0]+'.gif'; a1=ti[1]; s=s.substring(3);
	}

	var t="제목이 없습니다.";
	if(__len(s)>0)t=s;

	if(w>0)t += ' ['+w+']';

	t=_span(t,tc);
	s='';
	if(d>0){
		s=_bicon('t_reply.gif','답변')+s;
		for(;d>0;d--)s='&nbsp; &nbsp; &nbsp;'+s;
	}
	t=(_bicon(i1,a1)+t+_bicon(i2,a2) + _bicon(i3,a3));
	s+= _anchor_str(an, t);

	b = _url_str(u);
	if(__len(b)>0)s +=(' '+b);
	return s;
}

function _politicon(u,cf)
{
	var s='',url='',pol;
	if(u.length<2)return s;
	if(typeof(u[0])!='string')return s;
	if(u[0].length<1)return s;

	pol=cf[2].split(':');
	if(pol.length<3)return s;
	pol=pol[2].split(',');
	if(pol.length<2)return s;
	var sz=pol[1];
	if(sz<4)return s;
	url=pol[0]+'?cmd=politicon&uid='+u[0]+'&opt='+sz+'x'+sz;
	s+='<img border="0" class="politicon" alt="'+u[1]+'" src="'+url+'" />'; // absmiddle
	return s;
}

function _pl_writer( post, dmap,an,c,tc,cf)
{
	var d=_map_bdata(post,dmap["uinfo"]);
	var s='';

	s+=_politicon(d,cf);
	s+=__writer_str(d,true,tc);
	return s;
}

function _pl_user( post, dmap,an,c,tc,cf)
{
	var d=_map_bdata(post,dmap["uinfo"]);
	var s='';

	s+=_politicon(d,cf);
	s+=__writer_str(d,false,tc);
	return s;
}

function _pl_icut(post, dmap, an, cell)
{
	var s='';
	var fs= _map_bdata(post,dmap["file"]);
	var sz = cell[3];
	var url='/icons/ls/'+_Bicon+'/l_noimage.gif';

	if(sz<10)sz=100;
	if(__len(fs)>0)url=fs[0][2];

	s+='<div style="width:'+sz+'px;height:'+sz+'px;overflow:hidden;">\n'
	if(an.length>0){ s+=an; an='</a>'; }
	s+=_thumbnail(url,sz,sz,'','');
	s+=an+'</div>\n';

	return s;
}

function _pl_thumb(post, dmap, an, c,tc,cf)
{
	var s='',id;
	var fs= _map_bdata(post,dmap["file"]);
	var lh = __height(cf[2],1)// = c[4];
	var url;

	lh=(lh<10)?40:lh-2;
	if(__len(fs)>0)url=fs[0][2];
	else return '&nbsp;';

//	s+='<div style="width:'+sz+'px;height:'+sz+'px;overflow:hidden;">\n'
	if(an.length>0){ s+=an; an='</a>'; }
	s+=_thumbnail(url,lh,lh,'','')+an;
//	s+='</div>\n';

	return s;
}

function _pl_scut(post, dmap, an, cell,tc)
{
	var s='';
	var fs= _map_bdata(post,dmap["file"]);
	var no = _map_bdata(post,dmap["no"]);
	var sz=100,align='left';
	
	if(__len(cell)>4){
		if(cell[3]>0)sz=cell[3];
		align=_align(cell[2]);
	}
	if(sz<10||sz>200)sz=100;

	if(an.length>0){ s+=an+'<span class="'+tc+'">'; an='</span></a>'; }

	if(__len(fs)>0){
		var url=fs[0][2];
		s+=_thumbnail(url,sz,sz,align,'');
	}
	var cont=(__len(no)>4)?no[4]:'';
	cont=(cont.length>0)?cont:'......';
	s+=_plain(cont);

	s+=an;
	return s;
}

var Pline_func = {
	"date"	:_pl_date,
	"file"	:_pl_file,
	"no"	:_pl_no,
	"check"	:_pl_check,
	"title" :_pl_title,
	"writer":_pl_writer,
	"read"	:_pl_read,
	"user"	:_pl_user,
	"uname"	:_pl_uname,
	"imagecut":_pl_icut,
	"thumb"	:_pl_thumb,
	"shortcut":_pl_scut
};


function _url_add(hr,op)
{
	var i = __in(hr,'?')?'&amp;':'?';
	if(op.length>0){
		op=( hr+ i + op );
	}else op=hr;
	return op;
}

function _icut_tds(lc)
//이미지컷의 가로배치 td수를 구함.
{
	var tds=5;
	var i, len;
	for(len=lc.length,i=0;i<len;i++){
		if(lc[i][0]=='imagecut'){ tds = lc[i][4]; break; }
	}
	if(tds<1)tds=5;
	return tds;
}

function _p_image(cnt, form, post, dmap, bg, ov, next,tds)
{
	var s='', na;
	var fs= _map_bdata(post,dmap["file"]);
	var no= _map_bdata(post,dmap["no"]);
	
	var an=_post_atag(no,true);
	na = cnt%tds;
	
	if(na==0)s+='<tr>';

	s+='<td '+_mov_bg(ov)+_mout_bg(bg)+' style="'+_stbg(bg)+'" width="'+Math.round(100/tds)+'%">\n';
	s+='<div class="imagecut_div">';		
	s+= _list_div(form[1],post, dmap, no, an, "imagecut_",form[0]);
	s+='</div></td>\n';
	if(((na+1)==tds)||(!next))s+='</tr>';
	return s;
}


function _plain(t)
{
	var i,l,key=['<br />', /<br \/>/, '\r\n'];//   '&quot;', /&quot;/, '"'];
	for(i=0,l=key.length;i<l;i+=3){
		for(;__in(t,key[i]);)t=t.replace(key[i+1],key[i+2]);
	}

	return t;
}

function _post_atag(no,view)
{
	if(__len(no)<5)return '';
	
	var hr=no[2],pop=no[3],t='';
	
	if(view&&(no[4].length>0))t+=' title="'+_plain(no[4])+'"';

	if(hr.length<1)return hr;

	if(pop.length<1)hr='<a href="'+hr+'"'+t+'>';
	else hr = '<a href="#" onclick="_popup(\''+hr+'\',\''+pop+');return(false);"'+t+'>';
	return hr;
}

function _list_div(lc, post, dmap, no, an, cl, cf)
{
	if(!lc)return '';
	var len=lc.length;
	var s='',i, func;
	var tc = _txtclass(no[1]);

	for(i=0;i<len;i++){
		var cell = lc[i];
		func = Pline_func[cell[0]];
		if(!func){
			if(cell[0].indexOf('var[')==0)func=_pl_vars;
			else continue;
		}

		var add = ' align="'+_align(cell[2])+'"';
		s+='<div class="'+cl+ cell[0] +'">\n';
		s+=func(post,dmap,an,cell,tc,cf);
		s+= '</div>\n';
	}
	return s;
}

function _align(al)
{
	if(al)if(al.length>2)return al;
	return 'left';
}

function _st_sz(nm,sz)
{
	if(!sz)return '';
	if(sz.length<1)return '';
	if(!(__in(sz,'%')||__in(sz,'px')||__in(sz,'pt')||__in(sz,'em')))sz+='px';
	return (nm+':'+sz+';');
}

function _stbg(bg)
{
	if(bg)if(bg.length>0)return ('background:'+bg+';');
	return '';
}

function _p_short(cnt, form, post, dmap, bg, ov, next)
{
	var s='',cf = form[0];
	var no;

	no=_map_bdata(post,dmap["no"]);
	var an=_post_atag(no,false);
	var lh = __height(cf[2],1);

	var clss=' class="shortcut_div"';
	
	s+='<tr'+_mov_bg(ov)+_mout_bg(bg)+' style="'+_stbg(bg)+_st_sz('height',lh)+'"><td>';
	s+='<div class="shortcut_div">';

	s+=_list_div(form[1], post, dmap, no, an, "shortcut_",cf);

	s+='</div></td></tr>\n';
	return s;
}
function _txtclass(o)
{
	var c='text';
	if(__in(o,'del'))c='rtext';
	else if(__in(o,'not'))c='btext';
	return c;
}

function _p_line(cnt, form, post, dmap, bg, ov,next)
{
	var s='',lc=form[1],cf = form[0];
	var i, len=lc.length, func, no,o;
	
	no=_map_bdata(post,dmap["no"]);
	var an=_post_atag(no,true);
	var lh=__height(cf[2],1);

	var cl = ' class="'+ ((next)?'cell4list':'cell4last')+'"';
	var tc = _txtclass(no[1]);

	if(typeof(POST_ID)!='undefined')if(no[0][0]==POST_ID)bg=ov;
	s+='<tr'+_mov_bg(ov)+_mout_bg(bg)+' style="'+_stbg(bg)+_st_sz('height',lh)+'">';
	for(i=0;i<len;i++){
		var cell = lc[i];

		func = Pline_func[cell[0]];
		if(!func){
			if(cell[0].indexOf('var[')==0)func=_pl_vars;
			else continue;
		}
		
		var add = ' align="'+_align(cell[2])+'"';
		add += (cell[3].length>0)?(' width="'+cell[3]+'%"'):'';
		s+='<td' + cl +add+'>\n';
		s+=func(post,dmap,an,cell,tc,cf);
		s+='</td>\n';
	}
	s+='</tr>\n';

	return s;
}

function _mapping_bdata(mid)
{
	var i, len, match,id;
	var Map = {};
	mid = mid.split(':');
	len = mid.length;
	// 정보가 ... "id1:id2:..." 형식으로 온다.
	for(i=0;i<len;i++)Map[mid[i]] = i;
	return Map;
}

function __height(hh, ind)
{
	var h='25px';
	if(__len(hh)<1)return h;
	hh=hh.split(':');
	if(hh.length<=ind)return h;
	hh = hh[ind];
	return ((hh.length<1)?h:hh);
}

function _post_ltop(Posts, Style)
{
	var form, i,cf,len,lc,s='';
	len = Posts.length;
	
	if(len<1)return;

	form=Posts[0];
	var type=form[0][0];
	if(type=='imagecut')return;
	if(type=='shortcut')return;

	lc = form[1];
	cf = form[2];
	len = lc.length;

	for(i=0;i<len;i++){
		var cell = lc[i];
		var add = (cell[3].length>0)?(' width="'+cell[3]+'%"'):'';
		add += (' align="'+_align(cell[2])+'"');
		s += '<th'+add+' >';
		if(cell[0]=='check') s+='<input type="checkbox" name="re_ck" onclick="_re_check(this,\'normal_ck\');" />';
		else s += cell[1];
		s += '</th>\n';
	}
	if(s.length>0){
		var hh = '<tr height="'+__height(cf[2],0)+'">';
		s ='<table width="100%" class="table4ltop" cellspacing="0">'+hh+s;
		s+='</tr></table>';
	}
	return dwrite(s);
}

function _post_list(Posts,b0,b1,ov0)
{
	var i,len,str ='', form,tds=0;
	var bg0='#FFFFFF', bg1='#FFFFFF', ov='#FCFCFC';
	if(typeof(b0)!='undefined')bg0=b0;
	if(typeof(b1)!='undefined')bg1=b1;
	if(typeof(ov0)!='undefined')ov=ov0;

	var func = _p_line;
	var dmap=false;

	
	if(bg1.length<1)bg1=bg0;
	if(typeof(Posts) =='undefined'){
		alert('No data');
		return ;
	}
	
	len = Posts.length;
	// 0 -> pinfo, 1->uinfo, 2->date, 3->pvalue;

	_Bicon = 'default';

	if(len>0){
		form=Posts[0];
		var type= form[0][0];
		if(type=='imagecut'){ func = _p_image; bg1=bg0; tds= _icut_tds(form[1]); }
		else if(type=='shortcut'){ func = _p_short; }
		else func = _p_line;
		var l=form.length;
		if(l>2){
			dmap = _mapping_bdata(form[2]);
		}
		if(l>4){
			var ic=form[4];
			if(ic.length>0)_Bicon=ic;
		}
	}
	
	if(dmap != false){
		var PostID=0;
		for(i=1;i<len;i++){
			var bg= ((i%2)==1)?bg1:bg0;
			var nt=(i+1<len)?true:false;
			str += func(i-1,form, Posts[i], dmap,bg, ov,nt,tds);
		}
	}
	
	if(str.length>0){
		str ='<table border="0" class="table4list" width="100%" cellspacing="0" cellpadding="1px">'+str + '</table>';
	}

	dwrite(str);
	return ;
}


function _ficon(ico)
{
	return  '<img class="s_icons" src="/icons/file/'+ico+'" alt="" />'; // absmiddle
	
}

function _bicon(ic,alt)
{
	if(__len(ic)<1)return '';
	return '<img class="s_icons" src="/icons/ls/'+_Bicon+'/'+ic+'" alt="'+alt+'"/>'; // absmiddle
}

function _popup_str(href, width, height, scroll)
{
	var s='';
	if(!width)width =300;
	if(!height)height = 200;
	if(!scroll)scroll = 1;

	s ='<a href="#" ';
	s+='onclick="window.open(\''+href+'\', \'mypop\', ';
	s+='\'width='+width+',height='+height+',scrollbars='+scroll+'resizable=1\');';
	s+='return(false);">';
	return s;
}

function _umail_popstr(id,name)
{
	var href, mp ="";
	mp = mp.split('####');
	if(mp.length<2)return '';
//	return _popup_str(mp[0]+name+'&lt;'+id+'&gt;'+mp[1]);
	return _popup_str(mp[0]+id+mp[1]);
}

function _umssg_popstr(id, name)
{
	var href, mp ="";
	mp = mp.split('####');
	if(mp.length<2)return '';
	return _popup_str(mp[0]+id+mp[1]); 
}

function _uinfo_popstr(id, name)
{
	var href, mp;
	
        
        mp ="";
	mp = mp.split('####');
	if(mp.length<2)return '';
	return _popup_str(mp[0]+id+mp[1]);
}

function __s2s(t,s,s1)
{
	var i,sl;

	sl=s.length; if(sl<1)return t
	for(;(i=t.indexOf(s))>0;)t=t.substring(0,i)+s1+t.substring(i+sl);
	return t;
}

function __pword_context(id,t)
{
	var s='',br=-1,be=0;

	t=__s2s(t,'\n','<BR />');
	if(t.indexOf('__')==0){
		br=t.indexOf('<');be=t.indexOf('>');
		if(br>-1&&be>br)be++;
		else be=br=t.length;
		s+='<div id="pword_t'+id+'" class="pwords_title">'+t.substring(2,br)+'</div>\n';
		t=t.substring(be);
	}
	t=__s2s(t,'  ',' &nbsp;');
	s+='<div class="pwords_context" id="pword_'+id+'">'+t+'</div>';
	return s;
}

function __pword_src(id)
{
	var sid='pword_'+id;
	var sel=_byid(sid);
	if(!sel){

		return '';
	}
	var s=sel.innerHTML;
	sid='pword_t'+id;
	sel=_byid(sid);
	if(sel)s= '__'+sel.innerHTML+'<BR />'+s;

	return pword_remove_br(s);
}

function __pword_s(pword, cf)
{
	var s='',ip,ds, d;
	var style ='';
	var ov = __Style.listov;
	var bg = __Style.listbg;
	
	if(!pword)return s;
	if(pword.length<4)return s;
	d=pword[0];
	ip=d[3];

	//  0=> d(info), 1=> uinfo, 2 => date, 3=> context
	if(d[1]>0)style = 'style="width:'+(99 - d[1]*5) +'%;"';
	s+='<div '+style+' class="pword_container">\n';
	//s+='<div onmouseover="__bgcolor(this,\''+ov+'\');" onmouseout="__bgcolor(this,\''+bg+'\');"';
	s+='<div ';
	//s+=' style="'+_stbg(bg)+'" class="pwords_top" >\n';
	s+=' class="pwords_top" >\n';
	s+='<div align="right" class="pwords_date" >\n';
	s+=__pword_menus(d[0],cf[0],d[2],cf[1]);
	ds=__date_str(pword[2]);
	if(ip.length>0)ds='<a href="#" onclick="alert(this.title);return false;" title="IP:'+ip+'">'+ds+'</a>';
	s+=ds+'</div>\n';
	s+=(_bicon('v_padd.gif','added word') +'\n'+ __writer_str(pword[1],true,null));
	s+='&nbsp;</div>\n';
	s+=__pword_context(d[0], pword[3]);
	s+='\n<div id="div4edit_'+d[0]+'">';
	s+='</div></div>\n\n';

	return s;
}

function _brd_rc()
{
	if(typeof(SegioStyle)!='undefined')__Style = SegioStyle;
}

function _pwords(words)
{
	var  i,s='<div align="right">\n', len;
	len = words.length;

	_brd_rc();

	if(len>1){
		var cf = words[0];
		for(i=1;i<len;i++){
			s += __pword_s(words[i], cf);
		}
	}
	s +='</div>\n';
	document.write(s);
}


function pword_remove_br(str)
{
	var i,j,end, s, tmp;
	if(!str)return;
	
	tmp = str.toUpperCase();
	i=tmp.indexOf('<DIV ');
	j=tmp.indexOf('>');
	end=tmp.indexOf('</DIV>');

	if((i==0||i==1)&&(end>0)&&(i<j)){
		var k=end+6;
		j++;
		if(tmp.charAt(j)=='\n')j++;
		for(;tmp.charAt(k)=='\n';k++);
		str='__'+str.substring(j,end)+'\n'+str.substring(k);
	}
	for(;;){
		i=(str.toUpperCase()).indexOf('<BR');
		if(i<0)break;
		s=str.substring(i);
		end=s.indexOf('>');
		str = str.substring(0,i)+'\n';

		if(end>0){
			if(s.charAt(end+1)=='\n')end++;
			str+=s.substring(end+1);
		}
	}
	return str;
}

var Cell4Reply = null;

function _zero_iframe()
{
	var name = 'segio_zero_iframe';
	var id   = "SegioZeroIFrame";
	
	if(!(_byid(id))){
		var src = '<iframe style="border:0;margin:0;width:0;height:0;" id="'+id+'" name="'+name+'"></iframe>'
		document.write(src);
	}
	return name;
}

function _pword_form(tdid, id, pid,perm,nobody)
{
	var width='99%', act;
	var el=_byid(tdid);

	if(!el){

		return false;
	}
	if(Cell4Reply==el){ el.innerHTML=''; Cell4Reply=null; return; }
	if(Cell4Reply!=null){
		Cell4Reply.innerHTML='';
	}
	Cell4Reply=el;
	
	var zframe = _zero_iframe();
	var src='<div align="right"><form method="POST" target="'+zframe+'">';
	if(id!='0'){
		act="편집";
		src +=('<input type="hidden" name="id" value="'+id+'" />');
	}
	else if (pid!='0'){
		if(!perm){ alert('You have no permmission:'+perm); return false; }
		act="답변";
		src +=('<input type="hidden" name="pid" value="'+pid+'" />');
		width='92%';
	}else {
		// if new reply
		act="답변"
		Cell4Reply=null;
		if(!perm)return false;
 	}
	src +=('<div style="font-weight:bold;padding:2px;width:'+width);
	src +=(';padding:4px;" align="left">');
	src +=('<table width="'+width+'" border="0" cellpadding="0" cellspacing="1">');

	 nobody = true; 
	if(nobody){ 
		// guest or nobody option.
		src +='<tr><td colspan="2">\n';

		if(id==0){ // only for new.
			src +='이름 <input name="UNAME" value="" ';
			src +='style="width:80px;" class="boxinput" />  ';
		}
		src +='비밀번호 <input name="passwd" type="password" ';
		src +='style="width:60px;" class="boxinput" /><br/>';
		src +='</td></tr>\n';
	}

	src +='<tr><td class="cell4textarea" style="width:85%;" align="right">';
	src +='<textarea style="width:99%;height:50px;border:1px solid #efefef;" ';
	src +='cols="60" cols="10" class="textarea" name="WORDS">';
	if(id!='0')src += __pword_src(id);
	src +='</textarea>\n</td><td>\n';
	src +=('<button type="submit" style="width:96%;height:50px;background:#efefef; border:1px solid #ccc;">'+act+'</button>');
	src +=('</td></tr></table>\n</div></form></div>');

	el.innerHTML=src;
}


function __pword_menus(id,wp,ep,nobody)
// It will be used for httpw binaray.
//wp, ep은  숫자로 들어온다.
{
	var s='',onc='';
	
	if(wp){
		s+='<a href="#" onclick="';
		s+=('_pword_form(\'div4edit_'+id+'\',0,\''+id+'\',true,');
		s+=(nobody>0)?'true':'false';
		s+=');ret'+ 'urn(false);" style="padding:0px;">답변</a> ';
	}
	if(ep==0)return s;
	
	s+=('<a href="#" onclick="');
	s+=('_pword_form(\'div4edit_'+id+'\',\''+id+'\',true,');
	s+=(nobody>0)?'true':'false';
	s+=(');ret'+'urn(false);">편집</a> ');

	if(ep>0){
		onc='onclick="return confirm(\'진행하시겠습니까?\');"';
	}
	s+=('<a href="?rmpadd='+id+'&'+_loc_shell()+'" '+onc+'>삭제</a>');
	s+=' &nbsp;';
	return s;
}

function _pword_menu(id,wp,ep,nobody)
{
	var s;
	s = __pword_menus(id,wp,ep,nobody);
	document.write(s);
	return;
}

function __set_display(val,did)
{
	var i, len, vals, dids;
	if(!val||!did)return;

	vals = val.split(':');
	dids = did.split(':');

	len = dids.length;
	for(i=0;i<len;i++){
		if(dids[i].length<1)continue;
		val = (i<vals.length)?vals[i]:'none';
		val = (val.length<1)?"none":val;
		var div = _byid(dids[i]);
		if(div)div.style.display = vals[i];
	}
	return;
}

// _display ===> 모든 곳에서 동일하게 사용된다.
//
var _DStyle=null;

function _display(divid)
{
	var ds=null;
	if(divid!=null){
		d=_byid(divid);
		if(d)ds=d.style;
	}
	if(_DStyle==ds)ds=null;
	if(_DStyle!=null){
		_DStyle.display='none';
		_DStyle=null;
	}
	if(ds!=null){
		ds.display='block';
		_DStyle=ds;
		setTimeout("_display(null);", 9000 );
	}
	return false;
}


//////////////  Edit on view pencil ////////////////////////

function __pop_feditor(url,count)
{
	var tgt,wopt='width=640px,height=480px,scrollbars=0,statusbar=0,toolbar=0,resizable=1';
	var tgt='editor_'+url.length+'_'; tgt += count;
	window.open(url,tgt,wopt);
	return false;
}

function __view_edit_pen(uri)
{
	var did=_byid('uri_pen_info');
	if(did){
		did.innerHTML='';
		if(uri){
			var src='<div style="padding:2px 2px 1px 2px;background:#000000;color:#FFFF00;">';
			src+=(uri+'</div>');
			did.innerHTML = src;
		}
		else uri='';
	}
	return (false);
}

function put_EditOnView(editor,tg)
{
	var i, len;
	var str ='';
	
	len=editor.length;
	if(len<1)return;

	src = '<div style="position:absolute;left:1px;bottom:1px;z-index:1000;" align="left">\n';
	src += '<div id="uri_pen_info" style="padding:2px;"></div>'
	for(i=0;i<len;i++){
		var ed = editor[i];
		str += '<a href="#" onmouseover="return __view_edit_pen(\''+ed[0]+'\');"';
		str += ' onmouseout="return __view_edit_pen(null);"';
		str += ' onclick="return __pop_feditor(\''+ed[1]+'\');">';
		str += '<img style="border:0;" src="/icons/admin/d_edit.gif" class="s_editonview" alt="" /></a>';
	}
	src = '</div></div>';
	
	if(tg){
		tg=_byid(tg);
		if(!tg)return;
		
		tg.innerHTML = src;
	}
}

function winopen_bsetup(bid)
{
	var id='/_cfg?act=board&id='+bid+'.brd&shell=none';
	var sz="width=570,height=540,menubar=0,scrollbars=1,toolbar=0,resizable=1";
	window.open(id,'brdcfg_7188',sz);
	return false;
}

function _thumbnail( url, w, h,align,alt)
{
	var s='';
	
	url = _url_add(url, 'thumb='+w+'x'+h);
	
	if(url.length<2)src="nbsp;";
	else {
		s+=('<img name="'+w+'x'+h+'" border="0"')
		if(align.length>0) s +=(' align="'+align+'"');
//		s+=(' onload="_resize(this,'+w+','+h+',true);"');
		s+=(' src="'+url+'" alt="'+alt+'" />');
	}
	return s;
}

function _plist_img(url, w, h, align,alt)
{
	var s = _thumbnail(url,w, h, align,alt);
	dwrite(s);
}

function _put_flash_show(url, width, height,quality, menu, wmode)
{
	var s='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" ';
	s+=' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" ';
	s+=(' width="'+width+'" height="'+height+'">');
	s+=(' <param name="movie" value="'+url+'" />');
	s+=(' <param name="quality" value="'+quality+'">');
	s+=(' <param name="menu" value="'+menu+'">');
	s+=(' <param name="wmode" value="'+wmode+'">');
	s+=(' <embed src="'+url+'" width="'+width+'" height="'+height+'" quality="'+quality+'" wmode="'+wmode+'" ');
	s+=' pluginspage="http://www.macromedia.com/go/getflashplayer"';
	s+=(' type="application/x-shockwave-flash" menu="'+menu+'">');
	s+=' </embed>';
	s+='</object>';
	dwrite(s);
}

function _on_enter(e,func)
{
	var key;
	if(window.event)key=e.keyCode;
	else if(e.which)key=e.which;
	else return true;// 탭키반환
	if(key==13){func();return false; }
	return true;
}
