/**
 * Unobtrusive scripting adapter for jQuery
 *
 * Requires jQuery 1.4.3 or later.
 * https://github.com/rails/jquery-ujs
 *
 *
 * NOTE!!!!!
 * Modified on 9/26/11 to allow for passing through the 'target' attribute on anchor tags when using an
 * HTTP method on the anchor tag. See github issue and pull requests: https://github.com/rails/rails/issues/2885
 */
(function(a){function b(b){var c=a('meta[name="csrf-token"]').attr("content");c&&b.setRequestHeader("X-CSRF-Token",c)}function c(b,c,d){var e=a.Event(c);return b.trigger(e,d),e.result!==!1}function d(b){var d,e,f,g=b.data("type")||a.ajaxSettings&&a.ajaxSettings.dataType;if(c(b,"ajax:before")){if(b.is("form")){d=b.attr("method"),e=b.attr("action"),f=b.serializeArray();var h=b.data("ujs:submit-button");h&&(f.push(h),b.data("ujs:submit-button",null))}else d=b.data("method"),e=b.attr("href"),f=null;a.ajax({url:e,type:d||"GET",data:f,dataType:g,beforeSend:function(a,d){return d.dataType===undefined&&a.setRequestHeader("accept","*/*;q=0.5, "+d.accepts.script),c(b,"ajax:beforeSend",[a,d])},success:function(a,c,d){b.trigger("ajax:success",[a,c,d])},complete:function(a,c){b.trigger("ajax:complete",[a,c])},error:function(a,c,d){b.trigger("ajax:error",[a,c,d])}})}}function e(b){var c=b.attr("href"),d=b.data("method"),e=b.attr("target")||"",f=a("meta[name=csrf-token]").attr("content"),g=a("meta[name=csrf-param]").attr("content"),h=a('<form method="post" action="'+c+'" target="'+e+'"></form>'),i='<input name="_method" value="'+d+'" type="hidden" />';g!==undefined&&f!==undefined&&(i+='<input name="'+g+'" value="'+f+'" type="hidden" />'),h.hide().append(i).appendTo("body"),h.submit()}function f(b){b.find("input[data-disable-with]").each(function(){var b=a(this);b.data("ujs:enable-with",b.val()).val(b.data("disable-with")).attr("disabled","disabled")})}function g(b){b.find("input[data-disable-with]").each(function(){var b=a(this);b.val(b.data("ujs:enable-with")).removeAttr("disabled")})}function h(a){var b=a.data("confirm");return!b||c(a,"confirm")&&confirm(b)}function i(b){var c=!1;return b.find("input[name][required]").each(function(){a(this).val()||(c=!0)}),c}"ajaxPrefilter"in a?a.ajaxPrefilter(function(a,c,d){b(d)}):a(document).ajaxSend(function(a,c){b(c)}),a("a[data-confirm], a[data-method], a[data-remote]").live("click.rails",function(b){var c=a(this);if(!h(c))return!1;if(c.data("remote")!=undefined)return d(c),!1;if(c.data("method"))return e(c),!1}),a("form").live("submit.rails",function(b){var c=a(this),e=c.data("remote")!=undefined;if(!h(c))return!1;if(i(c))return!e;if(e)return d(c),!1;setTimeout(function(){f(c)},13)}),a("form input[type=submit], form button[type=submit], form button:not([type])").live("click.rails",function(){var b=a(this);if(!h(b))return!1;var c=b.attr("name"),d=c?{name:c,value:b.val()}:null;b.closest("form").data("ujs:submit-button",d)}),a("form").live("ajax:beforeSend.rails",function(b){this==b.target&&f(a(this))}),a("form").live("ajax:complete.rails",function(b){this==b.target&&g(a(this))})})(jQuery)
