/******************************************************************************
Name:    Highslide JS
Version: 4.1.8 (October 27 2009)
Config:  default
Author:  Torstein Hønsi
Support: http://highslide.com/support

Licence:
Highslide JS is licensed under a Creative Commons Attribution-NonCommercial 2.5
License (http://creativecommons.org/licenses/by-nc/2.5/).

You are free:
	* to copy, distribute, display, and perform the work
	* to make derivative works

Under the following conditions:
	* Attribution. You must attribute the work in the manner  specified by  the
	  author or licensor.
	* Noncommercial. You may not use this work for commercial purposes.

* For  any  reuse  or  distribution, you  must make clear to others the license
  terms of this work.
* Any  of  these  conditions  can  be  waived  if  you  get permission from the 
  copyright holder.

Your fair use and other rights are in no way affected by the above.
******************************************************************************/
if(!hs){
  var hs={
    lang:{
      cssDirection:"ltr",
      loadingText:"Loading...",
      loadingTitle:"Click to cancel",
      focusTitle:"Click to bring to front",
      fullExpandTitle:"Expand to actual size (f)",
      creditsText:"",
      creditsTitle:"Go to the Highslide JS homepage",
      restoreTitle:"Click to close image, click and drag to move. Use arrow keys for next and previous."
    },
    graphicsDir:"highslide/graphics/",
    expandCursor:"zoomin.cur",
    restoreCursor:"zoomout.cur",
    expandDuration:250,
    restoreDuration:250,
    marginLeft:15,
    marginRight:15,
    marginTop:15,
    marginBottom:15,
    zIndexCounter:1001,
    loadingOpacity:0.75,
    allowMultipleInstances:true,
    numberOfImagesToPreload:5,
    outlineWhileAnimating:2,
    outlineStartOffset:3,
    padToMinWidth:false,
    fullExpandPosition:"bottom right",
    fullExpandOpacity:1,
    showCredits:true,
    creditsHref:"http://highslide.com/",
    creditsTarget:"_self",
    enableKeyListener:true,
    openerTagNames:["a"],
    dragByHeading:true,
    minWidth:200,
    minHeight:200,
    allowSizeReduction:true,
    outlineType:"drop-shadow",
    preloadTheseImages:[],
    continuePreloading:true,
    expanders:[],
    overrides:["allowSizeReduction","useBox","outlineType","outlineWhileAnimating","captionId","captionText","captionEval","captionOverlay","headingId","headingText","headingEval","headingOverlay","creditsPosition","dragByHeading","width","height","wrapperClassName","minWidth","minHeight","maxWidth","maxHeight","slideshowGroup","easing","easingClose","fadeInOut","src"],
    overlays:[],
    idCounter:0,
    oPos:{
      x:["leftpanel","left","center","right","rightpanel"],
      y:["above","top","middle","bottom","below"]
      },
    mouse:{},
    headingOverlay:{},
    captionOverlay:{},
    timers:[],
    pendingOutlines:{},
    clones:{},
    onReady:[],
    uaVersion:/Trident\/4\.0/.test(navigator.userAgent)?8:parseFloat((navigator.userAgent.toLowerCase().match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1]),
    ie:(document.all&&!window.opera),
    safari:/Safari/.test(navigator.userAgent),
    geckoMac:/Macintosh.+rv:1\.[0-8].+Gecko/.test(navigator.userAgent),
    $:function(a){
      if(a){
        return document.getElementById(a)
        }
      },
  push:function(a,b){
    a[a.length]=b
    },
  createElement:function(a,f,e,d,c){
    var b=document.createElement(a);
    if(f){
      hs.extend(b,f)
      }
      if(c){
      hs.setStyles(b,{
        padding:0,
        border:"none",
        margin:0
      })
      }
      if(e){
      hs.setStyles(b,e)
      }
      if(d){
      d.appendChild(b)
      }
      return b
    },
  extend:function(b,c){
    for(var a in c){
      b[a]=c[a]
      }
      return b
    },
  setStyles:function(b,c){
    for(var a in c){
      if(hs.ie&&a=="opacity"){
        if(c[a]>0.99){
          b.style.removeAttribute("filter")
          }else{
          b.style.filter="alpha(opacity="+(c[a]*100)+")"
          }
        }else{
      b.style[a]=c[a]
      }
    }
    },
animate:function(f,a,d){
  var c,g,j;
  if(typeof d!="object"||d===null){
    var i=arguments;
    d={
      duration:i[2],
      easing:i[3],
      complete:i[4]
      }
    }
  if(typeof d.duration!="number"){
  d.duration=250
  }
  d.easing=Math[d.easing]||Math.easeInQuad;
d.curAnim=hs.extend({},a);
for(var b in a){
  var h=new hs.fx(f,d,b);
  c=parseFloat(hs.css(f,b))||0;
  g=parseFloat(a[b]);
  j=b!="opacity"?"px":"";
  h.custom(c,g,j)
  }
},
css:function(a,c){
  if(document.defaultView){
    return document.defaultView.getComputedStyle(a,null).getPropertyValue(c)
    }else{
    if(c=="opacity"){
      c="filter"
      }
      var b=a.currentStyle[c.replace(/\-(\w)/g,function(e,d){
      return d.toUpperCase()
      })];
    if(c=="filter"){
      b=b.replace(/alpha\(opacity=([0-9]+)\)/,function(e,d){
        return d/100
        })
      }
      return b===""?1:b
    }
  },
getPageSize:function(){
  var f=document,b=window,e=f.compatMode&&f.compatMode!="BackCompat"?f.documentElement:f.body;
  var c=hs.ie?e.clientWidth:(f.documentElement.clientWidth||self.innerWidth),a=hs.ie?e.clientHeight:self.innerHeight;
  hs.page={
    width:c,
    height:a,
    scrollLeft:hs.ie?e.scrollLeft:pageXOffset,
    scrollTop:hs.ie?e.scrollTop:pageYOffset
    }
  },
getPosition:function(a){
  var b={
    x:a.offsetLeft,
    y:a.offsetTop
    };
  while(a.offsetParent){
    a=a.offsetParent;
    b.x+=a.offsetLeft;
    b.y+=a.offsetTop;
    if(a!=document.body&&a!=document.documentElement){
      b.x-=a.scrollLeft;
      b.y-=a.scrollTop
      }
    }
  return b
},
expand:function(b,g,d,c){
  if(!b){
    b=hs.createElement("a",null,{
      display:"none"
    },hs.container)
    }
    if(typeof b.getParams=="function"){
    return g
    }
    try{
    new hs.Expander(b,g,d);
    return false
    }catch(f){
    return true
    }
  },
focusTopmost:function(){
  var c=0,b=-1,a=hs.expanders,e,f;
  for(var d=0;d<a.length;d++){
    e=a[d];
    if(e){
      f=e.wrapper.style.zIndex;
      if(f&&f>c){
        c=f;
        b=d
        }
      }
  }
  if(b==-1){
  hs.focusKey=-1
  }else{
  a[b].focus()
  }
},
getParam:function(b,d){
  b.getParams=b.onclick;
  var c=b.getParams?b.getParams():null;
  b.getParams=null;
  return(c&&typeof c[d]!="undefined")?c[d]:(typeof hs[d]!="undefined"?hs[d]:null)
  },
getSrc:function(b){
  var c=hs.getParam(b,"src");
  if(c){
    return c
    }
    return b.href
  },
getNode:function(e){
  var c=hs.$(e),d=hs.clones[e],b={};

  if(!c&&!d){
    return null
    }
    if(!d){
    d=c.cloneNode(true);
    d.id="";
    hs.clones[e]=d;
    return c
    }else{
    return d.cloneNode(true)
    }
  },
discardElement:function(a){
  if(a){
    hs.garbageBin.appendChild(a)
    }
    hs.garbageBin.innerHTML=""
  },
transit:function(a,d){
  var b=d=d||hs.getExpander();
  if(hs.upcoming){
    return false
    }else{
    hs.last=b
    }
    try{
    hs.upcoming=a;
    a.onclick()
    }catch(c){
    hs.last=hs.upcoming=null
    }
    try{
    d.close()
    }catch(c){}
  return false
  },
previousOrNext:function(a,c){
  var b=hs.getExpander(a);
  if(b){
    return hs.transit(b.getAdjacentAnchor(c),b)
    }else{
    return false
    }
  },
previous:function(a){
  return hs.previousOrNext(a,-1)
  },
next:function(a){
  return hs.previousOrNext(a,1)
  },
keyHandler:function(a){
  if(!a){
    a=window.event
    }
    if(!a.target){
    a.target=a.srcElement
    }
    if(typeof a.target.form!="undefined"){
    return true
    }
    var b=hs.getExpander();
  var c=null;
  switch(a.keyCode){
    case 70:
      if(b){
      b.doFullExpand()
      }
      return true;
    case 32:case 34:case 39:case 40:
      c=1;
      break;
    case 8:case 33:case 37:case 38:
      c=-1;
      break;
    case 27:case 13:
      c=0
      }
      if(c!==null){
    hs.removeEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler);
    if(!hs.enableKeyListener){
      return true
      }
      if(a.preventDefault){
      a.preventDefault()
      }else{
      a.returnValue=false
      }
      if(b){
      if(c==0){
        b.close()
        }else{
        hs.previousOrNext(b.key,c)
        }
        return false
      }
    }
  return true
},
registerOverlay:function(a){
  hs.push(hs.overlays,hs.extend(a,{
    hsId:"hsId"+hs.idCounter++
  }))
  },
getWrapperKey:function(c,b){
  var e,d=/^highslide-wrapper-([0-9]+)$/;
  e=c;
  while(e.parentNode){
    if(e.id&&d.test(e.id)){
      return e.id.replace(d,"$1")
      }
      e=e.parentNode
    }
    if(!b){
    e=c;
    while(e.parentNode){
      if(e.tagName&&hs.isHsAnchor(e)){
        for(var a=0;a<hs.expanders.length;a++){
          var f=hs.expanders[a];
          if(f&&f.a==e){
            return a
            }
          }
        }
      e=e.parentNode
  }
}
return null
},
getExpander:function(b,a){
  if(typeof b=="undefined"){
    return hs.expanders[hs.focusKey]||null
    }
    if(typeof b=="number"){
    return hs.expanders[b]||null
    }
    if(typeof b=="string"){
    b=hs.$(b)
    }
    return hs.expanders[hs.getWrapperKey(b,a)]||null
  },
isHsAnchor:function(b){
  return(b.onclick&&b.onclick.toString().replace(/\s/g," ").match(/hs.(htmlE|e)xpand/))
  },
reOrder:function(){
  for(var a=0;a<hs.expanders.length;a++){
    if(hs.expanders[a]&&hs.expanders[a].isExpanded){
      hs.focusTopmost()
      }
    }
  },
mouseClickHandler:function(d){
  if(!d){
    d=window.event
    }
    if(d.button>1){
    return true
    }
    if(!d.target){
    d.target=d.srcElement
    }
    var b=d.target;
  while(b.parentNode&&!(/highslide-(image|move|html|resize)/.test(b.className))){
    b=b.parentNode
    }
    var f=hs.getExpander(b);
  if(f&&(f.isClosing||!f.isExpanded)){
    return true
    }
    if(f&&d.type=="mousedown"){
    if(d.target.form){
      return true
      }
      var a=b.className.match(/highslide-(image|move|resize)/);
    if(a){
      hs.dragArgs={
        exp:f,
        type:a[1],
        left:f.x.pos,
        width:f.x.size,
        top:f.y.pos,
        height:f.y.size,
        clickX:d.clientX,
        clickY:d.clientY
        };

      hs.addEventListener(document,"mousemove",hs.dragHandler);
      if(d.preventDefault){
        d.preventDefault()
        }
        if(/highslide-(image|html)-blur/.test(f.content.className)){
        f.focus();
        hs.hasFocused=true
        }
        return false
      }
    }else{
  if(d.type=="mouseup"){
    hs.removeEventListener(document,"mousemove",hs.dragHandler);
    if(hs.dragArgs){
      if(hs.styleRestoreCursor&&hs.dragArgs.type=="image"){
        hs.dragArgs.exp.content.style.cursor=hs.styleRestoreCursor
        }
        var c=hs.dragArgs.hasDragged;
      if(!c&&!hs.hasFocused&&!/(move|resize)/.test(hs.dragArgs.type)){
        f.close()
        }else{
        if(c||(!c&&hs.hasHtmlExpanders)){
          hs.dragArgs.exp.doShowHide("hidden")
          }
        }
      hs.hasFocused=false;
    hs.dragArgs=null
    }else{
    if(/highslide-image-blur/.test(b.className)){
      b.style.cursor=hs.styleRestoreCursor
      }
    }
}
}
return false
},
dragHandler:function(c){
  if(!hs.dragArgs){
    return true
    }
    if(!c){
    c=window.event
    }
    var b=hs.dragArgs,d=b.exp;
  b.dX=c.clientX-b.clickX;
  b.dY=c.clientY-b.clickY;
  var f=Math.sqrt(Math.pow(b.dX,2)+Math.pow(b.dY,2));
  if(!b.hasDragged){
    b.hasDragged=(b.type!="image"&&f>0)||(f>(hs.dragSensitivity||5))
    }
    if(b.hasDragged&&c.clientX>5&&c.clientY>5){
    if(b.type=="resize"){
      d.resize(b)
      }else{
      d.moveTo(b.left+b.dX,b.top+b.dY);
      if(b.type=="image"){
        d.content.style.cursor="move"
        }
      }
  }
return false
},
wrapperMouseHandler:function(c){
  try{
    if(!c){
      c=window.event
      }
      var b=/mouseover/i.test(c.type);
    if(!c.target){
      c.target=c.srcElement
      }
      if(hs.ie){
      c.relatedTarget=b?c.fromElement:c.toElement
      }
      var d=hs.getExpander(c.target);
    if(!d.isExpanded){
      return
    }
    if(!d||!c.relatedTarget||hs.getExpander(c.relatedTarget,true)==d||hs.dragArgs){
      return
    }
    for(var a=0;a<d.overlays.length;a++){
      (function(){
        var e=hs.$("hsId"+d.overlays[a]);
        if(e&&e.hideOnMouseOut){
          if(b){
            hs.setStyles(e,{
              visibility:"visible",
              display:""
            })
            }
            hs.animate(e,{
            opacity:b?e.opacity:0
            },e.dur)
          }
        })()
      }
    }catch(c){}
},
addEventListener:function(a,c,b){
  if(a==document&&c=="ready"){
    hs.push(hs.onReady,b)
    }
    try{
    a.addEventListener(c,b,false)
    }catch(d){
    try{
      a.detachEvent("on"+c,b);
      a.attachEvent("on"+c,b)
      }catch(d){
      a["on"+c]=b
      }
    }
},
removeEventListener:function(a,c,b){
  try{
    a.removeEventListener(c,b,false)
    }catch(d){
    try{
      a.detachEvent("on"+c,b)
      }catch(d){
      a["on"+c]=null
      }
    }
},
preloadFullImage:function(b){
  if(hs.continuePreloading&&hs.preloadTheseImages[b]&&hs.preloadTheseImages[b]!="undefined"){
    var a=document.createElement("img");
    a.onload=function(){
      a=null;
      hs.preloadFullImage(b+1)
      };

    a.src=hs.preloadTheseImages[b]
    }
  },
preloadImages:function(c){
  if(c&&typeof c!="object"){
    hs.numberOfImagesToPreload=c
    }
    var a=hs.getAnchors();
  for(var b=0;b<a.images.length&&b<hs.numberOfImagesToPreload;b++){
    hs.push(hs.preloadTheseImages,hs.getSrc(a.images[b]))
    }
    if(hs.outlineType){
    new hs.Outline(hs.outlineType,function(){
      hs.preloadFullImage(0)
      })
    }else{
    hs.preloadFullImage(0)
    }
    if(hs.restoreCursor){
    var d=hs.createElement("img",{
      src:hs.graphicsDir+hs.restoreCursor
      })
    }
  },
init:function(){
  if(!hs.container){
    hs.getPageSize();
    hs.ieLt7=hs.ie&&hs.uaVersion<7;
    for(var a in hs.langDefaults){
      if(typeof hs[a]!="undefined"){
        hs.lang[a]=hs[a]
        }else{
        if(typeof hs.lang[a]=="undefined"&&typeof hs.langDefaults[a]!="undefined"){
          hs.lang[a]=hs.langDefaults[a]
          }
        }
    }
    hs.container=hs.createElement("div",{
  className:"highslide-container"
},{
  position:"absolute",
  left:0,
  top:0,
  width:"100%",
  zIndex:hs.zIndexCounter,
  direction:"ltr"
},document.body,true);
hs.loading=hs.createElement("a",{
  className:"highslide-loading",
  title:hs.lang.loadingTitle,
  innerHTML:hs.lang.loadingText,
  href:"javascript:;"
},{
  position:"absolute",
  top:"-9999px",
  opacity:hs.loadingOpacity,
  zIndex:1
},hs.container);
hs.garbageBin=hs.createElement("div",null,{
  display:"none"
},hs.container);
Math.linearTween=function(f,e,h,g){
  return h*f/g+e
  };

Math.easeInQuad=function(f,e,h,g){
  return h*(f/=g)*f+e
  };

hs.hideSelects=hs.ieLt7;
hs.hideIframes=((window.opera&&hs.uaVersion<9)||navigator.vendor=="KDE"||(hs.ie&&hs.uaVersion<5.5))
}
},
ready:function(){
  if(hs.isReady){
    return
  }
  hs.isReady=true;
  for(var a=0;a<hs.onReady.length;a++){
    hs.onReady[a]()
    }
  },
updateAnchors:function(){
  var a,c,k=[],h=[],b={},l;
  for(var e=0;e<hs.openerTagNames.length;e++){
    c=document.getElementsByTagName(hs.openerTagNames[e]);
    for(var d=0;d<c.length;d++){
      a=c[d];
      l=hs.isHsAnchor(a);
      if(l){
        hs.push(k,a);
        if(l[0]=="hs.expand"){
          hs.push(h,a)
          }
          var f=hs.getParam(a,"slideshowGroup")||"none";
        if(!b[f]){
          b[f]=[]
          }
          hs.push(b[f],a)
        }
      }
    }
  hs.anchors={
  all:k,
  groups:b,
  images:h
};

return hs.anchors
},
getAnchors:function(){
  return hs.anchors||hs.updateAnchors()
  },
close:function(a){
  var b=hs.getExpander(a);
  if(b){
    b.close()
    }
    return false
  }
};

