Drupal.Ajax=new Object;Drupal.Ajax.plugins={};Drupal.Ajax.firstRun=false;Drupal.Ajax.init=function(context){var f,s;if(f=$('.ajax-form',context)){if(!Drupal.Ajax.firstRun){Drupal.Ajax.invoke('init');Drupal.Ajax.firstRun=true;}
s=$('input[type="submit"]',f);s.click(function(){this.form.ajax_activator=$(this);return true;});f.each(function(){this.ajax_activator=null;$(this).submit(function(){if(this.ajax_activator===null){this.ajax_activator=$('#edit-submit',this);}
if(this.ajax_activator.hasClass('ajax-trigger')){Drupal.Ajax.go($(this),this.ajax_activator);return false;}
else{return true;}});return true;});}
return true;};Drupal.Ajax.invoke=function(hook,args){var plugin,r,ret;ret=true;for(plugin in Drupal.Ajax.plugins){r=Drupal.Ajax.plugins[plugin](hook,args);if(r===false){ret=false;}}
return ret;};Drupal.Ajax.go=function(formObj,submitter){var submitterVal,submitterName,extraData;Drupal.Ajax.invoke('submit',{submitter:submitter});submitterVal=submitter.val();submitterName=submitter.attr('name');submitter.val(Drupal.t('Loading...'));extraData={};extraData[submitterName]=submitterVal;extraData['drupal_ajax']='1';formObj.a_ajaxSubmit({extraData:extraData,beforeSubmit:function(data){data[data.length]={name:submitterName,value:submitterVal};data[data.length]={name:'drupal_ajax',value:'1'};return true;},dataType:'json',error:function(XMLHttpRequest,textStatus,errorThrown){window.alert(Drupal.t('ajax.module: An unknown error has occurred.'));if(window.console){console.log('error',arguments);}
return true;},success:function(data){submitter.val(submitterVal);Drupal.Ajax.response(submitter,formObj,data);return true;}});return false;};Drupal.Ajax.scroller=function(submitter){var scroll_weight,box,found,timer;scroll_weight=100;timer=window.setInterval(function(){box=submitter;found=false;while(box.parentNode!==null&&Drupal.Ajax.invoke('scrollFind',{container:box})){box=box.parentNode;if(box===document){if(box.documentElement.scrollTop&&box.documentElement.scrollTop>0){box.documentElement.scrollTop-=scroll_weight;found=true;}}
else if(box===document.body){if(box.scrollTop&&box.scrollTop>0){box.scrollTop-=scroll_weight;found=true;}}
else if(box===window){if((window.pageYOffset&&window.pageYOffset>0)||(window.scrollY&&window.scrollY>0)){window.scrollBy(0,-scroll_weight);found=true;}}
else if(box===div){window.scrollBy(0,-scroll_weight);found=true;}
else{if(box.scrollTop&&box.scrollTop>0){box.scrollTop-=scroll_weight;found=true;}}}
if(!found){window.clearInterval(timer);}
return true;},100);return true;};Drupal.Ajax.message=function(formObj,submitter,data,options){var args;args={formObj:formObj,submitter:submitter,data:data,options:options};if(Drupal.Ajax.invoke('message',args)){Drupal.Ajax.writeMessage(args.formObj,args.submitter,args.options);}
return true;};Drupal.Ajax.writeMessage=function(formObj,submitter,options){var i,_i,thisItem,log,errBox,h;if(options.action==='notify'){$('.messages, .ajax-preview',formObj).remove();$('input, textarea').removeClass('error status warning required');if(options.type==='preview'){log=$('<div>').addClass('ajax-preview');log.html(options.messages);formObj.prepend(log);}
else{log=$('<ul>');errBox=$(".messages."+options.type,formObj[0])
for(i=0,_i=options.messages.length;i<_i;i++){thisItem=$('#'+options.messages[i].id,formObj[0])
thisItem.addClass(options.type);if(options.messages[i].required){thisItem.addClass('required');}
log.append('<li>'+options.messages[i].value+'</li>');}
if(errBox.length===0){errBox=$("<div class='messages "+options.type+"'>");formObj.prepend(errBox);}
errBox.html(log);}}
else if(options.action==='clear'){$('.messages, .ajax-preview',formObj).remove();}
Drupal.Ajax.scroller(submitter[0]);return true;};Drupal.Ajax.updater=function(updaters){var i,_i,elm;for(i=0,_i=updaters.length;i<_i;i++){elm=$(updaters[i].selector);if(updaters[i].type==='html_in'){elm.html(updaters[i].value);}
else if(updaters[i].type==='html_out'){elm.replaceWith(updaters[i].value);}
else if(updaters[i].type==='field'){elm.val(updaters[i].value);}
else if(updaters[i].type==='remove'){elm.remove();}}
return true;};Drupal.Ajax.response=function(submitter,formObj,data){var newSubmitter;data.local={submitter:submitter,form:formObj};if(data.status===false){Drupal.Ajax.updater(data.updaters);Drupal.Ajax.message(formObj,submitter,data,{action:'notify',messages:data.messages_error,type:'error'});}
else{if(data.preview!==null){Drupal.Ajax.updater(data.updaters);Drupal.Ajax.message(formObj,submitter,data,{action:'notify',messages:decodeURIComponent(data.preview),type:'preview'});}
else if(data.redirect===null){if(data.messages_status.length>0){Drupal.Ajax.message(formObj,submitter,data,{action:'notify',messages:data.messages_status,type:'status'});}
if(data.messages_warning.length>0){Drupal.Ajax.message(formObj,submitter,data,{action:'notify',messages:data.messages_warning,type:'warning'});}
if(data.messages_status.length===0&&data.messages_warning.length===0){Drupal.Ajax.message(formObj,submitter,data,{action:'clear'});}}
else{if(Drupal.Ajax.invoke('complete',data)){Drupal.Ajax.redirect(data.redirect);}
else{Drupal.Ajax.updater(data.updaters);if(data.messages_status.length===0&&data.messages_warning.length===0){Drupal.Ajax.message(formObj,submitter,data,{action:'clear'});}
else{Drupal.Ajax.message(formObj,submitter,data,{action:'notify',messages:data.messages_status,type:'status'});}}}}
return true;};Drupal.Ajax.redirect=function(url){window.location.href=url;};Drupal.behaviors.Ajax=Drupal.Ajax.init;
