if(!jQuery.load_handlers){jQuery.load_handlers=new Array();function onAjaxLoad(f){jQuery.load_handlers.push(f);};function triggerAjaxLoad(root){for(var i=0;i<jQuery.load_handlers.length;i++)
jQuery.load_handlers[i].apply(root);};jQuery.fn._ACBload=jQuery.fn.load;jQuery.fn.load=function(url,params,callback){callback=callback||function(){};if(params){if(params.constructor==Function){callback=params;params=null;}}
var callback2=function(res,status){triggerAjaxLoad(this);callback.call(this,res,status);};return this._ACBload(url,params,callback2);};jQuery._ACBajax=jQuery.ajax;jQuery.ajax=function(type){var s=jQuery.extend(true,{},jQuery.ajaxSettings,type);var callbackContext=s.context||s;if(jQuery.ajax.caller==jQuery.fn._load)return jQuery._ACBajax(type);var orig_complete=s.complete||function(){};type.complete=function(res,status){var dataType=type.dataType;var ct=(res&&(typeof res.getResponseHeader=='function'))
?res.getResponseHeader("content-type"):'';var xml=!dataType&&ct&&ct.indexOf("xml")>=0;orig_complete.call(callbackContext,res,status);if(!dataType&&!xml||dataType=="html")triggerAjaxLoad(document);};return jQuery._ACBajax(type);};}
jQuery.fn.animeajax=function(end){this.children().css('opacity',0.5);if(typeof ajax_image_searching!='undefined'){var i=(this).find('.image_loading');if(i.length)i.eq(0).html(ajax_image_searching);else this.prepend('<span class="image_loading">'+ajax_image_searching+'</span>');}
return this;}
jQuery.fn.positionner=function(force){var offset=jQuery(this).offset();var hauteur=parseInt(jQuery(this).css('height'));var scrolltop=self['pageYOffset']||jQuery.boxModel&&document.documentElement['scrollTop']||document.body['scrollTop'];var h=jQuery(window).height();var scroll=0;if(force||offset['top']-5<=scrolltop)
scroll=offset['top']-5;else if(offset['top']+hauteur-h+5>scrolltop)
scroll=Math.min(offset['top']-5,offset['top']+hauteur-h+15);if(scroll)
jQuery('html,body')
.animate({scrollTop:scroll},300);jQuery(jQuery('*',this).filter('input[type=text],textarea')[0]).focus();return this;}
var virtualbuffer_id='spip_virtualbufferupdate';function initReaderBuffer(){if(jQuery('#'+virtualbuffer_id).length)return;jQuery('body').append('<p style="float:left;width:0;height:0;position:absolute;left:-5000;top:-5000;"><input type="hidden" name="'+virtualbuffer_id+'" id="'+virtualbuffer_id+'" value="0" /></p>');}
function updateReaderBuffer(){var i=jQuery('#'+virtualbuffer_id);if(!i.length)return;i.attr('value',parseInt(i.attr('value'))+1);}
jQuery.fn.formulaire_dyn_ajax=function(target){if(this.length)
initReaderBuffer();return this.each(function(){var cible=target||this;jQuery('form:not(.noajax,.bouton_action_post)',this).each(function(){var leform=this;var leclk,leclk_x,leclk_y;jQuery(this).prepend("<input type='hidden' name='var_ajax' value='form' />")
.ajaxForm({beforeSubmit:function(){leclk=leform.clk;if(leclk){var n=leclk.name;if(n&&!leclk.disabled&&leclk.type=="image"){leclk_x=leform.clk_x;leclk_y=leform.clk_y;}}
jQuery(cible).addClass('loading').animeajax();},success:function(c){if(c=='noajax'){jQuery("input[name=var_ajax]",leform).remove();if(leclk){var n=leclk.name;if(n&&!leclk.disabled){jQuery(leform).prepend("<input type='hidden' name='"+n+"' value='"+leclk.value+"' />");if(leclk.type=="image"){jQuery(leform).prepend("<input type='hidden' name='"+n+".x' value='"+leform.clk_x+"' />");jQuery(leform).prepend("<input type='hidden' name='"+n+".y' value='"+leform.clk_y+"' />");}}}
jQuery(leform).ajaxFormUnbind().submit();}
else{var recu=jQuery('<div><\/div>').html(c);var d=jQuery('div.ajax',recu);if(d.length)
c=d.html();jQuery(cible)
.removeClass('loading')
.html(c);var a=jQuery('a:first',recu).eq(0);if(a.length
&&a.is('a[name=ajax_ancre]')
&&jQuery(a.attr('href'),cible).length){a=a.attr('href');if(jQuery(a,cible).length)
setTimeout(function(){jQuery(a,cible).positionner(true);},10);}
else{jQuery(cible).positionner(false);if(a.length&&a.is('a[name=ajax_redirect]')){a=a.attr('href');jQuery(cible).addClass('loading').animeajax();setTimeout(function(){document.location.replace(a);},10);}}
triggerAjaxLoad(cible);updateReaderBuffer();}},iframe:jQuery.browser.msie})
.addClass('noajax')
;});});}
var ajax_confirm=true;var ajax_confirm_date=0;var spip_confirm=window.confirm;function _confirm(message){ajax_confirm=spip_confirm(message);if(!ajax_confirm){var d=new Date();ajax_confirm_date=d.getTime();}
return ajax_confirm;}
window.confirm=_confirm;var preloaded_urls={};var ajaxbloc_selecteur;jQuery.fn.ajaxbloc=function(){if(this.length)
initReaderBuffer();return this.each(function(){jQuery('div.ajaxbloc',this).ajaxbloc();var blocfrag=jQuery(this);var on_pagination=function(c){jQuery(blocfrag)
.html(c)
.removeClass('loading');var a=jQuery('a:first',jQuery(blocfrag)).eq(0);if(a.length
&&a.is('a[name=ajax_ancre]')
&&jQuery(a.attr('href'),blocfrag).length){a=a.attr('href')
setTimeout(function(){jQuery(a,blocfrag).positionner(true);},10);}
else{jQuery(blocfrag).positionner(false);}
updateReaderBuffer();}
var ajax_env=(""+blocfrag.attr('class')).match(/env-([^ ]+)/);if(!ajax_env||ajax_env==undefined)return;ajax_env=ajax_env[1];if(ajaxbloc_selecteur==undefined)
ajaxbloc_selecteur='.pagination a,a.ajax';jQuery(ajaxbloc_selecteur,this).not('.noajax').each(function(){var url=this.href.split('#');url[0]+=(url[0].indexOf("?")>0?'&':'?')+'var_ajax=1&var_ajax_env='+encodeURIComponent(ajax_env);if(url[1])
url[0]+="&var_ajax_ancre="+url[1];if(jQuery(this).is('.preload')&&!preloaded_urls[url[0]]){jQuery.ajax({"url":url[0],"success":function(r){preloaded_urls[url[0]]=r;}});}
jQuery(this).click(function(){if(!ajax_confirm){ajax_confirm=true;var d=new Date();if((d.getTime()-ajax_confirm_date)<=2)
return false;}
jQuery(blocfrag)
.animeajax()
.addClass('loading');if(preloaded_urls[url[0]]){on_pagination(preloaded_urls[url[0]]);triggerAjaxLoad(document);}else{jQuery.ajax({url:url[0],success:function(c){on_pagination(c);preloaded_urls[url[0]]=c;}});}
return false;});}).addClass('noajax');jQuery('form.bouton_action_post.ajax:not(.noajax)',this).each(function(){var leform=this;var url=jQuery(this).attr('action').split('#');jQuery(this)
.prepend("<input type='hidden' name='var_ajax' value='1' /><input type='hidden' name='var_ajax_env' value='"+(ajax_env)+"' />"+(url[1]?"<input type='hidden' name='var_ajax_ancre' value='"+url[1]+"' />":""))
.ajaxForm({beforeSubmit:function(){jQuery(blocfrag).addClass('loading').animeajax();},success:function(c){on_pagination(c);preloaded_urls={};jQuery(blocfrag)
.ajaxbloc();},iframe:jQuery.browser.msie})
.addClass('noajax')
;});});};jQuery(function(){jQuery('form:not(.bouton_action_post)').parents('div.ajax')
.formulaire_dyn_ajax();jQuery('div.ajaxbloc').ajaxbloc();});onAjaxLoad(function(){if(jQuery){jQuery('form:not(.bouton_action_post)',this).parents('div.ajax')
.formulaire_dyn_ajax();jQuery('div.ajaxbloc',this)
.ajaxbloc();}});
