var multiBox=new Class({getOptions:function(){return{initialWidth:250,initialHeight:250,container:document.body,overlay:false,contentColor:"#FFF",showNumbers:true,showControls:true,descClassName:false,descMinWidth:400,descMaxWidth:600,movieWidth:400,movieHeight:300,offset:{x:0,y:0},fixedTop:false,path:"files/",_onOpen:$empty,_onClose:$empty,openFromLink:true}},initialize:function(a,c){this.setOptions(this.getOptions(),c);this.openClosePos={};this.timer=0;this.contentToLoad={};this.index=0;this.opened=
false;this.contentObj={};this.containerDefaults={};this.createArray=[];if(this.options.useOverlay)this.overlay=new Overlay({container:this.options.container,onClick:this.close.bind(this)});(this.overlay=this.options.overlay)&&this.overlay.setOnClick(this.close.bind(this));this.content=$$("."+a);if(this.options.descClassName){this.descriptions=$$("."+this.options.descClassName);this.descriptions.each(function(b){b.setStyle("display","none")})}this.container=(new Element("div")).addClass("MultiBoxContainer").injectInside(this.options.container);
this.iframe=(new Element("iframe")).setProperties({id:"multiBoxIframe",name:"mulitBoxIframe",src:"javascript:void(0);",frameborder:0,scrolling:"no"}).setStyles({position:"absolute",top:-20,left:-20,filter:"progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)",opacity:0}).inject(this.container);this.box=(new Element("div")).addClass("MultiBoxContent").inject(this.container);this.closeButton=(new Element("div")).addClass("MultiBoxClose").inject(this.container).addEvent("click",this.close.bind(this));
this.controlsContainer=(new Element("div")).addClass("MultiBoxControlsContainer").inject(this.container);this.controls=(new Element("div")).addClass("MultiBoxControls").inject(this.controlsContainer);this.previousButton=(new Element("div")).addClass("MultiBoxPrevious").inject(this.controls).addEvent("click",this.previous.bind(this));this.nextButton=(new Element("div")).addClass("MultiBoxNext").inject(this.controls).addEvent("click",this.next.bind(this));this.title=(new Element("div")).addClass("MultiBoxTitle").inject(this.controls);
this.titleMargin=this.title.getStyle("margin-left");this.number=(new Element("div")).addClass("MultiBoxNumber").inject(this.controls);this.description=(new Element("div")).addClass("MultiBoxDescription").inject(this.controls);if(this.content.length==1){this.title.setStyles({"margin-left":0});this.description.setStyles({"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);this.content.each(function(b,d){b.index=d;b.addEvent("click",function(e){(new Event(e)).stop();this.open(b)}.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.containerEffects=new Fx.Morph(this.container,{duration:400,transition:Fx.Transitions.Sine.easeInOut});this.iframeEffects=new Fx.Morph(this.iframe,{duration:400,transition:Fx.Transitions.Sine.easeInOut});this.controlEffects=
new Fx.Morph(this.controlsContainer,{duration:300,transition:Fx.Transitions.Sine.easeInOut});this.reset()},setContentType:function(a){var c=a.href.substr(a.href.lastIndexOf(".")+1).toLowerCase(),b={};$chk(a.rel)&&a.rel.split(",").each(function(d){d=d.split(":");b[d[0]]=d[1]});if(b.type!=undefined)c=b.type;this.contentObj={};this.contentObj.url=a.href;this.contentObj.src=a.href;this.contentObj.xH=0;this.contentObj.width=b.width?b.width:this.options.movieWidth;this.contentObj.height=b.height?b.height:
this.options.movieHeight;this.panelPosition=b.panel?b.panel:this.options.panel;switch(c){case "jpg":case "image":case "gif":case "png":this.type="image";break;case "swf":this.type="flash";break;case "youtube":this.type="youtube";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});if(this.elementContent.getStyle("width")!="auto")this.contentObj.width=this.elementContent.getStyle("width");this.contentObj.height=this.elementContent.getSize().y;this.elementContent.setStyles({display:"none",opacity:1});break;default:this.type="iframe";if(b.ajax)this.type="ajax";break}},reset:function(){this.container.setStyles({opacity:0,display:"none"});this.controlsContainer.setStyles({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 c=a.getFirst().getCoordinates().width-this.container.getStyle("border").toInt()*2;if(c<0)c=0;var b=a.getFirst().getCoordinates().height-this.container.getStyle("border").toInt()*2;if(b<0)b=0;this.openClosePos={width:c,height:b,top:a.getFirst().getCoordinates().top,left:a.getFirst().getCoordinates().left}}else{c=
a.getCoordinates().width-this.container.getStyle("border").toInt()*2;if(c<0)c=0;b=a.getCoordinates().height-this.container.getStyle("border").toInt()*2;if(b<0)b=0;this.openClosePos={width:c,height:b,top:a.getCoordinates().top,left:a.getCoordinates().left}}else{a=this.container.getStyle("border").toInt();this.openClosePos={width:this.options.initialWidth,height:this.options.initialHeight,top:this.options.fixedTop?this.options.fixedTop:window.getHeight()/2-this.options.initialHeight/2-a+this.options.offset.y,
left:window.getWidth()/2-this.options.initialWidth/2-a+this.options.offset.x}}return this.openClosePos},open:function(a){this.options._onOpen();this.index=this.content.indexOf(a);this.openId=a.getProperty("id");var c=this.container.getStyle("border").toInt();if(this.opened){this.options.showControls&&this.hideControls();this.getOpenClosePos(this.content[this.index]);this.timer=this.hideContent.bind(this).delay(500);this.timer=this.load.pass(this.index,this).delay(1100)}else{this.opened=true;this.options.overlay&&
this.overlay.show();this.container.setStyles(this.getOpenClosePos(a));this.container.setStyles({opacity:0,display:"block"});this.containerEffects.start({width:this.options.initialWidth,height:this.options.initialHeight,top:this.options.fixedTop?this.options.fixedTop:window.getHeight()/2-this.options.initialHeight/2-c+this.options.offset.y,left:window.getWidth()/2-this.options.initialWidth/2-c+this.options.offset.x,opacity:[0,1]});this.load(this.index)}},create:function(a){if(this.createArray.contains(a.url))var c=
this.content[this.createArray.indexOf(a.url)];else{var b="mbDirect_"+$time();c=[];a.type&&c.push("type:"+a.type);a.width&&c.push("width:"+a.width);a.height&&c.push("height:"+a.height);c=new Element("a",{href:a.url,id:b,title:a.title||"",rel:c.join(",")});b=new Element("div",{"class":b,html:a.description||""});this.createArray.push(a.url);this.content.push(c);this.options.descClassName&&this.descriptions.include(b)}this.open(c)},getContent:function(a){this.setContentType(this.content[a]);var c=false;
this.options.descClassName&&this.descriptions.each(function(b){if(b.hasClass(this.openId))c=b.clone()},this);this.contentToLoad={title:this.content[a].title||"&nbsp;",desc:c,number:a+1}},close:function(){this.options.overlay&&this.overlay.hide();this.options.showControls&&this.hideControls();this.hideContent();this.containerEffects.cancel();this.zoomOut.bind(this).delay(500);this.options._onClose()},zoomOut:function(){this.iframeEffects.start({width:this.openClosePos.width,height:this.openClosePos.height});
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 c=this.contentObj.xH;this.contentObj=new Asset.image(this.content[a].href,{onload:this.resize.bind(this)});this.contentObj.xH=c}else this.resize()},resize:function(){if(this.tempSRC!=this.contentObj.src){var a=
this.container.getStyle("border").toInt(),c=this.options.fixedTop?this.options.fixedTop:window.getHeight()/2-(Number(this.contentObj.height)+this.contentObj.xH)/2-a+window.getScrollTop()+this.options.offset.y,b=window.getWidth()/2-this.contentObj.width.toInt()/2-a+this.options.offset.x;if(c<0)c=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:c,left:b,opacity:1});this.iframeEffects.start({width:Number(this.contentObj.width)+
a*2,height:Number(this.contentObj.height)+this.contentObj.xH+a*2});this.timer=this.showContent.bind(this).delay(500);this.tempSRC=this.contentObj.src}},showContent:function(){this.tempSRC="";this.box.removeClass("MultiBoxLoading");this.removeContent();this.contentContainer=(new Element("div")).setProperties({id:"MultiBoxContentContainer"}).setStyles({opacity:0,width:this.contentObj.width,height:Number(this.contentObj.height)+this.contentObj.xH}).injectInside(this.box);if(this.type=="image")this.contentObj.injectInside(this.contentContainer);
else if(this.type=="iframe")(new Element("iframe")).setProperties({id:"iFrame"+(new Date).getTime(),width:this.contentObj.width,height:this.contentObj.height,src:this.contentObj.url,frameborder:0,scrolling:"no"}).injectInside(this.contentContainer);else if(this.type=="htmlelement")this.elementContent.clone().setStyle("display","block").injectInside(this.contentContainer);else if(this.type=="ajax")(new Request.HTML({update:$("MultiBoxContentContainer"),autoCancel:true})).get(this.contentObj.url);else{this.createEmbedObject().injectInside(this.contentContainer);
if(this.str!="")$("MultiBoxMediaObject").innerHTML=this.str}this.contentEffects=new Fx.Morph(this.contentContainer,{duration:500,transition:Fx.Transitions.linear});this.contentEffects.start({opacity:1});this.title.set("html",this.contentToLoad.title);this.content.length>1?this.number.set("html",this.contentToLoad.number+" / "+this.content.length):this.number.set("html","");if(this.options.descClassName){this.description.getFirst()&&this.description.getFirst().destroy();this.contentToLoad.desc&&this.contentToLoad.desc.inject(this.description).setStyles({display:"block"})}if(this.options.showControls)if(this.contentToLoad.title!=
"&nbsp;"||this.content.length>1)this.timer=this.showControls.bind(this).delay(800)},hideContent:function(){this.box.addClass("MultiBoxLoading");this.contentEffects.start({opacity:0});this.removeContent.bind(this).delay(500)},removeContent:function(){if($("MultiBoxMediaObject")){$("MultiBoxMediaObject").empty();$("MultiBoxMediaObject").destroy()}$("MultiBoxContentContainer")&&$("MultiBoxContentContainer").destroy()},showControls:function(){this.clicked=false;if(this.container.getStyle("height")!="auto"){this.containerDefaults.height=
this.container.getStyle("height");this.containerDefaults.backgroundColor=this.options.contentColor}this.container.setStyles({height:"auto"});if(this.content.length>1){this.previousButton.setStyle("visibility","visible");this.nextButton.setStyle("visibility","visible");this.title.setStyle("margin-left",this.titleMargin);this.contentToLoad.number==1?this.previousButton.addClass("MultiBoxPreviousDisabled"):this.previousButton.removeClass("MultiBoxPreviousDisabled");this.contentToLoad.number==this.content.length?
this.nextButton.addClass("MultiBoxNextDisabled"):this.nextButton.removeClass("MultiBoxNextDisabled")}else{this.previousButton.setStyle("visibility","hidden");this.nextButton.setStyle("visibility","hidden");this.title.setStyle("margin-left",0)}this.controlEffects.start({height:this.controls.getCoordinates().height});this.iframeEffects.start({height:this.iframe.getStyle("height").toInt()+this.controls.getStyle("height").toInt()});this.options.overlay&&this.options.overlay.position()},hideControls:function(){this.iframeEffects.start({height:this.iframe.getStyle("height").toInt()-
this.controls.getStyle("height").toInt()});this.controlEffects.start({height:0}).chain(function(){this.container.setStyles(this.containerDefaults)}.bind(this))},showThumbnails:function(){},next:function(){if(this.index<this.content.length-1){this.index++;this.openId=this.content[this.index].getProperty("id");this.options.showControls&&this.hideControls();this.getOpenClosePos(this.content[this.index]);this.timer=this.hideContent.bind(this).delay(500);this.timer=this.load.pass(this.index,this).delay(1100)}},
previous:function(){if(this.index>0){this.index--;this.openId=this.content[this.index].getProperty("id");this.options.showControls&&this.hideControls();this.getOpenClosePos(this.content[this.index]);this.timer=this.hideContent.bind(this).delay(500);this.timer=this.load.pass(this.index,this).delay(1E3)}},createEmbedObject:function(){if(this.type=="flash"){var a=this.contentObj.url,c=(new Element("div")).setProperties({id:"MultiBoxMediaObject"});this.str='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" ';
this.str+='width="'+this.contentObj.width+'" ';this.str+='height="'+this.contentObj.height+'" ';this.str+='title="MultiBoxMedia">';this.str+='<param name="movie" value="'+a+'" />';this.str+='<param name="quality" value="high" />';this.str+='<embed src="'+a+'" ';this.str+='quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" ';this.str+='width="'+this.contentObj.width+'" ';this.str+='height="'+this.contentObj.height+
'"></embed>';this.str+="</object>"}if(this.type=="youtube"){a=this.contentObj.url;c=(new Element("div")).setProperties({id:"MultiBoxMediaObject"});this.str='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" ';this.str+='width="'+this.contentObj.width+'" ';this.str+='height="'+this.contentObj.height+'" ';this.str+='title="MultiBoxMedia">';this.str+='<param name="movie" value="'+a+'" />';this.str+=
'<param name="quality" value="high" />';this.str+='<param name="allowFullScreen" value="true"></param>';this.str+='<embed src="'+a+'" ';this.str+='quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" ';this.str+='allowfullscreen="true" ';this.str+='width="'+this.contentObj.width+'" ';this.str+='height="'+this.contentObj.height+'"></embed>';this.str+="</object>"}if(this.type=="flashVideo"){a=this.contentObj.url;
c=(new Element("div")).setProperties({id:"MultiBoxMediaObject"});this.str='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" ';this.str+='width="'+this.contentObj.width+'" ';this.str+='height="'+(Number(this.contentObj.height)+this.contentObj.xH)+'" ';this.str+='title="MultiBoxMedia">';this.str+='<param name="movie" value="'+this.options.path+'flvplayer.swf" />';this.str+='<param name="quality" value="high" />';
this.str+='<param name="salign" value="TL" />';this.str+='<param name="scale" value="noScale" />';this.str+='<param name="FlashVars" value="path='+a+'" />';this.str+='<embed src="'+this.options.path+'flvplayer.swf" ';this.str+='quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" ';this.str+='width="'+this.contentObj.width+'" ';this.str+='height="'+(Number(this.contentObj.height)+this.contentObj.xH)+'"';
this.str+='salign="TL" ';this.str+='scale="noScale" ';this.str+='FlashVars="path='+a+'"';this.str+="></embed>";this.str+="</object>"}if(this.type=="flashMp3"){a=this.contentObj.url;c=(new Element("div")).setProperties({id:"MultiBoxMediaObject"});this.str='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" ';this.str+='width="'+this.contentObj.width+'" ';this.str+='height="'+this.contentObj.height+
'" ';this.str+='title="MultiBoxMedia">';this.str+='<param name="movie" value="'+this.options.path+'mp3player.swf" />';this.str+='<param name="quality" value="high" />';this.str+='<param name="salign" value="TL" />';this.str+='<param name="scale" value="noScale" />';this.str+='<param name="FlashVars" value="path='+a+'" />';this.str+='<embed src="'+this.options.path+'mp3player.swf" ';this.str+='quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" ';
this.str+='width="'+this.contentObj.width+'" ';this.str+='height="'+this.contentObj.height+'"';this.str+='salign="TL" ';this.str+='scale="noScale" ';this.str+='FlashVars="path='+a+'"';this.str+="></embed>";this.str+="</object>"}if(this.type=="quicktime"){c=(new Element("div")).setProperties({id:"MultiBoxMediaObject"});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="'+this.contentObj.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="'+this.contentObj.url+'" autoplay="true" pluginspage="http://www.apple.com/quicktime/download/" width="'+this.contentObj.width+'" height="'+this.contentObj.height+'"></embed>';this.str+="<object/>"}if(this.type==
"windowsMedia"){c=(new Element("div")).setProperties({id:"MultiBoxMediaObject"});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="'+this.contentObj.url+'" />';this.str+='<param name="Showcontrols" value="true" />';this.str+=
'<param name="autoStart" value="true" />';this.str+='<embed type="application/x-mplayer2" src="'+this.contentObj.url+'" Showcontrols="true" autoStart="true" width="'+this.contentObj.width+'" height="'+this.contentObj.height+'"></embed>';this.str+="<object/>"}if(this.type=="real"){c=(new Element("div")).setProperties({id:"MultiBoxMediaObject"});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="'+this.contentObj.url+'" />';this.str+='<param name="controls" value="ImageWindow" />';this.str+='<param name="autostart" value="true" />';this.str+='<embed src="'+this.contentObj.url+'" controls="ImageWindow" autostart="true" width="'+this.contentObj.width+'" height="'+this.contentObj.height+'"></embed>';this.str+="<object/>"}return c}});multiBox.implement(new Options);multiBox.implement(new Events);

