(function(a){a.fn.ajaxify=function(d){var b=function(i,h){if(h){if(i.indexOf("#")!=-1){i=i.substr(0,i.indexOf("#"))}i+=(i.indexOf("?")==-1?"?":"&")+(typeof h=='string'?h:a.param(h))}return i};d=a.extend({append:"ajax=1",buttons:"button[type=submit], input[type=submit], input[type=image]",replace:true,update:null,async:true,beforeSend:null,complete:null,contentType:null,dataFilter:null,dataType:"html",error:function(h,j,i){alert("Error processing data via AJAX:\n"+i+" ("+j+")")},success:function(h,i){if(this.replace){jQuery(this.update).html(h)}else{jQuery(this.update).append(h)}},type:null,url:null},d||{});a(this.selector).live("submit click",d,function(i){var h=a.extend({},i.data);if(a(this).attr("tagName").toLowerCase()=="a"&&i.type=="click"){i.preventDefault();h.url=h.url||b(a(this).attr("href"),h.append);h.update=h.update||a(this).attr("target");h.type=h.type||"GET";h.contentType=h.contentType||"application/x-www-form-urlencoded";if(h.data&&typeof h.data!="string"){h.data=a.param(h.data)}else{h.data=false}a.ajax(h)}else{if(a(this).attr("tagName").toLowerCase()=="form"&&i.type=="submit"){i.preventDefault();h.url=h.url||b(a(this).attr("action"),h.append);h.update=h.update||a(this).attr("target");h.type=h.type||a(this).attr("method").toUpperCase();h.contentType=h.contentType||(a(this).attr("enctype")||"application/x-www-form-urlencoded");if(h.data){if(typeof h.data=="string"){h.data=a(this).serialize()+"&"+h.data}else{h.data=a(this).serialize()+"&"+a.param(h.data)}}else{h.data=a(this).serialize()}a.ajax(h);a("input.ajaxify__submitButton__").remove()}}});var f=this.selector.split(/\s*,\s*/);var g=d.buttons.split(/\s*,\s*/);for(var e=0;e<f.length;e++){for(var c=0;c<g.length;c++){a(f[e]+" "+g[c]).live("mousedown keydown",function(h){a(this).after('<input type="hidden" name="'+a(this).attr("name")+'" value="'+a(this).val()+'" class="ajaxify__submitButton__"/>');if(a(this).attr("type")=="image"){a(this).after('<input type="hidden" name="'+a(this).attr("name")+'_y" value="'+(h.pageY-a(this).offset().top)+'" class="ajaxify__submitButton__"/>');a(this).after('<input type="hidden" name="'+a(this).attr("name")+'_x" value="'+(h.pageX-a(this).offset().left)+'" class="ajaxify__submitButton__"/>')}})}}return this}})(jQuery);
