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