Current Path : /var/www/html/clients/kampol.e-nk.ru/plugins/content/multithumb/greybox/ |
Current File : /var/www/html/clients/kampol.e-nk.ru/plugins/content/multithumb/greybox/gb_scripts.js |
var GB_CURRENT=null; GB_hide=function(){ GB_CURRENT.hide(); }; GreyBox=new AJS.Class({init:function(_1){ 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 _2=window.location.hostname.indexOf("www"); var _3=this.src_loader.indexOf("www"); if(_2!=-1&&_3==-1){ this.src_loader=this.src_loader.replace("://","://www."); } if(_2==-1&&_3!=-1){ this.src_loader=this.src_loader.replace("://www.","://"); } this.show_loading=true; AJS.update(this,_1); },addCallback:function(fn){ if(fn){ this.callback_fns.push(fn); } },show:function(_5){ GB_CURRENT=this; this.url=_5; var _6=[AJS.$bytc("object"),AJS.$bytc("select")]; AJS.map(AJS.flattenList(_6),function(_7){ _7.style.visibility="hidden"; }); this.createElements(); return false; },hide:function(){ var _8=this.callback_fns; if(_8!=[]){ AJS.map(_8,function(fn){ fn(); }); } this.onHide(); if(this.use_fx){ var _a=this.overlay; AJS.fx.fadeOut(this.overlay,{onComplete:function(){ AJS.removeElement(_a); _a=null; },duration:300}); AJS.removeElement(this.g_window); }else{ AJS.removeElement(this.g_window,this.overlay); } this.removeFrame(); AJS.REV(window,"scroll",_GB_setOverlayDimension); AJS.REV(window,"resize",_GB_update); var _b=[AJS.$bytc("object"),AJS.$bytc("select")]; AJS.map(AJS.flattenList(_b),function(_c){ _c.style.visibility="visible"; }); GB_CURRENT=null; if(this.reload_on_close){ window.location.reload(); } },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){ AJS.fx.fadeIn(this.overlay,{duration:300,to:0.7,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 _e=AJS.getWindowSize(); if(AJS.isMozilla()||AJS.isOpera()){ AJS.setWidth(this.overlay,"100%"); }else{ AJS.setWidth(this.overlay,_e.w); } var _f=Math.max(AJS.getScrollTop()+_e.h,AJS.getScrollTop()+this.height); if(_f<AJS.getScrollTop()){ AJS.setHeight(this.overlay,_f); }else{ AJS.setHeight(this.overlay,AJS.getScrollTop()+_e.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}; 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+"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 _14=rel.match(/\w+/)[0]; var _15=rel.match(/\[(.*)\]/)[1]; var _16=0; var _17={"caption":a.title||"","url":a.href}; if(_14=="gb_pageset"||_14=="gb_imageset"){ if(!GB_SETS[_15]){ GB_SETS[_15]=[]; } GB_SETS[_15].push(_17); _16=GB_SETS[_15].length; } if(_14=="gb_pageset"){ a.onclick=function(){ GB_showFullScreenSet(GB_SETS[_15],_16); return false; }; } if(_14=="gb_imageset"){ a.onclick=function(){ GB_showImageSet(GB_SETS[_15],_16); return false; }; } if(_14=="gb_image"){ a.onclick=function(){ GB_showImage(_17.caption,_17.url); return false; }; } if(_14=="gb_page"){ a.onclick=function(){ var sp=_15.split(/, ?/); GB_show(_17.caption,_17.url,parseInt(sp[1]),parseInt(sp[0])); return false; }; } if(_14=="gb_page_fs"){ a.onclick=function(){ GB_showFullScreen(_17.caption,_17.url); return false; }; } if(_14=="gb_page_center"){ a.onclick=function(){ var sp=_15.split(/, ?/); GB_showCenter(_17.caption,_17.url,parseInt(sp[1]),parseInt(sp[0])); return false; }; } } } }); } AJS.AEV(window,"load",decoGreyboxLinks); GB_showImage=function(_1a,url,_1c){ var _1d={width:300,height:300,type:"image",fullscreen:false,center_win:true,caption:_1a,callback_fn:_1c}; var win=new GB_Gallery(_1d); return win.show(url); }; GB_showPage=function(_1f,url,_21){ var _22={type:"page",caption:_1f,callback_fn:_21,fullscreen:true,center_win:false}; var win=new GB_Gallery(_22); return win.show(url); }; GB_Gallery=GreyBox.extend({init:function(_24){ this.parent({}); this.img_close=this.root_dir+"g_close.gif"; AJS.update(this,_24); this.addCallback(this.callback_fn); },initHook:function(){ AJS.addClass(this.g_window,"GB_Gallery"); var _25=AJS.DIV({"class":"inner"}); this.header=AJS.DIV({"class":"GB_header"},_25); AJS.setOpacity(this.header,0); AJS.getBody().insertBefore(this.header,this.overlay.nextSibling); var _26=AJS.TD({"id":"GB_caption","class":"caption","width":"40%"},this.caption); var _27=AJS.TD({"id":"GB_middle","class":"middle","width":"20%"}); var _28=AJS.IMG({"src":this.img_close}); AJS.AEV(_28,"click",GB_hide); var _29=AJS.TD({"class":"close","width":"40%"},_28); var _2a=AJS.TBODY(AJS.TR(_26,_27,_29)); var _2b=AJS.TABLE({"cellspacing":"0","cellpadding":0,"border":0},_2a); AJS.ACN(_25,_2b); 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 _2c=this.overlay.offsetWidth; var _2d=AJS.getWindowSize(); if(this.fullscreen){ this.width=_2c-40; this.height=_2d.h-80; } AJS.setWidth(this.iframe,this.width); AJS.setHeight(this.iframe,this.height); AJS.setWidth(this.header,_2c); },_setHeaderPos:function(){ AJS.setTop(this.header,AJS.getScrollTop()+10); },setWindowPosition:function(){ var _2e=this.overlay.offsetWidth; var _2f=AJS.getWindowSize(); AJS.setLeft(this.g_window,((_2e-50-this.width)/2)); var _30=AJS.getScrollTop()+55; if(!this.center_win){ AJS.setTop(this.g_window,_30); }else{ var fl=((_2f.h-this.height)/2)+20+AJS.getScrollTop(); if(fl<0){ fl=0; } if(_30>fl){ fl=_30; } 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+"g_close.gif"); GB_showFullScreenSet=function(set,_33,_34){ var _35={type:"page",fullscreen:true,center_win:false}; var _36=new GB_Sets(_35,set); _36.addCallback(_34); _36.showSet(_33-1); return false; }; GB_showImageSet=function(set,_38,_39){ var _3a={type:"image",fullscreen:false,center_win:true,width:300,height:300}; var _3b=new GB_Sets(_3a,set); _3b.addCallback(_39); _3b.showSet(_38-1); return false; }; GB_Sets=GB_Gallery.extend({init:function(_3c,set){ this.parent(_3c); if(!this.img_next){ this.img_next=this.root_dir+"next.gif"; } if(!this.img_prev){ this.img_prev=this.root_dir+"prev.gif"; } this.current_set=set; },showSet:function(_3e){ this.current_index=_3e; var _3f=this.current_set[this.current_index]; this.show(_3f.url); this._setCaption(_3f.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(_40){ AJS.setHTML(AJS.$("GB_caption"),_40); },updateFrame:function(){ var _41=this.current_set[this.current_index]; this._setCaption(_41.caption); this.url=_41.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(_42,url,_44,_45,_46){ var _47={caption:_42,height:_44||500,width:_45||500,fullscreen:false,callback_fn:_46}; var win=new GB_Window(_47); return win.show(url); }; GB_showCenter=function(_49,url,_4b,_4c,_4d){ var _4e={caption:_49,center_win:true,height:_4b||500,width:_4c||500,fullscreen:false,callback_fn:_4d}; var win=new GB_Window(_4e); return win.show(url); }; GB_showFullScreen=function(_50,url,_52){ var _53={caption:_50,fullscreen:true,callback_fn:_52}; var win=new GB_Window(_53); return win.show(url); }; GB_Window=GreyBox.extend({init:function(_55){ this.parent({}); this.img_header=this.root_dir+"header_bg.gif"; this.img_close=this.root_dir+"w_close.gif"; this.show_close_img=true; AJS.update(this,_55); 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 _56=AJS.TD({"class":"caption"},this.caption); var _57=AJS.TD({"class":"close"}); if(this.show_close_img){ var _58=AJS.IMG({"src":this.img_close}); var _59=AJS.SPAN("Close"); var btn=AJS.DIV(_58,_59); AJS.AEV([_58,_59],"mouseover",function(){ AJS.addClass(_59,"on"); }); AJS.AEV([_58,_59],"mouseout",function(){ AJS.removeClass(_59,"on"); }); AJS.AEV([_58,_59],"mousedown",function(){ AJS.addClass(_59,"click"); }); AJS.AEV([_58,_59],"mouseup",function(){ AJS.removeClass(_59,"click"); }); AJS.AEV([_58,_59],"click",GB_hide); AJS.ACN(_57,btn); } tbody_header=AJS.TBODY(); AJS.ACN(tbody_header,AJS.TR(_56,_57)); 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 _5b=AJS.getWindowSize(); overlay_h=_5b.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 _5c=AJS.getWindowSize(); AJS.setLeft(this.g_window,((_5c.w-this.width)/2)-13); if(!this.center_win){ AJS.setTop(this.g_window,AJS.getScrollTop()); }else{ var fl=((_5c.h-this.height)/2)-20+AJS.getScrollTop(); if(fl<0){ fl=0; } AJS.setTop(this.g_window,fl); } }}); AJS.preloadImages(GB_ROOT_DIR+"w_close.gif",GB_ROOT_DIR+"header_bg.gif"); script_loaded=true;