hs.fx=function(b,a,c){
  this.options=a;
  this.elem=b;
  this.prop=c;
  if(!a.orig){
    a.orig={}
  }
};

hs.fx.prototype={
  update:function(){
    (hs.fx.step[this.prop]||hs.fx.step._default)(this);
    if(this.options.step){
      this.options.step.call(this.elem,this.now,this)
      }
    },
custom:function(e,d,c){
  this.startTime=(new Date()).getTime();
  this.start=e;
  this.end=d;
  this.unit=c;
  this.now=this.start;
  this.pos=this.state=0;
  var a=this;
  function b(f){
    return a.step(f)
    }
    b.elem=this.elem;
  if(b()&&hs.timers.push(b)==1){
    hs.timerId=setInterval(function(){
      var g=hs.timers;
      for(var f=0;f<g.length;f++){
        if(!g[f]()){
          g.splice(f--,1)
          }
        }
      if(!g.length){
      clearInterval(hs.timerId)
      }
    },13)
}
},
step:function(d){
  var c=(new Date()).getTime();
  if(d||c>=this.options.duration+this.startTime){
    this.now=this.end;
    this.pos=this.state=1;
    this.update();
    this.options.curAnim[this.prop]=true;
    var a=true;
    for(var b in this.options.curAnim){
      if(this.options.curAnim[b]!==true){
        a=false
        }
      }
    if(a){
    if(this.options.complete){
      this.options.complete.call(this.elem)
      }
    }
  return false
}else{
  var e=c-this.startTime;
  this.state=e/this.options.duration;
  this.pos=this.options.easing(e,0,1,this.options.duration);
  this.now=this.start+((this.end-this.start)*this.pos);
  this.update()
  }
  return true
}
};

