
var multiBox=new Class({Implements:Options,options:{initialWidth:250,initialHeight:250,useOverlay:false,contentColor:'#fff',showNumbers:false,showControls:true,showArrows:false,descClassName:false,movieWidth:600,movieHeight:400,offset:{x:0,y:0},fixedTop:false,path:'./Files/',openFromLink:true,useKeyboard:true,onOpen:$empty,onClose:$empty},initialize:function(options){this.setOptions(options);this.openClosePos={};this.contentToLoad={};this.contentObj={};this.containerDefaults={};this.multiBox=[];this.families=[];this.content=[];this.timer=0;this.index=0;this.opened=false;this.currentGallery=null;if($$(this.options.mbClass).length>0){this.start();};},start:function(){$$(this.options.mbClass).each(function(el){if($chk(el.get('rel'))){el.store('origRel',el.get('rel'));};if($chk(el.get('title'))){el.store('origTitle',el.get('title'));};if(el.rel.test(/\[*?]/i)){if(el.get('rel').contains(',')){var tempArr=el.get('rel').split(',');tempArr.each(function(temp,i){if(temp.contains('[')){el.set('rel',temp);};},this);};this.families.include(el.get('rel'));};this.multiBox.push(el);},this);this.multiBox.each(function(el){if(el.rel.test(/\[*?]/i)){this.families.each(function(fam,i){if(el.get('rel')==fam){if(!this.content[i]){this.content[i]=[];};this.content[i].push(el);};},this);};},this);this.multiBox.each(function(el){if(el.rel.test(/\[*?]/i)==false){this.content.push([el]);};},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');if(this.options.useKeyboard){$(window.document).addEvent('keydown',function(e){if(e.key=='right'||e.key=='space'){this.next();}else if(e.key=='left'){this.previous();}else if(e.key=='esc'){this.close();};}.bind(this));};if(this.options.useOverlay){this.overlay=new Overlay({container:this.options.container,onClick:this.close.bind(this)});};if(this.options.addOverlayIcon==true){this.addOverlayIcon(this.multiBox);};if(this.options.addRollover==true){this.addRollover(this.multiBox);};if(this.options.addChain==true){this.addChain(this.multiBox);};if(this.options.descClassName){this.descriptions=$$('.'+this.options.descClassName);};if(this.options.addDownload==true){this.addDownload(this.multiBox);};if(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(el,i){el.each(function(group,i){group.addEvent('click',function(e){var myTarget=($(e.target).match('a'))?$(e.target):$(e.target).getParent('a');e.preventDefault();this.open(el.indexOf(myTarget),el);}.bind(this));if(group.href.indexOf('#')>-1){group.content=$(group.href.substr(group.href.indexOf('#')+1));if(group.content){group.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();},setContentType:function(element){var str=element.href.substr(element.href.lastIndexOf('.')+1).toLowerCase();var myRel=element.retrieve('origRel');var contentOptions={};if($chk(myRel)){var optArr=myRel.split(',');optArr.each(function(el){if(el.test(/\[*?]/i)!=true){var ta=el.split(':');contentOptions[ta[0]]=ta[1];};});};if(contentOptions.type!=undefined){str=contentOptions.type;};this.contentObj={};this.contentObj.url=element.href;this.contentObj.xH=0;if(contentOptions.width){this.contentObj.width=contentOptions.width;}else{this.contentObj.width=this.options.movieWidth;};if(contentOptions.height){this.contentObj.height=contentOptions.height;}else{this.contentObj.height=this.options.movieHeight;};if(contentOptions.panel){this.panelPosition=contentOptions.panel;}else{this.panelPosition=this.options.panel;};switch(str){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=element.content;this.elementContent.setStyles({display:'block',opacity:0,width:'auto'});if(this.elementContent.getStyle('width')!='auto'){this.contentObj.width=this.elementContent.getSize().x;};this.contentObj.height=this.elementContent.getSize().y;this.elementContent.setStyles({display:'none',opacity:1});break;default:this.type='iframe';if(contentOptions.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(element){if(this.options.openFromLink){if(element.getFirst()){var w=element.getFirst().getCoordinates().width-(this.container.getStyle('border').toInt()*2);if(w<0){w=0;};var h=element.getFirst().getCoordinates().height-(this.container.getStyle('border').toInt()*2);if(h<0){h=0;};this.openClosePos={width:w,height:h,top:element.getFirst().getCoordinates().top,left:element.getFirst().getCoordinates().left};}else{var w=element.getCoordinates().width-(this.container.getStyle('border').toInt()*2);if(w<0){w=0;};var h=element.getCoordinates().height-(this.container.getStyle('border').toInt()*2);if(h<0){h=0;};this.openClosePos={width:w,height:h,top:element.getCoordinates().top,left:element.getCoordinates().left};};}else{if(this.options.fixedTop){var top=this.options.fixedTop;}else{var top=((window.getHeight()/2)-(this.options.initialHeight/2)-this.container.getStyle('border').toInt())+this.options.offset.y;};this.openClosePos={width:this.options.initialWidth,height:this.options.initialHeight,top:top,left:((window.getWidth()/2)-(this.options.initialWidth/2)-this.container.getStyle('border').toInt())+this.options.offset.x};};return this.openClosePos;},open:function(index,currGal){this.currentGallery=currGal;this.index=index;this.openId=this.currentGallery[this.index].getProperty('id');if(!this.opened){this.opened=true;if(this.options.useOverlay){this.overlay.show();};this.container.setStyles(this.getOpenClosePos(this.currentGallery[this.index]));this.container.setStyles({opacity:0,display:'block'});if(this.options.fixedTop){var top=this.options.fixedTop;}else{var top=((window.getHeight()/2)-(this.options.initialHeight/2)-this.container.getStyle('border').toInt())+this.options.offset.y;};this.containerEffects.start({width:this.options.initialWidth,height:this.options.initialHeight,top:top,left:((window.getWidth()/2)-(this.options.initialWidth/2)-this.container.getStyle('border').toInt())+this.options.offset.x,opacity:[0,1]});this.load(this.currentGallery[this.index]);}else{if(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);};},getContent:function(element){this.setContentType(element);var desc={};if(this.options.descClassName){this.descriptions.each(function(el,i){if(el.hasClass(this.openId)){desc=el.clone();};},this);};this.contentToLoad={title:element.retrieve('origTitle')||'&nbsp;',desc:desc,number:this.index+1};},close:function(){if(this.options.useOverlay){this.overlay.hide();};if(this.options.showControls){this.hideControls();};this.hideContent();this.containerEffects.cancel();this.zoomOut.bind(this).delay(500);this.options.onClose();},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(element){this.box.addClass('MultiBoxLoading');this.getContent(element);if(this.type=='image'){var xH=this.contentObj.xH;this.contentObj=new Asset.image(element.href,{onload:this.resize.bind(this)});this.contentObj.xH=xH;}else{this.resize();};},resize:function(){if(this.options.maxSize!=null){var maxW=this.options.maxSize.w.toInt();var maxH=this.options.maxSize.h.toInt();var dW=0;var dH=0;var h=dH=this.contentObj.height;var w=dW=this.contentObj.width;if((h>=maxH)&&(w>=maxW)){if(h>w){dH=maxH;dW=((w*dH)/h).toInt();}else{dW=maxW;dH=((h*dW)/w).toInt();};}else if((h>maxH)&&(w<maxW)){dH=maxH;dW=((w*dH)/h).toInt();}else if((h<maxH)&&(w>maxW)){dW=maxW;dH=((h*dW)/w).toInt();};this.contentObj.height=dH;this.contentObj.width=dW;};if(this.options.fixedTop){var top=this.options.fixedTop;}else{var top=((window.getHeight()/2)-((Number(this.contentObj.height)+this.contentObj.xH)/2)-this.container.getStyle('border').toInt()+window.getScrollTop())+this.options.offset.y;};var left=((window.getWidth()/2)-(this.contentObj.width/2)-this.container.getStyle('border').toInt())+this.options.offset.x;if(top<0){top=0;};if(left<0){left=0;};this.containerEffects.cancel();this.containerEffects.start({width:this.contentObj.width,height:Number(this.contentObj.height)+this.contentObj.xH,top:top,left:left,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'){var req=new Request.HTML({url:this.contentObj.url,method:'get',evalScripts:true,onSuccess:function(responseTree,responseElements,responseHTML,responseJavaScript){$('MultiBoxContentContainer').adopt(responseElements);}}).get();}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);if(this.showNumbers)this.number.set('html',this.contentToLoad.number+' of '+this.currentGallery.length);else this.number.setStyle('display','none');if(this.options.descClassName){if(this.currentGallery[this.index].retrieve('origRel')){var ignoreDesc=false;var myRel=this.currentGallery[this.index].retrieve('origRel');var optArr=myRel.split(',');optArr.each(function(el){if(el.test('noDesc')==true){ignoreDesc=true;};});};if(ignoreDesc!=true){if(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 filePath=this.currentGallery[this.index].href;var fileName=this.currentGallery[this.index].href.substring(this.currentGallery[this.index].href.lastIndexOf('/')+1);this.download.set('html','<a href="'+this.options.pathToDownloadScript+'?FilePath='+filePath+'" title="Download File '+fileName+'">Download File</a>');};},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();};if($('MultiBoxContentContainer')){$('MultiBoxContentContainer').dispose();};if(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.contentToLoad.number==1){this.previousButton.addClass('MultiBoxPreviousDisabled');}else{this.previousButton.removeClass('MultiBoxPreviousDisabled');};if(this.contentToLoad.number==this.currentGallery.length){this.nextButton.addClass('MultiBoxNextDisabled');}else{this.nextButton.removeClass('MultiBoxNextDisabled');};if(!this.options.showArrows){this.previousButton.setStyle('display','none');this.nextButton.setStyle('display','none');}
this.controlEffects.start({'height':this.controls.getStyle('height')});},hideControls:function(num){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');if(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');if(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(1000);};},createEmbedObject:function(){if(this.type=='flash'){var url=this.contentObj.url;var swfHolder=new Element('div').setProperties({id:'swfHolder'}).inject(this.obj,'inside');var flashObj=new Swiff(url,{id:url,container:swfHolder,width:this.contentObj.width,height:this.contentObj.height});}else if(this.type=='flashVideo'){var url=this.contentObj.url;var swfHolder=new Element('div').setProperties({id:'swfHolder'}).inject(this.obj,'inside');var flashObj=new Swiff(this.options.path+'flvplayer.swf',{id:url,container:swfHolder,width:this.contentObj.width,height:(Number(this.contentObj.height)+this.contentObj.xH),vars:{path:url}});}else if(this.type=='flashMp3'){var url=this.contentObj.url;var swfHolder=new Element('div').setProperties({id:'swfHolder'}).inject(this.obj,'inside');var flashObj=new Swiff(this.options.path+'mp3player.swf',{id:url,container:swfHolder,width:this.contentObj.width,height:(Number(this.contentObj.height)+this.contentObj.xH),vars:{path:url}});}else if(this.type=='quicktime'){var url=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="'+url+'" />';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="'+url+'" 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'){var url=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="'+url+'" />';this.str+='<param name="Showcontrols" value="true" />';this.str+='<param name="autoStart" value="true" />';this.str+='<embed type="application/x-mplayer2" src="'+url+'" Showcontrols="true" autoStart="true" width="'+this.contentObj.width+'" height="'+this.contentObj.height+'"></embed>';this.str+='</object>';}else if(this.type=='real'){var url=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="'+url+'" />';this.str+='<param name="controls" value="ImageWindow" />';this.str+='<param name="autostart" value="true" />';this.str+='<embed src="'+url+'" controls="ImageWindow" autostart="true" width="'+this.contentObj.width+'" height="'+this.contentObj.height+'"></embed>';this.str+='</object>';};},addOverlayIcon:function(element){element.each(function(el,i){if(el.getElement('img')){el.setStyle('position','relative');var overlayIcon=new Element('div').inject(el,'inside');overlayIcon.addClass('OverlayIcon');if(!Browser.Engine.trident4){overlayIcon.setStyle('opacity',0);overlayIcon.set('tween',{duration:3000,transition:Fx.Transitions.Expo.easeIn}).tween('opacity',1);};};});},addRollover:function(element){element.each(function(el,i){if(el.getElement('img')){el.addEvents({'mouseenter':function(){el.getElement('img').set('tween',{duration:200,transition:Fx.Transitions.linear}).tween('opacity',0.5);},'mouseleave':function(){el.getElement('img').set('tween',{duration:400,transition:Fx.Transitions.linear}).tween('opacity',1);}});};});},addChain:function(element){var chainArray=[];element.each(function(el,i){if(el.getElement('img')){chainArray.push(el);};});chainArray.each(function(el,i){if(el.getElement('img')){var HoverMe=new Chain();var hoverOn=function(){el.getElement('img').set('tween',{duration:200,transition:Fx.Transitions.linear}).tween('opacity',0.5);};var hoverOff=function(){el.getElement('img').set('tween',{duration:400,transition:Fx.Transitions.linear}).tween('opacity',1);};HoverMe.chain(hoverOn);HoverMe.chain(hoverOff);HoverMe.callChain.delay(2000+(i+1)*1000,HoverMe);HoverMe.callChain.delay((i+2)*1000,HoverMe);};});},addDownload:function(element){this.download=new Element('div').addClass('MultiBoxDownload').inject(this.controls,'inside').setStyle('margin-left',0);},addTips:function(element){element.each(function(el,i){if(el.get('title')){var toolTips=new Tips(el,{onShow:function(el){el.fade(.9);},onHide:function(el){el.fade(0);},offsets:{'x':16,'y':5},className:'mbTips'});};if(el.getElement('img')){if(el.getElement('img').get('title')){el.getElement('img').erase('title');};if(el.getElement('img').get('alt')){el.getElement('img').erase('alt');};};});}});

