(function(n){n.prompt=function(t,i){var s,h;i=n.extend({},n.prompt.defaults,i),n.prompt.currentPrefix=i.prefix;var e=n.browser.msie&&n.browser.version<7,v=n(document.body),o=n(window);i.classes=n.trim(i.classes),i.classes!=""&&(i.classes=" "+i.classes),s='<div class="'+i.prefix+"box"+i.classes+'" id="'+i.prefix+'box">',i.useiframe&&(n("object, applet").length>0||e)?s+='<iframe src="javascript:false;" style="display:block;position:absolute;z-index:-1;" class="'+i.prefix+'fade" id="'+i.prefix+'fade"></iframe>':(e&&n("select").css("visibility","hidden"),s+='<div class="'+i.prefix+'fade" id="'+i.prefix+'fade"></div>'),s+='<div class="'+i.prefix+'" id="'+i.prefix+'"><div class="'+i.prefix+'container"><div class="',s+=i.prefix+'close">X</div><div id="'+i.prefix+'states"></div>',s+="</div></div></div>";var r=n(s).appendTo(v),u=r.children("#"+i.prefix),f=r.children("#"+i.prefix+"fade");t.constructor==String&&(t={state0:{html:t,buttons:i.buttons,focus:i.focus,submit:i.submit}}),h="",n.each(t,function(r,u){u=n.extend({},n.prompt.defaults.state,u),t[r]=u,h+='<div id="'+i.prefix+"_state_"+r+'" class="'+i.prefix+'_state" style="display:none;"><div class="'+i.prefix+'message">'+u.html+'</div><div class="'+i.prefix+'buttons">',n.each(u.buttons,function(n,t){h+=typeof t=="object"?'<button name="'+i.prefix+"_"+r+"_button"+t.title.replace(/[^a-z0-9]+/gi,"")+'" id="'+i.prefix+"_"+r+"_button"+t.title.replace(/[^a-z0-9]+/gi,"")+'" value="'+t.value+'">'+t.title+"</button>":'<button name="'+i.prefix+"_"+r+"_button"+n+'" id="'+i.prefix+"_"+r+"_button"+n+'" value="'+t+'">'+n+"</button>"}),h+="</div></div>"}),u.find("#"+i.prefix+"states").html(h).children("."+i.prefix+"_state:first").css("display","block"),u.find("."+i.prefix+"buttons:empty").css("display","none"),n.each(t,function(t,r){var f=u.find("#"+i.prefix+"_state_"+t);f.children("."+i.prefix+"buttons").children("button").click(function(){var h=f.children("."+i.prefix+"message"),e=r.buttons[n(this).text()],s,t,o;if(e==undefined)for(s in r.buttons)r.buttons[s].title==n(this).text()&&(e=r.buttons[s].value);typeof e=="object"&&(e=e.value),t={},n.each(u.find("#"+i.prefix+"states :input").serializeArray(),function(n,i){t[i.name]===undefined?t[i.name]=i.value:typeof t[i.name]==Array||typeof t[i.name]=="object"?t[i.name].push(i.value):t[i.name]=[t[i.name],i.value]}),o=r.submit(e,h,t),(o===undefined||o)&&a(!0,e,h,t)}),f.find("."+i.prefix+"buttons button:eq("+r.focus+")").addClass(i.prefix+"defaultbutton")});var y=function(){r.css({top:o.scrollTop()})},c=function(){var t,n;i.persistent?(t=0,r.addClass(i.prefix+"warning"),n=setInterval(function(){r.toggleClass(i.prefix+"warning"),t++>1&&(clearInterval(n),r.removeClass(i.prefix+"warning"))},100)):a()},p=function(t){var f=window.event?event.keyCode:t.keyCode;f==27&&c();if(f==9){var i=n(":input:enabled:visible",r),e=!t.shiftKey&&t.target==i[i.length-1],u=t.shiftKey&&t.target==i[0];if(e||u)return setTimeout(function(){if(!i)return;var n=i[u===!0?i.length-1:0];n&&n.focus()},10),!1}},l=function(){r.css({position:e?"absolute":"fixed",height:o.height(),width:"100%",top:e?o.scrollTop():0,left:0,right:0,bottom:0}),f.css({position:"absolute",height:o.height(),width:"100%",top:0,left:0,right:0,bottom:0}),u.css({position:"absolute",top:i.top,left:"50%",marginLeft:u.outerWidth()/-2})},w=function(){f.css({zIndex:i.zIndex,display:"none",opacity:i.opacity}),u.css({zIndex:i.zIndex+1,display:"none"}),r.css({zIndex:i.zIndex})},a=function(t,s,h,a){u.remove(),e&&v.unbind("scroll",y),o.unbind("resize",l),f.fadeOut(i.overlayspeed,function(){f.unbind("click",c),f.remove(),t&&i.callback(s,h,a),r.unbind("keypress",p),r.remove(),e&&!i.useiframe&&n("select").css("visibility","visible")})};return l(),w(),e&&o.scroll(y),f.click(c),o.resize(l),r.bind("keydown keypress",p),u.find("."+i.prefix+"close").click(a),f.fadeIn(i.overlayspeed),u[i.show](i.promptspeed,i.loaded),u.find("#"+i.prefix+"states ."+i.prefix+"_state:first ."+i.prefix+"defaultbutton").focus(),i.timeout>0&&setTimeout(n.prompt.close,i.timeout),r},n.prompt.defaults={prefix:"jqi",classes:"",buttons:{Ok:!0},loaded:function(){},submit:function(){return!0},callback:function(){},opacity:.6,zIndex:999,overlayspeed:"slow",promptspeed:"fast",show:"fadeIn",focus:0,useiframe:!1,top:"15%",persistent:!0,timeout:0,state:{html:"",buttons:{Ok:!0},focus:0,submit:function(){return!0}}},n.prompt.currentPrefix=n.prompt.defaults.prefix,n.prompt.setDefaults=function(t){n.prompt.defaults=n.extend({},n.prompt.defaults,t)},n.prompt.setStateDefaults=function(t){n.prompt.defaults.state=n.extend({},n.prompt.defaults.state,t)},n.prompt.getStateContent=function(t){return n("#"+n.prompt.currentPrefix+"_state_"+t)},n.prompt.getCurrentState=function(){return n("."+n.prompt.currentPrefix+"_state:visible")},n.prompt.getCurrentStateName=function(){var t=n.prompt.getCurrentState().attr("id");return t.replace(n.prompt.currentPrefix+"_state_","")},n.prompt.goToState=function(t,i){n("."+n.prompt.currentPrefix+"_state").slideUp("slow"),n("#"+n.prompt.currentPrefix+"_state_"+t).slideDown("slow",function(){n(this).find("."+n.prompt.currentPrefix+"defaultbutton").focus(),typeof i=="function"&&i()})},n.prompt.nextState=function(t){var i=n("."+n.prompt.currentPrefix+"_state:visible").next();n("."+n.prompt.currentPrefix+"_state").slideUp("slow"),i.slideDown("slow",function(){i.find("."+n.prompt.currentPrefix+"defaultbutton").focus(),typeof t=="function"&&t()})},n.prompt.prevState=function(t){var i=n("."+n.prompt.currentPrefix+"_state:visible").prev();n("."+n.prompt.currentPrefix+"_state").slideUp("slow"),i.slideDown("slow",function(){i.find("."+n.prompt.currentPrefix+"defaultbutton").focus(),typeof t=="function"&&t()})},n.prompt.close=function(){n("#"+n.prompt.currentPrefix+"box").fadeOut("fast",function(){n(this).remove()})},n.fn.prompt=function(t){t==undefined&&(t={}),t.withDataAndEvents==undefined&&(t.withDataAndEvents=!1),n.prompt(n(this).clone(t.withDataAndEvents).html(),t)}})(jQuery)