hs.extend(hs.fx,{
  step:{
    opacity:function(a){
      hs.setStyles(a.elem,{
        opacity:a.now
        })
      },
    _default:function(a){
      try{
        if(a.elem.style&&a.elem.style[a.prop]!=null){
          a.elem.style[a.prop]=a.now+a.unit
          }else{
          a.elem[a.prop]=a.now
          }
        }catch(b){}
  }
}
});
hs.Outline=function(g,e){
  this.onLoad=e;
  this.outlineType=g;
  var a=hs.uaVersion,f;
  this.hasAlphaImageLoader=hs.ie&&a>=5.5&&a<7;
  if(!g){
    if(e){
      e()
      }
      return
  }
  hs.init();
  this.table=hs.createElement("table",{
    cellSpacing:0
  },{
    visibility:"hidden",
    position:"absolute",
    borderCollapse:"collapse",
    width:0
  },hs.container,true);
  var b=hs.createElement("tbody",null,null,this.table,1);
  this.td=[];
  for(var c=0;c<=8;c++){
    if(c%3==0){
      f=hs.createElement("tr",null,{
        height:"auto"
      },b,true)
      }
      this.td[c]=hs.createElement("td",null,null,f,true);
    var d=c!=4?{
      lineHeight:0,
      fontSize:0
    }:{
      position:"relative"
    };

    hs.setStyles(this.td[c],d)
    }
    this.td[4].className=g+" highslide-outline";
  this.preloadGraphic()
  };

