$ie6=($.browser.msie&&$.browser.version.substr(0,1)<=6);
$bout={border:'1px solid #efefef',backgroundColor:'#efefef'};
$bout2={border:'1px solid #aaa',backgroundColor:'#efefef'};
$bover={border:'1px solid #666',backgroundColor:'#ddd'};
$shadow=($.browser.opera||$.browser.msie)?{}:{border:'none','-moz-box-shadow':'2px 2px 6px #808080','-webkit-box-shadow':'2px 2px 6px #808080','box-shadow':'2px 2px 6px #808080'};
$col=['#E8360A','#31AA00','#8B9A85','#0D52E8'];
$ollia=false;
$ullia=false;
$opacity=0.5;
$version=null;
$temp=null;
$interval=null;
$timeout=null;$timeouttip=null;$timeoutsearch=null;
$lastsearch=false;
$topreload=[];
$config=null;
$allowsmenu=null;
$showsmenus=null;
$allowmap=null;
$allowvideo=null;
$allowmusic=null;
$exts_imgs=['jpg','jpeg','gif','png'];
$exts_docs=['pdf','zip','rar'];
$exts_vids=['flv'];
$exts_auds=['mp3'];
$img_icons='shared/nicedit.png';
$img_blank='shared/blank.png';
$img_loading='shared/wait.gif';
$img_zoom=false; $.ajax({url:'img/picto_zoom.png',type:'HEAD',success:function(){$img_zoom='img/picto_zoom.png';},error:function(){$img_zoom=false;}});
$editor_selectw=(8*20)-2;
$editor_buttons=['undo','redo','bold','italic','underline','strikethrough','superscript','subscript','fontSize','left','center','right','justify','ol','ul','outdent','indent','fontFormat','forecolor','bgcolor','removeformat','hr','table','unlink','upload','map','link','image','video','audio','xhtml'];
$editor_width=(8*20)+4;
$editor=false;
$dragged=false;
$edit_content=false;
$edit_menu=false;
$sortable_menu=false;
$files=false;
$imgs=false;
$docs=false;
$vids=false;
$auds=false;
$pages=false;
$menu=null;
$langs=null;
$lang=null;
$href=null;
$name=null;
$title=null;
$l=null;
$sl=null;
$status=null;
$locked=null;
$timer=null;
$created=null;
$updated=null;
$content=null;
$content_width=null;
$demo=false;
$.getScript('shared/form.js');
$.getScript('shared/jgrowl.js',function(){ $.extend($.jGrowl.defaults,{ closer:false,life:5000,glue:'after' }); });
$.getScript('shared/ui-core.js');
$.getScript('shared/ui-interactions.js');
$.getScript('shared/ui-effects.js');
$.getScript('jscript.js');

