//overlay.js
var Overlay=new Class({getOptions:function(){return{colour:'#000',opacity:0.7,zIndex:1,container:document.body,onClick:Class.empty};},initialize:function(options){this.setOptions(this.getOptions(),options);this.options.container=$(this.options.container);this.container=new Element('div').setProperty('id','OverlayContainer').setStyles({position:'absolute',left:'0px',top:'0px',width:'100%',zIndex:this.options.zIndex}).injectInside(this.options.container);this.iframe=new Element('iframe').setProperties({'id':'OverlayIframe','name':'OverlayIframe','src':'javascript:void(0);','frameborder':1,'scrolling':'no'}).setStyles({'position':'absolute','top':0,'left':0,'width':'100%','height':'100%','filter':'progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)','opacity':0,'zIndex':1}).injectInside(this.container);this.overlay=new Element('div').setProperty('id','Overlay').setStyles({position:'absolute',left:'0px',top:'0px',width:'100%',height:'100%',zIndex:2,backgroundColor:this.options.colour}).injectInside(this.container);this.container.addEvent('click',function(){this.options.onClick();}.bind(this));this.fade=new Fx.Style(this.container,'opacity').set(0);this.position();window.addEvent('resize',this.position.bind(this));},position:function(){if(this.options.container==document.body){var h=window.getScrollHeight()+'px';this.container.setStyles({top:'0px',height:h});}else{var myCoords=this.options.container.getCoordinates();this.container.setStyles({top:myCoords.top+'px',height:myCoords.height+'px',left:myCoords.left+'px',width:myCoords.width+'px'});}},show:function(){this.fade.start(0,this.options.opacity);},hide:function(){this.fade.start(this.options.opacity,0);}});Overlay.implement(new Options);

//bespoke.js
function getAjaxData(querystring){new Ajax('ajaxProcessor.aspx?'+querystring,{method:'get',onComplete:handleResponse,evalResponse:true}).request();}
function handleResponse(){if(response.error=='none'){switch(response.action){case'events':hideErrors(response.item);sel='exhibition_'+response.item;loading='loading_'+response.item;for(i=$(sel).options.length-1;i>=0;i--){$(sel).options[i]=null;}
newOptions=response.message.split(';');for(i=0;i<newOptions.length;i++){option=newOptions[i].split('~');$(sel).options[i]=new Option(option[1],option[0]);}
$(loading).style.display='none';break;case'submitEL':var tbl=$('listing_'+response.item);var div=$('result_'+response.item);div.innerHTML='<strong>Enhanced Listing '+response.item+'</strong><br /><p>'+response.message+'<br />&nbsp;</p>';tbl.style.display='none';div.style.display='block';break;}}else{alert('Sorry, we had a problem carrying out your request.\n'+response.error);}}
function hideErrors(item){$('exhibition_error_'+item).style.display='none';$('info_error_1_'+item).style.display='none';$('info_error_2_'+item).style.display='none';$('website_error_'+item).style.display='none';}
function submitEnhancedListing(ordernumber,item){bCont=true;hideErrors(item);if($('exhibition_'+item).value=='0'){$('exhibition_error_'+item).style.display='inline';bCont=false;}
if($('info_'+item).value==''){$('info_error_1_'+item).style.display='inline';bCont=false;}
if($('info_'+item).value.length>200){$('info_error_2_'+item).style.display='inline';bCont=false;}
if($('website_'+item).value==''){$('website_error_'+item).style.display='inline';bCont=false;}
if(bCont){$('submitting_'+item).style.display='inline';url=urlencode($('website_'+item).value);info=urlencode($('info_'+item).value.replace(/\n/g,'#NL#'));d=new Date();getAjaxData('processor=submitEL&oId='+ordernumber+'&eventId='+$('exhibition_'+item).value+'&url='+url+'&info='+info+'&item='+item+'&dt='+d.getTime().toString());}}
function urlencode(str){var histogram={},histogram_r={},code=0,tmp_arr=[];var ret=str.toString();histogram['!']='%21';histogram['%20']='+';ret=encodeURIComponent(ret);for(search in histogram){replace=histogram[search];tmp_arr=ret.split(search);ret=tmp_arr.join(replace);}
return ret.replace(/(\%([a-z0-9]{2}))/g,function(full,m1,m2){return"%"+m2.toUpperCase();});return ret;}
function log(message){if(window.gecko&&typeof(window["console"])!='undefined'&&debug)
console.log(message);else if(window.ie&&debug)
alert(message);}
function swapText(dir,textbox,text){if(dir=='in'&&textbox.value==text)
textbox.value='';else if(dir=='out'&&textbox.value=='')
textbox.value=text;}