hs.Outline.prototype={
  preloadGraphic:function(){
    var b=hs.graphicsDir+(hs.outlinesDir||"outlines/")+this.outlineType+".png";
    var a=hs.safari?hs.container:null;
    this.graphic=hs.createElement("img",null,{
      position:"absolute",
      top:"-9999px"
    },a,true);
    var c=this;
    this.graphic.onload=function(){
      c.onGraphicLoad()
      };

    this.graphic.src=b
    },
  onGraphicLoad:function(){
    var d=this.offset=this.graphic.width/4,f=[[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]],c={
      height:(2*d)+"px",
      width:(2*d)+"px"
      };

    for(var b=0;b<=8;b++){
      if(f[b]){
        if(this.hasAlphaImageLoader){
          var a=(b==1||b==7)?"100%":this.graphic.width+"px";
          var e=hs.createElement("div",null,{
            width:"100%",
            height:"100%",
            position:"relative",
            overflow:"hidden"
          },this.td[b],true);
          hs.createElement("div",null,{
            filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale, src='"+this.graphic.src+"')",
            position:"absolute",
            width:a,
            height:this.graphic.height+"px",
            left:(f[b][0]*d)+"px",
            top:(f[b][1]*d)+"px"
            },e,true)
          }else{
          hs.setStyles(this.td[b],{
            background:"url("+this.graphic.src+") "+(f[b][0]*d)+"px "+(f[b][1]*d)+"px"
            })
          }
          if(window.opera&&(b==3||b==5)){
          hs.createElement("div",null,c,this.td[b],true)
          }
          hs.setStyles(this.td[b],c)
        }
      }
    this.graphic=null;
  if(hs.pendingOutlines[this.outlineType]){
    hs.pendingOutlines[this.outlineType].destroy()
    }
    hs.pendingOutlines[this.outlineType]=this;
  if(this.onLoad){
    this.onLoad()
    }
  },
setPosition:function(g,e,c,b,f){
  var d=this.exp,a=d.wrapper.style,e=e||0,g=g||{
    x:d.x.pos+e,
    y:d.y.pos+e,
    w:d.x.get("wsize")-2*e,
    h:d.y.get("wsize")-2*e
    };

  if(c){
    this.table.style.visibility=(g.h>=4*this.offset)?"visible":"hidden"
    }
    hs.setStyles(this.table,{
    left:(g.x-this.offset)+"px",
    top:(g.y-this.offset)+"px",
    width:(g.w+2*this.offset)+"px"
    });
  g.w-=2*this.offset;
  g.h-=2*this.offset;
  hs.setStyles(this.td[4],{
    width:g.w>=0?g.w+"px":0,
    height:g.h>=0?g.h+"px":0
    });
  if(this.hasAlphaImageLoader){
    this.td[3].style.height=this.td[5].style.height=this.td[4].style.height
    }
  },
destroy:function(a){
  if(a){
    this.table.style.visibility="hidden"
    }else{
    hs.discardElement(this.table)
    }
  }
};

hs.Dimension=function(b,a){
  this.exp=b;
  this.dim=a;
  this.ucwh=a=="x"?"Width":"Height";
  this.wh=this.ucwh.toLowerCase();
  this.uclt=a=="x"?"Left":"Top";
  this.lt=this.uclt.toLowerCase();
  this.ucrb=a=="x"?"Right":"Bottom";
  this.rb=this.ucrb.toLowerCase();
  this.p1=this.p2=0
  };

hs.Dimension.prototype={
  get:function(a){
    switch(a){
      case"loadingPos":
        return this.tpos+this.tb+(this.t-hs.loading["offset"+this.ucwh])/2;
      case"wsize":
        return this.size+2*this.cb+this.p1+this.p2;
      case"fitsize":
        return this.clientSize-this.marginMin-this.marginMax;
      case"maxsize":
        return this.get("fitsize")-2*this.cb-this.p1-this.p2;
      case"opos":
        return this.pos-(this.exp.outline?this.exp.outline.offset:0);
      case"osize":
        return this.get("wsize")+(this.exp.outline?2*this.exp.outline.offset:0);
      case"imgPad":
        return this.imgSize?Math.round((this.size-this.imgSize)/2):0
        }
      },
calcBorders:function(){
  this.cb=(this.exp.content["offset"+this.ucwh]-this.t)/2;
  this.marginMax=hs["margin"+this.ucrb]
  },
calcThumb:function(){
  this.t=this.exp.el[this.wh]?parseInt(this.exp.el[this.wh]):this.exp.el["offset"+this.ucwh];
  this.tpos=this.exp.tpos[this.dim];
  this.tb=(this.exp.el["offset"+this.ucwh]-this.t)/2;
  if(this.tpos==0||this.tpos==-1){
    this.tpos=(hs.page[this.wh]/2)+hs.page["scroll"+this.uclt]
    }
  },
calcExpanded:function(){
  var a=this.exp;
  this.justify="auto";
  this.pos=this.tpos-this.cb+this.tb;
  if(this.maxHeight&&this.dim=="x"){
    a.maxWidth=Math.min(a.maxWidth||this.full,a.maxHeight*this.full/a.y.full)
    }
    this.size=Math.min(this.full,a["max"+this.ucwh]||this.full);
  this.minSize=a.allowSizeReduction?Math.min(a["min"+this.ucwh],this.full):this.full;
  if(a.isImage&&a.useBox){
    this.size=a[this.wh];
    this.imgSize=this.full
    }
    if(this.dim=="x"&&hs.padToMinWidth){
    this.minSize=a.minWidth
    }
    this.marginMin=hs["margin"+this.uclt];
  this.scroll=hs.page["scroll"+this.uclt];
  this.clientSize=hs.page[this.wh]
  },
setSize:function(a){
  var b=this.exp;
  if(b.isImage&&(b.useBox||hs.padToMinWidth)){
    this.imgSize=a;
    this.size=Math.max(this.size,this.imgSize);
    b.content.style[this.lt]=this.get("imgPad")+"px"
    }else{
    this.size=a
    }
    b.content.style[this.wh]=a+"px";
  b.wrapper.style[this.wh]=this.get("wsize")+"px";
  if(b.outline){
    b.outline.setPosition()
    }
    if(this.dim=="x"&&b.overlayBox){
    b.sizeOverlayBox(true)
    }
  },
setPos:function(a){
  this.pos=a;
  this.exp.wrapper.style[this.lt]=a+"px";
  if(this.exp.outline){
    this.exp.outline.setPosition()
    }
  }
};

