You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
6.8 KiB
1 lines
6.8 KiB
(function($,window,artDialog,undefined){var _topDialog,_proxyDialog,_zIndex,_data="@ARTDIALOG.DATA",_open="@ARTDIALOG.OPEN",_opener="@ARTDIALOG.OPENER",_winName=window.name=window.name||"@ARTDIALOG.WINNAME"+(new Date).getTime(),_isIE6=window.VBArray&&!window.XMLHttpRequest;$(function(){!window.jQuery&&document.compatMode==="BackCompat"&&alert('artDialog Error: document.compatMode === "BackCompat"')});var _top=artDialog.top=function(){var top=window,test=function(name){try{var doc=window[name].document;doc.getElementsByTagName}catch(e){return false}return window[name].artDialog&&doc.getElementsByTagName("frameset").length===0};if(test("top")){top=window.top}else{if(test("parent")){top=window.parent}}return top}();artDialog.parent=_top;_topDialog=_top.artDialog;_zIndex=function(){return _topDialog.defaults.zIndex};artDialog.data=function(name,value){var top=artDialog.top,cache=top[_data]||{};top[_data]=cache;if(value){cache[name]=value}else{return cache[name]}return cache};artDialog.removeData=function(name){var cache=artDialog.top[_data];if(cache&&cache[name]){delete cache[name]}};artDialog.through=_proxyDialog=function(){var api=_topDialog.apply(this,arguments);if(_top!==window){artDialog.list[api.config.id]=api}return api};_top!==window&&$(window).bind("unload",function(){var list=artDialog.list,config;for(var i in list){if(list[i]){config=list[i].config;if(config){config.duration=0}list[i].close();delete list[i]}}});artDialog.open=function(url,options,cache){options=options||{};var api,DOM,$content,$main,iframe,$iframe,$idoc,iwin,ibody,top=artDialog.top,initCss="position:absolute;left:-9999em;top:-9999em;border:none 0;background:transparent",loadCss="width:100%;height:100%;border:none 0";if(cache===false){var ts=(new Date()).getTime(),ret=url.replace(/([?&])_=[^&]*/,"$1_="+ts);url=ret+((ret===url)?(/\?/.test(url)?"&":"?")+"_="+ts:"")}var load=function(){var iWidth,iHeight,loading=DOM.content.find(".aui_loading"),aConfig=api.config;$content.addClass("aui_state_full");loading&&loading.hide();try{iwin=iframe.contentWindow;$idoc=$(iwin.document);ibody=iwin.document.body}catch(e){iframe.style.cssText=loadCss;aConfig.follow?api.follow(aConfig.follow):api.position(aConfig.left,aConfig.top);options.init&&options.init.call(api,iwin,top);options.init=null;return}iWidth=aConfig.width==="auto"?$idoc.width()+(_isIE6?0:parseInt($(ibody).css("marginLeft"))):aConfig.width;iHeight=aConfig.height==="auto"?$idoc.height():aConfig.height;setTimeout(function(){iframe.style.cssText=loadCss},0);api.size(iWidth,iHeight);aConfig.follow?api.follow(aConfig.follow):api.position(aConfig.left,aConfig.top);options.init&&options.init.call(api,iwin,top);options.init=null};var config={zIndex:_zIndex(),init:function(){api=this;DOM=api.DOM;$main=DOM.main;$content=DOM.content;iframe=api.iframe=top.document.createElement("iframe");iframe.src=url;iframe.name="Open"+api.config.id;iframe.style.cssText=initCss;iframe.setAttribute("frameborder",0,0);iframe.setAttribute("allowTransparency",true);$iframe=$(iframe);api.content().appendChild(iframe);iwin=iframe.contentWindow;try{iwin.name=iframe.name;artDialog.data(iframe.name+_open,api);artDialog.data(iframe.name+_opener,window)}catch(e){}$iframe.bind("load",load)},close:function(){$iframe.css("display","none").unbind("load",load);if(options.close&&options.close.call(this,iframe.contentWindow,top)===false){return false}$content.removeClass("aui_state_full");$iframe[0].src="about:blank";$iframe.remove();try{artDialog.removeData(iframe.name+_open);artDialog.removeData(iframe.name+_opener)}catch(e){}}};if(typeof options.ok==="function"){config.ok=function(){return options.ok.call(api,iframe.contentWindow,top)}}if(typeof options.cancel==="function"){config.cancel=function(){return options.cancel.call(api,iframe.contentWindow,top)}}delete options.content;for(var i in options){if(config[i]===undefined){config[i]=options[i]}}return _proxyDialog(config)};artDialog.open.api=artDialog.data(_winName+_open);artDialog.opener=artDialog.data(_winName+_opener)||window;artDialog.open.origin=artDialog.opener;artDialog.close=function(){var api=artDialog.data(_winName+_open);api&&api.close();return false};_top!=window&&$(document).bind("mousedown",function(){var api=artDialog.open.api;api&&api.focus(true)});artDialog.load=function(url,options,cache){cache=cache||false;var opt=options||{};var config={zIndex:_zIndex(),init:function(here){var api=this,aConfig=api.config;$.ajax({url:url,success:function(content){api.content(content);opt.init&&opt.init.call(api,here)},cache:cache})}};delete options.content;for(var i in opt){if(config[i]===undefined){config[i]=opt[i]}}return _proxyDialog(config)};artDialog.alert=function(content){return _proxyDialog({id:"Alert",zIndex:_zIndex(),icon:"warning",fixed:true,lock:true,content:content,ok:true})};artDialog.confirm=function(content,yes,no){return _proxyDialog({id:"Confirm",zIndex:_zIndex(),icon:"question",fixed:true,lock:true,opacity:0.1,content:content,ok:function(here){return yes.call(this,here)},cancel:function(here){return no&&no.call(this,here)}})};artDialog.prompt=function(content,yes,value){value=value||"";var input;return _proxyDialog({id:"Prompt",zIndex:_zIndex(),icon:"question",fixed:true,lock:true,opacity:0.1,content:['<div style="margin-bottom:5px;font-size:12px">',content,"</div>","<div>",'<input value="',value,'" style="width:18em;padding:6px 4px" />',"</div>"].join(""),init:function(){input=this.DOM.content.find("input")[0];input.select();input.focus()},ok:function(here){return yes&&yes.call(this,input.value,here)},cancel:true})};artDialog.tips=function(content,time){return _proxyDialog({id:"Tips",zIndex:_zIndex(),title:false,cancel:false,fixed:true,lock:false}).content('<div style="padding: 0 1em;">'+content+"</div>").time(time||1.5)};$(function(){var event=artDialog.dragEvent;if(!event){return}var $window=$(window),$document=$(document),positionType=_isIE6?"absolute":"fixed",dragEvent=event.prototype,mask=document.createElement("div"),style=mask.style;style.cssText="display:none;position:"+positionType+";left:0;top:0;width:100%;height:100%;cursor:move;filter:alpha(opacity=0);opacity:0;background:#FFF";document.body.appendChild(mask);dragEvent._start=dragEvent.start;dragEvent._end=dragEvent.end;dragEvent.start=function(){var DOM=artDialog.focus.DOM,main=DOM.main[0],iframe=DOM.content[0].getElementsByTagName("iframe")[0];dragEvent._start.apply(this,arguments);style.display="block";style.zIndex=artDialog.defaults.zIndex+3;if(positionType==="absolute"){style.width=$window.width()+"px";style.height=$window.height()+"px";style.left=$document.scrollLeft()+"px";style.top=$document.scrollTop()+"px"}if(iframe&&main.offsetWidth*main.offsetHeight>307200){main.style.visibility="hidden"}};dragEvent.end=function(){var dialog=artDialog.focus;dragEvent._end.apply(this,arguments);style.display="none";if(dialog){dialog.DOM.main[0].style.visibility="visible"}}})})(window.jQuery||window.art,this,this.artDialog);
|