(function(c){var b=c.browser.msie&&parseInt(c.browser.version)==6&&typeof window.XMLHttpRequest!="object",d=null,a=[];
c.modal=function(f,e){return c.modal.impl.init(f,e)
};
c.modal.close=function(){c.modal.impl.close()
};
c.fn.modal=function(e){return c.modal.impl.init(this,e)
};
c.modal.defaults={opacity:70,overlayId:"modalOverlay",overlayCss:{"background-color":"#000"},containerId:"modalContainer",containerCss:{},dataCss:{},zIndex:3000,close:true,closeHTML:'<a class="modalCloseImg" title="Close"></a>',closeClass:"simplemodal-close",position:null,persist:false,onOpen:null,onShow:null,onClose:null};
c.modal.impl={opts:null,dialog:{},init:function(f,e){if(this.dialog.data){return false
}d=c.browser.msie&&!c.boxModel;
this.opts=c.extend({},c.modal.defaults,e);
this.zIndex=this.opts.zIndex;
this.occb=false;
if(typeof f=="object"){f=f instanceof jQuery?f:c(f);
if(f.parent().parent().size()>0){this.dialog.parentNode=f.parent();
if(!this.opts.persist){this.dialog.orig=f.clone(true)
}}}else{if(typeof f=="string"||typeof f=="number"){f=c("<div/>").html(f)
}else{alert("SimpleModal Error: Unsupported data type: "+typeof f);
return false
}}this.dialog.data=f.addClass("simplemodal-data").css(this.opts.dataCss);
f=null;
this.create();
this.open();
if(c.isFunction(this.opts.onShow)){this.opts.onShow.apply(this,[this.dialog])
}return this
},create:function(){a=this.getDimensions();
if(b){this.dialog.iframe=c('<iframe src="javascript:false;"/>').css(c.extend(this.opts.iframeCss,{display:"none",opacity:0,position:"fixed",height:a[0],width:a[1],zIndex:this.opts.zIndex,top:0,left:0})).appendTo("form")
}this.dialog.overlay=c("<div/>").attr("id",this.opts.overlayId).addClass("modalOverlay").css(c.extend(this.opts.overlayCss,{display:"none",opacity:this.opts.opacity/100,height:a[0],width:a[1],position:"fixed",left:0,top:0,zIndex:this.opts.zIndex+1})).appendTo("form");
this.dialog.container=c("<div/>").attr("id",this.opts.containerId).addClass("modalContainer").css(c.extend(this.opts.containerCss,{display:"none",position:"fixed",zIndex:this.opts.zIndex+2})).append(this.opts.close?c(this.opts.closeHTML).addClass(this.opts.closeClass):"").appendTo("form");
this.setPosition();
if(b||d){this.fixIE()
}this.dialog.container.append(this.dialog.data.hide())
},bindEvents:function(){var e=this;
c("."+this.opts.closeClass).bind("click.simplemodal",function(f){f.preventDefault();
e.close()
});
c(window).bind("resize.simplemodal",function(){a=e.getDimensions();
e.setPosition();
if(b||d){e.fixIE()
}else{e.dialog.iframe&&e.dialog.iframe.css({height:a[0],width:a[1]});
e.dialog.overlay.css({height:a[0],width:a[1]})
}})
},unbindEvents:function(){c("."+this.opts.closeClass).unbind("click.simplemodal");
c(window).unbind("resize.simplemodal")
},fixIE:function(){var e=this.opts.position;
c.each([this.dialog.iframe||null,this.dialog.overlay,this.dialog.container],function(q,j){if(j){var o="document.body.clientHeight",t="document.body.clientWidth",v="document.body.scrollHeight",r="document.body.scrollLeft",m="document.body.scrollTop",h="document.body.scrollWidth",g="document.documentElement.clientHeight",p="document.documentElement.clientWidth",n="document.documentElement.scrollLeft",w="document.documentElement.scrollTop",x=j[0].style;
x.position="absolute";
if(q<2){x.removeExpression("height");
x.removeExpression("width")
}else{var l,f;
if(e&&e.constructor==Array){var u=e[0]?typeof e[0]=="number"?e[0].toString():e[0].replace(/px/,""):j.css("top").replace(/px/,"");
l=u.indexOf("%")==-1?u+" + (t = "+w+" ? "+w+" : "+m+') + "px"':parseInt(u.replace(/%/,""))+" * (("+g+" || "+o+") / 100) + (t = "+w+" ? "+w+" : "+m+') + "px"';
if(e[1]){var k=typeof e[1]=="number"?e[1].toString():e[1].replace(/px/,"");
f=k.indexOf("%")==-1?k+" + (t = "+n+" ? "+n+" : "+r+') + "px"':parseInt(k.replace(/%/,""))+" * (("+p+" || "+t+") / 100) + (t = "+n+" ? "+n+" : "+r+') + "px"'
}}else{l="("+g+" || "+o+") / 2 - (this.offsetHeight / 2) + (t = "+w+" ? "+w+" : "+m+') + "px"';
f="("+p+" || "+t+") / 2 - (this.offsetWidth / 2) + (t = "+n+" ? "+n+" : "+r+') + "px"'
}x.removeExpression("top");
x.removeExpression("left");
if(c(window).width()>600&&c(window).height()>600){x.setExpression("top",l);
x.setExpression("left",f)
}}}})
},getDimensions:function(){var f=c(window);
var e=c.browser.opera&&c.browser.version>"9.5"&&c.fn.jquery<="1.2.6"?document.documentElement.clientHeight:f.height();
return[e,f.width()]
},setPosition:function(){var h,g,f=(a[0]/2)-((this.dialog.container.height()||this.dialog.data.height())/2),e=(a[1]/2)-((this.dialog.container.width()||this.dialog.data.width())/2);
if(this.opts.position&&this.opts.position.constructor==Array){h=this.opts.position[0]||f;
g=this.opts.position[1]||e
}this.dialog.container.css({left:g,top:h})
},open:function(){this.dialog.iframe&&this.dialog.iframe.show();
if(c.isFunction(this.opts.onOpen)){this.opts.onOpen.apply(this,[this.dialog])
}else{this.dialog.overlay.show();
this.dialog.container.show();
this.dialog.data.show()
}this.bindEvents()
},close:function(){if(!this.dialog.data){return false
}if(c.isFunction(this.opts.onClose)&&!this.occb){this.occb=true;
this.opts.onClose.apply(this,[this.dialog])
}else{if(this.dialog.parentNode){if(this.opts.persist){this.dialog.data.hide().appendTo(this.dialog.parentNode)
}else{this.dialog.data.remove();
this.dialog.orig.appendTo(this.dialog.parentNode)
}}else{this.dialog.data.remove()
}this.dialog.container.remove();
this.dialog.overlay.remove();
this.dialog.iframe&&this.dialog.iframe.remove();
this.dialog={}
}this.unbindEvents()
}}
})(jQuery);