hs.Expander=function(k,f,b,l){
  if(document.readyState&&hs.ie&&!hs.isReady){
    hs.addEventListener(document,"ready",function(){
      new hs.Expander(k,f,b,l)
      });
    return
  }
  this.a=k;
  this.custom=b;
  this.contentType=l||"image";
  this.isImage=!this.isHtml;
  hs.continuePreloading=false;
  this.overlays=[];
  hs.init();
  var m=this.key=hs.expanders.length;
  for(var g=0;g<hs.overrides.length;g++){
    var c=hs.overrides[g];
    this[c]=f&&typeof f[c]!="undefined"?f[c]:hs[c]
    }
    if(!this.src){
    this.src=k.href
    }
    var d=(f&&f.thumbnailId)?hs.$(f.thumbnailId):k;
  d=this.thumb=d.getElementsByTagName("img")[0]||d;
  this.thumbsUserSetId=d.id||k.id;
  for(var g=0;g<hs.expanders.length;g++){
    if(hs.expanders[g]&&hs.expanders[g].a==k){
      hs.expanders[g].focus();
      return false
      }
    }
  if(!hs.allowSimultaneousLoading){
  for(var g=0;g<hs.expanders.length;g++){
    if(hs.expanders[g]&&hs.expanders[g].thumb!=d&&!hs.expanders[g].onLoadStarted){
      hs.expanders[g].cancelLoading()
      }
    }
  }
hs.expanders[m]=this;
if(!hs.allowMultipleInstances&&!hs.upcoming){
  if(hs.expanders[m-1]){
    hs.expanders[m-1].close()
    }
    if(typeof hs.focusKey!="undefined"&&hs.expanders[hs.focusKey]){
    hs.expanders[hs.focusKey].close()
    }
  }
this.el=d;
this.tpos=hs.getPosition(d);
hs.getPageSize();
var j=this.x=new hs.Dimension(this,"x");
j.calcThumb();
var h=this.y=new hs.Dimension(this,"y");
h.calcThumb();
this.wrapper=hs.createElement("div",{
  id:"highslide-wrapper-"+this.key,
  className:"highslide-wrapper "+this.wrapperClassName
  },{
  visibility:"hidden",
  position:"absolute",
  zIndex:hs.zIndexCounter+=2
  },null,true);
this.wrapper.onmouseover=this.wrapper.onmouseout=hs.wrapperMouseHandler;
if(this.contentType=="image"&&this.outlineWhileAnimating==2){
  this.outlineWhileAnimating=0
  }
  if(!this.outlineType){
  this[this.contentType+"Create"]()
  }else{
  if(hs.pendingOutlines[this.outlineType]){
    this.connectOutline();
    this[this.contentType+"Create"]()
    }else{
    this.showLoading();
    var e=this;
    new hs.Outline(this.outlineType,function(){
      e.connectOutline();
      e[e.contentType+"Create"]()
      })
    }
  }
return true
};

