function addEvent(object,type,handler){if(object.addEventListener){object.addEventListener(type,handler,false)}else{if(object.attachEvent){object.attachEvent(["on",type].join(""),handler)}else{object[["on",type].join("")]=handler}}}function WindowSize(){this.w=0;this.h=0;return this.update()}WindowSize.prototype.update=function(){var d=document;this.w=(window.innerWidth)?window.innerWidth:(d.documentElement&&d.documentElement.clientWidth)?d.documentElement.clientWidth:d.body.clientWidth;this.h=(window.innerHeight)?window.innerHeight:(d.documentElement&&d.documentElement.clientHeight)?d.documentElement.clientHeight:d.body.clientHeight;return this};function PageSize(){this.win=new WindowSize();this.w=0;this.h=0;return this.update()}PageSize.prototype.update=function(){var d=document;this.w=(window.innerWidth&&window.scrollMaxX)?window.innerWidth+window.scrollMaxX:(d.body.scrollWidth>d.body.offsetWidth)?d.body.scrollWidth:d.body.offsetWidt;this.h=(window.innerHeight&&window.scrollMaxY)?window.innerHeight+window.scrollMaxY:(d.body.scrollHeight>d.body.offsetHeight)?d.body.scrollHeight:d.body.offsetHeight;this.win.update();if(this.w<this.win.w){this.w=this.win.w}if(this.h<this.win.h){this.h=this.win.h}return this};function PagePos(){this.x=0;this.y=0;return this.update()}PagePos.prototype.update=function(){var d=document;this.x=(window.pageXOffset)?window.pageXOffset:(d.documentElement&&d.documentElement.scrollLeft)?d.documentElement.scrollLeft:(d.body)?d.body.scrollLeft:0;this.y=(window.pageYOffset)?window.pageYOffset:(d.documentElement&&d.documentElement.scrollTop)?d.documentElement.scrollTop:(d.body)?d.body.scrollTop:0;return this};function UserAgent(){var ua=navigator.userAgent;this.isWinIE=this.isMacIE=false;this.isGecko=ua.match(/Gecko\//);this.isSafari=ua.match(/AppleWebKit/);this.isOpera=window.opera;if(document.all&&!this.isGecko&&!this.isSafari&&!this.isOpera){this.isWinIE=ua.match(/Win/);this.isMacIE=ua.match(/Mac/);this.isNewIE=(ua.match(/MSIE 5\.5/)||ua.match(/MSIE 6\.0/))}return this}function LightBox(option){var self=this;self._imgs=new Array();self._wrap=null;self._box=null;self._open=-1;self._page=new PageSize();self._pos=new PagePos();self._ua=new UserAgent();self._expandable=false;self._expanded=false;self._expand=option.expandimg;self._shrink=option.shrinkimg;return self._init(option)}LightBox.prototype={_init:function(option){var self=this;var d=document;if(!d.getElementsByTagName){return }var links=d.getElementsByTagName("a");for(var i=0;i<links.length;i++){var anchor=links[i];var num=self._imgs.length;if(!anchor.getAttribute("href")||anchor.getAttribute("rel")!="lightbox"){continue}self._imgs[num]={src:anchor.getAttribute("href"),w:-1,h:-1,title:"",cls:anchor.className};if(anchor.getAttribute("title")){self._imgs[num].title=anchor.getAttribute("title")}else{if(anchor.firstChild&&anchor.firstChild.getAttribute&&anchor.firstChild.getAttribute("title")){self._imgs[num].title=anchor.firstChild.getAttribute("title")}}anchor.onclick=self._genOpener(num)}var body=d.getElementsByTagName("body")[0];self._wrap=self._createWrapOn(body,option.loadingimg);self._box=self._createBoxOn(body,option);return self},_genOpener:function(num){var self=this;return function(){self._show(num);return false}},_createWrapOn:function(obj,imagePath){var self=this;if(!obj){return null}var wrap=document.createElement("div");wrap.id="overlay";with(wrap.style){display="none";position="fixed";top="0px";left="0px";zIndex="50";width="100%";height="100%"}if(self._ua.isWinIE){wrap.style.position="absolute"}addEvent(wrap,"click",function(){self._close()});obj.appendChild(wrap);var imag=new Image;imag.onload=function(){var spin=document.createElement("img");spin.id="loadingImage";spin.src=imag.src;spin.style.position="relative";self._set_cursor(spin);addEvent(spin,"click",function(){self._close()});wrap.appendChild(spin);imag.onload=function(){}};if(imagePath!=""){imag.src=imagePath}return wrap},_createBoxOn:function(obj,option){var self=this;if(!obj){return null}var box=document.createElement("div");box.id="lightbox";with(box.style){display="none";position="absolute";zIndex="60"}obj.appendChild(box);var img=document.createElement("img");img.id="lightboxImage";self._set_cursor(img);addEvent(img,"click",function(){self._close()});addEvent(img,"mouseover",function(){self._show_action()});addEvent(img,"mouseout",function(){self._hide_action()});box.appendChild(img);var zoom=document.createElement("img");zoom.id="actionImage";with(zoom.style){display="none";position="absolute";top="15px";left="15px";zIndex="70"}self._set_cursor(zoom);zoom.src=self._expand;addEvent(zoom,"mouseover",function(){self._show_action()});addEvent(zoom,"click",function(){self._zoom()});box.appendChild(zoom);addEvent(window,"resize",function(){self._set_size(true)});if(option.closeimg){var btn=document.createElement("img");btn.id="closeButton";with(btn.style){display="inline";position="absolute";right="10px";top="10px";zIndex="80"}btn.src=option.closeimg;self._set_cursor(btn);addEvent(btn,"click",function(){self._close()});box.appendChild(btn)}var caption=document.createElement("span");caption.id="lightboxCaption";with(caption.style){display="none";position="absolute";zIndex="80"}box.appendChild(caption);if(!option.effectpos){option.effectpos={x:0,y:0}}else{if(option.effectpos.x==""){option.effectpos.x=0}if(option.effectpos.y==""){option.effectpos.y=0}}var effect=new Image;effect.onload=function(){var effectImg=document.createElement("img");effectImg.id="effectImage";effectImg.src=effect.src;if(option.effectclass){effectImg.className=option.effectclass}with(effectImg.style){position="absolute";display="none";left=[option.effectpos.x,"px"].join("");top=[option.effectpos.y,"px"].join("");zIndex="90"}self._set_cursor(effectImg);addEvent(effectImg,"click",function(){effectImg.style.display="none"});box.appendChild(effectImg)};if(option.effectimg!=""){effect.src=option.effectimg}return box},_set_photo_size:function(){var self=this;if(self._open==-1){return }var imag=self._box.firstChild;var targ={w:self._page.win.w-30,h:self._page.win.h-30};var orig={w:self._imgs[self._open].w,h:self._imgs[self._open].h};var ratio=1;if((orig.w>=targ.w||orig.h>=targ.h)&&orig.h&&orig.w){ratio=((targ.w/orig.w)<(targ.h/orig.h))?targ.w/orig.w:targ.h/orig.h}imag.width=Math.floor(orig.w*ratio);imag.height=Math.floor(orig.h*ratio);self._expandable=(ratio<1)?true:false;if(self._ua.isWinIE){self._box.style.display="block"}self._box.style.top=[self._pos.y+(self._page.win.h-imag.height-30)/2,"px"].join("");self._box.style.left=[((self._page.win.w-imag.width-30)/2),"px"].join("");self._show_caption(true)},_set_size:function(onResize){var self=this;if(self._open==-1){return }self._page.update();self._pos.update();var spin=self._wrap.firstChild;if(spin){var top=(self._page.win.h-spin.height)/2;if(self._wrap.style.position=="absolute"){top+=self._pos.y}spin.style.top=[top,"px"].join("");spin.style.left=[(self._page.win.w-spin.width-30)/2,"px"].join("")}if(self._ua.isWinIE){self._wrap.style.width=[self._page.win.w,"px"].join("");self._wrap.style.height=[self._page.h,"px"].join("")}if(onResize){self._set_photo_size()}},_show_action:function(){var self=this;if(self._open==-1||!self._expandable){return }var obj=document.getElementById("actionImage");if(!obj){return }obj.src=(self._expanded)?self._shrink:self._expand;obj.style.display="inline"},_hide_action:function(){var self=this;var obj=document.getElementById("actionImage");if(obj){obj.style.display="none"}},_zoom:function(){var self=this;if(self._expanded){self._set_photo_size();self._expanded=false}else{if(self._open>-1){var imag=self._box.firstChild;self._box.style.top=[self._pos.y,"px"].join("");self._box.style.left="0px";imag.width=self._imgs[self._open].w;imag.height=self._imgs[self._open].h;self._show_caption(false);self._expanded=true}}self._show_action()},_show_caption:function(enable){var self=this;var caption=document.getElementById("lightboxCaption");if(!caption){return }if(caption.innerHTML.length==0||!enable){caption.style.display="none"}else{var imag=self._box.firstChild;with(caption.style){top=[imag.height+10,"px"].join("");left="0px";width=[imag.width+20,"px"].join("");height="1.2em";display="block"}}},_show:function(num){var self=this;var imag=new Image;if(num<0||num>=self._imgs.length){return }var loading=document.getElementById("loadingImage");var caption=document.getElementById("lightboxCaption");var effect=document.getElementById("effectImage");self._open=num;self._set_size(false);self._wrap.style.display="block";if(loading){loading.style.display="inline"}imag.onload=function(){if(self._imgs[self._open].w==-1){self._imgs[self._open].w=imag.width;self._imgs[self._open].h=imag.height}if(effect){effect.style.display=(!effect.className||self._imgs[self._open].cls==effect.className)?"block":"none"}if(caption){caption.innerHTML=self._imgs[self._open].title}self._set_photo_size();self._hide_action();self._box.style.display="block";self._box.firstChild.src=imag.src;self._box.firstChild.setAttribute("title",self._imgs[self._open].title);if(loading){loading.style.display="none"}};self._expandable=false;self._expanded=false;imag.src=self._imgs[self._open].src},_set_cursor:function(obj){var self=this;if(self._ua.isWinIE&&!self._ua.isNewIE){return }obj.style.cursor="pointer"},_close:function(){var self=this;self._open=-1;self._hide_action();self._wrap.style.display="none";self._box.style.display="none"}};addEvent(window,"load",function(){var lightbox=new LightBox({loadingimg:"http://ui.ibsrv.net/ibsrv/res/src:britishexpats.com/get/static/global/images/lightbox/loading.gif",expandimg:"http://ui.ibsrv.net/ibsrv/res/src:britishexpats.com/get/static/global/images/lightbox/expand.gif",shrinkimg:"http://ui.ibsrv.net/ibsrv/res/src:britishexpats.com/get/static/global/images/lightbox/shrink.gif",effectimg:"http://ui.ibsrv.net/ibsrv/res/src:britishexpats.com/get/static/global/images/lightbox/zzoop.gif",effectpos:{x:-40,y:-20},effectclass:"effects",closeimg:"http://ui.ibsrv.net/ibsrv/res/src:britishexpats.com/get/static/global/images/lightbox/close.gif"})})