/**********************************************************
 * image gallery in zeroboard5
 * created by zero (zero@nzeo.com, http://www.nzeo.com)
 *********************************************************/

var z_gallery_opacity = new Array();
var z_gallery_highlight_speed = new Array();
var z_gallery_highlight_opacity = new Array();

var _gallery_srl_list = new Array();
var _gallery_images = new Array();
var _gallery_idx = new Array();
var _obj_thumbnail = new Array();

function z_add_gallery(srl, thumbnail_url, source_file_url) {
    var obj = new Array();

    var image = new Image();
    image.src = source_file_url;

    var t_image = new Image();
    t_image.src = thumbnail_url.replace("&amp;","&");

    obj['thumbnail_url'] = thumbnail_url;
    obj['source_url'] = source_file_url;
    obj['thumbnail'] = t_image;
    obj['gallery'] = image;

    if(typeof(_gallery_images[srl])=='undefined') {
        _gallery_images[srl] = new Array();
        _gallery_idx[srl] = 0;
        _obj_thumbnail[srl] = new Array();
    }

    _gallery_images[srl][_gallery_images[srl].length] = obj;
}

function z_start_gallery() {

    for(var i = 0; i < _gallery_srl_list.length; i++) {
        var srl = _gallery_srl_list[i];

        if(!_gallery_images[srl].length) continue;

        var zone_gallery = xGetElementById('zone_gallery_'+srl);
        var zone_thumbnail = xGetElementById('zone_thumbnail_'+srl);

        xInnerHtml(zone_gallery,'');

        var obj = _gallery_images[srl][0];

        var obj_gallery = new Image();
        obj_gallery.src = obj['gallery'].src;
        obj_gallery.id = 'main_gallery_'+srl;
        obj_gallery.srl = srl;
        obj_gallery.style.cursor = 'pointer';
        obj_gallery.style.opacity = 1;
        obj_gallery.style.filter = "alpha(opacity=100)";
        obj_gallery.start_opacity = 0;

        zone_gallery.appendChild(obj_gallery);

        for(var idx = 0; idx < _gallery_images[srl].length; idx++) {
            var s_obj = _gallery_images[srl][idx];

            if(s_obj) {
                _obj_thumbnail[srl][idx] = new Image();
                _obj_thumbnail[srl][idx].src = s_obj['thumbnail'].src;
                _obj_thumbnail[srl][idx].start_opacity = 0;
                _obj_thumbnail[srl][idx].id = 'thumbnail_'+srl+'_'+idx;
                _obj_thumbnail[srl][idx].srl = srl;
                _obj_thumbnail[srl][idx].idx = idx;
                _obj_thumbnail[srl][idx].style.cursor = 'pointer';
                if(idx == _gallery_idx[srl]) {
                    _obj_thumbnail[srl][idx].style.opacity = 1;
                    _obj_thumbnail[srl][idx].style.filter = "alpha(opacity=100)";
                } else {
                    _obj_thumbnail[srl][idx].style.opacity = 0.3;
                    _obj_thumbnail[srl][idx].style.filter = "alpha(opacity=30)";
                }
                _obj_thumbnail[srl][idx].style.margin = '0px 5px 5px 5px';
                zone_thumbnail.appendChild(_obj_thumbnail[srl][idx]);

            }
        }
    }

    if(xIE4Up) {
        xAddEventListener(document,'mousewheel',z_gallery_check_wheel);
    } 
    xAddEventListener(document,'mouseup',z_change_gallery);
    xAddEventListener(document,'mouseover',z_gallery_do_focus);
    xAddEventListener(document,'mouseout',z_gallery_do_focusout);

    _gallery_srl_list = new Array();
}

