function TablePhotos(f){var e=f;var c=new HashTable();var b=new HashTable();var a=new HashTable();var d=new Array();for(i=0;i<e;i++){d[i]=-1}this.addPhoto=function(n,p,l){if(c.hasItem(n)==false){if(c.getLength()>=e){var g=d[e-1];var q;var o;if(g===l){g=d[e-2];d[e-2]=d[e-1];d[e-1]=-1}var m=c.getItem(g);q=a.removeItem(trimFileName(PHOTOFILEPREFIXE,m.src));o=c.removeItem(g);codeRetour3=b.removeItem(g);if(q==="undefined"||q==="undefined"||codeRetour3==="undefined"){return"undefined"}}if(c.addItem(n,new Image())!=="undefined"){var k=e-2;while(k>=0){var h=k+1;d[h]=d[k];k--}d[0]=n;b.addItem(n,p);return $(c.getItem(n))}else{return"undefined"}}return"undefined"};this.delPhoto=function(g){var k=0;var h;var l=c.getItem(g);while(d[k]!==g){k++}while(k<=e-2){h=k+1;d[k]=d[h];k++}d[e-1]=-1;a.removeItem(trimFileName(PHOTOFILEPREFIXE,l.src));c.removeItem(g);b.removeItem(g)};this.hasPhoto=function(g){return c.hasItem(g)};this.isPhotoLoaded=function(g){var h=c.getItem(g);if(h!==undefined){if(a.getItem(trimFileName(PHOTOFILEPREFIXE,h.src))==true){return true}}return false};this.loadingFinished=function(g){a.addItem(trimFileName(PHOTOFILEPREFIXE,g.src),true)};this.getPhoto=function(g){var h=$(c.getItem(g));if(this.isPhotoLoaded(g)){return $(c.getItem(g))}else{return"undefined"}};this.getTargetedSize=function(g){return b.getItem(g)}};
function DisplayManager(x,p,i,h,l,n,m,a,z,j,v,r){var g=x;var s=p;var e=a;var A="."+e;var o=$(A);var c=i;var B=h;var C=l;var y=v;var q=r;var b=n;var f=m;var d="."+n;var k="."+m;var t=z;var u="undefined";var w=j;this.photoToDisplay=-1;this.fControlsDisabled=true;this.disableControls=function(){g_buttonNextPhoto.disable();g_buttonPreviousPhoto.disable();this.fControlsDisabled=true};this.enableControls=function(){if(g_idCurrentPhoto!==g_nbPhotos){g_buttonNextPhoto.enable()}if(g_idCurrentPhoto!==1){g_buttonPreviousPhoto.enable()}this.fControlsDisabled=false};this.displayScreenPhoto=function(){$("#wrapperAffichageIndex").hide();g.show();this.displayLoading();c.verticalCenter(0);B.verticalCenter(0);$(VOYAGE_ZONE_RECIT).width(VOYAGE_ZONERECIT_WIDTHMIN+"px")};this.hideScreenPhoto=function(){g.hide();$("#wrapperAffichageIndex").show();g_$divIndexContainer.verticalCenter(0);g_$buttonsIndexNavigation.eq(g_idCurrentIndexPage-1).click();$(VOYAGE_ZONE_RECIT).animate({width:getMaxWidthRecit()+"px"},{queue:false,duration:300})};this.displayLoading=function(){var E=Math.max(s.width(),480);var D=Math.max(s.height(),480);m_boutonIndexSize=C.height();u="undefined";$(d).remove();$(k).remove();this.disableControls();s.append(o).css("margin","auto").css("cursor","wait").height(D).width(E).verticalCenter(m_boutonIndexSize);o.css("margin","auto").verticalCenter(0)};this.displayPhoto=function(G,F){var E=false;var H=F.getPhoto(this.photoToDisplay);var D=$(G);if(H!=="undefined"&&trimFileName(PHOTOFILEPREFIXE,G.attr("src"))===trimFileName(PHOTOFILEPREFIXE,H.attr("src"))&&g.is(":visible")){this.disableControls();$(A).remove();$(d).remove();$(k).remove();D.hide().addClass(b).css("cursor","pointer").bind("click",onClickReturnToIndex);s.append(D).css("cursor","default").css("height","auto").css("width","auto");this.enableControls();$(G).fadeIn("fast").css("display","inline");s.append("<div class='"+f+"'>"+listeLegendes[g_idCurrentPhoto]+"</div>");u=new PhotoAjustable($(G),t,w,y,q);this.adjustPhoto($(G));return true}else{return false}};this.adjustPhoto=function(D){s.css("width","auto");if(u!="undefined"){u.ajuster();s.css("margin","auto").css("width",D.outerWidth()).verticalCenter(m_boutonIndexSize)}};this.getMaxSize=function(){var D=calculerTaillesMax(w,s,t,y,q);return D}};
function Fifo(){var b=new Array();var a=0;this.push=function(c){b[a]=c;a++};this.insert=function(e,c){if(a<c){c=a}for(var d=c;d<a;d++){b[d+1]=b[d]}b[c]=e;a++};this.pop=function(){var d;var c;if(a>0){d=b[0];for(c=0;c<a-1;c++){b[c]=b[c+1]}delete b[a-1];a--}else{d="undefined"}return d};this.read=function(){if(a>0){return b[0]}else{return"undefined"}};this.clear=function(){a=0}};
function HashTable(){var a=0;var c=new Array();for(var b=0;b<arguments.length;b+=2){if(typeof(arguments[b+1])!="undefined"){c[arguments[b]]=arguments[b+1];a++}}this.removeItem=function(e){var d;if(typeof(c[e])!="undefined"){a--;var d=c[e];delete c[e]}return d};this.addItem=function(d,e){if(typeof(e)!="undefined"&&typeof(c[d])=="undefined"){a++;c[d]=e;return e}else{return"undefined"}};this.getItem=function(d){return c[d]};this.hasItem=function(d){return typeof(c[d])!="undefined"};this.getLength=function(){return a}};
function PhotoAjustable(d,p,o,m,n){var c=d;var i=d.parent();var h;var b;var a;var k=p;var f;var l;var g;var j;var e;h=c.height();b=c.width();f=m;l=n;a=b/h;e=o;this.ojectResize=function(){var q=h;var r=0;if(b>j){q=j/a;c.width(j);c.height(q);r=1}if(q>g){c.height(g);c.width(g*a);r=1}if(r==0){c.height(h);c.width(b)}};this.ajuster=function(){var q;q=calculerTaillesMax(e,i,k,f,l);g=q.h;j=q.w;this.ojectResize();delete o}};