﻿/*!
 * lhgcore Dialog Plugin v3.1.1
 * Date : 2010-05-11 16:10:11
 * Copyright (c) 2009 - 2010 By Li Hui Gang
 */
(function(a){function x(){return a.browser.ie?a.browser.i7?"":"javascript:''":"javascript:void(0);"}function y(){v||(v=999);return++v}function C(){var f=a.root(m);a(u).css({width:Math.max(f.scrollWidth,f.clientWidth||0)-1+"px",height:Math.max(f.scrollHeight,f.clientHeight||0)-1+"px"})}function H(){a(s).remove();s=null;if(u){a(u).remove();u=null}}a.ui=a.ui||{};for(var n=window,u,m,s,v,D=0;n.parent!=n;)n=n.parent;m=n.document;a.fn.fixie6png=function(){for(var f=a("*",this),t,d=0,E=f.length;d<E;d++){t=a(f[d]).css("backgroundImage");if(t.indexOf(".png")!==-1){t=t.replace(/url\(|"|\)/g,"");f[d].style.backgroundImage="none";f[d].runtimeStyle.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+t+"',sizingMethod='scale')"}}};a.ui.getScrollSize=function(f){f=f||window;if("pageXOffset"in f)return{x:f.pageXOffset||0,y:f.pageYOffset||0};else{f=a.root(f.document);return{x:f.scrollLeft||0,y:f.scrollTop||0}}};a.ui.getClientSize=function(f){f=f||window;f=a.root(f.document);return{w:f.clientWidth||0,h:f.clientHeight||0}};a.fn.dialog=function(f){var t=false;if(this[0])t=new a.ui.dialog(f,this[0]);return t};a.ui.dialog=function(f,t){var d=this.opt=a.extend({height:300,width:400,id:"lhgdlgId",event:"click",link:false,btns:true,fixed:false,drag:true,resize:true,top:"center",left:"center",title:"lhgdialog",regDragWindow:[]},f||{});if(d.SetTopWindow){n=d.SetTopWindow;m=n.document}if(D===0){if(a.browser.ie&&!a.browser.i7)try{m.execCommand("BackgroundImageCache",false,true)}catch(E){}D+=1}var c=this,z="",F,G=a.browser.ie&&!a.browser.i7?'<iframe hideFocus="true" frameborder="0" src="'+x()+'" style="position:absolute;z-index:-1;width:100%;height:100%;top:0px;left:0px;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0)"></iframe>':"";if(d.html)z=typeof d.html==="string"?'<div id="inbox" class="inbox" style="display:none">'+d.html+"</div>":'<div id="inbox" class="inbox" style="display:none"></div>';else if(d.page)z=['<iframe frameborder="0" src="',d.page,'" scrolling="auto" id="lhgfrm" style="display:none;width:100%;height:100%;"></iframe>'].join("");F=['<div id="',d.id,'" class="lhgdig" style="width:',d.width,"px;height:",d.height,'px;"><table border="0" cellspacing="0" cellpadding="0"><tr><td class="leftTop"></td><td id="drag" class="top"><div class="title">',d.title,'</div><div id="xbtn" class="xbtn"></div></td><td class="rightTop"></td></tr><tr><td class="left" id="digLeft"></td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td id="content" class="content">',z,'<div id="throbber" class="throbber"><span id="load">加载中...</span></div></td></tr>',d.btns?'<tr><td id="btns" class="btns"><div id="bDiv" class="bDiv"></div></td></tr>':"",'</table></td><td class="right"></td></tr><tr><td class="leftBottom"></td><td class="bottom"></td><td id="drop" class="rightBottom"></td></tr></table>',G,"</div>"].join("");s||(s=a('<div id="cDiv" style="position:absolute;top:0px;left:0px;border:1px solid #000;background-color:#999;display:none;"></div>',m).css("opacity",0.3).appendTo("body").bind("contextmenu",function(b){b.preventDefault()})[0]);this.ShowDialog=function(){if(!a("#"+d.id,m)[0]){d.cover&&this.ShowCover();var b=d.fixed&&(!a.browser.ie||a.browser.i7)?"fixed":"absolute";this.dlg=a(F,m).css({position:b,zIndex:y()}).appendTo(m.body)[0];this.iPos(this.dlg,d.top,d.left,d.fixed);this.setDialog(this.dlg);d.html&&d.cusfn&&d.cusfn();d.drag&&this.initDrag(a("#drag",this.dlg)[0]);d.resize&&this.initSize(a("#drop",this.dlg)[0]);if(a.browser.ie&&!a.browser.i7)(a("html",m).css("ie6PngRepair")==="true"?true:false)&&a(this.dlg).fixie6png();this.reContentSize(this.dlg);if(d.html){a("#throbber",this.dlg).css("display","none");a("#inbox",this.dlg)[0].style.display="inline-block"}}};this.iPos=function(b,h,i,p){var k=a.ui.getClientSize(n),l=a.ui.getScrollSize(n),g=b.offsetWidth,o=b.offsetHeight;if(p){if(a.browser.ie&&!a.browser.i7){a("html",m).addClass("lhgdig_ie6_fixed");a('<div class="lhgdig_warp"></div>',m).appendTo(m.body).append(b).css("zIndex",y())}lx=0;rx=k.w-g;cx=(rx-20)/2;ty=0;by=k.h-o;cy=(by-20)/2}else{lx=l.x;cx=l.x+(k.w-g-20)/2;rx=l.x+k.w-g;ty=l.y;cy=l.y+(k.h-o-20)/2;by=l.y+k.h-o}switch(i){case"center":i=cx;break;case"left":i=lx;break;case"right":i=rx;break;default:if(p)i-=l.x;i=i;break}switch(h){case"center":h=cy;break;case"top":h=ty;break;case"bottom":h=by;break;default:if(p)h-=l.y;h=h;break}a(b).css({top:h+"px",left:i+"px"})};this.setDialog=function(b){this.win=window;this.top=n;a(b).bind("contextmenu",function(h){h.preventDefault()}).bind("mousedown",c.setIndex);a("#xbtn",b).hover(function(){a(this).addClass("xbtnover")},function(){a(this).removeClass("xbtnover")}).click(c.cancel);d.html&&d.html.nodeType&&a("#inbox",b).append(d.html);this.regWindow=[window];d.regDragWindow.length>0&&this.regWindow.push(d.regDragWindow);n!=window&&this.regWindow.push(n);if(d.page){this.infrm=a("#lhgfrm",b)[0];a(this.infrm).bind("load",function(){a("#throbber",c.dlg)[0].style.display="none";this.style.display="block"});if(!d.link){this.inwin=this.infrm.contentWindow;this.infrm.dg=this;this.regWindow.push(this.inwin);a(a.browser.ie?this.inwin.document:this.inwin).bind("mousedown",c.setIndex)}}};this.reContentSize=function(b,h){var i=a("#drag",b)[0].offsetHeight,p=a("#drop",b)[0].offsetHeight,k=a("#digLeft",b)[0].offsetWidth*2,l=d.btns?a("#btns",b)[0].offsetHeight:0;k=b.offsetWidth-k;i=(h?h:b.offsetHeight)-i-p-l;a("#content",b).css({width:k+"px",height:i+"px"});this.SetLoadLeft()};this.reDialogSize=function(b,h){a(this.dlg).css({width:b+"px",height:h+"px"});this.reContentSize(this.dlg,a.browser.ie&&!a.browser.i7?h:"")};this.initDrag=function(b){function h(e){e={x:e.screenX,y:e.screenY};g={x:g.x+(e.x-p.x),y:g.y+(e.y-p.y)};p=e;if(d.rang){if(g.x<q.x)g.x=q.x;if(g.y<q.y)g.y=q.y;if(g.x>k)g.x=k;if(g.y>l)g.y=l}a(s).css({left:g.x+"px",top:g.y+"px"})}function i(){for(var e=0,j=o.length;e<j;e++){a(o[e].document).unbind("mousemove",h);a(o[e].document).unbind("mouseup",i)}a.browser.ie&&s.releaseCapture();s.style.display="none";b=p=null;c.opt.fixed?a(c.dlg).css({left:g.x-q.x+"px",top:g.y-q.y+"px"}):a(c.dlg).css({left:g.x+"px",top:g.y+"px"})}var p,k,l,g,o=this.regWindow,r,q;a(b).bind("mousedown",function(e){if(e.target.id!=="xbtn"){r=a.ui.getClientSize(n);q=a.ui.getScrollSize(n);var j=c.dlg.offsetLeft,w=c.dlg.offsetTop,A=c.dlg.clientWidth,B=c.dlg.clientHeight;g=c.opt.fixed?{x:j+q.x,y:w+q.y}:{x:j,y:w};p={x:e.screenX,y:e.screenY};k=c.opt.fixed?r.w-A:r.w+q.x-A;l=c.opt.fixed?r.h-B:r.h+q.y-B;a(s).css({width:A-2+"px",height:B-2+"px",left:g.x+"px",top:g.y+"px",zIndex:parseInt(v,10)+2,display:""});j=0;for(w=o.length;j<w;j++){a(o[j].document).bind("mousemove",h);a(o[j].document).bind("mouseup",i)}e.preventDefault();a.browser.ie&&s.setCapture()}})};this.initSize=function(b){function h(e){e={x:e.screenX,y:e.screenY};r={w:e.x-p.x,h:e.y-p.y};if(r.w<200)r.w=200;if(r.h<100)r.h=100;a(s).css({width:r.w+"px",height:r.h+"px",top:g.y+"px",left:g.x+"px"})}function i(){for(var e=0,j=o.length;e<j;e++){a(o[e].document).unbind("mousemove",h);a(o[e].document).unbind("mouseup",i)}a.browser.ie&&s.releaseCapture();c.reDialogSize(r.w,r.h);s.style.display="none";b=p=null}var p,k,l,g,o=this.regWindow,r,q;a(b).bind("mousedown",function(e){l=c.dlg.clientWidth;k=c.dlg.clientHeight;a.ui.getClientSize(n);q=a.ui.getScrollSize(n);var j=c.dlg.offsetLeft,w=c.dlg.offsetTop;g=c.opt.fixed?{x:j+q.x,y:w+q.y}:{x:j,y:w};p={x:e.screenX-l,y:e.screenY-k};a(s).css({width:l-2+"px",height:k-2+"px",left:g.x+"px",top:g.y+"px",zIndex:parseInt(v,10)+2,display:""});j=0;for(w=o.length;j<w;j++){a(o[j].document).bind("mousemove",h);a(o[j].document).bind("mouseup",i)}e.preventDefault();a.browser.ie&&s.setCapture()})};this.setIndex=function(b){if(c.opt.fixed&&a.browser.ie&&!a.browser.i7){a(c.dlg).parent()[0].style.zIndex=parseInt(v,10)+1;v=parseInt(a(c.dlg).parent()[0].style.zIndex,10)}else{c.dlg.style.zIndex=parseInt(v,10)+1;v=parseInt(c.dlg.style.zIndex,10)}b.stopPropagation()};this.SetLoadLeft=function(){var b=(a("#content",this.dlg)[0].offsetWidth-a("#load",this.dlg)[0].offsetWidth)/2;a("#load",this.dlg)[0].style.left=b+"px"};this.addBtn=function(b,h,i){if(a("#"+b,this.dlg)[0])a("#"+b,this.dlg).html("<em>"+h+"</em>").click(i);else{b=a('<a id="'+b+'" class="button" href="javascript:void(0)" hidefocus="true"><em>'+h+"</em></a>",m).click(i)[0];a("#bDiv",this.dlg).append(b)}};this.removeBtn=function(b){a("#"+b,this.dlg)[0]&&a("#"+b,this.dlg).remove()};this.reload=function(b,h){b=b||window;c.cancel();b.location.href=h?h:b.location.href};this.ShowCover=function(){if(!u){var b=['<div style="position:absolute;top:0px;left:0px;background-color:#fff;">',G,"</div>"].join("");u=a(b,m).css("opacity",0.5).appendTo(m.body)[0]}a(n).bind("resize",C);C();a(u).css({display:"",zIndex:y()})};this.cancel=function(){var b=a("#lhgfrm",c.dlg)[0];if(b){c.opt.link||a(b.contentWindow).unbind("load");b.src=x()}c.regWindow=[];if(c.opt.fixed&&a.browser.ie&&!a.browser.i7){a("html",m).removeClass("lhgdig_ie6_fixed");a(c.dlg).parent().remove()}else a(c.dlg).remove();c.dlg=null;if(u)if(c.opt.parent&&c.opt.parent.opt.cover)u.style.zIndex=parseInt(c.opt.parent.dlg.style.zIndex,10)-1;else u.style.display="none"};this.cleanDialog=function(){if(c.dlg){var b=a("#lhgfrm",c.dlg)[0];if(b){c.opt.link||a(b.contentWindow).unbind("load");b.src=x()}if(c.opt.fixed&&a.browser.ie&&!a.browser.i7){a("html",m).removeClass("lhgdig_ie6_fixed");a(c.dlg).parent().remove()}else a(c.dlg).remove();c.dlg=null}};a(window).bind("unload",this.cleanDialog);t&&a(t).bind(d.event,function(){c.ShowDialog()})};a(window).bind("unload",H)})(lhgcore);