function z_show_gallery(srl, idx) {
    if(!_gallery_images[srl].length) return;
    if(_gallery_idx[srl] == idx) return;

    _gallery_idx[srl] = idx;

    var obj = _gallery_images[srl][_gallery_idx[srl]];
    var obj_gallery = xGetElementById('main_gallery_'+srl);
    if(obj['gallery'].src == obj_gallery.src) return;

    obj_gallery.parentNode.removeChild(obj_gallery);

    obj_gallery = new Image();
    obj_gallery.src = obj['gallery'].src;
    obj_gallery.id = 'main_gallery_'+srl;
    obj_gallery.srl = srl;
    obj_gallery.style.cursor = 'pointer';

    obj_gallery.start_opacity = 0;
    obj_gallery.style.width = obj['gallery'].width;
    obj_gallery.style.height = obj['gallery'].height;
    obj_gallery.style.opacity = 0;
    obj_gallery.style.filter = "alpha(opacity=0)";
    obj_gallery.start_opacity = 1;

    var zone_gallery = xGetElementById('zone_gallery_'+srl);
    zone_gallery.appendChild(obj_gallery);

    setTimeout(function _start() {z_gallery_opacity_up(obj_gallery,z_gallery_opacity[srl],z_gallery_highlight_opacity[srl]);}, z_gallery_highlight_speed[srl]);

    for(var idx = 0; idx < _gallery_images[srl].length; idx ++) {
        var s_obj = xGetElementById('thumbnail_'+srl+'_'+idx);
        if(!s_obj) continue;

        if(idx == _gallery_idx[srl]) {
            s_obj.style.opacity = 1;
            s_obj.style.filter = "alpha(opacity=100)";
        } else {
            s_obj.style.opacity = z_gallery_opacity[srl];
            s_obj.style.filter = "alpha(opacity="+(z_gallery_opacity[srl]*100)+")";
        }
    }
}

function z_gallery_opacity_up(obj,opacity,up) {
    var srl = obj.srl;
    if(obj.start_opacity!=1) {
        if(obj.id == 'main_gallery_'+srl || obj.idx == _gallery_idx[srl]) {
            obj.style.opacity = 1;
            obj.style.filter = "alpha(opacity=100)";
        } else {
            obj.style.opacity = z_gallery_opacity[srl];
            obj.style.filter = "alpha(opacity="+(z_gallery_opacity[srl]*100)+")";
        }
        return;
    }
    if(opacity<1) {
        up = z_gallery_highlight_opacity[srl];
        opacity += up;
        if(opacity>=1) opacity = 1.0;
        if(opacity>=0.5) opacity = 1.0;
        obj.style.opacity = opacity;
        obj.style.filter = "alpha(opacity="+(opacity*100)+")";
        if(opacity<1) setTimeout(function _opacity_up() {z_gallery_opacity_up(obj, opacity,up);},z_gallery_highlight_speed[srl]);
    } else {
        obj.start_opacity = 0;
    }
}

function z_change_next_gallery(srl) {
    var idx = _gallery_idx[srl] +1;
    if(idx>=_gallery_images[srl].length) idx = 0;
    setTimeout(function show_gallery() { z_show_gallery(srl, idx); }, 50);
}

function z_change_prev_gallery(srl) {
    var idx = _gallery_idx[srl] -1;
    if(idx<0) idx = _gallery_images[srl].length-1;
    setTimeout(function show_gallery() { z_show_gallery(srl, idx); }, 50);
}

function z_change_gallery(evt) {
    var e = new xEvent(evt);
    var obj = e.target;
    var srl = obj.srl;
    var idx = obj.idx;
    if(typeof(srl)=='undefined') return;
    if(typeof(idx)=='undefined') z_change_next_gallery(srl);
    else {
        setTimeout(function show_gallery() { z_show_gallery(srl, idx); }, 50);
    }
}

function z_gallery_do_focus(evt) {
    var e = new xEvent(evt);
    var obj = e.target;
    var srl = obj.srl;
    if(typeof(srl)=='undefined') return;
    if(obj.idx == _gallery_idx[srl]) return;
    if(obj.id == 'main_gallery_'+srl) return;
    obj.start_opacity = 1;
    z_gallery_opacity_up(obj,z_gallery_opacity[srl],z_gallery_highlight_opacity[srl]);
    xPreventDefault(evt);
    xStopPropagation(evt);
}

