// script issu de : http://www.webbricks.org/bricks/imZoom/
function transfer(b,a){var c,d={};for(c in a){d[c]=a[c]}for(c in b){d[c]=b[c]}return d}function addElem(b,a){a=a||document.getElementsByTagName("body")[0];return a.appendChild(document.createElement(b))}function addEvent(b,a,c,d){if(b.addEventListener){b.addEventListener(a,c,d)}else{b.attachEvent("on"+a,c)}}function byId(b){return document.getElementById(b)}function byTN(b,a){return(a||document).getElementsByTagName(b)}function easeInOut(b,a,c,d,e,f){var g,i=a-b;g=b+(Math.pow(((1/c)*d),e)*i);return f?Math.round(g):g}function getPos(b){var a={'r':0,'l':0,'t':0,'b':0},c=b;do{a.l+=c.offsetLeft;c=c.offsetParent}while(c!==null);a.r=a.l+b.offsetWidth;c=b;do{a.t+=c.offsetTop;c=c.offsetParent}while(c!==null);a.b=a.t+b.offsetHeight;return a}function getKeyCode(b){b=b||event;keyCode=b.which||b.keyCode;return keyCode}function pageDim(){var b=document,a=b.documentElement,c=b.body,d,e;e=a.scrollHeight;d=a.scrollWidth;if(a.clientHeight>e){e=a.clientHeight}if(a.clientWidth>d){d=a.clientWidth}if(c.scrollHeight>e){e=c.scrollHeight}if(c.scrollWidth>d){d=c.scrollWidth}return{'w':d,'h':e}}function preventDefault(b){b=b||event;if(b.preventDefault){b.preventDefault()}else{b.returnValue=false}}function redimArea(b,a,c){var d,e,f,g,i,h,n,j,l;c=c||{};d=c.max_w;e=c.min_w;f=c.max_h;g=c.max_h;i=c.round===undefined?1:c.round;h=b/a;n=a/b;j=a;l=b;if(l<e){l=e;j=l*n}if(j<g){j=g;l=j*h}if(d&&(l>d)){l=d;j=l*n}if(f&&(j>f)){j=f;l=j*h}l=l<0?0:l;j=j<0?0:j;return{w:i?Math.round(l):l,h:i?Math.round(j):j}}function remEvent(b,a,c,d){if(b.removeEventListener){b.removeEventListener(a,c,d)}else{b.detachEvent("on"+a,c)}}function scrolled(){var b,a,c=window,d=document,e=d.documentElement,f=d.body;if(c.pageXOffset!==undefined){b=c.pageXOffset;a=c.pageYOffset}else{b=e.scrollLeft?e.scrollLeft:(f.scrollLeft?f.scrollLeft:0);a=e.scrollTop?e.scrollTop:(f.scrollTop?f.scrollTop:0)}return{'x':b,'y':a}}function setOpacity(b,a){a=(a==1)?0.99999:a;b.style.opacity=a;b.style.filter='alpha(opacity='+a*100+')';b.style.MozOpacity=a;b.style.KhtmlOpacity=a}function setStyle(b,a){var c;for(c in a){b.style[c]=a[c]}}function winDim(){var b,a,c=window,d=document,e=d.documentElement,f=d.body;if(c.innerWidth){b=c.innerWidth;a=c.innerHeight}else if(e.clientWidth){b=e.clientWidth;a=e.clientHeight}else{b=f.clientWidth;a=f.clientHeight}return{'w':b,'h':a}}function Animate(h,n){this.defSettings={elem:document.body,from:{},to:{},restart:false,ease:1,duration:1000,frameRate:30,onStart:function(){},onFinish:function(){}};this.defSettings=transfer(h,this.defSettings);this.guessProp=function(b){var a=this.options.elem,c=window;switch(b){case'width':return a.clientWidth+'px';case'height':return a.clientHeight+'px';case'top':return c.getPos?getPos(a).t+'px':'0px';case'bottom':return c.getPos?getPos(a).b+'px':'0px';case'left':return c.getPos?getPos(a).l+'px':'0px';case'right':return c.getPos?getPos(a).r+'px':'0px';case'borderWidth':return'1px';case'borderColor':return'rgb(0,0,0)';case'backgroundColor':return'rgb(255,255,255)';case'color':return'rgb(0,0,0)';case'opacity':return 1;default:return 0}return false};this.readProp=function(b){var a={},c;a.asked=b+'';a.unit=a.asked.match(/px|em|%/);a.clean=parseFloat(a.asked);c=a.asked.match(/rgb|(#[a-f0-9]{3,6})/i);if(typeof rgbString2Array=='function'&&typeof sharp2rgb=='function'&&c){a.clean=a.asked;a.rgb=rgbString2Array(sharp2rgb(a.asked));if(!a.rgb){a.rgb=rgbString2Array(a.asked)}}return a};this.readFromTo=function(b){if(!b){return false}var a,c={};for(a in b){c[a]=this.readProp(b[a]+'')}return c};this.go=function(b){var a,c,d;this.options=transfer(b||{},this.defSettings);this.options.onStart();this.totalFrames=Math.ceil(this.options.duration/1000*this.options.frameRate);if(this.options.restart){this.frameNb=0}else{this.frameNb=this.framesLeft?this.framesLeft:0}this.from=this.readFromTo(this.options.from?this.options.from:this.defSettings.from);this.to=this.readFromTo(this.options.to?this.options.to:this.defSettings.to);d=this.options.elem.style;for(c in this.to){if(!this.from[c]){if(d[c]||d[c]===0){this.from[c]=this.readProp(d[c])}if(!this.from[c]){this.from[c]=this.readProp(this.guessProp(c))}}}for(c in this.from){d[c]=this.from[c].clean}this.next()};this.frame=function(){var b=this.options.elem.style,a,c,d,e,f,g,i;for(e in this.to){if(this.to[e].rgb){d=this.to[e].rgb;c=this.from[e].rgb;f=easeInOut(parseInt(c[0],10),parseInt(d[0],10),this.totalFrames,this.frameNb,this.options.ease);g=easeInOut(parseInt(c[1],10),parseInt(d[1],10),this.totalFrames,this.frameNb,this.options.ease);i=easeInOut(parseInt(c[2],10),parseInt(d[2],10),this.totalFrames,this.frameNb,this.options.ease);b[e]='rgb('+Math.round(f)+','+Math.round(g)+','+Math.round(i)+')'}else{a=easeInOut(this.from[e].clean,this.to[e].clean,this.totalFrames,this.frameNb,this.options.ease);if(this.to[e].units==='px'){a=parseInt(a,10)}b[e]=a+this.to[e].unit;if(e==='opacity'&&typeof setOpacity=='function'){setOpacity(this.options.elem,a)}}}if(this.frameNb===this.totalFrames){setTimeout(this.options.onFinish,1)}else{this.frameNb++;this.framesLeft=this.totalFrames-this.frameNb;this.next()}};this.next=function(){this.prog=setTimeout(function(){j.frame()},1000/this.options.frameRate)};this.pause=function(){clearTimeout(this.prog)};var j=this;if(n){this.go(typeof n=='object'?n:{})}}(function(u,q,v,m,E,s,B,C,F,G,o,D,w){var k={gal:[],defaultOpt:{screenColor:'#fff',screenOpacity:0.6,zIndex:1000,anim:1,animDuration:350,animRate:25,animEase:2,showNav:1,showTitle:1,prevTxt:'&lt;&lt;',nextTxt:'&gt;&gt;',playTxt:'diaporama',pauseTxt:'pause',slideDelay:4000,preloaderUrl:'loading.gif',maxSize:1},applyTo:function(b,a){if(!b.length){b=[b]}this.gal=b;var c=b.length,d,e=function(){k.go(this,a);return false};for(d=0;d<c;d++){b[d].onclick=e}},autoApplyInto:function(b,a){var c=E('a',a),d=c.length,e,f=0,g=[];for(e=0;e<d;e++){if(/\.(jpe?g|gif|png|tiff?)/i.test(c[e].href)){g[f]=c[e];f++}}k.applyTo(g,b)},keyNav:function(b){var a,c=getKeyCode(b),d=k;switch(c){case 37:d.prev();a=1;break;case 13:case 39:d.next();a=1;break;case 27:d.close();a=1;break;case 32:if(d.prog){d.pause()}else{d.play()}a=1;break}if(a){preventDefault(b)}},goTo:function(b){var a=this;a.cancelLoading();b=b>a.gal.length-1?0:(b<0?a.gal.length-1:b);a.active=b;a.go(a.gal[b])},prev:function(){k.goTo(k.active-1)},next:function(){k.goTo(k.active+1)},progImg:function(b){var a=k;b=b===undefined?a.active+1:b;a.prog=setTimeout(function(){a.goTo(b)},a.options.slideDelay)},play:function(){if(!k.prog){this.progImg();m('izPlay').style.display='none';m('izPause').style.display=''}},pause:function(){clearTimeout(k.prog);k.prog=0;m('izPause').style.display='none';m('izPlay').style.display=''},callback:function(b){var a=k.options[b];if(a&&m('izImg')){a()}},change:function(){var c=k,d;d=c.options.anim;function e(){c.callback('onChange');if(c.prog){clearTimeout(c.prog);c.prog=0;c.progImg()}}function f(){var a=m('izImg');if(a){a.onload=function(){c.setPos();var b=m('izTitle');if(b&&c.options.showTitle){b.innerHTML=c.gal[c.active].title}if(d){c.animGlob.go({to:{opacity:1},onFinish:e})}else{e()}};a.src=c.gal[c.active].href}}if(d){c.animGlob.go({to:{opacity:0},onFinish:f})}else{f()}},go:function(b,a){var c=this,d=0,e,f,g=m('izLoading'),i,h;if(g){c.close()}if(!c.isOpen){a=a||{};for(e in c.defaultOpt){if(typeof a[e]==='undefined'){a[e]=c.defaultOpt[e]}}c.options=a;while(c.gal[d]!==b&&d<c.gal.length){d++}c.active=d}a=c.options;f=b.firstChild.nodeType===3?b:b.firstChild;g=q("img");g.src=a.preloaderUrl;g.id='izLoading';i=m('izImg')||f;h=s(i);g.onclick=c.close;o(g,{position:'absolute',zIndex:a.zIndex,top:(i.offsetHeight-g.offsetHeight)/2+h.t+'px',left:(i.offsetWidth-g.offsetWidth)/2+h.l+'px'});c.actionner=b;c.area=f;c.loadImg()},loadImg:function(){var b=k,a=q("img");a.id='izTmp';o(a,{visibility:'hidden',position:'absolute',top:'0px',left:'0px'});a.onclick=b.close;a.onload=function(){b.imgSize={w:a.offsetWidth,h:a.offsetHeight};b.remove('izLoading');if(!b.isOpen){b.open()}else{b.remove('izTmp');b.change()}};a.src=b.actionner.href},getImgDim:function(){var b=k;if(b.isOpen){var a=D(),c=b.options,d=c.maxSize,e=b.imgSize,f=m('izGlob'),g=m('izImg'),i,h,n;if(!b.globMes){b.globMes={w:f.offsetWidth-g.offsetWidth,h:f.offsetHeight-g.offsetHeight}}i=b.globMes;h={w:a.w-i.w,h:a.h-i.h};n=C(e.w,e.h,{max_w:d?Math.min(h.w,e.w):h.w,max_h:d?Math.min(h.h,e.h):h.h});return n}},getAnimOpenMes:function(){var b=m('izTmp'),a=m('izImg'),c,d;c=s(b);d=s(a);return{from:{width:b.offsetWidth+'px',height:b.offsetHeight+'px',top:c.t+'px',left:c.l+'px'},to:{width:a.offsetWidth+'px',height:a.offsetHeight+'px',left:d.l+'px',top:d.t+'px'}}},setPos:function(){var b=k;if(b.isOpen){var a=m('izScreen'),c=m('izGlob'),d=m('izImg'),e=G(),f=D(),g=B(),i=b.getImgDim();d.width=i.w;o(c,{top:Math.round((f.h-c.offsetHeight)/2)+e.y+'px',left:Math.round((f.w-c.offsetWidth)/2)+e.x+'px'});if(b.animOpen&&b.animOpen.framesLeft){b.animOpen.go(b.getAnimOpenMes())}o(a,{display:'none'});o(a,{width:g.w+'px',height:g.h+'px'});o(a,{display:''})}},remove:function(b){var a=m(b);if(a){a.parentNode.removeChild(a)}},cancelLoading:function(b){var a=m('izTmp');if(a){a.onload=function(){}}k.remove('izLoading')},close:function(){var b=k;b.isOpen=0;F(document,'keydown',b.keyNav);if(b.prog){b.pause()}b.cancelLoading();b.remove('izLoading');b.remove('izTmp');b.remove('izGlob');b.remove('izScreen');b.callback('onClose')},open:function(){var a=k;if(!a.isOpen){a.isOpen=1;var c=B(),d=a.options,e=a.area,f,g,i,h,n,j,l,t,r=m('izTmp'),x,y,z,H,A,I,p;i=s(e);g=e.offsetWidth;f=e.offsetHeight;j=q("div");j.id='izScreen';o(j,{position:'absolute',backgroundColor:d.screenColor,top:'0px',left:'0px',width:c.w+'px',height:c.h+'px',zIndex:d.zIndex});h=q("div");if(d.anim){setOpacity(h,0)}o(h,{position:'absolute',top:'0px',left:'0px',zIndex:d.zIndex,textAlign:'center'});h.id='izGlob';n=q("div",h);n.id='izCont';t=q("img",n);t.id='izImg';t.src=a.actionner.href;l=q("div",n);l.id='izMeta';if(!d.showNav&&!d.showTitle){l.style.display='none'}if(d.showTitle){l.innerHTML='<span id="izTitle">'+a.gal[a.active].title+'</span>'}if(d.showNav&&a.gal.length>1){l.innerHTML+='<span id="izNav"> <a href="#" id="izPrev" onclick="imZoom.prev();return false;">'+d.prevTxt+'</a> <a href="#" id="izPlay" onclick="imZoom.play();return false;">'+d.playTxt+'</a> <a href="#" id="izPause" style="display:none;" onclick="imZoom.pause();return false;">'+d.pauseTxt+'</a> <a href="#" id="izNext" onclick="imZoom.next();return false;">'+d.nextTxt+'</a></span>'}j.onclick=h.onclick=a.close;n.onclick=function(b){b=b||event;if(b.stopPropagation){b.stopPropagation()}b.cancelBubble=true};if((d.showNav||d.showTitle)){l.style.display=''}a.setPos();I=s(t);x={opacity:d.screenOpacity};y={opacity:1};z=a.getAnimOpenMes();A=function(){if(a.options.autoPlay){a.play()}v(document,'keydown',a.keyNav);a.callback('onOpen');a.remove('izTmp')};if(d.anim){a.animGlob=new w({elem:h,duration:d.animDuration/2,ease:d.animEase,frameRate:d.animRate});p=C(r.offsetWidth,r.offsetHeight,{max_w:g,max_h:f});p.l=(g-p.w)/2+i.l;p.t=(f-p.h)/2+i.t;H=new w({elem:j,to:x,from:{opacity:0},duration:d.animDuration,ease:d.animEase,frameRate:d.animRate},1);a.animOpen=new w({elem:r,duration:d.animDuration,ease:d.animEase,frameRate:d.animRate,from:{width:p.w+'px',height:p.h+'px',top:p.t+'px',left:p.l+'px'},to:z.to,onStart:function(){r.style.zIndex=d.zIndex+1;setTimeout(function(){r.style.visibility=''},50)},onFinish:function(){a.setPos();a.animGlob.go({from:{opacity:0},to:y,onFinish:A})}},1)}else{o(j,x);o(r,z.to);o(h,y);A()}}}};v(u,'resize',k.setPos);v(u,'scroll',k.setPos);u.imZoom=k})(window,addElem,addEvent,byId,byTN,getPos,pageDim,redimArea,remEvent,scrolled,setStyle,winDim,Animate);
