?
Path : /home/admin/public_html/old/happy2/plugins/system/japopup/greybox/js/ |
Current File : /home/admin/public_html/old/happy2/plugins/system/japopup/greybox/js/gb_scripts.js |
var GB_CURRENT = null; GB_hide = function (cb) { GB_CURRENT.hide(cb); }; GreyBox = new AJS.Class({ init: function (_2) { this.use_fx = AJS.fx; this.type = "page"; this.overlay_click_close = false; this.salt = 0; this.root_dir = GB_ROOT_DIR; this.callback_fns = []; this.reload_on_close = false; this.src_loader = this.root_dir + "loader_frame.html"; var _3 = window.location.hostname.indexOf("www"); var _4 = this.src_loader.indexOf("www"); if (_3 != -1 && _4 == -1) { this.src_loader = this.src_loader.replace("://", "://www."); } if (_3 == -1 && _4 != -1) { this.src_loader = this.src_loader.replace("://www.", "://"); } this.show_loading = true; AJS.update(this, _2); }, addCallback: function (fn) { if (fn) { this.callback_fns.push(fn); } }, show: function (_6) { GB_CURRENT = this; this.url = _6; var _7 = [AJS.$bytc("object"), AJS.$bytc("select")]; AJS.map(AJS.flattenList(_7), function (_8) { _8.style.visibility = "hidden"; }); this.createElements(); return false; }, hide: function (cb) { var me = this; AJS.callLater(function () { var _b = me.callback_fns; if (_b != []) { AJS.map(_b, function (fn) { fn(); }); } me.onHide(); if (me.use_fx) { var _d = me.overlay; AJS.fx.fadeOut(me.overlay, { onComplete: function () { AJS.removeElement(_d); _d = null; }, duration: 300 }); AJS.removeElement(me.g_window); } else { AJS.removeElement(me.g_window, me.overlay); } me.removeFrame(); AJS.REV(window, "scroll", _GB_setOverlayDimension); AJS.REV(window, "resize", _GB_update); var _e = [AJS.$bytc("object"), AJS.$bytc("select")]; AJS.map(AJS.flattenList(_e), function (_f) { _f.style.visibility = "visible"; }); GB_CURRENT = null; if (me.reload_on_close) { window.location.reload(); } if (AJS.isFunction(cb)) { cb(); } }, 10); }, update: function () { this.setOverlayDimension(); this.setFrameSize(); this.setWindowPosition(); }, createElements: function () { this.initOverlay(); this.g_window = AJS.DIV({ "id": "GB_window" }); AJS.hideElement(this.g_window); AJS.getBody().insertBefore(this.g_window, this.overlay.nextSibling); this.initFrame(); this.initHook(); this.update(); var me = this; if (this.use_fx && DimOverlay == 0) { AJS.fx.fadeIn(this.overlay, { duration: 300, to: 0.01, onComplete: function () { me.onShow(); AJS.showElement(me.g_window); me.startLoading(); } }); } else { AJS.setOpacity(this.overlay, 0.7); AJS.showElement(this.g_window); this.onShow(); this.startLoading(); } AJS.AEV(window, "scroll", _GB_setOverlayDimension); AJS.AEV(window, "resize", _GB_update); }, removeFrame: function () { try { AJS.removeElement(this.iframe); } catch (e) {} this.iframe = null; }, startLoading: function () { this.iframe.src = this.src_loader + "?s=" + this.salt++; AJS.showElement(this.iframe); }, setOverlayDimension: function () { var _11 = AJS.getWindowSize(); if (AJS.isMozilla() || AJS.isOpera()) { AJS.setWidth(this.overlay, "100%"); } else { AJS.setWidth(this.overlay, _11.w); } var _12 = Math.max(AJS.getScrollTop() + _11.h, AJS.getScrollTop() + this.height); if (_12 < AJS.getScrollTop()) { AJS.setHeight(this.overlay, _12); } else { AJS.setHeight(this.overlay, AJS.getScrollTop() + _11.h); } }, initOverlay: function () { this.overlay = AJS.DIV({ "id": "GB_overlay" }); if (this.overlay_click_close) { AJS.AEV(this.overlay, "click", GB_hide); } AJS.setOpacity(this.overlay, 0); AJS.getBody().insertBefore(this.overlay, AJS.getBody().firstChild); }, initFrame: function () { if (!this.iframe) { var d = { "name": "GB_frame", "class": "GB_frame", "frameBorder": 0 }; if (AJS.isIe()) { d.src = "javascript:false;document.write(\"\");"; } this.iframe = AJS.IFRAME(d); this.middle_cnt = AJS.DIV({ "class": "content" }, this.iframe); this.top_cnt = AJS.DIV(); this.bottom_cnt = AJS.DIV(); AJS.ACN(this.g_window, this.top_cnt, this.middle_cnt, this.bottom_cnt); } }, onHide: function () {}, onShow: function () {}, setFrameSize: function () {}, setWindowPosition: function () {}, initHook: function () {} }); _GB_update = function () { if (GB_CURRENT) { GB_CURRENT.update(); } }; _GB_setOverlayDimension = function () { if (GB_CURRENT) { GB_CURRENT.setOverlayDimension(); } }; AJS.preloadImages(GB_ROOT_DIR + "images/indicator.gif"); script_loaded = true; var GB_SETS = {}; function decoGreyboxLinks() { var as = AJS.$bytc("a"); AJS.map(as, function (a) { if (a.getAttribute("href") && a.getAttribute("rel")) { var rel = a.getAttribute("rel"); if (rel.indexOf("gb_") == 0) { var _17 = rel.match(/\w+/)[0]; var _18 = rel.match(/\[(.*)\]/)[1]; var _19 = 0; var _1a = { "caption": a.title || "", "url": a.href }; if (_17 == "gb_pageset" || _17 == "gb_imageset") { if (!GB_SETS[_18]) { GB_SETS[_18] = []; } GB_SETS[_18].push(_1a); _19 = GB_SETS[_18].length; } if (_17 == "gb_pageset") { a.onclick = function () { GB_showFullScreenSet(GB_SETS[_18], _19); return false; }; } if (_17 == "gb_imageset") { a.onclick = function () { GB_showImageSet(GB_SETS[_18], _19); return false; }; } if (_17 == "gb_image") { a.onclick = function () { GB_showImage(_1a.caption, _1a.url); return false; }; } if (_17 == "gb_page") { a.onclick = function () { var sp = _18.split(/, ?/); GB_show(_1a.caption, _1a.url, parseInt(sp[1]), parseInt(sp[0])); return false; }; } if (_17 == "gb_page_fs") { a.onclick = function () { GB_showFullScreen(_1a.caption, _1a.url); return false; }; } if (_17 == "gb_page_center") { a.onclick = function () { var sp = _18.split(/, ?/); GB_showCenter(_1a.caption, _1a.url, parseInt(sp[1]), parseInt(sp[0])); return false; }; } } } }); } AJS.AEV(window, "load", decoGreyboxLinks); GB_showImage = function (_1d, url, _1f) { var _20 = { width: 300, height: 300, type: "image", fullscreen: false, center_win: true, caption: _1d, callback_fn: _1f }; var win = new GB_Gallery(_20); return win.show(url); }; GB_showPage = function (_22, url, _24) { var _25 = { type: "page", caption: _22, callback_fn: _24, fullscreen: true, center_win: false }; var win = new GB_Gallery(_25); return win.show(url); }; GB_Gallery = GreyBox.extend({ init: function (_27) { this.parent({}); this.img_close = this.root_dir + "images/g_close.gif"; AJS.update(this, _27); this.addCallback(this.callback_fn); }, initHook: function () { AJS.addClass(this.g_window, "GB_Gallery"); var _28 = AJS.DIV({ "class": "inner" }); this.header = AJS.DIV({ "class": "GB_header" }, _28); AJS.setOpacity(this.header, 0); AJS.getBody().insertBefore(this.header, this.overlay.nextSibling); var _29 = AJS.TD({ "id": "GB_caption", "class": "caption", "width": "40%" }, this.caption); var _2a = AJS.TD({ "id": "GB_middle", "class": "middle", "width": "20%" }); var _2b = AJS.IMG({ "src": this.img_close }); AJS.AEV(_2b, "click", GB_hide); var _2c = AJS.TD({ "class": "close", "width": "40%" }, _2b); var _2d = AJS.TBODY(AJS.TR(_29, _2a, _2c)); var _2e = AJS.TABLE({ "cellspacing": "0", "cellpadding": 0, "border": 0 }, _2d); AJS.ACN(_28, _2e); if (this.fullscreen) { AJS.AEV(window, "scroll", AJS.$b(this.setWindowPosition, this)); } else { AJS.AEV(window, "scroll", AJS.$b(this._setHeaderPos, this)); } }, setFrameSize: function () { var _2f = this.overlay.offsetWidth; var _30 = AJS.getWindowSize(); if (this.fullscreen) { this.width = _2f - 40; this.height = _30.h - 80; } AJS.setWidth(this.iframe, this.width); AJS.setHeight(this.iframe, this.height); AJS.setWidth(this.header, _2f); }, _setHeaderPos: function () { AJS.setTop(this.header, AJS.getScrollTop() + 10); }, setWindowPosition: function () { var _31 = this.overlay.offsetWidth; var _32 = AJS.getWindowSize(); AJS.setLeft(this.g_window, ((_31 - 50 - this.width) / 2)); var _33 = AJS.getScrollTop() + 55; if (!this.center_win) { AJS.setTop(this.g_window, _33); } else { var fl = ((_32.h - this.height) / 2) + 20 + AJS.getScrollTop(); if (fl < 0) { fl = 0; } if (_33 > fl) { fl = _33; } AJS.setTop(this.g_window, fl); } this._setHeaderPos(); }, onHide: function () { AJS.removeElement(this.header); AJS.removeClass(this.g_window, "GB_Gallery"); }, onShow: function () { if (this.use_fx) { AJS.fx.fadeIn(this.header, { to: 1 }); } else { AJS.setOpacity(this.header, 1); } } }); AJS.preloadImages(GB_ROOT_DIR + "images/g_close.gif"); GB_showFullScreenSet = function (set, _36, _37) { var _38 = { type: "page", fullscreen: true, center_win: false }; var _39 = new GB_Sets(_38, set); _39.addCallback(_37); _39.showSet(_36 - 1); return false; }; GB_showImageSet = function (set, _3b, _3c) { var _3d = { type: "image", fullscreen: false, center_win: true, width: 300, height: 300 }; var _3e = new GB_Sets(_3d, set); _3e.addCallback(_3c); _3e.showSet(_3b - 1); return false; }; GB_Sets = GB_Gallery.extend({ init: function (_3f, set) { this.parent(_3f); if (!this.img_next) { this.img_next = this.root_dir + "images/next.gif"; } if (!this.img_prev) { this.img_prev = this.root_dir + "images/prev.gif"; } this.current_set = set; }, showSet: function (_41) { this.current_index = _41; var _42 = this.current_set[this.current_index]; this.show(_42.url); this._setCaption(_42.caption); this.btn_prev = AJS.IMG({ "class": "left", src: this.img_prev }); this.btn_next = AJS.IMG({ "class": "right", src: this.img_next }); AJS.AEV(this.btn_prev, "click", AJS.$b(this.switchPrev, this)); AJS.AEV(this.btn_next, "click", AJS.$b(this.switchNext, this)); GB_STATUS = AJS.SPAN({ "class": "GB_navStatus" }); AJS.ACN(AJS.$("GB_middle"), this.btn_prev, GB_STATUS, this.btn_next); this.updateStatus(); }, updateStatus: function () { AJS.setHTML(GB_STATUS, (this.current_index + 1) + " / " + this.current_set.length); if (this.current_index == 0) { AJS.addClass(this.btn_prev, "disabled"); } else { AJS.removeClass(this.btn_prev, "disabled"); } if (this.current_index == this.current_set.length - 1) { AJS.addClass(this.btn_next, "disabled"); } else { AJS.removeClass(this.btn_next, "disabled"); } }, _setCaption: function (_43) { AJS.setHTML(AJS.$("GB_caption"), _43); }, updateFrame: function () { var _44 = this.current_set[this.current_index]; this._setCaption(_44.caption); this.url = _44.url; this.startLoading(); }, switchPrev: function () { if (this.current_index != 0) { this.current_index--; this.updateFrame(); this.updateStatus(); } }, switchNext: function () { if (this.current_index != this.current_set.length - 1) { this.current_index++; this.updateFrame(); this.updateStatus(); } } }); AJS.AEV(window, "load", function () { AJS.preloadImages(GB_ROOT_DIR + "next.gif", GB_ROOT_DIR + "prev.gif"); }); GB_show = function (_45, url, _47, _48, _49) { var _4a = { caption: _45, height: _47 || 500, width: _48 || 500, fullscreen: false, callback_fn: _49 }; var win = new GB_Window(_4a); return win.show(url); }; GB_showCenter = function (_4c, url, _4e, _4f, _50) { var _51 = { caption: _4c, center_win: true, height: _4e || 500, width: _4f || 500, fullscreen: false, callback_fn: _50 }; var win = new GB_Window(_51); return win.show(url); }; GB_showFullScreen = function (_53, url, _55) { var _56 = { caption: _53, fullscreen: true, callback_fn: _55 }; var win = new GB_Window(_56); return win.show(url); }; GB_Window = GreyBox.extend({ init: function (_58) { this.parent({}); this.img_header = this.root_dir + "images/header_bg.gif"; this.img_close = this.root_dir + "images/w_close.gif"; this.show_close_img = true; AJS.update(this, _58); this.addCallback(this.callback_fn); }, initHook: function () { AJS.addClass(this.g_window, "GB_Window"); this.header = AJS.TABLE({ "class": "header" }); this.header.style.backgroundImage = "url(" + this.img_header + ")"; var _59 = AJS.TD({ "class": "caption" }, this.caption); var _5a = AJS.TD({ "class": "close" }); if (this.show_close_img) { var _5b = AJS.IMG({ "src": this.img_close }); var _5c = AJS.SPAN("Close"); var btn = AJS.DIV(_5b, _5c); AJS.AEV([_5b, _5c], "mouseover", function () { AJS.addClass(_5c, "on"); }); AJS.AEV([_5b, _5c], "mouseout", function () { AJS.removeClass(_5c, "on"); }); AJS.AEV([_5b, _5c], "mousedown", function () { AJS.addClass(_5c, "click"); }); AJS.AEV([_5b, _5c], "mouseup", function () { AJS.removeClass(_5c, "click"); }); AJS.AEV([_5b, _5c], "click", GB_hide); AJS.ACN(_5a, btn); } tbody_header = AJS.TBODY(); AJS.ACN(tbody_header, AJS.TR(_59, _5a)); AJS.ACN(this.header, tbody_header); AJS.ACN(this.top_cnt, this.header); if (this.fullscreen) { AJS.AEV(window, "scroll", AJS.$b(this.setWindowPosition, this)); } }, setFrameSize: function () { if (this.fullscreen) { var _5e = AJS.getWindowSize(); overlay_h = _5e.h; this.width = Math.round(this.overlay.offsetWidth - (this.overlay.offsetWidth / 100) * 10); this.height = Math.round(overlay_h - (overlay_h / 100) * 10); } AJS.setWidth(this.header, this.width + 6); AJS.setWidth(this.iframe, this.width); AJS.setHeight(this.iframe, this.height); }, setWindowPosition: function () { var _5f = AJS.getWindowSize(); AJS.setLeft(this.g_window, ((_5f.w - this.width) / 2) - 13); if (!this.center_win) { AJS.setTop(this.g_window, AJS.getScrollTop()); } else { var fl = ((_5f.h - this.height) / 2) - 20 + AJS.getScrollTop(); if (fl < 0) { fl = 0; } AJS.setTop(this.g_window, fl); } } }); AJS.preloadImages(GB_ROOT_DIR + "images/w_close.gif", GB_ROOT_DIR + "images/header_bg.gif"); script_loaded = true;