jQuery.fn.initConfirmer=function(E){if(!E){E=[]}var C=this;C.opts=jQuery.extend({initialText:"PLEASE SET .initialText='Button Label'",confirmText:"Confirm: "+E.initialText,timeout:3000,onconfirm:null,ontimeout:null,debuggering:false},E);C.dbgdiv=null;function A(F){if(C.dbgdiv){C.dbgdiv.prepend("Confirmer debug: "+F+"<br/>")}}if(C.opts.debuggering){C.after("<div id='ConfirmerDebugDiv'>Confirmer debugging area</div>");C.dbgdiv=jQuery("#ConfirmerDebugDiv");C.dbgdiv.css("border","1px dashed #000");A("debugging activated.")}function B(I,H){var G=this;G.target=I;G.opts=H;var F={initial:0,waiting:1};G.state=F.initial;G.target.html(G.opts.initialText);G.doTimeout=function(){if(G.state!=F.waiting){return }G.state=F.initial;A("Timeout triggered.");G.target.html(G.opts.initialText);if(G.opts.ontimeout){G.opts.ontimeout()}};G.target.click(function(){switch(G.state){case (F.waiting):G.state=F.initial;A("Confirmed");G.target.html(G.opts.initialText);if(G.opts.onconfirm){G.opts.onconfirm()}break;case (F.initial):G.state=F.waiting;A("Waiting on confirmation...");G.target.html(G.opts.confirmText);var J=jQuery.fn.initConfirmer.currentID++;jQuery.fn.initConfirmer.ids[J]=G;setTimeout("jQuery.fn.initConfirmer.bogusTimeoutHandler("+J+")",G.opts.timeout);break;default:break}})}var D=new B(this,C.opts);return C};jQuery.fn.initConfirmer.ids=[];jQuery.fn.initConfirmer.currentID=0;jQuery.fn.initConfirmer.bogusTimeoutHandler=function(A){var B=jQuery.fn.initConfirmer.ids[A];delete jQuery.fn.initConfirmer.ids[A];B.doTimeout()}