$(function()
{
 $path=($('base').attr('href'));
 $isadmin=$('body#isadmin').is('body');
 $isuser=$('body#isuser').is('body');
 GetFiles();
 $.Preload(['img/facebox.png','img/msg.png','img/msg_ok.png','img/msg_ko.png','img/wait.gif',$img_loading,$img_icons]);
 $.extend($.facebox.settings,{faceboxHtml:'<div id="facebox" style="display:none;"><div class="popup"><table><tbody><tr><td class="tl"/><td class="b"/><td class="tr"/></tr><tr><td class="b"/><td class="body"><div class="content"></div></td><td class="b"/></tr><tr><td class="bl"/><td class="b"/><td class="br"/></tr></tbody></table></div></div>'});
  if($isadmin||$isuser){
   Cache.Construct($opacity);
   Cache.On('normal',$opacity);
   $.getScript('shared/ui-datepicker.js', function(){
   $.getScript('shared/admin.js',function(){
    GetConfig('init'); 
   });});
  }
  else{
   $('<div></div>').attr('id','keylogin')
   .css({position:($ie6?'absolute':'fixed'),left:0,top:0,width:18,height:18,zIndex:100,background:'url('+$img_blank+')'})
   .hover(function(){$(this).css({background:'url('+$img_icons+') -576px center'});},function(){$(this).css({background:'url('+$img_blank+')'});})
   .click(function(){
    $.facebox($('<form id="form_login" method="post" action="'+$path+'"></form>')
    .css({background:'#fff'}).click(function(){$('#form_login #res').hide('normal');})
    .append($('<b></b>').css({position:'absolute',width:18,height:18,background:'url('+$img_icons+') -576px center'}))
    .append(
     $('<p></p>').css({width:180,margin:'0 0 5px 0',padding:0})
     .append( $('<label for="username">Identifiant</label>').css({float:'left',width:95,padding:'2px 5px 0 0',textAlign:'right',fontSize:12}) )
     .append( $('<input id="username" name="username" type="text" />').css({width:70,fontSize:12}) )
    )
    .append(
     $('<p></p>').css({width:180,margin:'0 0 5px 0',padding:0})
     .append( $('<label for="password">Mot de passe</label>').css({float:'left',width:95,padding:'2px 5px 0 0',textAlign:'right',fontSize:12}) )
     .append( $('<input id="password" name="password" type="password" />').css({width:70,fontSize:12}) )
    )
    .append(
     $('<p></p>').css({width:180,margin:0,padding:0})
     .append( $('<input type="submit" value="Envoyer" />').css({border:'1px solid #aaa',background:'#efefef',cursor:'pointer',fontSize:13}))
    )
    .ajaxForm({
     beforeSubmit:function(){
      var u=$('input[name=username]').fieldValue();
      var p=$('input[name=password]').fieldValue();
      var s=$('#form_login input[type=submit]'); s.blur();
      var c=true;
      if(!u[0]){$.jGrowl('Entrez votre identifiant',{theme:'ko'}); $('input[name=username]').effect('pulsate',{times:5},300); c=false;}
      if(!p[0]){$.jGrowl('Entrez votre mot de passe',{theme:'ko'}); $('input[name=password]').effect('pulsate',{times:5},300); c=false;}
      if(c){$('#form_login input[type=submit]').attr('disabled','disabled');}else{return false;}
     },
     success:function(data){
      if(data=='logged'){$.jGrowl('Connexion en cours...',{theme:'ok'}); $(document).trigger('close.facebox'); Cache.Construct(0); Cache.On(2000,$opacity,function(){window.location=$path+'edition';}); }
      else{ $.jGrowl(data,{theme:'ko'}); $('#form_login input[type=submit]').removeAttr('disabled'); return false; }
     }
    }));
    $('#form_login input#username').focus();
   })
   .appendTo('body');
  }
   if($('#search').is('div')){
    $('#search #results').css($shadow);
    $('#search form').bind('submit',function(){ return false; });
    if($('#search input#q').val()!=''){Search.MakeCancel();}
    $('#search input#q')
    .bind('focus',function(){
      $(this).addClass('focus');
      clearTimeout($timeoutsearch);
      var q=$.trim($(this).val());
      if($lastsearch==false && q!=''){
        $lastsearch=q;
        $('#search input#q').removeClass('cancel').addClass('process');
        Search.MakeCancel();
        Search.Search(q);
      }
      else if(!$('#search #results').hasClass('focus')&&$('#search #results').html()!=''){$('#search #results').fadeIn('slow',function(){ $(this).fadeTo('fast',0.95); });}
    })
    .bind('keyup',function(e){
      clearTimeout($timeoutsearch);
      if(e.keyCode==27){ clearTimeout($timeout); $('#search #results').fadeOut(); };
      var q=($(this).val().toString());
      var reg=new RegExp(/[^a-zA-Z0-9 èéêëçìíîïñùúûüµþßàáâãäåæòóôõöœÈÉÊËÇÌÍÎÏÑÙÚÛÜÞÀÁÂÃÄÅÆÒÓÔÕÖŒ]/gi);
      var k=e.keyCode; 
      var badk=[9,13,17,18,19,27,33,34,35,36,37,38,39,40,44,45,91,92,93,112,113,114,115,116,117,118,119,120,121,122,123,144,145];
      if(q.match(reg)){ $.jGrowl('<b>'+q.match(reg).toString()+'</b> est un caractère invalide !',{theme:'ko'}); var arr=q.split(reg); q=arr.join(''); $(this).val(q).caret(q.length-(arr[arr.length-1].length)); }
      if($.inArray(k,badk)==-1 && q!=$lastsearch && q!=''){
       q=q.toLowerCase();
       $lastsearch=q;
       $('#search input#q').removeClass('cancel').addClass('process');
       $timeoutsearch=setTimeout(function(){ Search.MakeCancel(); Search.Search(q); },1500);
      }
      else if(q==''){ Search.Unset(); }
    })
    .blur(function(){ $(this).removeClass('focus'); if(!$('#search #results').hasClass('focus')){$('#search #results').fadeOut();} });
   }
});
$(window).load(function()
{
 $('#content').MyImages();
 $('*[title]').MyTip();
 $('#content').MyLinks();
 if($topreload.length>0){ $.Preload($topreload);}
 if($('#ga').length==1){$.getScript('http://www.google-analytics.com/ga.js',function(){ var pageTracker=_gat._getTracker($('#ga').attr('class')); pageTracker._trackPageview(); });}

});
/***************************************************************************************************************/
/***************************************************************************************************************/

