/*
 * jQuery confirm plug-in
 *
 * http://blog.smartnetwork.co.jp/staff/jquery-confirm-plugin
 */
(function($){
  jQuery.fn.confirm = function(config){
    config = jQuery.extend({
      },config);
    this.each(function(){
      var form = this;
      $.data(form, "dialog", $(form).find("[class='dialog']").get(0));
      $(this).find(":submit").each(function(){
        var name = $(this).attr("name");
        var dialog = $(form).find(".dialog_" + name);
        if(dialog.size() > 0){
          $.data(this, "dialog", dialog.get(0));
        }
      });
      $(this).find(".dialog").each(function(){
        $(this).dialog({
          title: $(this).attr("title"),
          buttons: {
            キャンセル: function(){
              $.removeData(form, "confirmed");
              $.removeData(form, "clicked_button");
              $(this).dialog("close");
            },
            OK: function(){
              $.data(form, "confirmed", true);
              var button = $.data(form, "clicked_button");
              if(button){
                $(button).click();
              }else{
                form.submit();
              }
            }
          },
          autoOpen: false
        });
      });
      $(this).submit(function(event){
        if(! $.data(this, "confirmed")){
          var submit = $.data(form, "clicked_button");
          var dialog = $.data(submit, "dialog") || $.data(form, "dialog");
          $(dialog).dialog("open");
          event.preventDefault();
        }
      });
      $(this).find(":submit").click(function(){
        $.data(form, "clicked_button", this);
      });
    });
  };
})(jQuery);

