jQuery.fn.showLoading=function(e){var t,r={addClass:"",beforeShow:"",afterShow:"",hPos:"center",vPos:"center",indicatorZIndex:5001,overlayZIndex:5e3,parent:"",marginTop:0,marginLeft:0,overlayWidth:null,overlayHeight:null};jQuery.extend(r,e);var s,o,i=jQuery("<div></div>"),a=jQuery("<div></div>");t=r.indicatorID?r.indicatorID:jQuery(this).attr("id"),jQuery(i).attr("id","loading-indicator-"+t),jQuery(i).addClass("loading-indicator"),r.addClass&&jQuery(i).addClass(r.addClass),jQuery(a).css("display","none"),jQuery(document.body).append(a),jQuery(a).attr("id","loading-indicator-"+t+"-overlay"),jQuery(a).addClass("loading-indicator-overlay"),r.addClass&&jQuery(a).addClass(r.addClass+"-overlay");var n=jQuery(this).css("border-top-width"),d=jQuery(this).css("border-left-width");n=isNaN(parseInt(n))?0:n,d=isNaN(parseInt(d))?0:d;var y=jQuery(this).offset().left+parseInt(d),u=jQuery(this).offset().top+parseInt(n);s=null!==r.overlayWidth?r.overlayWidth:parseInt(jQuery(this).width())+parseInt(jQuery(this).css("padding-right"))+parseInt(jQuery(this).css("padding-left")),o=null!==r.overlayHeight?r.overlayWidth:parseInt(jQuery(this).height())+parseInt(jQuery(this).css("padding-top"))+parseInt(jQuery(this).css("padding-bottom")),jQuery(a).css("width",s.toString()+"px"),jQuery(a).css("height",o.toString()+"px"),jQuery(a).css("left",y.toString()+"px"),jQuery(a).css("position","absolute"),jQuery(a).css("top",u.toString()+"px"),jQuery(a).css("z-index",r.overlayZIndex),r.overlayCSS&&jQuery(a).css(r.overlayCSS),jQuery(i).css("display","none"),jQuery(document.body).append(i),jQuery(i).css("position","absolute"),jQuery(i).css("z-index",r.indicatorZIndex);var j=u;r.marginTop&&(j+=parseInt(r.marginTop));var p=y;r.marginLeft&&(p+=parseInt(r.marginTop)),"center"==r.hPos.toString().toLowerCase()?jQuery(i).css("left",(p+(jQuery(a).width()-parseInt(jQuery(i).width()))/2).toString()+"px"):"left"==r.hPos.toString().toLowerCase()?jQuery(i).css("left",(p+parseInt(jQuery(a).css("margin-left"))).toString()+"px"):"right"==r.hPos.toString().toLowerCase()?jQuery(i).css("left",(p+(jQuery(a).width()-parseInt(jQuery(i).width()))).toString()+"px"):jQuery(i).css("left",(p+parseInt(r.hPos)).toString()+"px"),"center"==r.vPos.toString().toLowerCase()?jQuery(i).css("top",(j+(jQuery(a).height()-parseInt(jQuery(i).height()))/2).toString()+"px"):"top"==r.vPos.toString().toLowerCase()?jQuery(i).css("top",j.toString()+"px"):"bottom"==r.vPos.toString().toLowerCase()?jQuery(i).css("top",(j+(jQuery(a).height()-parseInt(jQuery(i).height()))).toString()+"px"):jQuery(i).css("top",(j+parseInt(r.vPos)).toString()+"px"),r.css&&jQuery(i).css(r.css);var Q={overlay:a,indicator:i,element:this};return"function"==typeof r.beforeShow&&r.beforeShow(Q),jQuery(a).show(),jQuery(i).show(),"function"==typeof r.afterShow&&r.afterShow(Q),this},jQuery.fn.hideLoading=function(e){var t={};return jQuery.extend(t,e),indicatorID=t.indicatorID?t.indicatorID:jQuery(this).attr("id"),jQuery(document.body).find("#loading-indicator-"+indicatorID).remove(),jQuery(document.body).find("#loading-indicator-"+indicatorID+"-overlay").remove(),this};