//formvalidate.js

function Trim(TRIM_VALUE){if(TRIM_VALUE.length<1){return"";}
TRIM_VALUE=RTrim(TRIM_VALUE);TRIM_VALUE=LTrim(TRIM_VALUE);if(TRIM_VALUE==""){return"";}
else{return TRIM_VALUE;}}
function RTrim(VALUE){var w_space=String.fromCharCode(32);var v_length=VALUE.length;var strTemp="";if(v_length<0){return"";}
var iTemp=v_length-1;while(iTemp>-1){if(VALUE.charAt(iTemp)==w_space){}
else{strTemp=VALUE.substring(0,iTemp+1);break;}
iTemp=iTemp-1;}
return strTemp;}
function LTrim(VALUE){var w_space=String.fromCharCode(32);if(v_length<1){return"";}
var v_length=VALUE.length;var strTemp="";var iTemp=0;while(iTemp<v_length){if(VALUE.charAt(iTemp)==w_space){}
else{strTemp=VALUE.substring(iTemp,v_length);break;}
iTemp=iTemp+1;}
return strTemp;}
var digits="0123456789";var lowercaseLetters="abcdefghijklmnopqrstuvwxyz"
var uppercaseLetters="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
var whitespace=" \t\n\r";var decimalPointDelimiter="."
var phoneNumberDelimiters="()- ";var validUSPhoneChars=digits+phoneNumberDelimiters;var validWorldPhoneChars=digits+phoneNumberDelimiters+"+";var SSNDelimiters="- ";var validSSNChars=digits+SSNDelimiters;var digitsInSocialSecurityNumber=9;var digitsInUSPhoneNumber=10;var ZIPCodeDelimiters="-";var ZIPCodeDelimeter="-"
var validZIPCodeChars=digits+ZIPCodeDelimiters
var digitsInZIPCode1=5
var digitsInZIPCode2=9
var creditCardDelimiters=" "
function isOkBag(s,bag)
{var i;var returnString="";for(i=0;i<s.length;i++)
{var c=s.charAt(i);if(bag.indexOf(c)==-1)return false;}
return true;}
function isEmpty(s)
{return((s==null)||(s.length==0))}
function isWhiteSpace(s)
{var i;if(isEmpty(s))return true;for(i=0;i<s.length;i++)
{var c=s.charAt(i);if(whitespace.indexOf(c)==-1)return false;}
return true;}
function stripCharsInBag(s,bag)
{var i;var returnString="";for(i=0;i<s.length;i++)
{var c=s.charAt(i);if(bag.indexOf(c)==-1)returnString+=c;}
return returnString;}
function stripCharsNotInBag(s,bag)
{var i;var returnString="";for(i=0;i<s.length;i++)
{var c=s.charAt(i);if(bag.indexOf(c)!=-1)returnString+=c;}
return returnString;}
function stripWhitespace(s)
{return stripCharsInBag(s,whitespace)}
function charInString(c,s)
{for(i=0;i<s.length;i++)
{if(s.charAt(i)==c)return true;}
return false}
function stripInitialWhitespace(s)
{var i=0;while((i<s.length)&&charInString(s.charAt(i),whitespace))
i++;return s.substring(i,s.length);}
function isLetter(c)
{return(((c>="a")&&(c<="z"))||((c>="A")&&(c<="Z")))}
function isDigit(c)
{return((c>="0")&&(c<="9"))}
function isLetterOrDigit(c)
{return(isLetter(c)||isDigit(c))}
function isInteger(s)
{var i;if(isEmpty(s))
if(isInteger.arguments.length==1)return defaultEmptyOK;else return(isInteger.arguments[1]==true);for(i=0;i<s.length;i++)
{var c=s.charAt(i);if(!isDigit(c))return false;}
return true;}
function isSignedInteger(s)
{if(isEmpty(s))
if(isSignedInteger.arguments.length==1)return defaultEmptyOK;else return(isSignedInteger.arguments[1]==true);else{var startPos=0;var secondArg=defaultEmptyOK;if(isSignedInteger.arguments.length>1)
secondArg=isSignedInteger.arguments[1];if((s.charAt(0)=="-")||(s.charAt(0)=="+"))
startPos=1;return(isInteger(s.substring(startPos,s.length),secondArg))}}
function isPositiveInteger(s)
{var secondArg=defaultEmptyOK;if(isPositiveInteger.arguments.length>1)
secondArg=isPositiveInteger.arguments[1];return(isSignedInteger(s,secondArg)&&((isEmpty(s)&&secondArg)||(parseInt(s)>0)));}
function isNonnegativeInteger(s)
{var secondArg=defaultEmptyOK;if(isNonnegativeInteger.arguments.length>1)
secondArg=isNonnegativeInteger.arguments[1];return(isSignedInteger(s,secondArg)&&((isEmpty(s)&&secondArg)||(parseInt(s)>=0)));}
function isNegativeInteger(s)
{var secondArg=defaultEmptyOK;if(isNegativeInteger.arguments.length>1)
secondArg=isNegativeInteger.arguments[1];return(isSignedInteger(s,secondArg)&&((isEmpty(s)&&secondArg)||(parseInt(s)<0)));}
function isNonpositiveInteger(s)
{var secondArg=defaultEmptyOK;if(isNonpositiveInteger.arguments.length>1)
secondArg=isNonpositiveInteger.arguments[1];return(isSignedInteger(s,secondArg)&&((isEmpty(s)&&secondArg)||(parseInt(s)<=0)));}
function isFloat(s)
{var i;var seenDecimalPoint=false;if(isEmpty(s))
if(isFloat.arguments.length==1)return defaultEmptyOK;else return(isFloat.arguments[1]==true);if(s==decimalPointDelimiter)return false;for(i=0;i<s.length;i++)
{var c=s.charAt(i);if((c==decimalPointDelimiter)&&!seenDecimalPoint)seenDecimalPoint=true;else if(!isDigit(c))return false;}
return true;}
function isSignedFloat(s)
{if(isEmpty(s))
if(isSignedFloat.arguments.length==1)return defaultEmptyOK;else return(isSignedFloat.arguments[1]==true);else{var startPos=0;var secondArg=defaultEmptyOK;if(isSignedFloat.arguments.length>1)
secondArg=isSignedFloat.arguments[1];if((s.charAt(0)=="-")||(s.charAt(0)=="+"))
startPos=1;return(isFloat(s.substring(startPos,s.length),secondArg))}}
function isAlphabetic(s)
{var i;if(isEmpty(s))
if(isAlphabetic.arguments.length==1)return defaultEmptyOK;else return(isAlphabetic.arguments[1]==true);for(i=0;i<s.length;i++)
{var c=s.charAt(i);if(!isLetter(c))
return false;}
return true;}
function isAlphanumeric(s)
{var i;if(isEmpty(s))
if(isAlphanumeric.arguments.length==1)return defaultEmptyOK;else return(isAlphanumeric.arguments[1]==true);for(i=0;i<s.length;i++)
{var c=s.charAt(i);if(!(isLetter(c)||isDigit(c)))
return false;}
return true;}
function reformat(s)
{var arg;var sPos=0;var resultString="";for(var i=1;i<reformat.arguments.length;i++){arg=reformat.arguments[i];if(i%2==1)resultString+=arg;else{resultString+=s.substring(sPos,sPos+arg);sPos+=arg;}}
return resultString;}
function reformatZIPCode(ZIPString)
{if(ZIPString.length==5)return ZIPString;else return(reformat(ZIPString,"",5,"-",4));}
function reformatUSPhone(USPhone)
{return(reformat(USPhone,"(",3,") ",3,"-",4))}
function reformatSSN(SSN)
{return(reformat(SSN,"",3,"-",2,"-",4))}
function isLeapYear(argYear){return((argYear%4==0)&&(argYear%100!=0))||(argYear%400==0)}
function daysInMonth(argMonth,argYear){switch(Number(argMonth)){case 1:case 3:case 5:case 7:case 8:case 10:case 12:return 31;break;case 4:case 6:case 9:case 11:return 30;break;case 2:if(isLeapYear(argYear))
return 29
else
return 28
break;default:return 0;}}
function getDateSeparator(argDate){if((argDate.indexOf('-')>0)&&(argDate.indexOf('/')>0))
return' '
if(argDate.indexOf('-')>0)
return'-'
else
if(argDate.indexOf('/')>0)
return'/'
else
return' '}
function getYear(argDate){var dateSep=getDateSeparator(argDate)
if(dateSep==' ')
return 0
if(argDate.split(dateSep).length==3)
return argDate.split(dateSep)[2]
else
return 0}
function getMonth(argDate){var dateSep=getDateSeparator(argDate)
if(dateSep==' ')
return 0
if(argDate.split(dateSep).length==3)
return argDate.split(dateSep)[0]
else
return 0}
function getDay(argDate){var dateSep=getDateSeparator(argDate)
if(dateSep==' ')
return 0
if(argDate.split(dateSep).length==3)
return argDate.split(dateSep)[1]
else
return 0}
function isProperDay(argDay,argMonth,argYear){if((isWhiteSpace(argDay))||(argDay==0))
return false
if((argDay>0)&&(argDay<daysInMonth(argMonth,argYear)+1))
return true
else
return false}
function isProperMonth(argMonth){if((isWhiteSpace(argMonth))||(argMonth==0))
return false
if((argMonth>0)&&(argMonth<13))
return true
else
return false}
function isProperYear(argYear){if((isWhiteSpace(argYear))||(argYear.toString().length>4)||(argYear.toString().length==3))
return false
switch(argYear.toString().length){case 1:if(argYear>=0&&argYear<10)
return true
else
return false
case 2:if(argYear>=0&&argYear<100)
return true
else
return false
case 4:if(((argYear>=1900)||(argYear>=2000))&&((argYear<3000)||(argYear<2000)))
return true
else
return false
default:return false}}
function isProperDate(argDate){var tmpDay=getDay(argDate)
var tmpMon=getMonth(argDate)
var tmpYear=getYear(argDate)
return isProperDay(tmpDay,tmpMon,tmpYear)&&isProperMonth(tmpMon)&&isProperYear(tmpYear)}
function charOccurences(argString,argChar){var intCt=0
for(var intI=0;intI<argString.length;intI++)
if(argString.charAt(intI)==argChar)
intCt++
return intCt}
function isProperEmail(argEmail){if(charOccurences(argEmail,'@')+charOccurences(argEmail,'.')<2)
return false
var atPos=argEmail.indexOf('@')
var dotPos=argEmail.indexOf('.')
if((atPos==0)||(atPos==(argEmail.length-1)))
return false
if((dotPos==0)||(dotPos==(argEmail.length-1)))
return false
var checkTLD=1;var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;var emailPat=/^(.+)@(.+)$/;var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";var validChars="\[^\\s"+specialChars+"\]";var quotedUser="(\"[^\"]*\")";var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;var atom=validChars+'+';var word="("+atom+"|"+quotedUser+")";var userPat=new RegExp("^"+word+"(\\."+word+")*$");var domainPat=new RegExp("^"+atom+"(\\."+atom+")*$");var matchArray=argEmail.match(emailPat);if(matchArray==null)
{return false;}
var user=matchArray[1];var domain=matchArray[2];for(i=0;i<user.length;i++)
{if(user.charCodeAt(i)>127)
{return false;}}
for(i=0;i<domain.length;i++)
{if(domain.charCodeAt(i)>127)
{return false;}}
if(user.match(userPat)==null)
{return false;}
var IPArray=domain.match(ipDomainPat);if(IPArray!=null)
{for(var i=1;i<=4;i++)
{if(IPArray[i]>255)
{return false;}}
return true;}
var atomPat=new RegExp("^"+atom+"$");var domArr=domain.split(".");var len=domArr.length;for(i=0;i<len;i++)
{if(domArr[i].search(atomPat)==-1)
{return false;}}
if(checkTLD&&domArr[domArr.length-1].length!=2&&domArr[domArr.length-1].search(knownDomsPat)==-1)
{return false;}
if(len<2)
{return false;}
return true;}
function isProperNumber(argNumber){var numberValue=Number(argNumber)
if(isNaN(numberValue))
return false
else
return!isWhiteSpace(argNumber)}
function isProperAlphabetic(argString){var alphabets="abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ"
for(var intI=0;intI<argString.length;intI++)
if(alphabets.indexOf(argString.charAt(intI))==-1)
return false
return true}
function objectValue(argFrm,argElem){var intI
var objElem=null
for(intI=0;intI<argFrm.length;intI++)
if(argFrm[intI].name==argElem)
objElem=argFrm[intI]
switch(objElem.type){case'text':case'hidden':case'password':return objElem.value
break;case'select-one':if(objElem.length==0)
return''
else
return objElem.options[objElem.selectedIndex].value
break;case'radio':for(intI=0;intI<argFrm.length;intI++)
if(argFrm[intI].name==argElem)
if(argFrm[intI].checked)
return argFrm[intI].value
return''
break;}}
function objectFocus(argFrm,argElem){var intI
var objElem=null
for(intI=0;intI<argFrm.length;intI++)
if(argFrm[intI].name==argElem)
objElem=argFrm[intI]
objElem.focus();}
function isProperZip(argZip){if((argZip.length==5)||(argZip.length==9))
return isProperNumber(argZip)
if(argZip.length==10)
return(isProperNumber(argZip.substr(0,5))&&isProperNumber(argZip.substr(6,4))&(argZip.charAt(5)=='-'))}
function isProperUSPhone(argPhone)
{var argPhone2=stripCharsNotInBag(argPhone,"0123456789")
return(isOkBag(argPhone,"01234567890 -().")&&isInteger(argPhone2)&&argPhone2.length==digitsInUSPhoneNumber)}
function isProperUSSSN(argSSN){var argSSN2=stripCharsNotInBag(argSSN,"0123456789")
return(isOkBag(argSSN,"01234567890-")&&isInteger(argSSN2)&&argSSN2.length==11)}
function actionFields(argActions){this.email=(argActions.indexOf('[email]')>-1)
this.required=(argActions.indexOf('[req]')>-1)
this.checkDate=(argActions.indexOf('[date]')>-1)
this.checkZip=(argActions.indexOf('[zip]')>-1)
this.checkNumber=(argActions.indexOf('[number]')>-1)
this.checkAlphabetic=(argActions.indexOf('[alpha]')>-1)
this.checkUSPhone=(argActions.indexOf('[usphone]')>-1)
this.checkUSSSN=(argActions.indexOf('[usssn]')>-1)
if(argActions.indexOf('[len=')>-1){this.checkLength=true
var lenToCheck=''
var bolCont=true
for(var intI=(argActions.indexOf('[len=')+5);((intI<argActions.length)&&bolCont);intI++)
if(argActions.charAt(intI)!=']')
lenToCheck+=argActions.charAt(intI)
else
bolCont=false
this.lengthToCheck=lenToCheck}
else
this.checkLength=false
if(argActions.indexOf('[blankalert=')>-1){this.blankAlert=true
var alertString=''
var bolCont=true
for(var intI=(argActions.indexOf('[blankalert=')+12);((intI<argActions.length)&&bolCont);intI++)
if(argActions.charAt(intI)!=']')
alertString+=argActions.charAt(intI)
else
bolCont=false
this.blankAlertMessage=alertString}
else
this.blankAlert=false
if(argActions.indexOf('[invalidalert=')>-1){this.invalidAlert=true
var alertString=''
var bolCont=true
for(var intI=(argActions.indexOf('[invalidalert=')+14);((intI<argActions.length)&&bolCont);intI++)
if(argActions.charAt(intI)!=']')
alertString+=argActions.charAt(intI)
else
bolCont=false
this.invalidAlertMessage=alertString}
else
this.invalidAlert=false
if(argActions.indexOf('[equals=')>-1){this.shouldEqual=true
var equalsString=''
var bolCont=true
for(var intI=(argActions.indexOf('[equals=')+8);((intI<argActions.length)&&bolCont);intI++)
if(argActions.charAt(intI)!=']')
equalsString+=argActions.charAt(intI)
else
bolCont=false
this.shouldEqualString=equalsString}
else
this.shouldEqual=false}
function validateForm(argForm)
{var frmElements=argForm.elements
var elemName
var elemObj
submitonce(argForm);for(var intI=0;intI<frmElements.length;intI++){elemObj=frmElements[intI]
elemName=elemObj.name
if((elemObj.type=='hidden')&&(elemName.length>5))
if(elemName.substr(elemName.length-5).toLowerCase()=='_vldt'){var objAction=new actionFields(objectValue(frmElements,elemName))
var actElem=elemName.substr(0,elemName.length-5)
if(objAction.required){if(isWhiteSpace(objectValue(frmElements,actElem))){alert(objAction.blankAlert?objAction.blankAlertMessage:actElem+' cannot be left blank')
objectFocus(frmElements,actElem);submitenabled(argForm);return false}}
if((objectValue(frmElements,actElem)>'')&&(!isWhiteSpace(objectValue(frmElements,actElem)))){if(objAction.checkDate)
if(!isProperDate(objectValue(frmElements,actElem))){alert(objAction.invalidAlert?objAction.invalidAlertMessage:actElem+' cannot have an invalid date')
objectFocus(frmElements,actElem);submitenabled(argForm);return false}
if(objAction.checkNumber)
if(!isProperNumber(objectValue(frmElements,actElem))){alert(objAction.invalidAlert?objAction.invalidAlertMessage:actElem+' cannot have an invalid number')
objectFocus(frmElements,actElem);submitenabled(argForm);return false}
if(objAction.checkZip)
if(!isProperZip(objectValue(frmElements,actElem))){alert(objAction.invalidAlert?objAction.invalidAlertMessage:actElem+' cannot have an invalid zipcode')
objectFocus(frmElements,actElem);submitenabled(argForm);return false}
if(objAction.checkAlphabetic)
if(!isProperAlphabetic(objectValue(frmElements,actElem))){alert(objAction.invalidAlert?objAction.invalidAlertMessage:actElem+' cannot have invalid characters')
objectFocus(frmElements,actElem);submitenabled(argForm);return false}
if(objAction.checkUSPhone)
if(!isProperUSPhone(objectValue(frmElements,actElem))){alert(objAction.invalidAlert?objAction.invalidAlertMessage:actElem+' cannot have invalid characters')
objectFocus(frmElements,actElem);submitenabled(argForm);return false}
if(objAction.checkUSSSN)
if(!isProperUSSSN(objectValue(frmElements,actElem))){alert(objAction.invalidAlert?objAction.invalidAlertMessage:actElem+' cannot have invalid characters')
objectFocus(frmElements,actElem);submitenabled(argForm);return false}
if(objAction.email)
if(!isProperEmail(objectValue(frmElements,actElem))){alert(objAction.invalidAlert?objAction.invalidAlertMessage:actElem+' cannot have invalid characters')
objectFocus(frmElements,actElem);submitenabled(argForm);return false}
if(objAction.checkLength)
if(objectValue(frmElements,actElem).length<objAction.lengthToCheck){alert(objAction.invalidAlert?objAction.invalidAlertMessage:actElem+' must be at least '+objAction.lengthToCheck+' characters long')
objectFocus(frmElements,actElem);submitenabled(argForm);return false}}}}
return true}
function submitenabled(theform)
{if(document.all||document.getElementById)
{for(i=0;i<theform.length;i++)
{var tempobj=theform.elements[i];if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset")
tempobj.disabled=false;}}}
function submitonce(theform)
{if(document.all||document.getElementById)
{for(i=0;i<theform.length;i++)
{var tempobj=theform.elements[i];if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset")
tempobj.disabled=true;}}}

//multibox.js

var MultiBox=new Class({getOptions:function(){return{initialWidth:250,initialHeight:250,container:document.body,useOverlay:false,contentColor:'#FFF',showNumbers:true,showControls:true,waitDuration:2000,descClassName:false,descMinWidth:400,descMaxWidth:600,movieWidth:400,movieHeight:300,offset:{x:0,y:-100},fixedTop:false,path:'files/',onOpen:Class.empty,onClose:Class.empty,openFromLink:true,relativeToWindow:true};},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:'auto'}).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(1000);}},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);