var Overlay=new Class({Implements:[Options],options:{colour:'#000',opacity:0.7,zIndex:100,onClick:new Class()},initialize:function(options){this.setOptions(options);this.container=new Element('div',{'id':'OverlayContainer','styles':{position:'absolute',left:0,top:0,width:'100%',visibility:'hidden',overflow:'hidden',zIndex:this.options.zIndex,opacity:0}}).inject(this.options.container,'inside');this.iframe=new Element('iframe',{'id':'OverlayIframe','name':'OverlayIframe','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,zIndex:101}}).inject(this.container,'inside');this.overlay=new Element('div',{'id':'Overlay','styles':{position:'absolute',left:0,top:0,width:'100%',height:'100%',zIndex:102,backgroundColor:this.options.colour}}).inject(this.container,'inside');this.container.addEvent('click',function(){this.options.onClick();}.bind(this));this.fade=new Fx.Morph(this.container);this.position();window.addEvent('resize',this.position.bind(this));},position:function(){this.container.setStyle('height',0);if(this.options.container==document.body){if(this.options.container.getSize().y>=this.options.container.getScrollSize().y){this.container.setStyles({width:window.getSize().x,height:window.getSize().y});}else{this.container.setStyles({width:window.getSize().x,height:window.getScrollSize().y});};}else{var myCoords=this.options.container.getCoordinates();this.container.setStyles({top:myCoords.top,height:myCoords.height,left:myCoords.left,width:myCoords.width});};},show:function(){this.fade.start({visibility:'visible',opacity:this.options.opacity}).chain(function(){visibility:'hidden'});},hide:function(){this.fade.start({opacity:0}).chain(function(){visibility:'hidden'});}});

