var AscDialog=new Class({options:{strs:{close:"Click to close"},speed:500,maskOpacity:0.3,maskColor:"#000000",isModal:false,useArrows:false,addCloseBtn:true,popOpacity:1,cornerRadius:10,classPrefix:"Asc",place:{ss:{target:"window",io:1,align:"n",offset:0,margin:0},se:{trans:"fly",target:"window",io:-1,align:"c",offset:0,margin:0},he:{trans:"fly",target:"window",io:1,align:"n",offset:0,margin:0}},onHide:Class.empty,onShow:Class.empty,transition:Fx.Transitions.Quad.easeInOut},initialize:function(A){this.setOptions(A);this.isShowing=false;this.mask=false;this.pop=false;this.event=window.event;this.isIE=/MSIE (5.5|6.)/.test(navigator.userAgent);if(this.isIE){this.options.useArrows=false}this.fx_dir=0;this.fx_in_process=false;window.addEvent("keyup",function(B){this.esc(B)}.bind(this));window.addEvent("resize",function(B){this.update(B);if(this.isShowing){this.isShowing=false;this.show()}}.bind(this));window.addEvent("scroll",function(B){this.update(B)}.bind(this));this.init()},init:function(){if(this.pop){this.pop.remove()}this.add_pop();var A=[this.pop];if(this.options.isModal){this.add_mask();A[1]=this.mask}else{if(this.isIE){this.options.maskColor="#FFF";this.add_mask()}}this.fx=new Fx.Elements(A,{wait:false,duration:this.options.speed,transition:this.options.transition,onStart:function(){this.fx_in_process=true}.bind(this),onComplete:function(){switch(this.fx_dir){case 1:this.isShowing=true;this.pop.focus();break;case 0:this.isShowing=false;this.pop.setStyles({visibility:"hidden",display:"none"});if(this.options.isModal){this.mask.setStyle("display","none")}if(!this.options.isModal&&this.isIE){this.mask.setOpacity(0)}break}this.fx_in_process=false}.bind(this)})},add_mask:function(){if(!this.mask){if(this.isIE){this.mask=new Element("iframe",{"class":this.options.classPrefix+"Mask",src:"about:blank",frameborder:0,src:"about:blank"}).inject(document.body)}else{this.mask=new Element("div",{"class":this.options.classPrefix+"Mask"}).inject(document.body)}this.mask.setStyles({position:"absolute",top:0,left:0,opacity:0,"z-index":9999,"background-color":this.options.maskColor,display:"none"})}},add_pop:function(){this.pop=new Element("div",{"class":this.options.classPrefix+"Pop",styles:{position:"absolute",visibility:"hidden",top:-1000,left:0,"z-index":10000,display:"none"}}).inject(document.body);this.pop.addEvent("keydown",function(B){this.esc(B)}.bind(this));this.poptbl=new Element("table",{"class":"grid"}).injectInside(this.pop);this.poptbody=new Element("tbody").injectInside(this.poptbl);[["nw","north","ne"],["sw","s","se"]].each(function(B){this.insertPopTblRow(B)}.bind(this));this.popc=this.poptbl.getElement("td[class=north]");if(this.options.useArrows){this.addPopArrows()}if(this.options.addCloseBtn){this.close=new Element("div",{"class":this.options.classPrefix+"Close"}).injectInside(this.pop);var A=new Element("a",{href:"#",title:this.options.strs.close,events:{click:this.hide.bindWithEvent(this)}}).injectInside(this.close);A.addEvent("click",function(B){if(B){B=new Event(B).stop()}this.hide()}.bind(this))}},cursor_pos:function(A){if(!A){A=window.event}return{x:A.page.x,y:A.page.y};return cursor},insertPopTblRow:function(A){var B=new Element("tr").injectInside(this.poptbody);A.each(function(C){var D=new Element("td",{"class":C}).injectInside(B)})},addPopArrows:function(){var A=this.pop.getElement("div[class$=p]");if(!A){["n","s","e","w"].each(function(B){var C=new Element("div",{"class":"a"+B+" p",styles:{visibility:"hidden"}}).injectInside(this.pop);switch(B){case"n":C.setStyles({bottom:1-C.getStyle("height").toInt(),top:"auto"});break;case"s":C.setStyle("top",1-C.getStyle("height").toInt());break;case"e":C.setStyle("left",1-C.getStyle("width").toInt());break;case"w":C.setStyle("right",1-C.getStyle("width").toInt());break}}.bind(this))}},show_arrow:function(G,F){if(!this.isIE){var E,D={top:0,left:0},A={},C="";switch(G){case 1:C=F.substr(0,1);break;case -1:switch(F){case"n":C="s";break;case"w":C="e";break;case"e":C="w";break;case"s":C="n";break}break}this.pop.getElements("div[class$=p]").each(function(H){if(H.hasClass("a"+C)){H.setOpacity(1);H.setStyle("z-index",(this.pop.getStyle("z-index").toInt()+1));E=H}else{H.setOpacity(0)}}.bind(this));if(E){var B={x:E.getStyle("width").toInt(),y:E.getStyle("height").toInt()};switch(G){case 1:switch(F){case"nw":case"sw":A={left:this.options.cornerRadius,right:"auto"};break;case"n":case"s":A={left:this.popsize.x/2-B.x/2,right:"auto"};break;case"ne":case"se":A={left:"auto",right:this.options.cornerRadius};break;case"wn":case"en":A={top:this.options.cornerRadius,bottom:"auto"};break;case"w":case"e":A={top:this.popsize.y/2-B.y/2,bottom:"auto"};break;case"ws":case"es":A={top:"auto",bottom:this.options.cornerRadius};break}switch(F){case"nw":case"n":case"ne":D.top=-B.y;break;case"wn":case"w":case"ws":D.left=-B.x;break;case"en":case"e":case"es":D.left=B.x;break;case"sw":case"s":case"se":D.top=B.y;break}break;case -1:switch(F){case"n":case"s":A={left:this.popsize.x/2-B.x/2,right:"auto"};break;case"w":case"e":A={top:this.popsize.y/2-B.y/2,bottom:"auto"};break}switch(F){case"n":D.top=B.y;break;case"w":D.left=B.x;break;case"e":D.left=-B.x;break;case"s":D.top=-B.y;break}break}E.setStyles(A);return{p:D,a:B}}}},set_contents:function(D,A){if(($type(A)=="undefined")||(A=="")){A="n"}if(this.popc){this.popc.className="north "+A}if(this.popc){this.popc.empty();switch($type(D)){case"element":var C=D.clone().cloneEvents(D).injectInside(this.popc);break;case"string":this.popc.setHTML(D);break}}var B=false;if(this.pop.getStyle("display")=="none"){B=true;this.pop.setStyle("display","block")}this.popsize=this.pop.getSize().size;if(B){this.pop.setStyle("display","none")}},get_key_code:function(B){if(!B){B=window.event}var A;if(B.keyCode){A=B.keyCode}return A},esc:function(B){if(this.isShowing){var A=this.get_key_code(B);if(A==27){this.hide()}}},show:function(){if(!this.isShowing){var F={visibility:"visible",display:"block",opacity:0};var B={"0":{opacity:this.options.popOpacity}};var C=this.options.place.se;var A=this.options.place.ss;var E=this.coord(C.target,C.io,C.align,C.offset,true);if((C.trans=="fly")){B["0"].top=E.top;B["0"].left=E.left;B["0"].margin=C.margin;if(($type(A)=="object")&&(A.target!=="")){var D=this.coord(A.target,A.io,A.align,A.offset,false);if(D){B["0"].top=[D.top,E.top];B["0"].left=[D.left,E.left]}}}else{F.top=E.top;F.left=E.left}this.pop.setStyles(F);if(this.options.isModal){this.add_mask();this.mask.setStyles({height:window.getScrollHeight(),width:window.getScrollWidth(),display:"block"});B["1"]={opacity:this.options.maskOpacity}}else{if(!this.options.isModal&&this.isIE){this.mask.setStyles({height:this.popsize.y,width:this.popsize.x,display:"block",visibility:"visible",top:E.top,left:E.left})}}this.fx_dir=1;this.fx.start(B);this.fireEvent("onShow")}},hide:function(D){if(!this.isShowing){return false}this.fireEvent("onHide");this.fx.stop();this.fx_dir=0;var A={"0":{opacity:0}};var C=this.options.place.he;if(C.trans=="fly"){var B=this.options.place.se;var F=this.coord(B.target,B.io,B.align,B.offset,false);var E=this.coord(C.target,C.io,C.align,C.offset,false);A["0"].top=[F.top,E.top];A["0"].left=[F.left,E.left];A["0"].margin=C.margin}if(this.options.isModal){A["1"]={opacity:0}}this.fx.start(A)},update:function(C){if(this.isShowing){if(this.options.isModal){var A=window.getSize();this.mask.setStyles({height:(A.size.y>A.scrollSize.y)?A.size.y:A.scrollSize.y,width:A.size.x})}var B=this.options.place.se;if((B.target=="window")&&(B.io==-1)){this.fx.stop();var D=this.coord("window",-1,B.align,B.offset,false);this.fx.start({"0":{top:D.top,left:D.left,margin:B.margin}})}}},movePop:function(B,F,E,C,A){var D=this.coord(B,F,E,C,true);if(D){this.pop.setStyles({top:D.top,left:D.left,margin:A})}},auto_align:function(B,F){var D={x:window.getWidth(),y:window.getHeight()};var I={x:window.getScrollLeft(),y:window.getScrollTop()};var H=B.getPosition();var C={x:B.offsetWidth,y:B.offsetHeight};var K={x:this.pop.offsetWidth,y:this.pop.offsetHeight};var E="";var J={top:H.y-I.y,right:(D.x+I.x)-(H.x+C.x),bottom:(D.y+I.y)-(H.y+C.y),left:H.x-I.x};var G=this.max(J);if((typeof (F)!="undefined")&&(F!="auto")&&(F!="")){E=F;var A=E.substr(0,1);switch(A){case"n":if(J.top<this.popsize.y){E=""}break;case"e":if(J.right<this.popsize.w){E=""}break;case"s":if(J.bottom<this.popsize.y){E=""}break;case"w":if(J.left<this.popsize.w){E=""}break}}if(E==""){if((G=="top")||(G=="bottom")){switch(G){case"top":E="n";break;case"bottom":E="s";break}if((J.right<0)&&(J.left<0)){if(J.right>J.left){E+="e";op.se.margin="0 "+(-J.right+op.se.offset)+"px 0 0"}else{E+="w";op.se.margin="0 0 0 "+(-J.left+op.se.offset)+"px"}}else{if(J.right<0){E+="w"}else{if(J.left<0){E+="e"}}}}else{switch(G){case"right":E="e";break;case"left":E="w";break}if((J.top<0)&&(J.bottom<0)){if(J.top>J.bottom){E+="n";op.se.margin=(-J.right+op.se.offset)+"px 0 0 0"}else{E+="s";op.se.margin="0 0 "+(-J.left+op.se.offset)+"px 0"}}else{if(J.top<0){E+="s"}else{if(J.bottom<0){E+="n"}}}}}return E},coord:function(G,H,F,D,I){var J=0,C=0,B=0;if(G=="window"){J=window.getScrollTop();C=window.getScrollLeft();B={x:window.getWidth(),y:window.getHeight()}}else{if($type(G)=="string"){var L=$(G)}else{var L=G}if(L){if(L.getStyle("display")=="inline"){var E=this.cursor_pos(this.event);J=E.y;C=E.x;B={x:1,y:1}}else{var E=L.getPosition();if(E){J=E.y;C=E.x;B={x:L.offsetWidth,y:L.offsetHeight}}}if(!$defined(F)){F=this.auto_align(L,"auto")}}}if(B){if((I===true)&&this.options.useArrows){var K=this.show_arrow(H,F)}var A=F.substr(0,1);switch(H){case 1:switch(A){case"n":J-=(this.popsize.y+D);break;case"e":C+=(B.x+D);break;case"s":J+=(B.y+D);break;case"w":C-=(this.popsize.x+D);break}switch(F){case"nw":case"sw":if((B.x<this.popsize.x)&&K){C-=K.a.x/2}break;case"ne":case"se":if((B.x<this.popsize.x)&&K){C+=K.a.x/2}break}switch(F){case"n":C+=(B.x/2-this.popsize.x/2);break;case"ne":C+=(B.x-this.popsize.x);break;case"w":J+=(B.y/2-this.popsize.y/2);break;case"ws":J+=(B.y-this.popsize.y);break;case"e":J+=(B.y/2-this.popsize.y/2);break;case"es":J+=(B.y-this.popsize.y);break;case"s":C+=(B.x/2-this.popsize.x/2);break;case"se":C+=(B.x-this.popsize.x);break}break;case -1:switch(A){case"n":J+=D;break;case"s":J+=(B.y-this.popsize.y-D);break}switch(F){case"nw":C+=D;break;case"n":C+=(B.x/2-this.popsize.x/2);break;case"ne":C+=(B.x-this.popsize.x-D);break;case"w":J+=(B.y/2-this.popsize.y/2);C+=D;break;case"c":J+=(B.y/2-this.popsize.y/2);C+=(B.x/2-this.popsize.x/2);break;case"e":J+=(B.y/2-this.popsize.y/2);C+=(B.x-this.popsize.x-D);break;case"sw":C+=D;break;case"s":C+=(B.x/2-this.popsize.x/2);break;case"se":C+=(B.x-this.popsize.x-D);break}break}if(K){J+=K.p.top;C+=K.p.left}return{top:J,left:C}}return false},destroy:function(){if(this.mask){this.mask.remove()}this.pop.remove()}});AscDialog.implement(new Options,new Events);var AscModal=AscDialog.extend({options:{isModal:true,addCloseBtn:true,popOpacity:0.9,classPrefix:"Modal",place:{ss:{target:"window",io:1,align:"n"},se:{trans:"fly",target:"window",io:-1,align:"c"},he:{trans:"fly",target:"window",io:1,align:"n"}}},initialize:function(C,A,B){this.parent(B);this.set_contents(C,A)}});var AscTip=AscDialog.extend({options:{addCloseBtn:false,useArrows:true,popOpacity:0.9,showDelay:100,hideDelay:100,default_align:"auto",classPrefix:"Tip",place:{ss:{offset:40},se:{offset:15},he:{trans:"fade"}}},initialize:function(C,D,A,B){this.parent(B);this.enable_tip(C,D,A)},max:function(B){var A;for(var C in B){if(A){if(B[C]>B[A]){A=C}}else{A=C}}return A},enable_tip:function(B,C,A){if(B){B.addEvents({mouseenter:function(E){this.event=E;var F=this.options.place;this.set_contents(C,A);var D={target:B,io:1,align:this.auto_align(B,this.options.default_align)};if(F.se.trans=="fly"){$extend(F.ss,D);F.ss.offset=25}$extend(F.se,D);$extend(F.he,D);F.se.offset=10;$clear(this.timer);this.timer=this.show.delay(this.options.showDelay,this);this.show()}.bind(this),mouseout:function(D){if(this.fx_in_process&&(this.fx_dir==1)){this.isShowing=true;this.hide()}else{$clear(this.timer);this.timer=this.hide.delay(this.options.hideDelay,this)}}.bind(this)})}return false}});