hs.Expander.prototype={
  error:function(a){
    window.location.href=this.src
    },
  connectOutline:function(){
    var a=this.outline=hs.pendingOutlines[this.outlineType];
    a.exp=this;
    a.table.style.zIndex=this.wrapper.style.zIndex-1;
    hs.pendingOutlines[this.outlineType]=null
    },
  showLoading:function(){
    if(this.onLoadStarted||this.loading){
      return
    }
    this.loading=hs.loading;
    var c=this;
    this.loading.onclick=function(){
      c.cancelLoading()
      };

    var c=this,a=this.x.get("loadingPos")+"px",b=this.y.get("loadingPos")+"px";
    setTimeout(function(){
      if(c.loading){
        hs.setStyles(c.loading,{
          left:a,
          top:b,
          zIndex:hs.zIndexCounter++
        })
        }
      },100)
  },
imageCreate:function(){
  var b=this;
  var a=document.createElement("img");
  this.content=a;
  a.onload=function(){
    if(hs.expanders[b.key]){
      b.contentLoaded()
      }
    };

if(hs.blockRightClick){
  a.oncontextmenu=function(){
    return false
    }
  }
a.className="highslide-image";
hs.setStyles(a,{
  visibility:"hidden",
  display:"block",
  position:"absolute",
  maxWidth:"9999px",
  zIndex:3
});
a.title=hs.lang.restoreTitle;
if(hs.safari){
  hs.container.appendChild(a)
  }
  if(hs.ie&&hs.flushImgSize){
  a.src=null
  }
  a.src=this.src;
this.showLoading()
},
contentLoaded:function(){
  try{
    if(!this.content){
      return
    }
    this.content.onload=null;
    if(this.onLoadStarted){
      return
    }else{
      this.onLoadStarted=true
      }
      var a=this.x,d=this.y;
    if(this.loading){
      hs.setStyles(this.loading,{
        top:"-9999px"
      });
      this.loading=null
      }
      a.full=this.content.width;
    d.full=this.content.height;
    hs.setStyles(this.content,{
      width:a.t+"px",
      height:d.t+"px"
      });
    this.wrapper.appendChild(this.content);
    hs.container.appendChild(this.wrapper);
    a.calcBorders();
    d.calcBorders();
    hs.setStyles(this.wrapper,{
      left:(a.tpos+a.tb-a.cb)+"px",
      top:(d.tpos+a.tb-d.cb)+"px"
      });
    this.getOverlays();
    var b=a.full/d.full;
    a.calcExpanded();
    this.justify(a);
    d.calcExpanded();
    this.justify(d);
    if(this.overlayBox){
      this.sizeOverlayBox(0,1)
      }
      if(this.allowSizeReduction){
      this.correctRatio(b);
      if(this.isImage&&this.x.full>(this.x.imgSize||this.x.size)){
        this.createFullExpand();
        if(this.overlays.length==1){
          this.sizeOverlayBox()
          }
        }
    }
  this.show()
}catch(c){
  this.error(c)
  }
},
justify:function(f,b){
  var g,h=f.target,e=f==this.x?"x":"y";
  var d=false;
  var a=f.exp.allowSizeReduction;
  f.pos=Math.round(f.pos-((f.get("wsize")-f.t)/2));
  if(f.pos<f.scroll+f.marginMin){
    f.pos=f.scroll+f.marginMin;
    d=true
    }
    if(!b&&f.size<f.minSize){
    f.size=f.minSize;
    a=false
    }
    if(f.pos+f.get("wsize")>f.scroll+f.clientSize-f.marginMax){
    if(!b&&d&&a){
      f.size=Math.min(f.size,f.get(e=="y"?"fitsize":"maxsize"))
      }else{
      if(f.get("wsize")<f.get("fitsize")){
        f.pos=f.scroll+f.clientSize-f.marginMax-f.get("wsize")
        }else{
        f.pos=f.scroll+f.marginMin;
        if(!b&&a){
          f.size=f.get(e=="y"?"fitsize":"maxsize")
          }
        }
    }
}
if(!b&&f.size<f.minSize){
  f.size=f.minSize;
  a=false
  }
  if(f.pos<f.marginMin){
  var c=f.pos;
  f.pos=f.marginMin;
  if(a&&!b){
    f.size=f.size-(f.pos-c)
    }
  }
},
correctRatio:function(c){
  var a=this.x,g=this.y,e=false,d=Math.min(a.full,a.size),b=Math.min(g.full,g.size),f=(this.useBox||hs.padToMinWidth);
  if(d/b>c){
    d=b*c;
    if(d<a.minSize){
      d=a.minSize;
      b=d/c
      }
      e=true
    }else{
    if(d/b<c){
      b=d/c;
      e=true
      }
    }
  if(hs.padToMinWidth&&a.full<a.minSize){
  a.imgSize=a.full;
  g.size=g.imgSize=g.full
  }else{
  if(this.useBox){
    a.imgSize=d;
    g.imgSize=b
    }else{
    a.size=d;
    g.size=b
    }
  }
e=this.fitOverlayBox(f?null:c,e);
if(f&&g.size<g.imgSize){
  g.imgSize=g.size;
  a.imgSize=g.size*c
  }
  if(e||f){
  a.pos=a.tpos-a.cb+a.tb;
  a.minSize=a.size;
  this.justify(a,true);
  g.pos=g.tpos-g.cb+g.tb;
  g.minSize=g.size;
  this.justify(g,true);
  if(this.overlayBox){
    this.sizeOverlayBox()
    }
  }
},
fitOverlayBox:function(b,c){
  var a=this.x,d=this.y;
  if(this.overlayBox){
    while(d.size>this.minHeight&&a.size>this.minWidth&&d.get("wsize")>d.get("fitsize")){
      d.size-=10;
      if(b){
        a.size=d.size*b
        }
        this.sizeOverlayBox(0,1);
      c=true
      }
    }
  return c
},
show:function(){
  var a=this.x,b=this.y;
  this.doShowHide("hidden");
  this.changeSize(1,{
    wrapper:{
      width:a.get("wsize"),
      height:b.get("wsize"),
      left:a.pos,
      top:b.pos
      },
    content:{
      left:a.p1+a.get("imgPad"),
      top:b.p1+b.get("imgPad"),
      width:a.imgSize||a.size,
      height:b.imgSize||b.size
      }
    },hs.expandDuration)
},
changeSize:function(b,h,c){
  if(this.outline&&!this.outlineWhileAnimating){
    if(b){
      this.outline.setPosition()
      }else{
      this.outline.destroy()
      }
    }
  if(!b){
  this.destroyOverlays()
  }
  var e=this,a=e.x,g=e.y,f=this.easing;
if(!b){
  f=this.easingClose||f
  }
  var d=b?function(){
  if(e.outline){
    e.outline.table.style.visibility="visible"
    }
    setTimeout(function(){
    e.afterExpand()
    },50)
  }:function(){
  e.afterClose()
  };

if(b){
  hs.setStyles(this.wrapper,{
    width:a.t+"px",
    height:g.t+"px"
    })
  }
  if(this.fadeInOut){
  hs.setStyles(this.wrapper,{
    opacity:b?0:1
    });
  hs.extend(h.wrapper,{
    opacity:b
  })
  }
  hs.animate(this.wrapper,h.wrapper,{
  duration:c,
  easing:f,
  step:function(k,i){
    if(e.outline&&e.outlineWhileAnimating&&i.prop=="top"){
      var j=b?i.pos:1-i.pos;
      var l={
        w:a.t+(a.get("wsize")-a.t)*j,
        h:g.t+(g.get("wsize")-g.t)*j,
        x:a.tpos+(a.pos-a.tpos)*j,
        y:g.tpos+(g.pos-g.tpos)*j
        };

      e.outline.setPosition(l,0,1)
      }
    }
});
hs.animate(this.content,h.content,c,f,d);
if(b){
  this.wrapper.style.visibility="visible";
  this.content.style.visibility="visible";
  this.a.className+=" highslide-active-anchor"
  }
},
afterExpand:function(){
  this.isExpanded=true;
  this.focus();
  if(hs.upcoming&&hs.upcoming==this.a){
    hs.upcoming=null
    }
    this.prepareNextOutline();
  var c=hs.page,b=hs.mouse.x+c.scrollLeft,a=hs.mouse.y+c.scrollTop;
  this.mouseIsOver=this.x.pos<b&&b<this.x.pos+this.x.get("wsize")&&this.y.pos<a&&a<this.y.pos+this.y.get("wsize");
  if(this.overlayBox){
    this.showOverlays()
    }
  },
prepareNextOutline:function(){
  var a=this.key;
  var b=this.outlineType;
  new hs.Outline(b,function(){
    try{
      hs.expanders[a].preloadNext()
      }catch(c){}
  })
},
preloadNext:function(){
  var b=this.getAdjacentAnchor(1);
  if(b&&b.onclick.toString().match(/hs\.expand/)){
    var a=hs.createElement("img",{
      src:hs.getSrc(b)
      })
    }
  },
getAdjacentAnchor:function(c){
  var b=this.getAnchorIndex(),a=hs.anchors.groups[this.slideshowGroup||"none"];
  if(!a[b+c]&&this.slideshow&&this.slideshow.repeat){
    if(c==1){
      return a[0]
      }else{
      if(c==-1){
        return a[a.length-1]
        }
      }
  }
return a[b+c]||null
},
getAnchorIndex:function(){
  var a=hs.getAnchors().groups[this.slideshowGroup||"none"];
  if(a){
    for(var b=0;b<a.length;b++){
      if(a[b]==this.a){
        return b
        }
      }
    }
  return null
},
cancelLoading:function(){
  hs.discardElement(this.wrapper);
  hs.expanders[this.key]=null;
  if(this.loading){
    hs.loading.style.left="-9999px"
    }
  },
writeCredits:function(){
  this.credits=hs.createElement("a",{
    href:hs.creditsHref,
    target:hs.creditsTarget,
    className:"highslide-credits",
    innerHTML:hs.lang.creditsText,
    title:hs.lang.creditsTitle
    });
  this.createOverlay({
    overlayId:this.credits,
    position:this.creditsPosition||"top left"
    })
  },
getInline:function(types,addOverlay){
  for(var i=0;i<types.length;i++){
    var type=types[i],s=null;
    if(!this[type+"Id"]&&this.thumbsUserSetId){
      this[type+"Id"]=type+"-for-"+this.thumbsUserSetId
      }
      if(this[type+"Id"]){
      this[type]=hs.getNode(this[type+"Id"])
      }
      if(!this[type]&&!this[type+"Text"]&&this[type+"Eval"]){
      try{
        s=eval(this[type+"Eval"])
        }catch(e){}
    }
    if(!this[type]&&this[type+"Text"]){
    s=this[type+"Text"]
    }
    if(!this[type]&&!s){
    this[type]=hs.getNode(this.a["_"+type+"Id"]);
    if(!this[type]){
      var next=this.a.nextSibling;
      while(next&&!hs.isHsAnchor(next)){
        if((new RegExp("highslide-"+type)).test(next.className||null)){
          if(!next.id){
            this.a["_"+type+"Id"]=next.id="hsId"+hs.idCounter++
          }
          this[type]=hs.getNode(next.id);
          break
        }
        next=next.nextSibling
        }
      }
  }
  if(!this[type]&&s){
  this[type]=hs.createElement("div",{
    className:"highslide-"+type,
    innerHTML:s
  })
  }
  if(addOverlay&&this[type]){
  var o={
    position:(type=="heading")?"above":"below"
    };

  for(var x in this[type+"Overlay"]){
    o[x]=this[type+"Overlay"][x]
    }
    o.overlayId=this[type];
  this.createOverlay(o)
  }
}
},
doShowHide:function(a){
  if(hs.hideSelects){
    this.showHideElements("SELECT",a)
    }
    if(hs.hideIframes){
    this.showHideElements("IFRAME",a)
    }
    if(hs.geckoMac){
    this.showHideElements("*",a)
    }
  },
showHideElements:function(c,b){
  var e=document.getElementsByTagName(c);
  var a=c=="*"?"overflow":"visibility";
  for(var f=0;f<e.length;f++){
    if(a=="visibility"||(document.defaultView.getComputedStyle(e[f],"").getPropertyValue("overflow")=="auto"||e[f].getAttribute("hidden-by")!=null)){
      var h=e[f].getAttribute("hidden-by");
      if(b=="visible"&&h){
        h=h.replace("["+this.key+"]","");
        e[f].setAttribute("hidden-by",h);
        if(!h){
          e[f].style[a]=e[f].origProp
          }
        }else{
      if(b=="hidden"){
        var k=hs.getPosition(e[f]);
        k.w=e[f].offsetWidth;
        k.h=e[f].offsetHeight;
        var j=(k.x+k.w<this.x.get("opos")||k.x>this.x.get("opos")+this.x.get("osize"));
        var g=(k.y+k.h<this.y.get("opos")||k.y>this.y.get("opos")+this.y.get("osize"));
        var d=hs.getWrapperKey(e[f]);
        if(!j&&!g&&d!=this.key){
          if(!h){
            e[f].setAttribute("hidden-by","["+this.key+"]");
            e[f].origProp=e[f].style[a];
            e[f].style[a]="hidden"
            }else{
            if(h.indexOf("["+this.key+"]")==-1){
              e[f].setAttribute("hidden-by",h+"["+this.key+"]")
              }
            }
        }else{
      if((h=="["+this.key+"]"||hs.focusKey==d)&&d!=this.key){
        e[f].setAttribute("hidden-by","");
        e[f].style[a]=e[f].origProp||""
        }else{
        if(h&&h.indexOf("["+this.key+"]")>-1){
          e[f].setAttribute("hidden-by",h.replace("["+this.key+"]",""))
          }
        }
    }
  }
}
}
}
},
focus:function(){
  this.wrapper.style.zIndex=hs.zIndexCounter+=2;
  for(var a=0;a<hs.expanders.length;a++){
    if(hs.expanders[a]&&a==hs.focusKey){
      var b=hs.expanders[a];
      b.content.className+=" highslide-"+b.contentType+"-blur";
      b.content.style.cursor=hs.ie?"hand":"pointer";
      b.content.title=hs.lang.focusTitle
      }
    }
  if(this.outline){
  this.outline.table.style.zIndex=this.wrapper.style.zIndex-1
  }
  this.content.className="highslide-"+this.contentType;
this.content.title=hs.lang.restoreTitle;
if(hs.restoreCursor){
  hs.styleRestoreCursor=window.opera?"pointer":"url("+hs.graphicsDir+hs.restoreCursor+"), pointer";
  if(hs.ie&&hs.uaVersion<6){
    hs.styleRestoreCursor="hand"
    }
    this.content.style.cursor=hs.styleRestoreCursor
  }
  hs.focusKey=this.key;
hs.addEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler)
},
moveTo:function(a,b){
  this.x.setPos(a);
  this.y.setPos(b)
  },