function z_gallery_do_focusout(evt) {
    var e = new xEvent(evt);
    var obj = e.target;
    var srl = obj.srl;
    if(typeof(srl)=='undefined') return;
    if(obj.idx == _gallery_idx[srl]) return;
    if(obj.id == 'main_gallery_'+srl) return;
    obj.start_opacity = 0;
    obj.style.opacity = z_gallery_opacity[srl];
    obj.style.filter = "alpha(opacity="+(z_gallery_opacity[srl]*100)+")";
}

function z_gallery_check_wheel(evt) {
    var e = new xEvent(evt);
    var obj = e.target;
    var srl = obj.srl;
    if(typeof(srl)=='undefined') return;
    if(e.target.id != 'main_gallery_'+srl) return;
    if(evt.wheelDelta<0) z_change_next_gallery(srl);
    else z_change_prev_gallery(srl);
    xPreventDefault(evt);
    xStopPropagation(evt);
}

function zb5_board_cancel(url) {
    if(!confirm(alert_msg['msg_cancel'])) return false;
    location.href=url;
    return false;
}

function svc_write_proc(ret_obj, response_tags) {
    var sid = ret_obj['sid'];
    check_svc_write = false;
    var href = "./?sid="+sid;
    location.href = href;
}

var select_obj;
function ZB_layerAction(name,status) { 
	var obj=document.getElementById(name);
	var _tmpx,_tmpy, marginx, marginy;
	_tmpx = event.clientX + parseInt(obj.offsetWidth);
	_tmpy = event.clientY + parseInt(obj.offsetHeight);
	_marginx = document.body.clientWidth - _tmpx;
	_marginy = document.body.clientHeight - _tmpy ;
	if(_marginx < 0)
		_tmpx = event.clientX + document.body.scrollLeft + _marginx ;
	else
		_tmpx = event.clientX + document.body.scrollLeft ;
	if(_marginy < 0)
		_tmpy = event.clientY + document.body.scrollTop + _marginy +20;
	else
		_tmpy = event.clientY + document.body.scrollTop ;
	obj.style.posLeft=_tmpx-13;
	obj.style.posTop=_tmpy-12;
	if(status=='visible') {
		if(select_obj) {
			select_obj.style.visibility='hidden';
			select_obj=null;
		}
		select_obj=obj;
	}else{
		select_obj=null;
	}
	obj.style.visibility=status; 
}

