// MAIN Javascript
/*
this_url="세부적인 보드링크 url";
this_skin="현재출력 스킨 디렉토리의 url/path";
is_Admin="관리자 접속이면 1";
is_Member='회원로그인이면 1';
*/
//-------------------------------------------------------------------------------------------------------#
var is_iphone=0;
var is_appbrowser=0;
// set_standalone_apple_webkit(); // 아이폰 APP 전용모드 없애려면 이 라인을 제거
if(!location.href.match(/\#\w+$/) && !is_appbrowser){
try{ window.addEventListener('load', function(){ setTimeout(scrollTo, 0, 0, 1); }, false); } catch(e){}
}
if(typeof(fix_navi) != 'undefined' && fix_navi=='hidden'){
document.write("");
try{ window.addEventListener('load', function(){ top.scrollTo(1, 0); }, false); } catch(e){}
}
if(typeof(document.readyState)=='undefined'){ // fireFox
document.readyState='loading';
setTimeout(function(){document.readyState='complete';},2000);
}
//-------------------------------------------------------------------------------------------------------#
function TnT_addEvent(obj,type,listener){
if(document.readyState=='complete' || type=='load' || type=='onload') TnT_addEvent_now(obj,type,listener);
else TnT_addEvent_onload(obj,type,listener);
}
function TnT_addEvent_onload(obj,type,listener){
if(window.addEventListener){
window.addEventListener("load",function(){
TnT_addEvent_now(obj,type,listener);
},false);
}
else{
window.attachEvent('onload',function(){
TnT_addEvent_now(obj,type,listener);
});
}
}
function TnT_addEvent_now(obj,type,listener){
if(typeof(obj)=='string'){
if(obj.match(/^\./)){ // class
var str_class=obj.replace(/^\W/g,'');
var tags = document.getElementsByTagName('*');
for(i in tags){
if(tags[i].className==str_class) TnT_addEvent_action(tags[i],type,listener);
}
}
else TnT_addEvent_action(document.getElementById(obj.replace(/^\W/g,'')),type,listener); // id
}
else TnT_addEvent_action(obj,type,listener); // object
}
function TnT_addEvent_action(obj,type,listener){
if(!obj) return;
if(window.addEventListener) obj.addEventListener(type.replace(/^on/i,''),listener,false);
else if(window.attachEvent) obj.attachEvent('on'+type.replace(/^on/i,''),listener);
}
// ---------------------------- *
function TnT_delEvent(obj,type,listener){
if(typeof(obj)!='object') obj=document.getElementById(obj);
if(obj.removeEventListener) obj.removeEventListener(type.replace(/^on/i,''),listener,false);
else obj.detachEvent('on'+type.replace(/^on/i,''),listener);
}
// ---------------------------- *
function get_event_target(evt){
var is_target;
if(!evt) evt = window.event;
if(evt.target) is_target = evt.target;
else if(evt.srcElement) is_target = evt.srcElement;
else return;
if(is_target.nodeType == 3) is_target = is_target.parentNode; // safari bug
return is_target;
}
//-----------------------------------------------------------------------------------------------------------#
// bottom tool bar
var is_touchmove =0;
ToolBarCtll_start = function(check){
if(check=='none') is_touchmove = 1;
if(is_touchmove) return;
toolBarLayerFloat.style.display='none';
is_touchmove = 1;
}
ToolBarCtll_end = function(){
if(is_touchmove) touchend_motion=setTimeout("ToolBarCtll_motion()",500);
}
ToolBarCtll_scroll = function(){
ToolBarCtll_motion();
}
ToolBarCtll_motion = function(){
try{clearTimeout(touchend_motion);}catch(e){}
is_touchmove = 0;
toolBarLayerFloat.style.opacity = '0';
toolBarLayerFloat.style.display='block';
toolBarLayerFloat.style.bottom = '-' + (window.scrollY+1) + 'px';
toolBarLayerFloat.style.left = window.scrollX + 'px';
toolBarLayerFloat.style.opacity = '1';
}
//--------------------------------------------------------------------------#
// 아이폰 APP 모드
function set_standalone_apple_webkit(){
if(!navigator.userAgent.match(/iPhone|iPod|iPad/)) return;
is_iphone=1;
if(!navigator.standalone) return;
is_appbrowser=1;
window.addEventListener('load',function(){
setTimeout("ch_anc_to_js_location()",50); // Anchor tag to js location
toolBarLayerFloat=$_ID('toolbar_float_layer');
if(toolBarLayerFloat){
document.addEventListener('touchstart',ToolBarCtll_start,false);
document.addEventListener('touchend',ToolBarCtll_end,false);
window.addEventListener('scroll',ToolBarCtll_scroll,false);
window.addEventListener('orientationchange',ToolBarCtll_scroll,false);
if(location.href.match(/#\w+$/)) setTimeout("ToolBarCtll_motion()",500);
else toolBarLayerFloat.style.display='block';
$_ID('toolbar_float_space').style.display='block';
$_ID('foot_menu_dn').style.display='none';
}
(function(){
var key_url = 'a7r'+this_skin_uni_str;
var key_scroll = 'k8R'+this_skin_uni_str;
var key_time = 'fG2'+this_skin_uni_str;
var key_navi = 'h1I'+this_skin_uni_str;
var key_log = 'v4S'+this_skin_uni_str;
if(!sessionStorage.getItem(key_log)){
sessionStorage.setItem(key_log,1);
view_prev_panel(
localStorage.getItem(key_url),
localStorage.getItem(key_scroll),
localStorage.getItem(key_time),
localStorage.getItem(key_navi)
);
}
else if(Temp=location.href.match(/&openscroll=(\d+)$/)){
setTimeout(scrollTo,10,0,Temp[1]);
setTimeout("ToolBarCtll_motion()",100);
}
localStorage.setItem(key_url,location.href);
localStorage.setItem(key_time,TnT_time());
localStorage.setItem(key_navi,fix_navi);
window.addEventListener('scroll',function(){localStorage.setItem(key_scroll,get_Yscroll());},false);
})();
},false);
}
// 이전접속 경과 시간 및 이전 페이지 링크
function view_prev_panel(prev_url,prev_scroll,prev_time,prev_navi){
var box,left,temp,h,m,s;
if(prev_url.length<20 || !prev_time) return;
if(prev_url != location.href){
if(!prev_url.match('?')) prev_url += '?';
if(prev_navi) prev_url += '&fix_navi='+prev_navi;
if(prev_scroll) prev_url += '&openscroll='+prev_scroll;
}
left = (TnT_clientWidth() - 80) /2;
prev_time = (TnT_time() - parseInt(prev_time)) / 1000;
h = Math.floor(prev_time/3600);
m = Math.floor(prev_time%3600/60);
s = Math.floor(prev_time%60);
box = "" +
"
" +
"

" +
((h>0) ? (h+'시간 '+m+'분') : ((m>0) ? m+'분 '+s+'초전' : s+' 초전')) +
"
";
temp=document.createElement('div');
temp.innerHTML = box;
document.body.appendChild(temp);
setTimeout(function(){temp.style.display='none';},6000);
}
//--------------------------------------------------------------------------#
function location_href(url,target){
if(target) window.open(url,target).focus();
else location.href=url;
}
function $_ID(id_str){
if(typeof(id_str) == 'object') return id_str;
return document.getElementById(id_str) || null;
}
function $_CLASS(class_str,tag_name){
var Temp=[];
if(!tag_name) tag_name = '*';
var tags = document.getElementsByTagName(tag_name);
for(i in tags){
if(tags[i].className==class_str) Temp.push(tags[i]);
}
return Temp;
}
function addEvent(ob_elem,ev_type,ad_func){
if(!ob_elem || !ev_type || !ad_func) return;
if(typeof(ob_elem) == 'string') ob_elem=$_ID(ob_elem);
ob_elem['on' + ev_type] = ad_func;
}
function ch_anc_to_js_location(){
var cnt,ch_anc;
var Anchors = document.getElementsByTagName('a');
for(var cnt in Anchors){
ch_anc=Anchors[cnt];
if(!ch_anc.attributes['href']) continue;
if(ch_anc.attributes['href'].nodeValue.length<5) continue;
if(ch_anc.attributes['href'].nodeValue.match(/^\w+:\w+/i)) continue;
if(ch_anc.attributes['href'].nodeValue.match(/^#/i)) continue;
if(ch_anc.attributes['target'] && ch_anc.attributes['target'].nodeValue.length>1) continue;
if(ch_anc.attributes['onclick']) continue;
if(ch_anc.attributes['onmousedown']) continue;
ch_anc['onclick']=function(){
location.href=this.attributes['href'].nodeValue;
return false;
}
}
}
function display_toggle(obj,value){
if(typeof(obj) != 'object') obj=$_ID(obj);
if(value) obj.style.display=value;
else obj.style.display=(obj.style.display=='none') ? '' : 'none';
}
function call_insert_url(url,param,open_target){
var url=this_url+'&command=skin_insert&exe=util_outer_url&outer_url='+encodeURIComponent(url);
if(param) url += '&' + param;
if(open_target) window.open(url,open_target);
else location.href = url;
}
function call_insert_skin(skin_file,param,open_target){
var url=this_url+'&command=skin_insert&exe='+skin_file;
if(param) url += '&' + param;
if(open_target) window.open(url,open_target);
else location.href = url;
}
//---------------------------
// 메뉴 아이콘 출력모드 표시 변경
function changeIcon_2_on(img_this,exe_str){ // 메뉴,검색,관리
if(cmd_exe==exe_str && !img_this.src.match(/_on\.png$/)) img_this.src=img_this.src.replace(/\.png$/,'_on.png');
}
function changeIcon_2_mem(img_this){// 회원 로그인
if(!img_this.src.match(/gmenu_member\.png$/)) return;
else if(is_Admin) img_this.src=img_this.src.replace(/\.png$/,'_red.png');
else if(is_Member) img_this.src=img_this.src.replace(/\.png$/,'_green.png');
}
function changeIcon_2_login(){ // 회원로그인 클릭시 iwindow 레이어 측에서 parent 로 실행
var all_memLoginIcon = $_CLASS('memLoginIcon','img');
for(i in all_memLoginIcon){
all_memLoginIcon[i].src=all_memLoginIcon[i].src.replace('gmenu_member.png','gmenu_member_on.png');
}
}
//----------------------------------------------------------------
// 마이메뉴 - ipanel_OPEN() 출력직후 실행
key_mymenuStrg = this_skin_uni_str+'_myMenuTouch' ; // Store key
function callback_after_mymenu(data,obj){
var title,img,url,new_data,save_data,rm_dlm,old_data;
var naviAraray = [];
var img_default = this_skin+"/b_img_pack/touch/touch_default.png";
if(naviConfString.length>10) naviAraray=naviConfString.split(naviConfDelimiter);
if(mymenuOn_title) title = mymenuOn_title; // 스킨 파일내에서 지정한 타이틀
else if(naviAraray[0]) title = naviAraray[0]; // 네비메뉴설정에서 지정한 타이틀
else title = '';
try{if(body_data_no) title += "("+body_data_no+")";}catch(e){} // 글번호
if(mymenuOn_img) img = mymenuOn_img; // 스킨 파일내에서 지정한 이미지명 or url
else if(naviAraray[2]) img = get_img_pack(naviAraray[2],'touch'); // 터치메뉴 ~
else img =img_default; // 기본
$_ID('my_menu_save_title').value=title;
$_ID('my_menu_save_img').src=img;
if(!navigator.userAgent.match(/Android/i)) $_ID('my_menu_save_img').className='my_img_gradient';
mymenu_save = function(){ // 저장
if(!window.localStorage){alert('This function is only available in mobile.'); return;}
title = $_ID('my_menu_save_title').value;
img = (img == img_default) ? '' : img;
url = location.href; if(url.match(/\?/) && fix_navi) url += '&fix_navi='+fix_navi;
if(title.length<2){$_ID('my_menu_save_title').focus(); return;}
rm_dlm =new RegExp(naviConfDelimiter,'g');
title=title.replace(rm_dlm,'');
new_data = title+naviConfDelimiter+url+naviConfDelimiter+img+"\n";
old_data=localStorage.getItem(key_mymenuStrg);
old_data=(old_data) ? old_data.replace(new_data,'') : '';
save_data = new_data+old_data;
localStorage.setItem(key_mymenuStrg,save_data);
call_insert_skin('front_menu_my.php','fix_navi=0,4');
}
}
// 이미지 url : url 형식이 아니면 지정 폴더내의 이미지 주소 적용
function get_img_pack(img,folder){
if(!img) return;
else if(img.match('/')) return img;
else return this_skin+'/b_img_pack/'+folder+'/'+img;
}
//----------------------------------------------------------------
// ipanel_OPEN(스크랩) 출력직후 실행
function callback_after_scrap(data,obj){
return;
}
// trim
String.prototype.trim = function(){
return this.replace(/(^\s*)|(\s*$)/g, "");
}
//----------------------------------------------------------------
// 이하, 일반 게시판 스킨과 동일
// 기본 윈도우창
// (1파일명 or URL, 2가로크기, 3세로크기, 4가로위치, 5세로위치, 6글번호, 7GET인수, 8스키롤, 9크기변경, 10타겟, 11윈도우 구분)
function xwindow_OPEN(exe, div_w, div_h, coord_x, coord_y, no, str, scroll, resize, target, wintype){
linkurlsrc=(Public_URL(exe))? exe : this_url+"&command=exp_window"+(no>0?'&no='+no:'')+"&exe="+exe+"&"+str;
if(wintype!=1) OpenWin_smart(linkurlsrc,target,div_w,div_h,coord_x,coord_y,scroll,resize); // 메뉴없는 창
else OpenWin_variety(linkurlsrc,target,div_w,div_h,coord_x,coord_y,scroll,resize); // 메뉴있는 창
}
// 응용레이어 추가 생성방법및 옵션지정은 매뉴얼 참조
// iwindow_OPEN(실행파일, iwin이름, get쿼리, 'width=,height=,left=,top=,move_left=,move_top=,btn_help=,btn_grow=,btn_close=,autoclose=1,titlebar=,new_iwin=,css_style=')
function iwindow_OPEN(exe, iwin_name, str_query, option_set){
var Opt_Set=parse_param_str(option_set);
if(value_renwl(Opt_Set['new_iwin'])){create_iwindow(TnT_time(),Opt_Set['css_style']);}
else{
iwchk=$_ID('TnTeIwin'+iwin_name);
if(!iwchk) create_iwindow(iwin_name,Opt_Set['css_style']);
else{
if(value_renwl(Opt_Set['fix_left'])) Opt_Set['left']=''+parseInt(iwchk.style.left);
if(value_renwl(Opt_Set['fix_top'])) Opt_Set['top']=''+parseInt(iwchk.style.top);
iwchk.style.zIndex=++iwinzidx;
set_iwindow_focus_change(iwin_name);
}
}
TnTw_size=parseInt(Opt_Set['width']); if(!TnTw_size||TnTw_size<2) TnTw_size=250;
TnTh_size=parseInt(Opt_Set['height']); if(!TnTh_size||TnTh_size<2) TnTh_size=250;
if(Opt_Set['left'] && Opt_Set['left'].match(/[0-9]+%/)){
Opt_Set['left']=parseInt(Opt_Set['left']);
Opt_Set['left']=(TnT_clientWidth()*Opt_Set['left']/100)+TnT_scrollLeft()-(TnTw_size/2);
if(Opt_Set['left']응용,확장 참조)
// innerhtml_ON(실행파일, div_id, get쿼리, 'width=,height=,left=,right=,bottom=,top=,move_left=,move_top=,class=,css_style=,post_form=,callback_display_before=,callback_display_after=,slide=,fade=,no_clean=')
function innerhtml_ON(exe,div_id,str_query,option_set){
var layer_type,tm_evt_left,tm_evt_top,xm_obj,inner_obj,post_data;
var Opt_Set=parse_param_str(option_set);
if(!div_id) div_id='TnTinnerdiv1'; // create new
inner_obj = (div_id=='_self') ? get_effect_obj() : $_ID(div_id);
if(Opt_Set['post_form']) post_data=innerhtml_form_post(Opt_Set['post_form']);
if(!inner_obj){
inner_obj=document.createElement('div');
inner_obj.setAttribute('id',div_id);
document.body.appendChild(inner_obj);
if(!Opt_Set['left'] && !Opt_Set['right'] && !Opt_Set['move_left']) Opt_Set['left']=get_Xscroll();// default left
if(!Opt_Set['top'] && !Opt_Set['bottom'] && !Opt_Set['move_top']) Opt_Set['top']=get_Yscroll();// default top
if(!Opt_Set['width'] && !Opt_Set['css_style'] && !Opt_Set['class']) Opt_Set['width']='100%';// default width
layer_type=1;
}
else if(!Opt_Set['no_clean']) inner_obj.innerHTML='';
inner_obj.is_effect_node=1;
if(inner_obj.style.display=='none') inner_obj.style.display='';
if(Opt_Set['class']) inner_obj.className=Opt_Set['class'];
if(Opt_Set['css_style']) inner_obj.style.cssText=inner_obj.style.cssText+'; '+Opt_Set['css_style']; // css
if(Opt_Set['width']) inner_obj.style.width=parseInt(Opt_Set['width'])+(Opt_Set['width'].replace(/\d/g,'') || 'px');
if(Opt_Set['height']) inner_obj.style.height=parseInt(Opt_Set['height'])+(Opt_Set['height'].replace(/\d/g,'') || 'px');
if(Opt_Set['left']) {layer_type=1; inner_obj.style.left= parseInt(Opt_Set['left']) + get_Xscroll() + 'px';}
if(Opt_Set['top']) {layer_type=1; inner_obj.style.top= parseInt(Opt_Set['top']) + get_Yscroll() + 'px';}
if(Opt_Set['right']) {layer_type=1; inner_obj.style.left=''; inner_obj.style.right=parseInt(Opt_Set['right']) - get_Xscroll() +'px';}
if(Opt_Set['bottom']){ layer_type=1; inner_obj.style.top=''; inner_obj.style.bottom=parseInt(Opt_Set['bottom']) + (is_iphone && !is_appbrowser ? -60 : 0) - get_Yscroll() +'px'; }
if(Opt_Set['move_left'] || Opt_Set['move_top']){
layer_type=1;
if(this_browser=='n'){ tm_evt_top=ns_pageY(); tm_evt_left=ns_pageX(); }
else{ tm_evt_top=ie_clientY(); tm_evt_left=ie_clientX(); }
if(Opt_Set['move_left']) inner_obj.style.left=tm_evt_left+parseInt(Opt_Set['move_left'])+'px';
if(Opt_Set['move_top']) inner_obj.style.top=tm_evt_top+parseInt(Opt_Set['move_top'])+'px';
if(parseInt(inner_obj.style.left) < 1) inner_obj.style.left=5+'px';
if(parseInt(inner_obj.style.top) < 1) inner_obj.style.top=5+'px';
}
if(layer_type || Opt_Set['slide']){
inner_obj.style.position='absolute';
inner_obj.style.visibility='visible';
inner_obj.style.zIndex=++iwinzidx;
}
str_query=(str_query)?TnT_queryEncode(str_query):'';
if(!Public_URL(exe)) exe=TnT_urlEncode(this_url)+"&command=innerhtml&exe="+exe;
else exe=TnT_urlEncode(exe);
exe = exe+'&'+str_query+'&inner_div='+inner_obj.id+'&is_xmlhttp=1&clientTime='+TnT_time()+'&parent_charset='+(document.charset || document.characterSet).toLowerCase();
xm_obj = TnT_xmlRequest();
xm_obj.open("POST",exe,true);
xm_obj.setRequestHeader('content-type','application/x-www-form-urlencoded;charset=utf-8');
loadingImg_open();
xm_obj.onreadystatechange = function(){
if(xm_obj.readyState == 4){
loadingImg_close();
if(Opt_Set['callback_display_before']) var next_mod=eval(Opt_Set['callback_display_before'])(xm_obj.responseText,inner_obj);
if(next_mod=='stop') return;
if(Opt_Set['slide'] || Opt_Set['fade']){inner_obj.style.webkitTransitionProperty='none'; inner_obj.style.opacity='0';}
inner_obj.innerHTML= (this_browser=='n' ? '' : " ")+xm_obj.responseText; // .. : cut css bug for IE
innerhtml_js_child(inner_obj);
if(Opt_Set['slide']) EFFECT_slide_in(inner_obj,Opt_Set['slide']);
else if(Opt_Set['fade']) EFFECT_fade_in(inner_obj);
if(Opt_Set['callback_display_after']) eval(Opt_Set['callback_display_after'])(xm_obj.responseText,inner_obj);
}
}
xm_obj.send(post_data);
}
// form
function innerhtml_form_post(form_this){
var el_type,el_name,el_value;
var join_str='';
if(typeof(form_this)!='object') form_this=($_ID(form_this) || document.forms[form_this]);
var len=form_this.elements.length;
for(i=0; i 0){
for(var j in seek_js[i].attributes){
if(typeof(seek_js[i].attributes[j]) == 'undefined') continue;
if(typeof(seek_js[i].attributes[j].nodeName) == 'undefined') continue;
if(seek_js[i].attributes[j].nodeValue == null) continue;
if(seek_js[i].attributes[j].nodeValue == "") continue;
create_js.setAttribute(seek_js[i].attributes[j].nodeName, seek_js[i].attributes[j].nodeValue);
}
}
create_js.text = seek_js[i].text;
seek_js[i].parentNode.replaceChild(create_js, seek_js[i]);
}
}
//--------------------------------------------------------------------------------
// loading image
tnt_loadImage= new Image();
tnt_loadImage.src=(this_skin+'/b_img/icons_mobile/loading.gif');
function loadingImg_open(){
var left = (TnT_clientWidth() - 64) /2;
var top = (TnT_clientHeight() - 64) /2 + get_Yscroll();
if(!tnt_loadImage.added){
document.body.appendChild(tnt_loadImage);
tnt_loadImage.style.position='absolute';
tnt_loadImage.style.webkitBorderRadius='30px';
tnt_loadImage.style.opacity=0.8;
tnt_loadImage.added=1;
}
tnt_loadImage.style.left=left+'px';
tnt_loadImage.style.top=top+'px';
tnt_loadImage.style.display='';
}
function loadingImg_close(){
setTimeout(function(){tnt_loadImage.style.display='none';},500);
}
//--------------------------------------------------------------------------------
/*
EFFECT : slide_in
obj (필수) : object 또는 id
slide (필수) : left, right, bottom, top 중 (슬라이드 시작 위치)
pos (옵션) : 출력위치 및 크기 (left=10,top=300,right=50,bottom=20,width=100,height=200)
func_start (옵션) : 동작전 실행 function name (obj,slide){ ... }
func_end (옵션) : 동작후 실행 function name (obj,slide){ ... }
*/
function EFFECT_slide_in(obj,slide,pos,func_start,func_end){
if(typeof(obj) != 'object') obj=$_ID(obj);
var setPos=parse_param_str(pos);
obj.slide=slide;
obj.is_effect_node=1;
obj.style.position = (setPos['position'] || 'absolute');
obj.style.zIndex=++iwinzidx;
obj.style.webkitTransitionProperty='none';
if(setPos['width']) {obj.style.width=parseInt(setPos['width']) + (setPos['width'].match('%') ? '%' : 'px');}
if(setPos['height']) {obj.style.height=parseInt(setPos['height']) + (setPos['height'].match('%') ? '%' : 'px');}
if(func_start) eval(func_start)(obj,slide);
setTimeout(function(){ // delay : new position ######
var finish_pos = TnT_objectSpec(obj);
var pagesize = TnT_documentSize();
if(setPos['top']) {finish_pos.top=parseInt(setPos['top']) + get_Yscroll();}
if(setPos['left']) {finish_pos.left=parseInt(setPos['left']) + get_Xscroll();}
if(setPos['right']) {finish_pos.right=parseInt(setPos['right']) + pagesize.width-TnT_clientWidth() - get_Xscroll();}
if(setPos['bottom']) {finish_pos.bottom=parseInt(setPos['bottom']) + pagesize.height-TnT_clientHeight() + (is_iphone && !is_appbrowser ? -60 : 0) - get_Yscroll();}
if(slide=='top'){
if(finish_pos.bottom) {obj.style.bottom=pagesize.height - get_Yscroll() + 'px'; obj.style.top ='';}
else{obj.style.top=get_Yscroll()-400 + 'px'; obj.style.bottom ='';}
if(finish_pos.right) obj.style.right = finish_pos.right + 'px';
else if(finish_pos.left) obj.style.left = finish_pos.left + 'px';
}
else if(slide=='left'){
if(finish_pos.right){obj.style.left =''; obj.style.right=pagesize.width - get_Xscroll() + 'px';}
else{obj.style.left=get_Xscroll() - 300 + 'px'; obj.style.right ='';}
if(finish_pos.bottom) obj.style.bottom = finish_pos.bottom + 'px';
else if(finish_pos.top) obj.style.top = finish_pos.top + 'px';
}
else if (slide=='bottom'){
if(finish_pos.bottom) {obj.style.bottom= pagesize.height - TnT_clientHeight() - get_Yscroll() - 400 + 'px'; obj.style.top ='';}
else {obj.style.top=TnT_clientHeight() + get_Yscroll() + 'px'; obj.style.bottom ='';}
if(finish_pos.right) obj.style.right = finish_pos.right + 'px';
else if(finish_pos.left) obj.style.left = finish_pos.left + 'px';
}
else if (slide=='right'){
if(finish_pos.right) {obj.style.right=pagesize.width - TnT_clientWidth() - get_Xscroll() - 300 + 'px'; obj.style.left ='';}
else {obj.style.left=TnT_clientWidth()+get_Xscroll() + 'px'; obj.style.right ='';}
if(finish_pos.bottom) obj.style.bottom = finish_pos.bottom + 'px';
else if(finish_pos.top) obj.style.top = finish_pos.top + 'px';
}
if(obj.style.display=='none') obj.style.display='block';
if(obj.style.visibility=='hidden') obj.style.visibility='visible';
obj.style.opacity = '1';
setTimeout(function(){ // delay : new left,top ######
obj.style.webkitTransitionProperty='left,top,right,bottom';
obj.style.webkitTransitionDuration="0.7s";
if(finish_pos.bottom) {obj.style.bottom=finish_pos.bottom + 'px'; obj.style.top ='';}
else if(finish_pos.top) {obj.style.top=finish_pos.top+'px'; obj.style.bottom ='';}
if(finish_pos.right) {obj.style.right=finish_pos.right+'px'; obj.style.left='';}
else if(finish_pos.left) {obj.style.left=finish_pos.left+'px'; obj.style.right='';}
},20);
if(func_end) setTimeout(function(){eval(func_end)(obj,slide);},800); // delay : run slide ######
},20);
}
/*
EFFECT : slide_out
obj : object 또는 id (obj 영역내에서 onclick 시 생략가능)
slide : left, top, right, bottom 중 (미지정시 slide_in 했던 방향과 동일적용)
*/
function EFFECT_slide_out(obj,slide){
obj=get_effect_obj(obj);
if(!obj){ alert('Error : Object not found!'); return;}
if(slide) obj.slide = slide;
var obj_pos = TnT_objectSpec(obj);
var pagesize = TnT_documentSize();
obj.style.webkitTransitionProperty='none';
obj.style.position='absolute';
if(obj_pos.top && !obj.style.top) obj.style.top = obj_pos.top+'px';
if(obj_pos.left && !obj.style.left) obj.style.left = obj_pos.left+'px';
setTimeout(function(){
obj.style.webkitTransitionProperty='left,top';
obj.style.webkitTransitionDuration="0.6s";
},1);
setTimeout(function(){
if(obj.slide=='top') obj.style.top= get_Yscroll() - 500 + 'px';
else if(obj.slide=='right') obj.style.left= get_Xscroll() + pagesize.width + 'px';
else if(obj.slide=='bottom') obj.style.top= get_Yscroll() + pagesize.height + 'px';
else if(obj.slide=='left') obj.style.left= get_Xscroll() - 500 + 'px';
else obj.style.display='none';
},10);
setTimeout(function(){
obj.style.webkitTransitionProperty='none';
obj.style.display='none';
obj.style.top=obj_pos.top+'px';
obj.style.left=obj_pos.left+'px';
},1000);
}
/*
EFFECT : fade_in
obj (필수) : object 또는 id
opacity (옵션) : 불투명도 0.0 ~ 1.0 , 미지정시 1적용
pos (옵션) : 출력위치, 크기 (left=10,top=300,right=50,bottom=20,width=100,height=200)
func_start (옵션) : 동작전 실행 function name (obj,opacity){ ... }
func_end (옵션) : 동작후 실행 function name (obj,opacity){ ... }
*/
function EFFECT_fade_in(obj,opacity,pos,func_start,func_end){
if(typeof(obj) != 'object') obj=$_ID(obj);
var setPos=parse_param_str(pos);
obj.fade=(opacity || 1);
obj.is_effect_node=1;
obj.style.position = (setPos['position'] || 'absolute');
obj.style.zIndex=++iwinzidx;
obj.style.webkitTransitionProperty='none';
obj.style.opacity = '0';
if(setPos['width']) {obj.style.width=parseInt(setPos['width']) + (setPos['width'].match('%') ? '%' : 'px');}
if(setPos['height']) {obj.style.height=parseInt(setPos['height']) + (setPos['height'].match('%') ? '%' : 'px');}
if(func_start) eval(func_start)(obj,opacity);
setTimeout(function(){ // delay : new position ######
var finish_pos = TnT_objectSpec(obj);
var pagesize = TnT_documentSize();
if(setPos['top']) {finish_pos.top=parseInt(setPos['top']) + get_Yscroll();}
if(setPos['left']) {finish_pos.left=parseInt(setPos['left']) + get_Xscroll();}
if(setPos['right']) {finish_pos.right=parseInt(setPos['right']) + pagesize.width-TnT_clientWidth() - get_Xscroll();}
if(setPos['bottom']) {finish_pos.bottom=parseInt(setPos['bottom']) + pagesize.height-TnT_clientHeight() + (is_iphone && !is_appbrowser ? -60 : 0) - get_Yscroll();}
if(finish_pos.bottom) {obj.style.bottom=finish_pos.bottom + 'px'; obj.style.top ='';}
else if(finish_pos.top) {obj.style.top=finish_pos.top+'px'; obj.style.bottom ='';}
if(finish_pos.right) {obj.style.right=finish_pos.right+'px'; obj.style.left='';}
else if(finish_pos.left) {obj.style.left=finish_pos.left+'px'; obj.style.right='';}
if(obj.style.display=='none') obj.style.display='block';
if(obj.style.visibility=='hidden') obj.style.visibility='visible';
setTimeout(function(){ // delay : new left,top ######
obj.style.webkitTransitionProperty='opacity';
obj.style.webkitTransitionDuration="1.5s";
obj.style.opacity = obj.fade;
},20);
if(func_end) setTimeout(function(){eval(func_end)(obj,opacity);},1000); // delay : run opacity ######
},20);
}
/*
EFFECT : fade_out
obj : object 또는 id (obj 영역내에서 onclick 시 생략가능)
*/
function EFFECT_fade_out(obj){
obj=get_effect_obj(obj);
if(!obj){ alert('Error : Object not found!'); return;}
obj.style.webkitTransitionProperty='opacity';
obj.style.webkitTransitionDuration="1.0s";
obj.style.opacity = 0;
setTimeout(function(){
obj.style.display='none';
obj.style.webkitTransitionProperty='none';
},1000);
}
// EFFECT : out
function EFFECT_out(obj,slide){
obj=get_effect_obj(obj);
if(!obj){ alert('Error : Object not found!'); return;}
if(obj.slide) EFFECT_slide_out(obj,slide);
else if(obj.fade) EFFECT_fade_out(obj);
else obj.style.display='none';
}
// EFFECT OBJECT
function get_effect_obj(obj){
if(obj && typeof(obj) != 'object') obj=$_ID(obj);
if(!obj){
var tmp = get_event_target(); // last event obj
for(i=0; i<50; ++i){
if(tmp.is_effect_node){ obj = tmp; break; }
if(!tmp.parentNode) break;
tmp=tmp.parentNode;
}
}
if(obj) return obj;
}
//--------------------------------------------------------------------------------
function TnT_queryEncode(query_str){
if(query_str=="") return;
var enc_query='';
var Arr_tmp=query_str.split('&');
for(i=0;i0?'&no='+no:'')+"&exe="+exe+"&"+str;
return OpenWin_Dialog(linkurlsrc,div_w,div_h,coord_x,coord_y,scroll,resize);
}
// 이미지 사이즈에 맞게 팝업창으로 출력(이미지url,가로,세로,이미지에link,재귀)
function imgSize_OPEN(imgURL,Wi,Hi,clickLINK,recnt){
if(!imgURL) return;
if(imgURL.match(/\.swf$/i)) popup_win=window.open('','ipupimg','width=400,height=250,resizable=1,scrollbars=1'); // flash
else{
if(!recnt){tmpimg= new Image(); tmpimg.src=(imgURL);}
if(tmpimg.width!=0 && tmpimg.height!=0){
Wi=tmpimg.width;
Hi=tmpimg.height;
var limit_w=screen.width - 80; // 최대사이즈 w
var limit_h=screen.height - 100; // 최대사이즈 h
var usescroll='';
if(limit_wImage Viewer");
popup_win.document.write("");
popup_win.document.write("");
if(imgURL.match(/\.swf$/i)) popup_win.document.write("");
else popup_win.document.write(" ");
popup_win.document.write(" |