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