function print_ZBlayer( member_srl, sid, is_loged, writer, is_admin ,article_srl ) {
	var printHeight = 0;
	var printMain="";
	
	if( member_srl ) {
		printMain = printMain + "<tr onmouseover=\"this.style.backgroundColor='#bbbbbb'\" onmouseout=\"this.style.backgroundColor=''\" onmousedown='location.href(\"./?sid="+sid+"&target_srl="+member_srl+"&action=view_info&sub_action=none\");'><td style='font-family: 굴림; font-size: 9pt;' height='18' nowrap>&nbsp;<img src='./modules/board/skins/zb5_board_is_layer/theme/default/images/n_information.gif' border='0' align='absmiddle'>&nbsp;&nbsp;회원정보 보기&nbsp;&nbsp;</td></tr>";
		printHeight = printHeight + 16;
		
		if( is_loged ){
			printMain = printMain +	"<tr onmouseover=\"this.style.backgroundColor='#bbbbbb'\" onmouseout=\"this.style.backgroundColor=''\" onmousedown='location.href(\"./?sid="+sid+"&target_srl="+member_srl+"&action=message_box&sub_action=none\");'><td style='font-family: 굴림; font-size: 9pt' height='18' nowrap>&nbsp;<img src='./modules/board/skins/zb5_board_is_layer/theme/default/images/n_memo.gif' border='0' align='absmiddle'>&nbsp;&nbsp;쪽지 보내기&nbsp;&nbsp;</td></tr>";
			printHeight = printHeight + 16;
		}
		
		printMain = printMain +	"<tr onmouseover=\"this.style.backgroundColor='#bbbbbb'\" onmouseout=\"this.style.backgroundColor=''\" onmousedown='location.href(\"./?sid="+sid+"&target_srl="+member_srl+"&action=view_articles&sub_action=none\");'><td style='font-family: 굴림; font-size: 9pt' height='18' nowrap>&nbsp;<img src='./modules/board/skins/zb5_board_is_layer/theme/default/images/n_search.gif' border='0' align='absmiddle'>&nbsp;&nbsp;작성한글 보기&nbsp;&nbsp;</td></tr>";
		printHeight = printHeight + 16;
		
		printMain = printMain +	"<tr onmouseover=\"this.style.backgroundColor='#bbbbbb'\" onmouseout=\"this.style.backgroundColor=''\" onmousedown='location.href(\"./?sid="+sid+"&target_srl="+member_srl+"&action=view_serial&sub_action=none\");'><td style='font-family: 굴림; font-size: 9pt' height='18' nowrap>&nbsp;<img src='./modules/board/skins/zb5_board_is_layer/theme/default/images/n_search.gif' border='0' align='absmiddle'>&nbsp;&nbsp;연재글 보기&nbsp;&nbsp;</td></tr>";
		printHeight = printHeight + 16;
	}
	
	printMain = printMain +	"<tr onmouseover=\"this.style.backgroundColor='#bbbbbb'\" onmouseout=\"this.style.backgroundColor=''\" onmousedown='location.href(\"./?sid="+sid+"&sw=Y&&search_keyword="+writer+"\");'><td style='font-family: 굴림; font-size: 9pt' height='18' nowrap>&nbsp;<img src='./modules/board/skins/zb5_board_is_layer/theme/default/images/n_search.gif' border='0' align='absmiddle'>&nbsp;&nbsp;작성자로 검색하기&nbsp;&nbsp;</td></tr>";
	printHeight = printHeight + 16;
	
	if( is_admin && member_srl){
		printMain = printMain +	"<tr onmouseover=\"this.style.backgroundColor='#bbbbbb'\" onmouseout=\"this.style.backgroundColor=''\" onmousedown=\"window.open('./admin.php?mid=member_manager&member_srl="+member_srl+"');\"><td style=font-family:굴림;font-size:9pt height=18 nowrap>&nbsp;<img src='./modules/board/skins/zb5_board_is_layer/theme/default/images/n_modify.gif' border='0' align='absmiddle'>&nbsp;&nbsp;<font color='darkred'>회원정보 수정</font>&nbsp;&nbsp;</td></tr>";
		printHeight = printHeight + 16;
	}
	
	var printHeader = "<div id='zbLayer"+article_srl+"' style='position: absolute; left:10px; top:25px; width:127; height: "+printHeight+"; z-index: 1; visibility: hidden;' onmousedown=\"ZB_layerAction('zbLayer"+article_srl+"','hidden')\"><table border='0'><tr><td colspan='3' onmouseover=\"ZB_layerAction('zbLayer"+article_srl+"','hidden')\" height='3'></td></tr><tr><td width='5' onmouseover=\"ZB_layerAction('zbLayer"+article_srl+"','hidden')\" rowspan='2'>&nbsp;</td><td height='5'></td></tr><tr><td><table style='cursor: hand' border='0' cellspacing='1' cellpadding='0' bgcolor='black' width='100%' height='100%'><tr><td valign='top' bgcolor='white'><table border='0' cellspacing='0' cellpadding='3' width='100%' height='100%'>";
	var printFooter = "</table></td></tr></table></td><td width='5' rowspan='2' onmouseover=\"ZB_layerAction('zbLayer"+article_srl+"','hidden')\">&nbsp;</td></tr><tr><td colspan='3' height='10' onmouseover=\"ZB_layerAction('zbLayer"+article_srl+"','hidden')\"></td></tr></table></div>";

	document.writeln(printHeader+printMain+printFooter);
}
