var MultiBox=new Class({getOptions:function(){return{initialWidth:250,initialHeight:250,container:document.body,useOverlay:false,contentColor:"#FFF",showNumbers:true,showControls:true,waitDuration:2E3,descClassName:false,descMinWidth:400,descMaxWidth:600,movieWidth:400,movieHeight:300,offset:{x:0,y:0},fixedTop:false,path:"files/",onOpen:Class.empty,onClose:Class.empty,openFromLink:true,relativeToWindow:false}},initialize:function(className,options){this.setOptions(this.getOptions(),options);this.openClosePos=
{};this.timer=0;this.contentToLoad={};this.index=0;this.opened=false;this.contentObj={};this.containerDefaults={};if(this.options.useOverlay)this.overlay=new Overlay({container:this.options.container,onClick:this.close.bind(this)});this.content=$$("."+className);if(this.options.descClassName){this.descriptions=$$("."+this.options.descClassName);this.descriptions.each(function(el){el.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:1,scrolling:"no"}).setStyles({position:"absolute",top:-20,left:-20,width:"115%",height:"115%",filter:"progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)",opacity:0}).injectInside(this.container);this.box=(new Element("div")).addClass("MultiBoxContent").injectInside(this.container);this.closeButton=(new Element("div")).addClass("MultiBoxClose").injectInside(this.container).addEvent("click",
this.close.bind(this));this.controlsContainer=(new Element("div")).addClass("MultiBoxControlsContainer").injectInside(this.container);this.controls=(new Element("div")).addClass("MultiBoxControls").injectInside(this.controlsContainer);this.previousButton=(new Element("div")).addClass("MultiBoxPrevious").injectInside(this.controls).addEvent("click",this.previous.bind(this));this.nextButton=(new Element("div")).addClass("MultiBoxNext").injectInside(this.controls).addEvent("click",this.next.bind(this));
this.title=(new Element("div")).addClass("MultiBoxTitle").injectInside(this.controls);this.number=(new Element("div")).addClass("MultiBoxNumber").injectInside(this.controls);this.description=(new Element("div")).addClass("MultiBoxDescription").injectInside(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").injectInside(this.controls);this.content.each(function(el,i){el.index=i;el.addEvent("click",function(e){(new Event(e)).stop();this.open(el)}.bind(this));if(el.href.indexOf("#")>-1){el.content=$(el.href.substr(el.href.indexOf("#")+1));if(el.content)el.content.setStyle("display","none")}},this);this.containerEffects=new Fx.Styles(this.container,{duration:400,transition:Fx.Transitions.sineInOut});this.controlEffects=new Fx.Styles(this.controlsContainer,
{duration:300,transition:Fx.Transitions.sineInOut});this.reset()},setContentType:function(link){var str=link.href.substr(link.href.lastIndexOf(".")+1).toLowerCase();var contentOptions={};if($chk(link.rel)){var optArr=link.rel.split(",");optArr.each(function(el){var ta=el.split(":");contentOptions[ta[0]]=ta[1]})}if(contentOptions.type!=undefined)str=contentOptions.type;this.contentObj={};this.contentObj.url=link.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=link.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().size.y;this.elementContent.setStyles({display:"none",
opacity:1});break;default:this.type="iframe";if(contentOptions.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(el){if(this.options.openFromLink)if(el.getFirst()){var w=el.getFirst().getCoordinates().width-this.container.getStyle("border").toInt()*
2;if(w<0)w=0;var h=el.getFirst().getCoordinates().height-this.container.getStyle("border").toInt()*2;if(h<0)h=0;this.openClosePos={width:w,height:h,top:el.getFirst().getCoordinates().top,left:el.getFirst().getCoordinates().left}}else{var w=el.getCoordinates().width-this.container.getStyle("border").toInt()*2;if(w<0)w=0;var h=el.getCoordinates().height-this.container.getStyle("border").toInt()*2;if(h<0)h=0;this.openClosePos={width:w,height:h,top:el.getCoordinates().top,left:el.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(el){this.options.onOpen();this.index=this.content.indexOf(el);this.openId=el.getProperty("id");if(!this.opened){this.opened=
true;if(this.options.useOverlay)this.overlay.show();this.container.setStyles(this.getOpenClosePos(el));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.index)}else{if(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)}},getContent:function(index){this.setContentType(this.content[index]);var desc={};if(this.options.descClassName)this.descriptions.each(function(el,i){if(el.hasClass(this.openId))desc=el.clone()},this);this.contentToLoad={title:this.content[index].title||
"&nbsp;",desc:desc,number:index+1}},close:function(){if(this.options.useOverlay)this.overlay.hide();if(this.options.showControls)this.hideControls();this.hideContent();this.containerEffects.stop();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(index){this.box.addClass("MultiBoxLoading");
this.getContent(index);if(this.type=="image"){var xH=this.contentObj.xH;this.contentObj=new Asset.image(this.content[index].href,{onload:this.resize.bind(this)});this.contentObj.xH=xH}else this.resize()},resize:function(){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.stop();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")).setProperties({id:"MultiBoxContentContainer"}).setStyles({opacity:0,
width:this.contentObj.width+"px",height:Number(this.contentObj.height)+this.contentObj.xH+"px"}).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 Ajax(this.contentObj.url,{method:"get",update:"MultiBoxContentContainer",evalScripts:true,autoCancel:true})).request();else{var obj=this.createEmbedObject().injectInside(this.contentContainer);if(this.str!="")$("MultiBoxMediaObject").innerHTML=this.str}this.contentEffects=new Fx.Styles(this.contentContainer,{duration:500,transition:Fx.Transitions.linear});this.contentEffects.start({opacity:1});this.title.setHTML(this.contentToLoad.title);
this.number.setHTML(this.contentToLoad.number+" of "+this.content.length);if(this.options.descClassName){if(this.description.getFirst())this.description.getFirst().remove();this.contentToLoad.desc.injectInside(this.description).setStyles({display:"block"})}if(this.options.showControls)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").remove()}if($("MultiBoxContentContainer"))$("MultiBoxContentContainer").remove()},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.contentToLoad.number==1)this.previousButton.addClass("MultiBoxPreviousDisabled");else this.previousButton.removeClass("MultiBoxPreviousDisabled");
if(this.contentToLoad.number==this.content.length)this.nextButton.addClass("MultiBoxNextDisabled");else this.nextButton.removeClass("MultiBoxNextDisabled");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))},showThumbnails:function(){},next:function(){if(this.index<this.content.length-1){this.index++;this.openId=this.content[this.index].getProperty("id");
if(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");if(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 url=this.contentObj.url;var obj=(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="'+url+'" />';
this.str+='<param name="quality" value="high" />';this.str+='<embed src="'+url+'" ';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=="flashVideo"){var url=this.contentObj.url;var obj=(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='+url+'" />';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='+url+'"';this.str+="></embed>";this.str+="</object>"}if(this.type=="flashMp3"){var url=this.contentObj.url;var obj=(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='+url+'" />';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='+url+'"';this.str+="></embed>";this.str+="</object>"}if(this.type=="quicktime"){var obj=(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"){var obj=(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"){var obj=(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 obj}});MultiBox.implement(new Options);MultiBox.implement(new Events);
