(function($){
$.fn.jqm=function(o){
var _o={zIndex:3000,overlay:50,overlayClass:"jqmOverlay",closeClass:"jqmClose",trigger:".jqModal",ajax:false,target:false,modal:false,onShow:false,onHide:false,onLoad:false};
return this.each(function(){
if(this._jqm){
return;
}
s++;
this._jqm=s;
H[s]={c:$.extend(_o,o),a:false,w:$(this).addClass("jqmID"+s),s:s};
if(_o.trigger){
$(this).jqmAddTrigger(_o.trigger);
}
});
};
$.fn.jqmAddClose=function(e){
hs(this,e,"jqmHide");
return this;
};
$.fn.jqmAddTrigger=function(e){
hs(this,e,"jqmShow");
return this;
};
$.fn.jqmShow=function(t){
return this.each(function(){
if(!H[this._jqm].a){
$.jqm.open(this._jqm,t);
}
});
};
$.fn.jqmHide=function(t){
return this.each(function(){
if(H[this._jqm].a){
$.jqm.close(this._jqm,t);
}
});
};
$.jqm={hash:{},open:function(s,t){
var h=H[s],c=h.c,cc="."+c.closeClass,z=(/^\d+$/.test(h.w.css("z-index")))?h.w.css("z-index"):c.zIndex,o=$("<div></div>").css({height:"100%",width:"100%",position:"fixed",left:0,top:0,"z-index":z-1,opacity:c.overlay/100});
h.t=t;
h.a=true;
h.w.css("z-index",z);
if(c.modal){
if(!A[0]){
F("bind");
}
A.push(s);
o.css("cursor","wait");
}else{
if(c.overlay>0){
h.w.jqmAddClose(o);
}else{
o=false;
}
}
h.o=(o)?o.addClass(c.overlayClass).appendTo("body"):false;
if(ie6){
$("html,body").css({height:"100%",width:"100%"});
if(o){
o=o.css({position:"absolute"})[0];
for(var y in {Top:1,Left:1}){
o.style.setExpression(y.toLowerCase(),"(_=(document.documentElement.scroll"+y+" || document.body.scroll"+y+"))+'px'");
}
}
}
if(c.ajax){
var r=c.target,u=c.ajax;
r=(r)?(typeof r=="string")?$(r,h.w):$(r):h.w;
u=(u.substr(0,1)=="@")?$(t).attr(u.substring(1)):u;
r.load(u,function(){
if(c.onLoad){
c.onLoad.call(this,h);
}
if(cc){
h.w.jqmAddClose($(cc,h.w));
}
e(h);
});
}else{
if(cc){
h.w.jqmAddClose($(cc,h.w));
}
}
(c.onShow)?c.onShow(h):h.w.show();
e(h);
return false;
},close:function(s){
var h=H[s];
h.a=false;
if(A[0]){
A.pop();
if(!A[0]){
F("unbind");
}
}
if(h.c.onHide){
h.c.onHide(h);
}else{
h.w.hide();
if(h.o){
h.o.remove();
}
}
return false;
}};
var s=0,H=$.jqm.hash,A=[],ie6=$.browser.msie&&($.browser.version=="6.0"),i=$("<iframe src=\"javascript:false;document.write('');\" class=\"jqm\"></iframe>").css({opacity:0}),e=function(h){
if(ie6){
if(h.o){
h.o.html("<p style=\"width:100%;height:100%\"/>").prepend(i);
}else{
if(!$("iframe.jqm",h.w)[0]){
h.w.prepend(i);
}
}
}
f(h);
},f=function(h){
h.f=$(":input:visible:first",h.w)[0];
if(h.f){
h.f.focus();
}
},F=function(t){
$()[t]("keypress",m)[t]("keydown",m)[t]("mousedown",m);
},m=function(e){
var h=H[A[A.length-1]],r=(!$(e.target).parents(".jqmID"+h.s)[0]);
if(r){
f(h);
}
return !r;
},hs=function(w,e,y){
var s=[];
w.each(function(){
s.push(this._jqm);
});
$(e).each(function(){
if(this[y]){
$.extend(this[y],s);
}else{
this[y]=s;
$(this).click(function(){
for(var i in {jqmShow:1,jqmHide:1}){
for(var s in this[i]){
if(H[this[i][s]]){
H[this[i][s]].w[i](this);
}
}
}
return false;
});
}
});
};
})(jQuery);

