// script issu de : http://www.webbricks.org/bricks/imZoom/
var imZoom=(function(t,s,z){function C(a,b){var c,d={};for(c in b){d[c]=b[c]}for(c in a){d[c]=a[c]}return d}function A(a,b,c,d,e,g){var h,j=b-a;h=a+(Math.pow(((1/c)*d),e)*j);return g?Math.round(h):h}Object.prototype.each=function(a,b){for(var c in this){if(this.hasOwnProperty(c)){if(b&&typeof this[c]==='object'){this[c].each(a)}else{a.apply(this,[this[c],c])}}}return this};function F(){var a,b,c=t,d=s,e=d.documentElement,g=d.body;if(c.innerWidth){a=c.innerWidth;b=c.innerHeight}else if(e.clientWidth){a=e.clientWidth;b=e.clientHeight}else{a=g.clientWidth;b=g.clientHeight}return{'w':a,'h':b}}function q(a,b){for(var c in b){a.style[c]=b[c]}}function J(){var a,b,c=t,d=s,e=d.documentElement,g=d.body;if(c.pageXOffset!==z){a=c.pageXOffset;b=c.pageYOffset}else{a=e.scrollLeft?e.scrollLeft:(g.scrollLeft?g.scrollLeft:0);b=e.scrollTop?e.scrollTop:(g.scrollTop?g.scrollTop:0)}return{'x':a,'y':b}}function K(a,b,c,d){if(a.removeEventListener){a.removeEventListener(b,c,d)}else{a.detachEvent("on"+b,c)}}function G(a,b,c){var d,e,g,h,j,i,o,k,l;c=c||{};d=c.max_w;e=c.min_w;g=c.max_h;h=c.max_h;j=c.round===z?1:c.round;i=a/b;o=b/a;k=b;l=a;if(l<e){l=e;k=l*o}if(k<h){k=h;l=k*i}if(d&&(l>d)){l=d;k=l*o}if(g&&(k>g)){k=g;l=k*i}l=l<0?0:l;k=k<0?0:k;return{w:j?Math.round(l):l,h:j?Math.round(k):k}}function L(a){a=a||event;if(a.preventDefault){a.preventDefault()}else{a.returnValue=false}}function H(){var a=s,b=a.documentElement,c=a.body,d,e;e=b.scrollHeight;d=b.scrollWidth;if(b.clientHeight>e){e=b.clientHeight}if(b.clientWidth>d){d=b.clientWidth}if(c.scrollHeight>e){e=c.scrollHeight}if(c.scrollWidth>d){d=c.scrollWidth}return{'w':d,'h':e}}function x(a){var b={'r':0,'l':0,'t':0,'b':0},c=a;do{b.l+=c.offsetLeft;c=c.offsetParent}while(c!==null);b.r=b.l+a.offsetWidth;c=a;do{b.t+=c.offsetTop;c=c.offsetParent}while(c!==null);b.b=b.t+a.offsetHeight;return b}function M(a){a=a||event;keyCode=a.which||a.keyCode;return keyCode}function D(h){var j=this;this.elem=h;this.extend=function(a,b){if(a){if(!b){var c,d,e,g;e=a instanceof Array?a:a.split(" ");for(c=0,d=e.length;c<d;c++){a=e[c];g=new Function("val","css3(this.elem).auto('"+a+"', val); return this;");j.extend(a,g)}}else{D.prototype[a]=b}}return this};this.auto=function(a,b){var c=j.elem;if(/-/.test(a)){a=a.css2js()}c.style[a]=b;a=a.substring(0,1).toUpperCase()+a.substring(1);c.style["O"+a]=b;c.style["Moz"+a]=b;c.style["Webkit"+a]=b;c.style["Khtml"+a]=b;return this};this.isset=function(a){return D.prototype[a]}}function u(a){return new D(a)}u().extend('opacity',function(a){var b=this;a=(a==1)?0.99999:a;b.elem.style.zoom=1;b.elem.style.filter='alpha(opacity='+a*100+')';b.auto('opacity',a);return b});function N(a,b){return(b||s).getElementsByTagName(a)}function m(a){return s.getElementById(a)}function E(a,b,c,d){if(a.addEventListener){a.addEventListener(b,c,d)}else{a.attachEvent("on"+b,c)}}function v(a,b){b=b||s.getElementsByTagName("body")[0];return b.appendChild(s.createElement(a))}function B(p,I){var f=this;f.def={from:{},to:{},restart:1,ease:1,duration:500,onStart:0,onNewFrame:0,onFinish:0};f.elem=p;f.def=C(I||{},f.def);f.setDef=function(a){f.def=C(a,f.def);return f};f.detectProp=function(a){var b=f.elem,c=t.getPos,d='px',e='0px';switch(a){case'width':return b.clientWidth+d;case'height':return b.clientHeight+d;case'top':return c?c(b).t+d:e;case'bottom':return c?c(b).b+d:e;case'left':return c?c(b).l+d:e;case'right':return c?c(b).r+d:e;default:return 0}return false};f.readProp=function(a){var b={},c,d;c=b.asked=a+'';b.unit=c.match(/px|em|%/);b.clean=parseFloat(c);if(t.Color&&c.match(/rgb|(#[a-f0-9]{3,6})/i)){b.clean=c;d=new Color(c);b.rgb=d.rgbArr()}return b};f.readFromTo=function(c){if(!c){return false}var d,e={},g,h,j,i;if(c instanceof String){if(c.css2js){c=c.css2js()}c=c.trim();g=c.split(/;/);g.each(function(a,b){if(!a){g.splice(b,1)}});j=g.length;c={};for(h=0;h<j;h++){i=g[h].split(/:/);d=i[0].trim();c[d]=i[1].trim()}}c.each(function(a,b){e[b]=f.readProp(a+'')});return e};f.go=function(c){var d,e,g;d=f.options=C(c||{},f.def);if(d.onStart){d.onStart()}if(d.restart||!f.startTime){f.startTime=new Date().getTime();f.pauseTime=0}f.from=f.readFromTo(d.from?d.from:f.def.from);f.to=f.readFromTo(d.to?d.to:f.def.to);g=p.style;for(e in f.to){if(!f.from[e]){if(g[e]||g[e]===0){f.from[e]=f.readProp(g[e])}if(!f.from[e]){f.from[e]=f.readProp(f.detectProp(e))}}}f.from.each(function(a,b){g[a]=b.clean});f.next();return f};f.next=function(){f.prog=setTimeout(f.frame,1);if(f.pauseStart){var a=new Date().getTime();f.pauseTime+=a-f.pauseStart;f.pauseStart=0}return f};f.pause=function(){clearTimeout(f.prog);f.pauseStart=new Date().getTime();return f};f.frame=function(){var c=f.options,d,e,g,h,j,i,o,k,l,w,r,y;h=p.style;w=new Date();w=w.getTime();r=w-f.startTime-(f.pauseTime||0);if(c.onNewFrame){c.onNewFrame()}if(r>=c.duration){f.to.each(function(a,b){h[b]=a.asked;if(t.Css3&&u().isset(b)){u(f.elem)[b](a.asked)}});if(c.onFinish){c.onFinish()}f.startTime=0;f.pauseTime=0}else{f.to.each(function(a,b){y=f.from[b];d=c.duration;e=c.ease;if(a.rgb){j=a.rgb;i=y.rgb;o=A(parseInt(i[0],10),parseInt(j[0],10),d,r,e);k=A(parseInt(i[1],10),parseInt(j[1],10),d,r,e);l=A(parseInt(i[2],10),parseInt(j[2],10),d,r,e);h[b]='rgb('+Math.round(o)+','+Math.round(k)+','+Math.round(l)+')'}else{g=A(y.clean,a.clean,d,r,e);if(f.to[b].unit==='px'){g=parseInt(g,10)}h[b]=g+f.to[b].unit;if(t.Css3&&u().isset(b)){u(f.elem)[b](g)}}});f.next()}}}function O(a,b){return new B(a,b)}var n={gal:[],defaultOpt:{screenColor:'#fff',screenOpacity:0.6,zIndex:1000,anim:1,animDuration:1000,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(a,b){if(!a.length){a=[a]}this.gal=a;var c=a.length,d,e=function(){n.go(this,b);return false};for(d=0;d<c;d++){a[d].onclick=e}},autoApplyInto:function(a,b){var c=N('a',b),d=c.length,e,g=0,h=[];for(e=0;e<d;e++){if(/\.(jpe?g|gif|png|tiff?)/i.test(c[e].href)){h[g]=c[e];g++}}n.applyTo(h,a)},keyNav:function(a){var b,c=M(a),d=n;switch(c){case 37:d.prev();b=1;break;case 13:case 39:d.next();b=1;break;case 27:d.close();b=1;break;case 32:if(d.prog){d.pause()}else{d.play()}b=1;break}if(b){L(a)}},goTo:function(a){var b=this;b.cancelLoading();a=a>b.gal.length-1?0:(a<0?b.gal.length-1:a);b.active=a;b.go(b.gal[a])},prev:function(){n.goTo(n.active-1)},next:function(){n.goTo(n.active+1)},progImg:function(a){var b=n;a=a===z?b.active+1:a;b.prog=setTimeout(function(){b.goTo(a)},b.options.slideDelay)},play:function(){if(!n.prog){this.progImg();m('izPlay').style.display='none';m('izPause').style.display=''}},pause:function(){clearTimeout(n.prog);n.prog=0;m('izPause').style.display='none';m('izPlay').style.display=''},callback:function(a){var b=n.options[a];if(b&&m('izImg')){b()}},change:function(){var c=n,d;d=c.options.anim;function e(){c.callback('onChange');if(c.prog){clearTimeout(c.prog);c.prog=0;c.progImg()}}function g(){var b=m('izImg');if(b){b.onload=function(){setTimeout(function(){c.setPos();var a=m('izTitle');if(a&&c.options.showTitle){a.innerHTML=c.gal[c.active].title}if(d){c.animGlob.go({to:{opacity:1},onFinish:e})}else{e()}},1)};b.src=c.gal[c.active].href}}if(d){c.animGlob.go({to:{opacity:0},onFinish:g})}else{g()}},go:function(a,b){var c=this,d=0,e,g,h=m('izLoading'),j,i;if(h){c.close()}if(!c.isOpen){b=b||{};for(e in c.defaultOpt){if(b[e]===z){b[e]=c.defaultOpt[e]}}c.options=b;while(c.gal[d]!==a&&d<c.gal.length){d++}c.active=d}b=c.options;g=a.firstChild.nodeType===3?a:a.firstChild;h=v("img");h.src=b.preloaderUrl;h.id='izLoading';j=m('izImg')||g;i=x(j);h.onclick=c.close;q(h,{position:'absolute',zIndex:b.zIndex,top:(j.offsetHeight-h.offsetHeight)/2+i.t+'px',left:(j.offsetWidth-h.offsetWidth)/2+i.l+'px'});c.actionner=a;c.area=g;c.loadImg()},loadImg:function(){var a=n,b=v("img");b.id='izTmp';q(b,{visibility:'hidden',position:'absolute',top:'0px',left:'0px'});b.onclick=a.close;b.onload=function(){setTimeout(function(){a.imgSize={w:b.offsetWidth,h:b.offsetHeight};a.remove('izLoading');if(!a.isOpen){a.open()}else{a.remove('izTmp');a.change()}},1)};b.src=a.actionner.href},getImgDim:function(){var a=n;if(a.isOpen){var b=F(),c=a.options,d=c.maxSize,e=a.imgSize,g=m('izGlob'),h=m('izImg'),j,i,o;if(!a.globMes){a.globMes={w:g.offsetWidth-h.offsetWidth,h:g.offsetHeight-h.offsetHeight}}j=a.globMes;i={w:b.w-j.w,h:b.h-j.h};o=G(e.w,e.h,{max_w:d?Math.min(i.w,e.w):i.w,max_h:d?Math.min(i.h,e.h):i.h});return o}},getAnimOpenMes:function(){var a=m('izTmp'),b=m('izImg'),c,d,e="px";c=x(a);d=x(b);return{from:{width:a.offsetWidth+e,height:a.offsetHeight+e,top:c.t+e,left:c.l+e},to:{width:b.offsetWidth+e,height:b.offsetHeight+e,left:d.l+e,top:d.t+e}}},setPos:function(){var a=n;if(a.isOpen){var b=m('izScreen'),c=m('izGlob'),d=m('izImg'),e=J(),g=F(),h=H(),j=a.getImgDim(),i="px";d.width=j.w;q(c,{top:Math.round((g.h-c.offsetHeight)/2)+e.y+i,left:Math.round((g.w-c.offsetWidth)/2)+e.x+i});if(a.animOpen&&a.animOpen.framesLeft){a.animOpen.go(a.getAnimOpenMes())}q(b,{display:'none'});q(b,{width:h.w+i,height:h.h+i});q(b,{display:''})}},remove:function(a){var b=m(a);if(b){b.parentNode.removeChild(b)}},cancelLoading:function(a){var b=m('izTmp');if(b){b.onload=function(){}}n.remove('izLoading')},close:function(){var a=n;a.isOpen=0;K(s,'keydown',a.keyNav);if(a.prog){a.pause()}a.cancelLoading();a.remove('izLoading');a.remove('izTmp');a.remove('izGlob');a.remove('izScreen');a.callback('onClose')},open:function(){var b=n;if(!b.isOpen){b.isOpen=1;var c=H(),d=b.options,e,g,h,j,i,o=m('izTmp'),k="0px",l="div";h=v(l);h.id='izScreen';q(h,{position:'absolute',backgroundColor:d.screenColor,top:k,left:k,width:c.w+'px',height:c.h+'px',zIndex:d.zIndex});u(h).opacity(0);e=v(l);if(d.anim){u(e).opacity(0)}q(e,{position:'absolute',top:k,left:k,zIndex:d.zIndex,textAlign:'center'});e.id='izGlob';g=v(l,e);g.id='izCont';i=v("img",g);i.id='izImg';i.onload=function(){setTimeout(b.openAnim,1)};j=v(l,g);j.id='izMeta';if(!d.showNav&&!d.showTitle){j.style.display='none'}if(d.showTitle){j.innerHTML='<span id="izTitle">'+b.gal[b.active].title+'</span>'}if(d.showNav&&b.gal.length>1){j.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>'}h.onclick=e.onclick=b.close;g.onclick=function(a){a=a||event;if(a.stopPropagation){a.stopPropagation()}a.cancelBubble=true};i.src=b.actionner.href}},openAnim:function(){var a=n;if(a.isOpen){var b=a.options,c=a.area,d,e,g,h=m("izGlob"),j=m("izMeta"),i=m("izTmp"),o,k,l,w,r,y,p,I;g=x(c);e=c.offsetWidth;d=c.offsetHeight;if(b.showNav||b.showTitle){j.style.display=''}a.setPos();y=x(m("izImg"));o={opacity:b.screenOpacity};k={opacity:1};l=a.getAnimOpenMes();r=function(){if(a.options.autoPlay){a.play()}E(s,'keydown',a.keyNav);a.callback('onOpen');a.remove('izTmp')};if(b.anim){a.animGlob=new B(h,{duration:b.animDuration/2,ease:b.animEase});p=G(i.offsetWidth,i.offsetHeight,{max_w:e,max_h:d});p.l=(e-p.w)/2+g.l;p.t=(d-p.h)/2+g.t;w=new B(m("izScreen"),{to:o,from:{opacity:0},duration:b.animDuration,ease:b.animEase}).go();a.animOpen=new B(i,{duration:b.animDuration,ease:b.animEase,from:{width:p.w+'px',height:p.h+'px',top:p.t+'px',left:p.l+'px'},to:l.to,onStart:function(){i.style.zIndex=b.zIndex+1;setTimeout(function(){i.style.visibility=''},50)},onFinish:function(){a.setPos();a.animGlob.go({from:{opacity:0},to:k,onFinish:r})}}).go()}else{q(m("izScreen"),o);q(i,l.to);q(h,k);r()}}}};E(t,'resize',n.setPos);E(t,'scroll',n.setPos);return n})(window,document);