resize:function(d){
  var a,b,c=d.width/d.height;
  a=Math.max(d.width+d.dX,Math.min(this.minWidth,this.x.full));
  if(this.isImage&&Math.abs(a-this.x.full)<12){
    a=this.x.full
    }
    b=a/c;
  if(b<Math.min(this.minHeight,this.y.full)){
    b=Math.min(this.minHeight,this.y.full);
    if(this.isImage){
      a=b*c
      }
    }
  this.resizeTo(a,b)
},
resizeTo:function(a,b){
  this.y.setSize(b);
  this.x.setSize(a);
  this.wrapper.style.height=this.y.get("wsize")+"px"
  },
close:function(){
  if(this.isClosing||!this.isExpanded){
    return
  }
  this.isClosing=true;
  hs.removeEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler);
  try{
    this.content.style.cursor="default";
    this.changeSize(0,{
      wrapper:{
        width:this.x.t,
        height:this.y.t,
        left:this.x.tpos-this.x.cb+this.x.tb,
        top:this.y.tpos-this.y.cb+this.y.tb
        },
      content:{
        left:0,
        top:0,
        width:this.x.t,
        height:this.y.t
        }
      },hs.restoreDuration)
  }catch(a){
  this.afterClose()
  }
},
createOverlay:function(d){
  var c=d.overlayId;
  if(typeof c=="string"){
    c=hs.getNode(c)
    }
    if(d.html){
    c=hs.createElement("div",{
      innerHTML:d.html
      })
    }
    if(!c||typeof c=="string"){
    return
  }
  c.style.display="block";
  this.genOverlayBox();
  var b=d.width&&/^[0-9]+(px|%)$/.test(d.width)?d.width:"auto";
  if(/^(left|right)panel$/.test(d.position)&&!/^[0-9]+px$/.test(d.width)){
    b="200px"
    }
    var a=hs.createElement("div",{
    id:"hsId"+hs.idCounter++,
    hsId:d.hsId
    },{
    position:"absolute",
    visibility:"hidden",
    width:b,
    direction:hs.lang.cssDirection||"",
    opacity:0
  },this.overlayBox,true);
  a.appendChild(c);
  hs.extend(a,{
    opacity:1,
    offsetX:0,
    offsetY:0,
    dur:(d.fade===0||d.fade===false||(d.fade==2&&hs.ie))?0:250
    });
  hs.extend(a,d);
  if(this.gotOverlays){
    this.positionOverlay(a);
    if(!a.hideOnMouseOut||this.mouseIsOver){
      hs.animate(a,{
        opacity:a.opacity
        },a.dur)
      }
    }
  hs.push(this.overlays,hs.idCounter-1)
},
positionOverlay:function(c){
  var d=c.position||"middle center",b=c.offsetX,a=c.offsetY;
  if(c.parentNode!=this.overlayBox){
    this.overlayBox.appendChild(c)
    }
    if(/left$/.test(d)){
    c.style.left=b+"px"
    }
    if(/center$/.test(d)){
    hs.setStyles(c,{
      left:"50%",
      marginLeft:(b-Math.round(c.offsetWidth/2))+"px"
      })
    }
    if(/right$/.test(d)){
    c.style.right=-b+"px"
    }
    if(/^leftpanel$/.test(d)){
    hs.setStyles(c,{
      right:"100%",
      marginRight:this.x.cb+"px",
      top:-this.y.cb+"px",
      bottom:-this.y.cb+"px",
      overflow:"auto"
    });
    this.x.p1=c.offsetWidth
    }else{
    if(/^rightpanel$/.test(d)){
      hs.setStyles(c,{
        left:"100%",
        marginLeft:this.x.cb+"px",
        top:-this.y.cb+"px",
        bottom:-this.y.cb+"px",
        overflow:"auto"
      });
      this.x.p2=c.offsetWidth
      }
    }
  if(/^top/.test(d)){
  c.style.top=a+"px"
  }
  if(/^middle/.test(d)){
  hs.setStyles(c,{
    top:"50%",
    marginTop:(a-Math.round(c.offsetHeight/2))+"px"
    })
  }
  if(/^bottom/.test(d)){
  c.style.bottom=-a+"px"
  }
  if(/^above$/.test(d)){
  hs.setStyles(c,{
    left:(-this.x.p1-this.x.cb)+"px",
    right:(-this.x.p2-this.x.cb)+"px",
    bottom:"100%",
    marginBottom:this.y.cb+"px",
    width:"auto"
  });
  this.y.p1=c.offsetHeight
  }else{
  if(/^below$/.test(d)){
    hs.setStyles(c,{
      position:"relative",
      left:(-this.x.p1-this.x.cb)+"px",
      right:(-this.x.p2-this.x.cb)+"px",
      top:"100%",
      marginTop:this.y.cb+"px",
      width:"auto"
    });
    this.y.p2=c.offsetHeight;
    c.style.position="absolute"
    }
  }
},
getOverlays:function(){
  this.getInline(["heading","caption"],true);
  if(this.heading&&this.dragByHeading){
    this.heading.className+=" highslide-move"
    }
    if(hs.showCredits){
    this.writeCredits()
    }
    for(var a=0;a<hs.overlays.length;a++){
    var d=hs.overlays[a],e=d.thumbnailId,b=d.slideshowGroup;
    if((!e&&!b)||(e&&e==this.thumbsUserSetId)||(b&&b===this.slideshowGroup)){
      this.createOverlay(d)
      }
    }
  var c=[];
for(var a=0;a<this.overlays.length;a++){
  var d=hs.$("hsId"+this.overlays[a]);
  if(/panel$/.test(d.position)){
    this.positionOverlay(d)
    }else{
    hs.push(c,d)
    }
  }
for(var a=0;a<c.length;a++){
  this.positionOverlay(c[a])
  }
  this.gotOverlays=true
},
genOverlayBox:function(){
  if(!this.overlayBox){
    this.overlayBox=hs.createElement("div",{
      className:this.wrapperClassName
      },{
      position:"absolute",
      width:(this.x.size||(this.useBox?this.width:null)||this.x.full)+"px",
      height:(this.y.size||this.y.full)+"px",
      visibility:"hidden",
      overflow:"hidden",
      zIndex:hs.ie?4:"auto"
      },hs.container,true)
    }
  },
