var modal_liste=[];$(document).ready(modal_set_action);$(window).bind("resize",function(){typeof modal_class!="undefined"&&modal_class.modifiePosition()});function modal_set_action(){try{modal_class=new modal;jQuery.each(modal_liste,function(){var b=this;$("#"+this.id).bind("click",function(c){typeof modal_class!="undefined"&&modal_class.start(b,c)});$("#"+this.id).css("cursor","pointer")})}catch(a){alert(a)}} function modal_set_param(a,b,c,d,e,f,j,g,h,i,k){this.id=a;this.width=b;this.height=c;this.url=d;this.modal=e?true:false;this.onload=f;this.callback=j;this.classOverlay=typeof g!="undefined"?g:"";this.classContenu=typeof h!="undefined"?h:"";this.loader=typeof i!="undefined"?i:"";this.structure=typeof k!="undefined"?false:true} function modal(){this.param=null;this.prop={};this.prop.imageClosePosition=new Array(20,18);this.prop.imageCornerDim=new Array(29,28);this.prop.opacite=0.65;this.prop.duration=250;this.prop.minTopMargin=20;this.prop.divOverlayClass="modalOverlay_defaut";this.prop.divContenuClass="modalContenu_defaut";this.prop.loader="http://images.serverpub.com/ajax-loader.gif";this.prop.imageModalClose="http://images.serverpub.com/modal-close.png";this.prop.imgLoaderId="modalImgLoader";this.prop.divOverlayId="modalOverlay";this.prop.divContenuId="modalContenu"; this.prop.divContenuChargeId="modalContenuCharge";this.prop.decal=null;this.prop.isIE6=jQuery.browser.msie&&navigator.userAgent.lastIndexOf("MSIE 6")>0;this.prop.xhr=null;this.prop.close=null;this.preload()} modal.prototype={start:function(a){this.param=a;this.prop.close=false;if($("#"+this.prop.divContenuId).length>0){this.ferme();return false}this.prop.isIE6&&this.IE6_HideElements();var b=$("#"+this.prop.divOverlayId);if(b.length==0){b=$('<div id="'+this.prop.divOverlayId+'"></div>');b.appendTo("body")}else b.css("display","block");var c=this.param.classOverlay.lenght>0?this.param.classOverlay:this.prop.divOverlayClass;b.addClass(c);var d=this;if(this.param.modal===false){b.bind("click",function(){typeof modal_class!= "undefined"&&d.ferme()});b.css("cursor","pointer")}b.fadeTo(this.prop.duration,this.prop.opacite,function(){d.chargeContenu()});c=a=b=null;delete b;delete a;delete c},chargeContenu:function(){var a=$('<div id="'+this.prop.divContenuId+'"></div>');a.html(this.struct(this.param.structure));a.addClass(this.param.classContenu.length>0?this.param.classContenu:this.prop.divContenuClass);a.css({diplay:"none",width:this.param.width+this.prop.imageCornerDim[0]*2+"px",height:this.param.height+this.prop.imageCornerDim[1]* 2+"px"});var b=this;if(this.param.modal===false){var c=$('<div id="bModalClose"></div>');c.css({top:this.prop.imageClosePosition[1]+"px",right:this.prop.imageClosePosition[0]+"px"});c.html('<img src="'+this.prop.imageModalClose+'" alt="Close" />');c.bind("click",function(){b.ferme()});a.prepend(c);c=null;delete c}if(this.prop.close)this.ferme();else{a.appendTo("body");$("#bModalHM, #bModalBM").css({width:this.param.width+"px"});$("#bModalMilieu, #bModalMG, #bModalMD").css({height:this.param.height+ "px"});var d=$("#"+b.prop.divContenuChargeId);d.css({left:this.prop.imageCornerDim[0]+"px",width:this.param.width+"px",height:this.param.height+"px"});this.modifiePosition();srcLoader=this.param.loader.length>0?this.param.loader:this.prop.loader;var e=$(document.createElement("img")).attr({id:this.prop.imgLoaderId,src:srcLoader});e.css({top:this.param.height/2-parseInt(e[0].height)/2+"px",left:this.param.width/2-parseInt(e[0].width)/2+"px"});a=this.param.onload.length>0?false:true;r=this.prop.isIE6? "123456789":Math.random();this.prop.xhr=$.ajax({async:a,type:"post",url:this.param.url,data:"r="+r,dataType:"html",cache:false,beforeSend:function(){d.append(e)},success:function(f){$("#"+b.prop.divContenuChargeId).html(f)},error:function(){b.ferme()}});eval(this.param.onload);d=e=a=null;delete a;delete e;delete d}},ferme:function(){this.prop.close=true;try{$("#"+this.prop.divContenuId).remove()}catch(a){alert(a)}if(this.prop.xhr!=null){this.prop.xhr.abort();this.prop.xhr=null}var b=this;$("#"+b.prop.divOverlayId).fadeOut(this.duration, function(){b.param.callback.length>0&&eval(b.param.callback);$("#"+b.prop.divOverlayId).css("opacity",0);b.prop.isIE6&&b.IE6_ShowElements()});return false},modifiePosition:function(){var a=$("#"+this.prop.divContenuId);if(a.length>0){var b={width:$(window).width(),height:$(window).height()},c=this.scrollCompatibilite(),d=this.param.decal!=null?$("#"+this.param.decal).width():0;if((div_contenu_left=(b.width-d)/2-a.width()/2)<0)div_contenu_left=0;if((div_contenu_top=b.height/2+$(window).scrollTop()- a.height())<this.prop.minTopMargin)div_contenu_top=this.prop.minTopMargin;a.css({left:div_contenu_left+"px",top:div_contenu_top+"px"});a=$("#"+this.prop.divOverlayId);if(a.length>0&&a.css("position")=="absolute"){d=b.width>c.scrollWidth?b.width:c.scrollWidth;b=b.height>c.scrollHeight?b.height:c.scrollHeight;a.css({width:d+"px",height:b+"px"});a.css({width:document.documentElement.clientWidth+"px",height:document.documentElement.clientHeight+"px"});d=c.scrollWidth>0?c.scrollWidth+"px":"100%";b=c.scrollHeight> 0?c.scrollHeight+"px":"100%";a.css({width:d,height:b})}a=null;delete a}a=null;delete a},struct:function(a){return a?'<div id="bModalHG"></div><div id="bModalHM"></div><div id="bModalHD"></div><div id="bModalMG"></div><div id="'+this.prop.divContenuChargeId+'"></div><div id="bModalMD"></div><div id="bModalBG"></div><div id="bModalBM"></div><div id="bModalBD"></div>':'<div id="'+this.prop.divContenuChargeId+'"></div>'},IE6_HideElements:function(){var a=$("select, object, embed");jQuery.each(a,function(){$(this).attr("visibility")=== "hidden"&&$(this).attr("default_hidden","true");$(this).css("visibility","hidden")})},IE6_ShowElements:function(){var a=$("select[default_hidden!=true], object[default_hidden!=true], embed[default_hidden!=true]");jQuery.each(a,function(){$(this).css("visibility","visible")})},preload:function(){$('<div id="'+this.prop.divContenuId+'" class="'+this.prop.divContenuClass+'" style="visibility:hidden;">'+this.struct(true)+"</div>").appendTo("body");$("#"+this.prop.divContenuId).remove();jQuery("<img>").attr("src", this.prop.loader)},scrollCompatibilite:function(){if(document.documentElement&&document.documentElement.scrollHeight)return document.documentElement;else if(document.body)return document.body;else exit()}};