///   CACHE
var Cache={
Construct:function(o){//
 if($('#mycache').length==0){$('<div id="mycache"></div>').appendTo('body');}
 $('#mycache').css({position:($ie6?'absolute':'fixed'),opacity:o,backgroundImage:'url(img/wait.gif)',backgroundRepeat:'no-repeat',backgroundPosition:'center 40%',cursor:'wait'});
},
On:function(speed,o,fct){//
 $('#mycache').css({display:'block',backgroundImage:'url(img/wait.gif)',backgroundRepeat:'no-repeat',backgroundPosition:'center 40%',cursor:'wait'}).fadeTo(200,o,eval(fct));
},
Off:function(speed){//
 $('#mycache').fadeOut(200,function(){ $('#mycache').css({opacity:0});});
}
};



/// Search
var Search={
FormatQ:function(q){
 /* $.jGrowl('FormatQ');*/
 var s=$.trim(q.toLowerCase()).split(' '); var j=new Array(); var g=new Array();
 for(var i=0; i<s.length; i++){ if(s[i].length<3){j.push(s[i]);}else{g.push(s[i]);} }
 return Array((s.length>j.length)?false:s.length,g.join(' '));
// return Array(0,q);
},
MakeCancel:function(){
 if(!$('#search #cancel').is('b')){
  $('#search input#q').addClass('cancel').removeClass('process');
  var b=$('<b id="cancel"></b>');
  b.appendTo('#search form fieldset');
  var m=($('#search form fieldset').height()-$('#search #cancel').height())/2;
  b.css({cursor:'pointer',left:($('#search form fieldset').width()-$('#search #cancel').width()-1),top:(m)})
  .bind('click',function(){ Search.Unset(); })
  .MyTip({text:'Annuler la recherche'});
 }
},
Unset:function(){
 Search.Search(false);
 $('#search #cancel').remove();
 $('#search #results').fadeOut('normal',function(){ $(this).empty(); $('#search input#q').removeClass('cancel').removeClass('process').val(''); $('#content .high').removeClass('high'); });
},
Results:function(r){
 $('#content .high').removeClass('high');
 $('#search input#q').addClass('cancel').removeClass('process');
 $('#search #results')
 .html(r)
 .fadeIn('slow',function(){
   $(this).fadeTo('fast',0.95);
   if($('.noresult',this).is('p')){ clearTimeout($timeout); $timeout=setTimeout(function(){ $('#search #results').fadeOut(); },2000); }
   else{ $('<div class="u">Fermer</div>').css({float:'right',cursor:'pointer'}).click(function(){ clearTimeout($timeout); $('#search #results').fadeOut(); }).prependTo(this); }
 })
 .bind('mouseover',function(){ $(this).addClass('focus'); clearTimeout($timeout); })
 .bind('mouseleave',function(){ $(this).removeClass('focus'); clearTimeout($timeout); if(!$('#search input#q').hasClass('focus')){ $timeout=setTimeout(function(){ $('#search #results').fadeOut(); },2000); } })
 .find('*[title]').MyTip();
 if($isadmin||$isuser){ $('#search #results').MyLinks(); }
},
Search:function(q){
 var n=q?Search.FormatQ(q):false;
 /* $.jGrowl('g.join='+n[1]);*/
 if(q&&n[0]){
  Search.Results('<p class="noresult">'+(n[0]==1?'Mot recherché trop court !':'Mots recherchés trop courts !')+'</p>');
 }
 else{
  $.ajax({
   type:'POST',
   cache:false,
   url:'shared/_process.php',
   data:'ajax=search'+(q?('&q='+(n[1].replace(/&/g,'°°AMPERSTAND°°').replace(/\+/g,'°°PLUS°°').replace(/&(?!#?\w+;)/g,'%26'))):('&cancel=1')),
   dataType:'html',
   success: function(data){
    if(q){Search.Results(data);}
   }
  });
 }
}
};
///   Caret Range
(function($) {
	$.extend($.fn, {
		caret: function (start, end) {
			var elem=this[0];
			if(typeof start=='undefined'){ if(elem.selectionStart){	start=elem.selectionStart;	end=elem.selectionEnd;	}else if(document.selection){	var val=this.val();	var range=document.selection.createRange().duplicate(); range.moveEnd('character',val.length); start=(range.text==''?val.length:val.lastIndexOf(range.text)); range=document.selection.createRange().duplicate(); range.moveStart('character',-val.length); end=range.text.length; } }else{ var val=this.val(); if(typeof start!='number'){start=-1;} if(typeof end!='number'){end=-1;} if(start<0){start=0;} if(end>val.length){end=val.length;} if(end<start){end=start;} if(start>end){start=end;} elem.focus(); if(elem.selectionStart){ elem.selectionStart=start; elem.selectionEnd=end; }else if(document.selection){ var range=elem.createTextRange(); range.collapse(true); range.moveStart('character',start); range.moveEnd('character',end-start); range.select(); } }
			return {start:start,end:end};
}	}); })($);



///   Auto detect images (facebox)
(function($){$.fn.UnMyImages=function(){
 var c=$(this);
 $('img',c).removeAttr('style').unbind('click.myimages');
};})($);
(function($){$.fn.MyImages=function(){
 var c=$(this);
 var imgs=$('img',c);
 imgs.each(function(){
  var img=$(this).attr('src').split('/');
  var rep=img[img.length-2]; img=img[img.length-1];
  var title=false;
  if(rep=='doc'){
   title=$(this).attr('alt');
   var src=$('img[thumb="'+(img)+'"]',$files).attr('src');
   if(src){
    $topreload.push('doc/'+img,'doc/'+src);
    $(this).css({cursor:'pointer'});
    if($.isFunction($.MyImage)&&!$isadmin&&!$isuser){ $.MyImage($(this)); }
    else{ 
     if($img_zoom && !$isadmin && !$isuser){
      $('<img src="'+$img_zoom+'" />').css({border:'none',background:'none'})
      .css({position:'absolute',
            left:($(this).position().left+parseFloat($(this).css('marginLeft'))-10+parseFloat($(this).css('borderLeftWidth'))+2),
            top:($(this).position().top+parseFloat($(this).css('marginTop'))+parseFloat($(this).css('borderTopWidth'))+2)})
      .appendTo('#content');
     }
     $(this)
     .css({position:'relative'})
     .bind('click.myimages',function(){
      var size=$.SizeImg(src); var r=false;
      size.dw=(size.w+30)-$(window).width();
      size.dh=(size.h+30)-$(window).height();
      if(size.dw>0||size.dh>0){
       if(size.dw>0&&size.dw>size.dh){ r=size.h/size.w; size.rw=$(window).width()-30; size.rh=size.rw*r; }
       else{ r=size.w/size.h; size.rh=$(window).height()-30; size.rw=size.rh*r; }
      }
      $.facebox(
       $('<div></div>').css({width:(!r?size.w:size.rw),height:(!r?size.h:size.rh)})
       .append($('<img src="doc/'+src+'" />').css({position:'absolute',width:(!r?size.w:size.rw),height:(!r?size.h:size.rh),border:'none'}))
       .append($('<b></b>').css({position:'absolute',display:'block',width:(!r?size.w:size.rw),height:(!r?size.h:size.rh),color:'#000',background:'url('+$img_blank+')',padding:0}).append($('<span>'+title+'</span>').css({padding:'2px 5px',color:'#000',fontSize:'110%',background:'#fff'}).fadeTo('fast',0.75)).append($('<span>ESC ou click en dehors ou  <span class="u">fermer</span></span>').css({float:'right',fontWeight:'normal',fontSize:'70%',cursor:'pointer',padding:'2px 5px',color:'#000',background:'#fff'}).fadeTo('fast',0.5).hover( function(){$(this).css({opacity:0.5}).show().stop().fadeTo('normal',0.75);},function(){$(this).stop().fadeTo('normal',0.5);} ).click(function(){$.facebox.close();})))
       .append(r?($('<span>L\'image a été réduite à '+Math.round(size.rh/size.h*100)+'%, afficher la taille réelle</span>').attr('w',size.w).attr('h',size.h).css({position:'absolute',bottom:0,color:'#000',padding:'2px 5px',background:'#fff',cursor:'pointer'})
                  .fadeTo('fast',0.5)
                  .hover( function(){$(this).css({opacity:0.5}).show().stop().fadeTo('normal',0.75);},function(){$(this).stop().fadeTo('normal',0.5);} )
                  .click(function(){var w=$(this).attr('w'); var h=$(this).attr('h'); $(this).parent().css({width:w+'px',height:h+'px'}).children().css({width:w+'px',height:h+'px'}); $(this).remove(); })):'')
      );
     });
    }
  }}
 });
};})($);
///   MyTip
(function($){$.fn.UnMyTip=function(){
 $(this).unbind('hover.mytip').unbind('mouseenter.mytip').unbind('mouseleave.mytip');
};})($);
(function($){$.fn.MyTip=function(o){
 o=$.extend( {text:false}, o || {} );
 if($edit_content && o.text==false){ return false; }
 $(this).each(function(){
  if(o.text || this.title){ $(this).attr('t',this.title)
    xOffset=-15;
    yOffset=10;
   $(this)
   .bind('mouseenter.mytip',function(e){
     clearTimeout($timeouttip);
     $timeouttip=setTimeout(function(){$('#tooltip').fadeOut(function(){$(this).remove();});},3000);
     $('#tooltip').remove();
     this.title='';
     if(o.text){this.tt=$('<div></div>').append(o.text); $('ins[cite$=.flv]',this.tt).Video(); $('body').append($('<div id="tooltip"></div>').append(this.tt));}
     else{this.tt=$(this).attr('t'); $('body').append('<div id="tooltip">'+this.tt+'</div>');}
     $('#tooltip')
     .css({top:(e.pageY-xOffset),left:(e.pageX+yOffset)})
     .css($shadow)
     .fadeIn('slow')
     .hover(function(){$(this).remove();},function(){});
   })
   .bind('mouseleave.mytip',function(){ this.title=$(this).attr('t'); $('#tooltip').remove(); clearTimeout($timeouttip); })
   .mousemove(function(e){ $('#tooltip').css('top',(e.pageY-xOffset)+'px').css('left',(e.pageX+yOffset)+'px'); });
 }});
};})($);
///LINKS
(function($){$.fn.UnMyLinks=function(){
 //var c=$(this);
 var c=$('#content');
 $('object',c).remove();
 $('a',c).removeAttr('class').removeAttr('style').removeAttr('target').bind('click.mylinks',function(){return false;});
 $('a[href!='+$path+'fr/],a[href!='+$path+'en/],a[href!='+$path+'de/]',c).addClass('linkout');
 $('a[href^=http://maps.google.fr]',c).removeClass('linkout').addClass('linkmap');
 $('a[href^="'+$path+'fr/"],a[href^="'+$path+'en/"],a[href^="'+$path+'de/"],a[href^=fr/],a[href^=en/],a[href^=de/]',c).removeClass('linkout').addClass('linkin');
 $('a[href$=.pdf]',c).removeClass('linkout').removeClass('linkin').addClass('linkpdf');
 $('a[href$=.zip]',c).removeClass('linkout').removeClass('linkin').addClass('linkzip');
 $('a[href$=.rar]',c).removeClass('linkout').removeClass('linkin').addClass('linkrar');
 if($allowvideo && $allowvideo!=0){ var s=$allowvideo.split('x'); $('ins[cite$=.flv]',c).removeAttr('style').addClass('linkvid').css({width:s[0]+'px',height:s[1]+'px',lineHeight:s[1]+'px'}).bind('keypress',function(){$.jGrowl('Press');});}
 $('a[href^=mailto:]',c).removeClass('linkout').removeClass('linkin').addClass('linkmail');
};})($);
(function($){$.fn.MyLinks=function(){
 //var c=$(this);
 var c=$('#content');
 $('a[href!='+$path+'fr/],a[href!='+$path+'en/],a[href!='+$path+'de/]',c).addClass('linkout');
 $('a[href^=http://maps.google.fr]',c).removeClass('linkout').addClass('linkmap');
 $('a[href^="'+$path+'fr/"],a[href^="'+$path+'en/"],a[href^="'+$path+'de/"],a[href^=fr/],a[href^=en/],a[href^=de/]',c).removeClass('linkout').addClass('linkin');
 $('a[href$=.pdf]',c).removeClass('linkout').removeClass('linkin').addClass('linkpdf');
 $('a[href$=.zip]',c).removeClass('linkout').removeClass('linkin').addClass('linkzip');
 $('a[href$=.rar]',c).removeClass('linkout').removeClass('linkin').addClass('linkrar');
 if(($isadmin||$isuser) && $allowvideo!=0){ $('ins[cite$=.flv]',c).Video(); }
 $('a[href^=mailto:]',c).removeClass('linkout').removeClass('linkin').addClass('linkmail');
 $('a').unbind('click.mylinks')
 .filter(function(){
  if(($isadmin||$isuser)&&!$(this).closest('#menu').is('ol')){
   var s=this.href.split('/'); var l=$.inArray(s[s.length-2],$langs); if(l!=-1){ s=s[s.length-1]; }else{ l=false; s=false; }
   if($(this).is('.linkmap')){ $(this).bind('click.mylinks',function(){ $.facebox({ajax:this.href}); return false; }); }
   else if($(this).is('.linkout'||!s)){$(this).attr('target','_blank'); }
   else if(s){ $(this).bind('click.mylinks',function(){ if(!$edit_content&&!$edit_menu){  if(l!=$lang){Menu.Lang(l,s);}else{Menu.Change(1,s);} } return false; });}
  }
  else if($(this).is('.linkout')||$(this).is('.linkmap')){ $(this).attr('target','_blank'); }
 })
 .focus(function(){this.blur();});
};})($);
///   GetFiles
this.GetFiles=function(file,cur,type){
 $.ajax({
  async:false,
  url:'data/_files.xml',
  cache:false,
  dataType:'xml',
  error:function(){
   if($isuser||$isadmin){
    if(file=='img' || file=='vid' || file=='aud' || file=='doc'){ Lib.Construct(file,'error'); }
    else{ alert('Impossible de charger les fichiers !\nMerci d\'actualiser la page.\nSi le problème persiste, merci de contacter l\'administrateur.'); return false; }
   }
  },
  success:function(data) {
   $files=data;
   if($isuser||$isadmin){
    if(file=='img' || file=='vid' || file=='aud' || file=='doc'){ Lib.Construct(file,cur,type); }
   }
  }
 });
};
///   Video
$.fn.Video=function()
{
 return this.each(function()
 {
  ins=$(this);
  var s=$allowvideo.split('x'); var flv=ins.attr('cite'); var cite=flv;
  if($('ins[cite^='+$path+'doc/]',ins)||$('ins[cite^=doc/]',ins)){ var spl=cite.split('/'); cite=(spl[spl.length-1]); flv='../doc/'+cite; }
  var o=$('<object data="shared/flvplayer.swf" type="application/x-shockwave-flash" width="'+s[0]+'px" height="'+s[1]+'px" title="'+ins.attr('title')+'" class="float'+ins.attr('datetime')+'">'
          +'<param name="movie" value="shared/flvplayer.swf" />'
          +'<param name="allowFullScreen" value="true" />'
          +'<param name="wmode" value="transparent" />'
          +'<param name="FlashVars" value="flv='+flv+'&configxml=flvconfig.xml&width='+s[0]+'&height='+s[1]+(ins.attr('id')&&ins.attr('play')?'&autoplay=1':'')+'" />'
         +'</object>');
  if(ins.attr('id')){ o.attr('id',ins.attr('id')); }
  ins.text(cite).after(o); ins.hide();
 });
};
///   Preload
$.Preload=function(a){ for(var i=0; i<a.length; i++){ var im=$('<img>').attr('src',a[i]); } };
///   SizeImg
$.SizeImg=function(i,def){
 var size=i.split('.'); size=size[0].split('_'); if(size[size.length-1].indexOf('x')>0){pos=1;}else{pos=2;} size=size[size.length-pos].split('x'); w=parseFloat(size[0]); h=parseFloat(size[1]);
 if(def){ sw=(w>h?def:(def*w/h)); sh=(h>w?def:(def*h/w)); }
 else{sw=w;sh=h;}
 return {w:parseFloat(sw),h:parseFloat(sh)};
};
///   SizeDoc
$.SizeDoc=function(i){
 var size=i.split('.'); size=size[0].split('_'); if(size[size.length-1].indexOf('ko')>0){pos=1;}else{pos=2;} size=size[size.length-pos].split('ko');
 return size[0];
};
///   MyReplace   $('a#fooid').MyReplace('<span></span>');
$.fn.MyReplace=function(r)
{
 return this.each(function()
 {
  el=$(this);
   $(this).after(r).next().html(el.html());
   for (var i = 0; i < this.attributes.length; i++){ el.next().attr(this.attributes[i].nodeName, this.attributes[i].nodeValue); }
   el.remove();
  })
};



///   FACEBOX
(function($){
 $.facebox=function(data,notdraggable){
  $.facebox.loading();
  if(data.ajax){fillFaceboxFromAjax(data.ajax);}
  else{$.facebox.reveal(data,notdraggable);}
 };
 $.extend($.facebox,{
  settings:{ faceboxHtml:true },
  loading:function(){
   init();
   if($('#facebox .loading').length==1){return true;}
   showOverlay();
   $('#facebox .content').empty();
   $('#facebox .body').children().hide().end().append('<div class="loading"></div>');
   $('#facebox')
   .css({top:(((getPageHeight()-$('#facebox').height())/3)+getPageScroll()[1]),left:(($(window).width()-$('#facebox').width())/2)}).fadeIn(200)
   .css(($.browser.opera||$.browser.msie)?{}:{'-moz-box-shadow':'2px 2px 10px #000','-webkit-box-shadow':'2px 2px 10px #000','box-shadow':'2px 2px 10px #000'})
   .find('.b, .bl, .br, .tl, .tr').css({opacity:0.5});
   $(document).bind('keydown.facebox',function(e){ if(e.keyCode==27){$.facebox.close();} return true; });
   $(document).trigger('loading.facebox');
  },
  reveal:function(data,notdraggable){
   $(document).trigger('beforeReveal.facebox');
   $('#facebox .content').append(data);
   $('#facebox .loading').remove();
   $('#facebox .body').children().fadeIn(200);
   $('#facebox').css({ top: (((getPageHeight()-$('#facebox').height())/3)+getPageScroll()[1]), left: (($(window).width()-$('#facebox').width())/2) });
   if(!notdraggable){
    $('#facebox .body').children()
    .bind('mousedown',function(){$(this).css({cursor:'move'});})
    .bind('mouseup',function(){$(this).css({cursor:'default'});});
    $('#facebox').draggable({opacity:0.7,delay:10,stop:function(o,ui){ $(this).css({opacity:1}).show(); }});
   }
   $(document).trigger('reveal.facebox').trigger('afterReveal.facebox');
  },
  close:function(){
   $(document).trigger('close.facebox');
   return false;
  }
 });
 function init(){
  if($.facebox.settings.inited){return true;}
  else{$.facebox.settings.inited=true;}
  $(document).trigger('init.facebox');
  $('body').append($.facebox.settings.faceboxHtml);
 };
 function getPageScroll(){
  var xScroll,yScroll;
  if(self.pageYOffset){ yScroll=self.pageYOffset; xScroll=self.pageXOffset; }
  else if(document.documentElement && document.documentElement.scrollTop){ yScroll=document.documentElement.scrollTop; xScroll=document.documentElement.scrollLeft; }
  else if(document.body){ yScroll=document.body.scrollTop; xScroll=document.body.scrollLeft; }
  return new Array(xScroll,yScroll);
 };
 function getPageHeight(){
  var windowHeight;
  if(self.innerHeight){ windowHeight=self.innerHeight; }
  else if(document.documentElement && document.documentElement.clientHeight){ windowHeight=document.documentElement.clientHeight; }
  else if(document.body){ windowHeight=document.body.clientHeight; }
  return windowHeight;
 };
 function showOverlay(){
  if($('facebox_overlay').length==0){ $('<div id="facebox_overlay"></div>').addClass("facebox_overhide").appendTo('body'); }
  $('#facebox_overlay')
  .addClass("facebox_overshow")
  .css({position:($ie6?'absolute':'fixed'),opacity:0.3})
  .click(function(){ $(document).trigger('close.facebox'); })
  .hide()
  .fadeIn(200);
  return false;
 };
 function hideOverlay(){
  $('#facebox_overlay').fadeOut(200, function(){ $("#facebox_overlay").removeClass("facebox_overshow").addClass("facebox_overhide").remove(); });
  return false;
 };
 function fillFaceboxFromAjax(href) {
   $.get(href, function(data){ $.facebox.reveal(data); });
   return false;
 };

 $(document).bind('close.facebox',function(){
  $(document).unbind('keydown.facebox');
  $('#facebox').fadeOut(200,function(){
   $('#facebox .content').empty().removeClass().addClass('content');
   hideOverlay();
   $('#facebox .loading').remove();
  })
 });
})($);
///   GetPos
$.fn.extend({GetPos:function(){
  obj=$(this).get(0);
  var curleft=obj.offsetLeft||0;
  var curtop=obj.offsetTop||0;
  while(obj=obj.offsetParent){ curleft+=obj.offsetLeft; curtop+=obj.offsetTop; }
  var curright=curleft+$(this).get(0).offsetWidth;
  var curbottom=curtop+$(this).get(0).offsetHeight;
  return {top:curtop,right:curright,bottom:curbottom,left:curleft};
}});
///   MyShake
$.fn.MyShake=function(x,t,s){
 this.each(function(){
  s=(s=='lr'||s=='rl'?1:(s=='tb'||s=='bt'?2:(s=='tlbr'||s=='ltbr'||s=='tlrb'||s=='ltrb'||s=='brtl'||s=='brlt'||s=='rbtl'||s=='rblt'?3:(s=='trbl'||s=='rtbl'||s=='trlb'||s=='rtlb'||s=='bltr'||s=='blrt'||s=='lbtr'||s=='lbrt'?4:false))));
  if(!s||$(this).queue('fx').length){return false;}
  var d=[$(this).css('position'),$(this).css('left'),$(this).css('top')];
  if(d[0]=='absolute'||d[0]=='fixed'){ var left=parseFloat(d[1]); var top=parseFloat(d[2]); $(this).css({position:d[0],left:left,top:top});}
  else{ var left=0; var top=0; $(this).css({position:'relative',left:left+'px',top:top+'px'});}
  while(x){  //$.jGrowl('left='+(left-x)+' GetPos='+$(this).GetPos().left);
   $(this)
   .animate((s==1?{left:(left-x)+'px'}:(s==2?{top:(top-x)+'px'}:(s==3?{left:(left-x)+'px',top:(top+x)+'px'}:{left:(left+x)+'px',top:(top+x)+'px'}))),t)
   .animate((s==1?{left:(left+x)+'px'}:(s==2?{top:(top+x)+'px'}:(s==3?{left:(left+x)+'px',top:(top-x)+'px'}:{left:(left-x)+'px',top:(top-x)+'px'}))),t);
   //.animate({left:x*-2},t)      /// PB de margin avec ie
   //.animate({left:x*2},t,function(){ $.jGrowl('callback='+$(this).GetPos().left); });
   x=x/1.5; if(x<0.5){x=false;   $(this).animate({left:(left)+'px',top:(top)+'px'},t,function(){$(this).css({'left':d[1],'top':d[2],'position':d[0]});}); }
 }});
 return this;
};
/// Extend animate backgroundPosition
(function($) {
 $.extend($.fx.step,{backgroundPosition:function(fx){
  if(fx.state===0&&typeof fx.end=='string'){ var start=$.curCSS(fx.elem,'backgroundPosition'); start=toArray(start); fx.start=[start[0],start[2]]; var end=toArray(fx.end); fx.end=[end[0],end[2]]; fx.unit=[end[1],end[3]]; }
  var nowPosX=[]; nowPosX[0]=((fx.end[0]-fx.start[0])*fx.pos)+fx.start[0]+fx.unit[0];
  nowPosX[1]=((fx.end[1]-fx.start[1])*fx.pos)+fx.start[1]+fx.unit[1];
  fx.elem.style.backgroundPosition=nowPosX[0]+' '+nowPosX[1];
  function toArray(strg){ strg=strg.replace(/left|top/g,'0px'); strg=strg.replace(/right|bottom/g,'100%'); strg=strg.replace(/([0-9\.]+)(\s|\)|$)/g,"$1px$2"); var res=strg.match(/(-?[0-9\.]+)(px|\%|em|pt)\s(-?[0-9\.]+)(px|\%|em|pt)/); return[parseFloat(res[1],10),res[2],parseFloat(res[3],10),res[4]]; }
 }});
})($);
///   Extend Easing "easeOutBounce"
jQuery.extend(jQuery.easing,{ easeOutBounce:function(x,t,b,c,d){ if((t/=d)<(1/2.75)){ return c*(7.5625*t*t)+b; }else if(t<(2/2.75)){ return c*(7.5625*(t-=(1.5/2.75))*t+.75)+b; }else if(t<(2.5/2.75)){ return c*(7.5625*(t-=(2.25/2.75))*t+.9375)+b; }else{ return c*(7.5625*(t-=(2.625/2.75))*t+.984375)+b; } } });




