var multiBox=new Class({Implements:Options,options:{initialSize:{w:250,h:250},useOverlay:false,contentColor:"#fff",showNumbers:true,showControls:true,descClassName:false,movieSize:{w:400,h:300},offset:{x:0,y:0},fixedTop:false,path:"./Files/",openFromLink:true,useKeyboard:true},initialize:function(a){this.setOptions(a);this.openClosePos={};this.contentToLoad={};this.contentObj={};this.containerDefaults={};this.multiBox=[];this.families=[];this.content=[];this.index=this.timer=0;this.opened=false;this.currentGallery=
null;$$(this.options.mbClass).length>0&&this.start()},start:function(){$$(this.options.mbClass).each(function(a){$chk(a.get("rel"))&&a.store("origRel",a.get("rel"));$chk(a.get("title"))&&a.store("origTitle",a.get("title"));if(a.rel.test(/\[*?]/i)){a.get("rel").contains(",")&&a.get("rel").split(",").each(function(b){b.contains("[")&&a.set("rel",b)},this);this.families.include(a.get("rel"))}this.multiBox.push(a)},this);this.multiBox.each(function(a){a.rel.test(/\[*?]/i)&&this.families.each(function(b,
c){if(a.get("rel")==b){this.content[c]||(this.content[c]=[]);this.content[c].push(a)}},this)},this);this.multiBox.each(function(a){a.rel.test(/\[*?]/i)==false&&this.content.push([a])},this);this.container=(new Element("div")).addClass("MultiBoxContainer").inject(this.options.container,"inside");this.iframe=(new Element("iframe",{id:"multiBoxIframe",name:"mulitBoxIframe",src:"javascript:void(0);",frameborder:0,scrolling:"no",styles:{position:"absolute",top:0,left:0,width:"100%",height:"100%",filter:"progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)",
opacity:0}})).inject(this.container,"inside");this.box=(new Element("div")).addClass("MultiBoxContent").inject(this.container,"inside");this.closeButton=(new Element("div")).addClass("MultiBoxClose").inject(this.container,"inside").addEvent("click",this.close.bind(this));this.controlsContainer=(new Element("div")).addClass("MultiBoxControlsContainer").inject(this.container,"inside");this.controls=(new Element("div")).addClass("MultiBoxControls").inject(this.controlsContainer,"inside");this.previousButton=
(new Element("div")).addClass("MultiBoxPrevious").inject(this.controls,"inside").addEvent("click",this.previous.bind(this));this.nextButton=(new Element("div")).addClass("MultiBoxNext").inject(this.controls,"inside").addEvent("click",this.next.bind(this));this.title=(new Element("div")).addClass("MultiBoxTitle").inject(this.controls,"inside");this.number=(new Element("div")).addClass("MultiBoxNumber").inject(this.controls,"inside");this.description=(new Element("div")).addClass("MultiBoxDescription").inject(this.controls,
"inside");this.options.useKeyboard&&$(window.document).addEvent("keydown",function(a){if(a.key=="right"||a.key=="space")this.next();else if(a.key=="left")this.previous();else a.key=="esc"&&this.close()}.bind(this));if(this.options.useOverlay)this.overlay=new Overlay({container:this.options.container,onClick:this.close.bind(this)});this.options.addOverlayIcon==true&&this.addOverlayIcon(this.multiBox);this.options.addRollover==true&&this.addRollover(this.multiBox);this.options.addChain==true&&this.addChain(this.multiBox);
if(this.options.descClassName)this.descriptions=$$("."+this.options.descClassName);this.options.addDownload==true&&this.addDownload(this.multiBox);this.options.addTips==true&&this.addTips(this.multiBox);if(this.multiBox.length==1){this.title.setStyle("margin-left",0);this.description.setStyle("margin-left",0);this.previousButton.setStyle("display","none");this.nextButton.setStyle("display","none");this.number.setStyle("display","none")}(new Element("div")).setStyle("clear","both").inject(this.controls,
"inside");this.content.each(function(a){a.each(function(b){b.addEvent("click",function(c){var d=$(c.target).match("a")?$(c.target):$(c.target).getParent("a");c.preventDefault();this.open(a.indexOf(d),a)}.bind(this));if(b.href.indexOf("#")>-1){b.content=$(b.href.substr(b.href.indexOf("#")+1));b.content&&b.content.setStyle("display","none")}},this)},this);this.containerEffects=new Fx.Morph(this.container,{duration:400});this.controlEffects=new Fx.Morph(this.controlsContainer,{duration:300});this.reset();
this.options.autoOpen>0&&this.autoOpen(this.multiBox)},setContentType:function(a){var b=a.href.substr(a.href.lastIndexOf(".")+1).toLowerCase(),c=a.retrieve("origRel"),d={};$chk(c)&&c.split(",").each(function(e){if(e.test(/\[*?]/i)!=true){e=e.split(":");d[e[0]]=e[1]}});if(d.type!=undefined)b=d.type;this.contentObj.url=a.href;this.contentObj.xH=0;this.contentObj.width=d.width?d.width:this.options.movieSize.w;this.contentObj.height=d.height?d.height:this.options.movieSize.h;this.panelPosition=d.panel?
d.panel:this.options.panel;switch(b){case "jpg":case "gif":case "png":this.type="image";break;case "swf":this.type="flash";break;case "flv":this.type="flashVideo";this.contentObj.xH=70;break;case "mov":this.type="quicktime";break;case "wmv":this.type="windowsMedia";break;case "rv":case "rm":case "rmvb":this.type="real";break;case "mp3":this.type="flashMp3";this.contentObj.width=320;this.contentObj.height=70;break;case "element":this.type="htmlelement";this.elementContent=a.content;this.elementContent.setStyles({display:"block",
opacity:0,width:"auto"});if(this.elementContent.getStyle("width")!="auto")this.contentObj.width=this.elementContent.getWidth();this.contentObj.height=this.elementContent.getHeight();this.elementContent.setStyles({display:"none",opacity:1});break;default:this.type="iframe";if(d.req)this.type="req";break}},reset:function(){this.container.setStyles({opacity:0,display:"none"});this.controlsContainer.setStyle("height",0);this.removeContent();this.previousButton.removeClass("MultiBoxButtonDisabled");this.nextButton.removeClass("MultiBoxButtonDisabled");
this.opened=false},getOpenClosePos:function(a){if(this.options.openFromLink)if(a.getFirst()){var b=a.getFirst().getCoordinates().width-this.container.getStyle("border").toInt()*2;if(b<0)b=0;var c=a.getFirst().getCoordinates().height-this.container.getStyle("border").toInt()*2;if(c<0)c=0;this.openClosePos={width:b,height:c,top:a.getFirst().getCoordinates().top,left:a.getFirst().getCoordinates().left}}else{b=a.getCoordinates().width-this.container.getStyle("border").toInt()*2;if(b<0)b=0;c=a.getCoordinates().height-
this.container.getStyle("border").toInt()*2;if(c<0)c=0;this.openClosePos={width:b,height:c,top:a.getCoordinates().top,left:a.getCoordinates().left}}else this.openClosePos={width:this.options.initialSize.w,height:this.options.initialSize.h,top:this.options.fixedTop?this.options.fixedTop:window.getHeight()/2-this.options.initialSize.h/2-this.container.getStyle("border").toInt()+this.options.offset.y,left:window.getWidth()/2-this.options.initialSize.w/2-this.container.getStyle("border").toInt()+this.options.offset.x};
return this.openClosePos},open:function(a,b){this.currentGallery=b;this.index=a;this.openId=this.currentGallery[this.index].getProperty("id");if(this.opened){this.options.showControls&&this.hideControls();this.getOpenClosePos(this.currentGallery[this.index]);this.timer=this.hideContent.bind(this).delay(500);this.timer=this.load.pass(this.currentGallery[this.index],this).delay(1100)}else{this.opened=true;this.options.useOverlay&&this.overlay.show();this.container.setStyles(this.getOpenClosePos(this.currentGallery[this.index]));
this.container.setStyles({opacity:0,display:"block"});this.containerEffects.start({width:this.options.initialSize.w,height:this.options.initialSize.h,top:this.options.fixedTop?this.options.fixedTop:window.getHeight()/2-this.options.initialSize.h/2-this.container.getStyle("border").toInt()+this.options.offset.y,left:window.getWidth()/2-this.options.initialSize.w/2-this.container.getStyle("border").toInt()+this.options.offset.x,opacity:[0,1]});this.load(this.currentGallery[this.index])}},getContent:function(a){this.setContentType(a);
var b={};this.options.descClassName&&this.descriptions.each(function(c){if(c.hasClass(this.openId))b=c.clone()},this);this.contentToLoad={title:a.retrieve("origTitle")||"&nbsp;",desc:b,number:this.index+1}},close:function(){this.options.useOverlay&&this.overlay.hide();this.options.showControls&&this.hideControls();this.hideContent();this.containerEffects.cancel();this.zoomOut.bind(this).delay(500)},zoomOut:function(){this.containerEffects.start({width:this.openClosePos.width,height:this.openClosePos.height,
top:this.openClosePos.top,left:this.openClosePos.left,opacity:0});this.reset.bind(this).delay(500)},load:function(a){this.box.addClass("MultiBoxLoading");this.getContent(a);if(this.type=="image"){var b=this.contentObj.xH;this.contentObj=new Asset.image(a.href,{onload:this.resize.bind(this)});this.contentObj.xH=b}else this.resize()},resize:function(){if(this.options.maxSize!=null){var a=this.options.maxSize.w.toInt(),b=this.options.maxSize.h.toInt(),c=0,d=0,e=d=this.contentObj.height,f=c=this.contentObj.width;
if(e>=b&&f>=a)if(e>f){d=b;c=(f*d/e).toInt()}else{c=a;d=(e*c/f).toInt()}else if(e>b&&f<a){d=b;c=(f*d/e).toInt()}else if(e<b&&f>a){c=a;d=(e*c/f).toInt()}this.contentObj.height=d;this.contentObj.width=c}a=this.options.fixedTop?this.options.fixedTop:window.getHeight()/2-(Number(this.contentObj.height)+this.contentObj.xH)/2-this.container.getStyle("border").toInt()+window.getScrollTop()+this.options.offset.y;b=window.getWidth()/2-this.contentObj.width/2-this.container.getStyle("border").toInt()+this.options.offset.x;
if(a<0)a=0;if(b<0)b=0;this.containerEffects.cancel();this.containerEffects.start({width:this.contentObj.width,height:Number(this.contentObj.height)+this.contentObj.xH,top:a,left:b,opacity:1});this.timer=this.showContent.bind(this).delay(500)},showContent:function(){this.box.removeClass("MultiBoxLoading");this.removeContent();this.contentContainer=(new Element("div",{id:"MultiBoxContentContainer",styles:{opacity:0,width:this.contentObj.width,height:Number(this.contentObj.height)+this.contentObj.xH}})).inject(this.box,
"inside");if(this.type=="image")this.contentObj.inject(this.contentContainer,"inside");else if(this.type=="iframe")(new Element("iframe",{id:"iFrame"+(new Date).getTime(),width:this.contentObj.width,height:this.contentObj.height,src:this.contentObj.url,frameborder:0,scrolling:"auto"})).inject(this.contentContainer,"inside");else if(this.type=="htmlelement")this.elementContent.clone().setStyle("display","block").inject(this.contentContainer,"inside");else if(this.type=="req")(new Request.HTML({url:this.contentObj.url,
method:"get",evalScripts:true,onSuccess:function(d,e){$("MultiBoxContentContainer").adopt(e)},onFailure:function(){$("MultiBoxContentContainer").set("text","The request failed.")}})).send();else{this.obj=(new Element("div")).setProperties({id:"MultiBoxMediaObject"}).inject(this.contentContainer,"inside");this.createEmbedObject();if(this.str){this.obj.set("html",this.str);this.str=null}}this.contentEffects=new Fx.Morph(this.contentContainer,{duration:500});this.contentEffects.start({opacity:1});this.title.set("html",
this.contentToLoad.title);this.currentGallery.length>1?this.number.set("html",this.contentToLoad.number+" of "+this.currentGallery.length):this.number.set("html","");if(this.options.descClassName){if(this.currentGallery[this.index].retrieve("origRel")){var a=false;this.currentGallery[this.index].retrieve("origRel").split(",").each(function(d){if(d.test("noDesc")==true)a=true})}if(a!=true){this.description.getFirst()&&this.description.getFirst().destroy();this.contentToLoad.desc.inject(this.description,
"inside").setStyle("display","block")}}if(this.options.showControls)this.timer=this.showControls.bind(this).delay(800);if(this.options.addDownload){var b=this.currentGallery[this.index].href,c=this.currentGallery[this.index].href.substring(this.currentGallery[this.index].href.lastIndexOf("/")+1);this.download.set("html",'<a href="'+this.options.pathToDownloadScript+"?FilePath="+b+'" title="Download File '+c+'">Download File</a>');this.type!="image"&&this.download.empty()}},hideContent:function(){this.box.addClass("MultiBoxLoading");
this.contentEffects.start({opacity:0});this.removeContent.bind(this).delay(500)},removeContent:function(){if($("MultiBoxMediaObject")){$("MultiBoxMediaObject").empty();$("MultiBoxMediaObject").dispose()}$("MultiBoxContentContainer")&&$("MultiBoxContentContainer").dispose();this.description&&this.description.empty()},showControls:function(){if(this.container.getStyle("height")!="auto"){this.containerDefaults.height=this.container.getStyle("height");this.containerDefaults.backgroundColor=this.options.contentColor;
if(this.options.recalcTop==true)if(this.container.getStyle("top").toInt()>this.controls.getStyle("height").toInt()/2){this.finalResize=new Fx.Morph(this.container,{duration:400});this.finalResize.start({top:this.container.getStyle("top").toInt()-this.controls.getStyle("height").toInt()/2})}}this.container.setStyle("height","auto");if(this.currentGallery.length==1){this.nextButton.setStyle("display","none");this.previousButton.setStyle("display","none")}else{this.nextButton.setStyle("display","block");
this.previousButton.setStyle("display","block")}this.contentToLoad.number==1?this.previousButton.addClass("MultiBoxPreviousDisabled"):this.previousButton.removeClass("MultiBoxPreviousDisabled");this.contentToLoad.number==this.currentGallery.length?this.nextButton.addClass("MultiBoxNextDisabled"):this.nextButton.removeClass("MultiBoxNextDisabled");this.controlEffects.start({height:this.controls.getStyle("height")})},hideControls:function(){this.controlEffects.start({height:0}).chain(function(){this.container.setStyles(this.containerDefaults)}.bind(this))},
next:function(){if(this.index<this.currentGallery.length-1){this.index++;this.openId=this.currentGallery[this.index].getProperty("id");this.options.showControls&&this.hideControls();this.getOpenClosePos(this.currentGallery[this.index]);this.timer=this.hideContent.bind(this).delay(500);this.timer=this.load.pass(this.currentGallery[this.index],this).delay(1100)}},previous:function(){if(this.index>0){this.index--;this.openId=this.currentGallery[this.index].getProperty("id");this.options.showControls&&
this.hideControls();this.getOpenClosePos(this.currentGallery[this.index]);this.timer=this.hideContent.bind(this).delay(500);this.timer=this.load.pass(this.currentGallery[this.index],this).delay(1E3)}},createEmbedObject:function(){if(this.type=="flash"){var a=this.contentObj.url,b=(new Element("div")).setProperties({id:"swfHolder"}).inject(this.obj,"inside");new Swiff(a,{id:a,container:b,width:this.contentObj.width,height:this.contentObj.height})}else if(this.type=="flashVideo"){a=this.contentObj.url;
b=(new Element("div")).setProperties({id:"swfHolder"}).inject(this.obj,"inside");new Swiff(this.options.path+"flvplayer.swf",{id:a,container:b,width:this.contentObj.width,height:Number(this.contentObj.height)+this.contentObj.xH,vars:{path:a}})}else if(this.type=="flashMp3"){a=this.contentObj.url;b=(new Element("div")).setProperties({id:"swfHolder"}).inject(this.obj,"inside");new Swiff(this.options.path+"mp3player.swf",{id:a,container:b,width:this.contentObj.width,height:Number(this.contentObj.height)+
this.contentObj.xH,vars:{path:a}})}else if(this.type=="quicktime"){a=this.contentObj.url;this.str='<object  type="video/quicktime" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab"';this.str+=' width="'+this.contentObj.width+'" height="'+this.contentObj.height+'">';this.str+='<param name="src" value="'+a+'" />';this.str+='<param name="autoplay" value="true" />';this.str+='<param name="controller" value="true" />';this.str+='<param name="enablejavascript" value="true" />';
this.str+='<embed src="'+a+'" autoplay="true" pluginspage="http://www.apple.com/quicktime/download/" width="'+this.contentObj.width+'" height="'+this.contentObj.height+'"></embed>';this.str+="</object>"}else if(this.type=="windowsMedia"){a=this.contentObj.url;this.str='<object  type="application/x-oleobject" classid="CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,7,1112"';this.str+=' width="'+this.contentObj.width+
'" height="'+this.contentObj.height+'">';this.str+='<param name="filename" value="'+a+'" />';this.str+='<param name="Showcontrols" value="true" />';this.str+='<param name="autoStart" value="true" />';this.str+='<embed type="application/x-mplayer2" src="'+a+'" Showcontrols="true" autoStart="true" width="'+this.contentObj.width+'" height="'+this.contentObj.height+'"></embed>';this.str+="</object>"}else if(this.type=="real"){a=this.contentObj.url;this.str='<object classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"';
this.str+=' width="'+this.contentObj.width+'" height="'+this.contentObj.height+'">';this.str+='<param name="src" value="'+a+'" />';this.str+='<param name="controls" value="ImageWindow" />';this.str+='<param name="autostart" value="true" />';this.str+='<embed src="'+a+'" controls="ImageWindow" autostart="true" width="'+this.contentObj.width+'" height="'+this.contentObj.height+'"></embed>';this.str+="</object>"}},addOverlayIcon:function(a){a.each(function(b){if(b.getElement("img")){b.setStyle("position",
"relative");b=(new Element("div")).inject(b,"inside");b.addClass("OverlayIcon");if(!Browser.Engine.trident4){b.setStyle("opacity",0);b.set("tween",{duration:3E3,transition:Fx.Transitions.Expo.easeIn}).tween("opacity",1)}}})},addRollover:function(a){a.each(function(b){b.getElement("img")&&b.addEvents({mouseenter:function(){b.getElement("img").set("tween",{duration:200,transition:Fx.Transitions.linear}).tween("opacity",0.5)},mouseleave:function(){b.getElement("img").set("tween",{duration:400,transition:Fx.Transitions.linear}).tween("opacity",
1)}})})},addChain:function(a){var b=[];a.each(function(c){c.getElement("img")&&b.push(c)});b.each(function(c,d){if(c.getElement("img")){var e=new Chain;e.chain(function(){c.getElement("img").set("tween",{duration:200,transition:Fx.Transitions.linear}).tween("opacity",0.5)});e.chain(function(){c.getElement("img").set("tween",{duration:400,transition:Fx.Transitions.linear}).tween("opacity",1)});e.callChain.delay(2E3+(d+1)*1E3,e);e.callChain.delay((d+2)*1E3,e)}})},addDownload:function(){this.download=
(new Element("div")).addClass("MultiBoxDownload").inject(this.controls,"inside").setStyle("margin-left",0)},addTips:function(a){a.each(function(b){b.get("title")&&new Tips(b,{onShow:function(c){c.fade(0.9)},onHide:function(c){c.fade(0)},offsets:{x:16,y:5},className:"mbTips"});if(b.getElement("img")){b.getElement("img").get("title")&&b.getElement("img").erase("title");b.getElement("img").get("alt")&&b.getElement("img").erase("alt")}})},autoOpen:function(a){if(this.options.autoOpen>$$(this.options.mbClass).length)this.options.autoOpen=
$$(this.options.mbClass).length;this.open(this.options.autoOpen-1,a)}});

