var GB_CURRENT=null;
var gbWin=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.","://");
    }
    debugPath = this.src_loader;
    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);
    }
    var flashDiv = self.window.parent.parent.document.getElementById("flashcontent");
    if(flashDiv) flashDiv.style.visibility = "";
    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;
          };
        }
      }
    }
    else
    {
      if(GB_IsOpen()) a.onclick=function(){ GB_KillGB(a.href,a.target); }
    }
  });
}

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)
{
  if(!GB_IsOpen())
  {
    var flashDiv = self.window.parent.parent.document.getElementById("flashcontent");
    if(flashDiv) flashDiv.style.visibility = "hidden";
    var _47={caption:_42,height:_44||500,width:_45||500,fullscreen:false,callback_fn:_46};
    gbWin = new GB_Window(_47);
    gbWin.show(url);
  }
  else GB_updateGB(url,_42,_45,_44,false);
  return false;
};

GB_updateGB=function(url,cap,wd,ht,setTop)
{
  var gbOverlay, gbWindow, gbFrame, windowNodes, ffwindowNodes, frameNode, frameBodyContentDiv, _top, _lft, _wid, _ht;
  self.window.location = url;
  gbOverlay = self.window.parent.parent.document.getElementById("GB_overlay");
  if(gbOverlay)
  {
    gbWindow = self.window.parent.parent.document.getElementById("GB_window");
    if(gbWindow)
    {
      gbFrame = self.window.parent.document.getElementById("GB_frame");
      windowNodes = gbWindow.childNodes[0].all;
      frameNode = gbWindow.childNodes[1];
      ffwindowNodes = gbWindow.firstChild;
      
      _wid = parseInt(wd);
      _ht = parseInt(ht);
      if(gbOverlay.clientWidth) _lft = (parseInt(gbOverlay.clientWidth) - (_wid + 6)) >> 1;
      else if(gbOverlay.offsetWidth) _lft = (parseInt(gbOverlay.offsetWidth) - (_wid + 6)) >> 1;
      else _lft = null;
      
      if(windowNodes)
      {
        windowNodes[3].innerText = cap;
        windowNodes[0].style.width = "" + (_wid + 6) + "px";
      }
      else if(ffwindowNodes)
      {
        ffwindowNodes.firstChild.style.width = "" + (_wid + 6) + "px";
        if(ffwindowNodes.getElementsByTagName)
        {
          var tdArray = ffwindowNodes.getElementsByTagName("td");
          tdArray[0].textContent = cap;
        }
      }
      
      if(_lft) gbWindow.style.left = "" + _lft + "px";
      
      if(setTop)
      {
        if(gbOverlay.clientHeight) _top = (parseInt(gbOverlay.clientHeight) - (_ht + 33)) >> 1;
        else if(gbOverlay.offsetHeight) _top = (parseInt(gbOverlay.offsetHeight) - (_ht + 33)) >> 1;
        else _top = null;
        if(_top) gbWindow.style.top = "" + _top + "px";
      }
      else gbWindow.style.top = "0px";
      gbWindow.style.height = "" + (_ht + 33) + "px";
      
      if(frameNode)
      {
        frameNode.firstChild.style.width = "" + _wid + "px";
        frameNode.firstChild.style.height = "" + _ht + "px";
        
      }
      
      if(gbFrame)
      {
        gbFrame.style.width = "" + _wid + "px";
        gbFrame.style.height = "" + _ht + "px";
      }
      
      
      
    }
    return true;
  }
  return false;
}

GB_KillGB=function(url,targ)
{
  var gbOverlay, mainWindow;
  if((url.indexOf("http") == 0) && (targ != "_blank"))
  {
    var flashDiv = self.window.parent.parent.document.getElementById("flashcontent");
    if(flashDiv) flashDiv.style.visibility = "";
    mainWindow = self.window.parent.parent;
    gbOverlay = mainWindow.document.getElementById("GB_overlay");
    if(gbOverlay) gbOverlay.parentNode.removeChild(gbOverlay);
    mainWindow.location = url;
  }
  return true;
}

GB_IsOpen=function(){return null != self.window.parent.parent.document.getElementById("GB_overlay") ? true : false;}

GB_showCenter=function(_49,url,_4b,_4c,_4d){
  if(!GB_IsOpen())
  {
    var flashDiv = self.window.parent.parent.document.getElementById("flashcontent");
    if(flashDiv) flashDiv.style.visibility = "hidden";
    var _4e={caption:_49,center_win:true,height:_4b||500,width:_4c||500,fullscreen:false,callback_fn:_4d};
    gbWin = new GB_Window(_4e);
    gbWin.show(url);
  }
  else GB_updateGB(url,_49,_4c,_4b,true);
  return false;
};

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;