sizeOverlayBox:function(f,d){
  var c=this.overlayBox,a=this.x,h=this.y;
  hs.setStyles(c,{
    width:a.size+"px",
    height:h.size+"px"
    });
  if(f||d){
    for(var e=0;e<this.overlays.length;e++){
      var g=hs.$("hsId"+this.overlays[e]);
      var b=(hs.ieLt7||document.compatMode=="BackCompat");
      if(g&&/^(above|below)$/.test(g.position)){
        if(b){
          g.style.width=(c.offsetWidth+2*a.cb+a.p1+a.p2)+"px"
          }
          h[g.position=="above"?"p1":"p2"]=g.offsetHeight
        }
        if(g&&b&&/^(left|right)panel$/.test(g.position)){
        g.style.height=(c.offsetHeight+2*h.cb)+"px"
        }
      }
    }
  if(f){
  hs.setStyles(this.content,{
    top:h.p1+"px"
    });
  hs.setStyles(c,{
    top:(h.p1+h.cb)+"px"
    })
  }
},
showOverlays:function(){
  var a=this.overlayBox;
  a.className="";
  hs.setStyles(a,{
    top:(this.y.p1+this.y.cb)+"px",
    left:(this.x.p1+this.x.cb)+"px",
    overflow:"visible"
  });
  if(hs.safari){
    a.style.visibility="visible"
    }
    this.wrapper.appendChild(a);
  for(var c=0;c<this.overlays.length;c++){
    var d=hs.$("hsId"+this.overlays[c]);
    d.style.zIndex=4;
    if(!d.hideOnMouseOut||this.mouseIsOver){
      d.style.visibility="visible";
      hs.setStyles(d,{
        visibility:"visible",
        display:""
      });
      hs.animate(d,{
        opacity:d.opacity
        },d.dur)
      }
    }
  },
destroyOverlays:function(){
  if(!this.overlays.length){
    return
  }
  hs.discardElement(this.overlayBox)
  },
createFullExpand:function(){
  this.fullExpandLabel=hs.createElement("a",{
    href:"javascript:hs.expanders["+this.key+"].doFullExpand();",
    title:hs.lang.fullExpandTitle,
    className:"highslide-full-expand"
  });
  this.createOverlay({
    overlayId:this.fullExpandLabel,
    position:hs.fullExpandPosition,
    hideOnMouseOut:true,
    opacity:hs.fullExpandOpacity
    })
  },
doFullExpand:function(){
  try{
    if(this.fullExpandLabel){
      hs.discardElement(this.fullExpandLabel)
      }
      this.focus();
    var b=this.x.size;
    this.resizeTo(this.x.full,this.y.full);
    var a=this.x.pos-(this.x.size-b)/2;
    if(a<hs.marginLeft){
      a=hs.marginLeft
      }
      this.moveTo(a,this.y.pos);
    this.doShowHide("hidden")
    }catch(c){
    this.error(c)
    }
  },
afterClose:function(){
  this.a.className=this.a.className.replace("highslide-active-anchor","");
  this.doShowHide("visible");
  if(this.outline&&this.outlineWhileAnimating){
    this.outline.destroy()
    }
    hs.discardElement(this.wrapper);
  hs.expanders[this.key]=null;
  hs.reOrder()
  }
};

hs.langDefaults=hs.lang;
var HsExpander=hs.Expander;
if(hs.ie){
  (function(){
    try{
      document.documentElement.doScroll("left")
      }catch(a){
      setTimeout(arguments.callee,50);
      return
    }
    hs.ready()
    })()
    }
    hs.addEventListener(document,"DOMContentLoaded",hs.ready);
hs.addEventListener(window,"load",hs.ready);
hs.addEventListener(document,"ready",function(){
  if(hs.expandCursor){
    var c=hs.createElement("style",{
      type:"text/css"
    },null,document.getElementsByTagName("HEAD")[0]);
    function b(e,f){
      if(!hs.ie){
        c.appendChild(document.createTextNode(e+" {"+f+"}"))
        }else{
        var d=document.styleSheets[document.styleSheets.length-1];
        if(typeof(d.addRule)=="object"){
          d.addRule(e,f)
          }
        }
    }
  function a(d){
  return"expression( ( ( ignoreMe = document.documentElement."+d+" ? document.documentElement."+d+" : document.body."+d+" ) ) + 'px' );"
  }
  if(hs.expandCursor){
  b(".highslide img","cursor: url("+hs.graphicsDir+hs.expandCursor+"), pointer !important;")
  }
}
});
hs.addEventListener(window,"resize",function(){
  hs.getPageSize()
  });
hs.addEventListener(document,"mousemove",function(a){
  hs.mouse={
    x:a.clientX,
    y:a.clientY
    }
  });
hs.addEventListener(document,"mousedown",hs.mouseClickHandler);
hs.addEventListener(document,"mouseup",hs.mouseClickHandler);
hs.addEventListener(document,"ready",hs.getAnchors);
hs.addEventListener(window,"load",hs.preloadImages)
  };
hs.graphicsDir = 'images/highslide/';
hs.wrapperClassName = 'wide-border';