window.addEvent('domready',function(){var showDuration=7000;var container=$('slideshow-container');var currentIndex=0;var interval;if(container==null)
return;var images=container.getElements('img');images.each(function(img,i){if(i>0){img.set('opacity',0);}});var show=function(){images[currentIndex++].fade('out');images[currentIndex%=images.length].fade('in');};window.addEvent('load',function(){interval=show.periodical(showDuration);});});;window.addEvent('domready',function(){var containermainmenu=$('mainmenu');if(containermainmenu==null)
return;var mainmenulinks=containermainmenu.getElements('a');mainmenulinks.each(function(link,i){var cssClass=link.get('class');if(cssClass!='active'){link.set('opacity',0.01);link.addEvent('mouseover',function(e){e.stop();link.fade(1);});link.addEvent('mouseout',function(e){e.stop();link.fade(0.01);});}});});;window.addEvent('domready',function(){var accordionServices=new Fx.Accordion($$('.contentheading-services'),$$('.contentbody-services'),{opacity:0,onActive:function(toggler){toggler.setStyle('color','#006392');toggler.setStyle('border-bottom-color','#ddd');},onBackground:function(toggler){toggler.setStyle('color','#666');toggler.setStyle('border-bottom-color','#fff');}});});;function externalLinks(){if(!document.getElementsByTagName)
return;var anchors=document.getElementsByTagName("a");for(var i=0;i<anchors.length;i++){var anchor=anchors[i];if(anchor.getAttribute("href")&&anchor.getAttribute("rel")=="external")
anchor.target="_blank";}}
window.addEvent('domready',function(){externalLinks();});;var BQ={};var BB={};BQ={quotemessage:null,updateMessage:function(){if(!$defined(BQ.quotemessage)){BQ.quotemessage=$('quotemessage');}
if($defined(BQ.quotemessage)){var message=BQ.makeMessage();BQ.quotemessage.set('text',message);}},makeMessage:function(){var NL='\n';message='';subtotal=0;BB.inputs.each(function(input){var isChecked=BB.isInputChecked(input);var label=BB.getInputLabel(input);var isHider=BB.isInputHider(input);var value=BB.getInputValue(input);var type=BB.getInputType(input);var isOptional=BB.isInputOptional(input);if(type=='checkbox'){message+=NL;}
if(isHider){message+=label+NL;}else{if(type=='checkbox'){if(isOptional){message+='Option'+NL;}else{message+='Base Price'+NL;}}
message+=isChecked?'YES . . . ':'NO  . . . ';message+=label+' ('+BB.currency(value)+')'+NL;}
if(!isHider&&isChecked){subtotal+=value;}});var totals='';var exempt=$('exempt').get('checked');var vatAmt=VAT.appliedRate*subtotal;var vatPct=VAT.appliedRate*100;if(!exempt){totals+='Subtotal    '+BB.pad(BB.currency(subtotal),15)+NL;totals+='VAT '+vatPct+'%     '+BB.pad(BB.currency(vatAmt),15)+NL;}else{totals+='VAT exempt'+NL;}
totals+='Total $     '+BB.pad(BB.currency(subtotal+vatAmt),15)+NL;return message+NL+totals;},initSaveQuote:function(){var quotesave=$('quotesave');if($defined(quotesave)){quotesave.addEvent('click',function(){var myForm=$('quoteform');myForm.set('send',{url:BoatQuote.saveURL,method:'post',onSuccess:function(rText){BQ.onSuccess(rText);}});myForm.send();var quotebtnmsg=$('quotebtnmsg');quotebtnmsg.set('class','busy');quotebtnmsg.set('text','Sending');});}},onSuccess:function(rText){var resultStatus=rText.substring(0,2);var resultMessage=rText.substring(3);var quotebtnmsg=$('quotebtnmsg');quotebtnmsg.set('text',resultMessage);quotebtnmsg.set('class',resultStatus);}};BB={selected:'',inputs:null,initToggle:function(){var tags=$$('.tagCB');tags.each(function(tag){tag.addEvent('click',function(event){BB.clickTag(tag);BB.updateListLinks(tag.getParent('label').get('text'));});});var selectedTag=Cookie.read('selectedTag');if($defined(selectedTag)){BB.selectTag(selectedTag,tags);BB.updateListLinks(selectedTag);}},selectTag:function(tag,tags){if($defined(tags)){tags.each(function(tagInput){if(tagInput.get('id')==('tag_'+tag)){tagInput.set('checked','checked');BB.clickTag(tagInput);}});}},updateListLinks:function(tag){$$('a.listboat').each(function(link){var href=link.get('href');href=href.replace(/(\?.*)$/,'');link.set('href',href+'?application='+tag);});},clickTag:function(tag){BB.showHideTags(tag.get('id'));BB.selected=tag.getParent('label').get('text');},showHideTags:function(tagId){var tag=tagId.substr(4);var boats=$$('#boatlist .listboat');boats.setStyle('display','block');boats.fade('hide');var showBoats=boats.filter(function(boat){var tagString=String(boat.getChildren('.tags').get('text'));var contains=tagString.contains(tag,', ');if(contains){return boat;}else{boat.setStyle('display','none');}});showBoats.fade('in');},initBoatLinks:function(){var boats=$$('#boatlist .listboat');boats.each(function(link){link.addEvent('click',function(){Cookie.write('selectedTag',BB.selected);});});},initGroupHiders:function(){var groupHiders=$$('.groupHider');groupHiders.addEvent('click',function(event){var id=event.target.get('value');$(id).setStyle('display',event.target.checked?'block':'none');$('hider_'+id).setStyle('margin-bottom',event.target.checked?'0':'1px');if(!event.target.checked){$$('#'+id+' input').set('checked',false);}});},initCalculator:function(){BB.inputs=$$('#boatoptions input');if(BB.inputs.length>0){BB.inputs.addEvent('click',function(){BB.refresh();});BB.refresh();}},refresh:function(){BB.recalculate();BQ.updateMessage();},recalculate:function(){var subtotal=0;BB.inputs.each(function(input){var isHider=BB.isInputHider(input);var value=BB.getInputValue(input);var isChecked=BB.isInputChecked(input);if(!isHider&&isChecked){subtotal+=value;}});BB.updatePrice(subtotal);},getInputLabel:function(input){return input.getParent('div').getParent('div').getChildren('.optDesc').get('text');},getInputType:function(input){return input.get('type');},isInputHider:function(input){return input.get('class')=='groupHider';},getInputValue:function(input){return input.get('value').toFloat();},isInputChecked:function(input){return input.get('checked');},isInputOptional:function(input){return!input.get('disabled');},updatePrice:function(subtotal){var vatAmt=VAT.appliedRate*subtotal;$('pricingSub').set('text',BB.currency(subtotal));$('pricingVat').set('text',BB.currency(vatAmt));$('pricingTot').set('text',BB.currency(subtotal+vatAmt));},currency:function(amount)
{if(isNaN(amount)){return'?';}
var nStr=amount.toFixed(2);nStr+='';x=nStr.split('.');x1=x[0];x2=x.length>1?'.'+x[1]:'';var rgx=/(\d+)(\d{3})/;while(rgx.test(x1)){x1=x1.replace(rgx,'$1'+','+'$2');}
return x1+x2;},pad:function(str,space){result='';padding=space-str.length;for(i=0;i<padding;i++){result+=' ';}
result+=str;return result;},initVatRate:function(){var vat=$('pricingVatRate');if($defined(vat)){vat.set('text',VAT.actualRate*100);}},initExempt:function(){var priceRowSub=$('priceRowSub');var priceRowVat=$('priceRowVat');var exempt=$('exempt');if($defined(exempt)){exempt.addEvent('click',function(event){var checked=event.target.get('checked');if(checked){VAT.appliedRate=0;priceRowSub.addClass('rowHide');priceRowVat.addClass('rowHide');}else{VAT.appliedRate=VAT.actualRate;priceRowSub.removeClass('rowHide');priceRowVat.removeClass('rowHide');}
BB.refresh();});}}};window.addEvent('domready',function(){BB.initToggle();BB.initBoatLinks();if(!$defined($('QA_priceArea'))){BB.initGroupHiders();BB.initVatRate();BB.initExempt();BB.initCalculator();BQ.initSaveQuote();}});window.addEvent('domready',function(){var showDuration=5000;var container=$('gallery-container');if(!$defined(container)){return;}
var images=container.getElements('img');if(images.length===0){return;}
var currentIndex=0;var interval;images.each(function(img,i){if(i>0){img.set('opacity',0);}});var show=function(){images[currentIndex++].fade('out');images[currentIndex%=images.length].fade('in');};window.addEvent('load',function(){interval=show.periodical(showDuration);});});;var BA={};var BP={};var BI={};BA={intervalID:null,selection:null,assertSelection:function(){BA.selection=null;var selected=$('boatapplication').getElement('input[name=tags]:checked').getParent('label').get('text');if(selected.length>0){BA.selection=selected;return true;}else{alert('Please make a selection first');return false;}},makeTagURL:function(action,newName){Cookie.write('selectedTag',newName);return BoatAdmin.tagsURL+'&action='+action+
(action=='add'?'':'&tagname='+escape(BA.selection))+
(newName==null?'':'&newname='+escape(newName));},reloadThisPage:function(){location.reload(true);},sendTagResult:function(rText){var resultStatus=rText.substring(0,2);var resultMessage=rText.substring(3);if(resultStatus=='EX'){alert(resultMessage);}else{BA.reloadThisPage();}},sendTagAction:function(url){var req=new Request({method:'get',url:url,onSuccess:function(result){BA.sendTagResult(result);}});req.send();},initApplicationsCRUD:function(){var deleteTag=$('QA_deleteTag');var editTag=$('QA_editTag');var addTag=$('QA_addTag');if(!$defined(deleteTag)||!$defined(editTag)||!$defined(addTag)){return;}
deleteTag.addEvent('click',function(){if(BA.assertSelection()){if(confirm("Are you sure you would like to delete '"+BA.selection+"'?")){var url=BA.makeTagURL('delete',null);BA.sendTagAction(url);}}});editTag.addEvent('click',function(){if(BA.assertSelection()){var newName=prompt("Change 'application' name?").trim();if(newName.length>0){var url=BA.makeTagURL('edit',newName);BA.sendTagAction(url);}else{alert("'Application' name cannot be empty!");}}});addTag.addEvent('click',function(){var newName=prompt("New 'application' name?").trim();if(newName.length>0){var url=BA.makeTagURL('add',newName);BA.sendTagAction(url);}else{alert("'Application' name cannot be empty!");}});},saveBoatResult:function(rText){var resultStatus=rText.substring(0,2);var resultMessage=rText.substring(3);if(resultStatus=='EX'){alert(resultMessage);}else{window.location.href=$('QA_closeBoat').get('href');}},saveBoat:function(){$('QA_boatText').set('value',BoatAdmin_getEditorTextFunction());var boatForm=$('boatdetail');boatForm.set('send',{url:BoatAdmin.saveBoat,method:'post',onSuccess:function(result){BA.saveBoatResult(result);}});boatForm.send();},initSaveBoatButton:function(){var saveBoat=$('QA_saveBoat');if($defined(saveBoat)){saveBoat.addEvent('click',function(){BA.saveBoat();});}},deleteBoat:function(id){var reqDel=new Request({method:'get',url:BoatAdmin.delBoat,onSuccess:BA.reloadThisPage});reqDel.send('boatId='+id);},initDeleteBoatButtons:function(){$$('a.QA_boatDelete').each(function(link){link.addEvent('click',function(event){event.stop();if(confirm("Are you sure you would like to delete this boat? There is no undo!")){var deleteId=link.get('data:boatId');BA.deleteBoat(deleteId);}});});},hideEl:function(el){el.setStyle('display','none');},resizeJCEEditor:function(){var jceTable=$('QA_boatText_tbl');if($defined(jceTable)){$clear(BA.intervalID);$('boatEditorJCE').getChildren('.advcode_toggle').each(function(item){BA.hideEl(item);});BA.hideEl($('QA_boatText_toolbar2'));BA.hideEl($('QA_boatText_toolbar3'));BA.hideEl($('QA_boatText_fontselect'));BA.hideEl($('QA_boatText_fontsizeselect'));var height=jceTable.getStyle('height');jceTable.setStyle('height',height-40);}},initJCEEditor:function(){if($defined('boatEditorJCE')){BA.intervalID=BA.resizeJCEEditor.periodical(100);}}};BP={debug:false,boatId:null,optionsArea:null,initOptionsEditor:function(){BP.optionsArea=$('boatoptions');BP.boatId=$('QA_boatId').get('value');},optionSave:function(newPrice,optionId,optionDesc,ordering){var reqSave=new Request({url:BoatAdmin.optionSave,onSuccess:function(response){if(BP.debug){alert(response);}else{BA.reloadThisPage();}},data:'boatId='+BP.boatId+'&newPrice='+escape(newPrice)+'&optionId='+optionId+'&optionDesc='+escape(optionDesc)+'&optionOrder='+ordering});reqSave.post();},groupSave:function(groupId,groupDesc,groupHide){var reqSave=new Request({url:BoatAdmin.groupSave,onSuccess:function(response){if(BP.debug){alert(response);}else{BA.reloadThisPage();}},data:'boatId='+BP.boatId+'&groupId='+groupId+'&groupHide='+groupHide+'&groupDesc='+escape(groupDesc)});reqSave.post();},initBasePriceSave:function(){$('QA_priceBaseSave').addEvent('click',function(){var price=$('QA_priceBaseInput').get('value');BP.optionSave(price,0,'',0);});},getWrapper:function(button,cssClass){return button.getParent('.'+cssClass);},getOptionPrice:function(opt){return opt.getElement('.optPrice').get('value');},getOptionId:function(opt){return opt.getProperty('data:optionid');},getOptionDesc:function(opt){return opt.getElement('.optDesc').get('value');},getOptionOrder:function(opt){return opt.getElement('.optOrder').get('value');},getGroupId:function(grp){return grp.getProperty('data:groupId');},getGroupDesc:function(grp){return grp.getElement('.optDesc').get('value');},getGroupHide:function(grp){return grp.getElement('.grpHide').get('checked')?1:0;},initOptionPriceSaves:function(){$$('.QA_priceOptionSave').each(function(button){button.addEvent('click',function(){var opt=BP.getWrapper(button,'optionSingle');BP.optionSave(BP.getOptionPrice(opt),BP.getOptionId(opt),BP.getOptionDesc(opt),BP.getOptionOrder(opt));});});},initOptionPriceDeletes:function(){$$('.QA_priceOptionDelete').each(function(button){button.addEvent('click',function(event){event.stop();if(confirm('Are you sure you would like to delete this pricing option? \nThere is no undo!')){window.location=button.get('href');}});});},initGroupSaves:function(){$$('.QA_priceGroupSave').each(function(button){button.addEvent('click',function(){var grp=BP.getWrapper(button,'optionGroupHider');BP.groupSave(BP.getGroupId(grp),BP.getGroupDesc(grp),BP.getGroupHide(grp));});});},initGroupOptionSaves:function(){$$('.QA_groupOptionSave').each(function(button){button.addEvent('click',function(){var opt=BP.getWrapper(button,'optionGroup');BP.optionSave(BP.getOptionPrice(opt),BP.getOptionId(opt),BP.getOptionDesc(opt),BP.getOptionOrder(opt));});});},initGroupDeletes:function(){$$('.QA_priceGroupDelete').each(function(button){button.addEvent('click',function(event){event.stop();if(confirm('Are you sure you would like to delete this group of options? \nThere is no undo!')){window.location=button.get('href');}});});},initGroupOptionDeletes:function(){$$('.QA_groupOptionDelete').each(function(button){button.addEvent('click',function(event){event.stop();if(confirm('Are you sure you would like to delete this choice option? \nThere is no undo!')){window.location=button.get('href');}});});}};BI={upload0:null,upload1:null,upload2:null,upload3:null,initButtons:function(){BI.upload0=$('select-0');BI.upload1=$('select-1');BI.upload2=$('select-2');BI.upload3=$('select-3');},initSwiff:function(link,imageIndex){try{console.log('url:'+my_fuploadTarget+'&imageIndex='+imageIndex);}catch(e){}
var swf=new Swiff.Uploader({path:'/includes/js/fupload/Swiff.Uploader.swf',url:my_fuploadTarget+'&imageIndex='+imageIndex,verbose:true,queued:false,multiple:false,target:link,instantStart:true,typeFilter:{'Images (*.jpg, *.jpeg)':'*.jpg; *.jpeg;'},fileSizeMax:1*1024*1024,onSelectFail:function(files){alert(files[0].name+' was not added! \nPlease select an image smaller than 1 MB.');},onQueue:linkUpdate,onFileComplete:function(file){BA.reloadThisPage();}});function linkUpdate(){if(!swf.uploading){return;}
var size=Swiff.Uploader.formatUnit(swf.size,'b');link.set('html','<span class="small">'+swf.percentLoaded+'% of '+size+'</span>');link.set('html','<span class="in1"><span class="in2">'+swf.percentLoaded+'% of '+size+'</span></span>');}},initUploader:function(){Asset.javascript('/min/g=fuploadjs&amp;001',{id:'fupload',onload:function(){BI.initSwiff(BI.upload0,0);BI.initSwiff(BI.upload1,1);BI.initSwiff(BI.upload2,2);BI.initSwiff(BI.upload3,3);}});}};window.addEvent('domready',function(){BA.initApplicationsCRUD();BA.initSaveBoatButton();BA.initJCEEditor();BA.initDeleteBoatButtons();if($defined($('QA_priceArea'))){BP.initOptionsEditor();BP.initBasePriceSave();BP.initOptionPriceSaves();BP.initOptionPriceDeletes();BP.initGroupSaves();BP.initGroupDeletes();BP.initGroupOptionSaves();BP.initGroupOptionDeletes();}
if($defined($('QA_imageEditor'))){BI.initUploader();BI.initButtons();}});;var engClass=new Class({Implements:[Options],options:{yourOption:''},initialize:function(options){this.setOptions(options);},initAll:function(){this.initDDLListener('Eng-col-1');this.initDDLListener('Eng-col-2');this.initDDLListener('Eng-col-3');this.initSaveEngine();this.initDeleteEngButtons();},initDDLListener:function(ddlId){var ddl=$(ddlId);if($defined(ddl)){ddl.addEvent('change',function(item){selectedEngineId=item.target.get('value');this.loadEngineIntoSlot(ddlId,selectedEngineId);}.bind(this));}},loadEngineIntoSlot:function(ddlId,selectedEngineId){var jsonRequest=new Request.JSON({url:Engines.showEngine,onSuccess:function(engine){if(engine!=null){$('Eng-tbody').removeClass('hidden');this.renderEngine(ddlId,engine);}}.bind(this)}).get({'engineid':selectedEngineId});},renderEngine:function(ddlId,engine){this.setImg('Photo',engine.id,ddlId);this.setRow('Ref',engine.ref,ddlId);this.setRow('EngineType',engine.e_Engine_Type,ddlId);this.setRow('Steering',engine.e_Steering,ddlId);this.setRow('Displacement',engine.e_Displacement,ddlId);this.setRow('BoreXStroke',engine.e_Bore_X_Stroke,ddlId);this.setRow('CompressionRatio',engine.e_Compression_Ratio,ddlId);this.setRow('MaxPropShaftOutput',engine.e_Max_Prop_Shaft_Output,ddlId);this.setRow('MaxrpmRange',engine.e_Max_rpm_Range,ddlId);this.setRow('Idlingrpm',engine.e_Idling_rpm,ddlId);this.setRow('Scavenging',engine.e_Scavenging,ddlId);this.setRow('FuelInductionSystem',engine.e_Fuel_Induction_System,ddlId);this.setRow('StartingSystem',engine.e_Starting_System,ddlId);this.setRow('LubricationSystem',engine.e_Lubrication_System,ddlId);this.setRow('OilRatioFuelMixture',engine.e_Oil_Ratio_Fuel_Mixture,ddlId);this.setRow('BuiltInFuelTank',engine.e_Built_In_Fuel_Tank,ddlId);this.setRow('MaxFuelConsumption',engine.e_Max_Fuel_Consumption,ddlId);this.setRow('IgnitionSystem',engine.e_Ignition_System,ddlId);this.setRow('SparkAdvance',engine.e_Spark_Advance,ddlId);this.setRow('SparkPlug',engine.e_Spark_Plug,ddlId);this.setRow('Alternatoroutput',engine.e_Alternator_output,ddlId);this.setRow('Starter',engine.e_Starter,ddlId);this.setRow('SteeringAngle',engine.e_Steering_Angle,ddlId);this.setRow('TrimandTilt',engine.e_Trim_and_Tilt,ddlId);this.setRow('GearShift',engine.e_Gear_Shift,ddlId);this.setRow('GearRatio',engine.e_Gear_Ratio,ddlId);this.setRow('ExhaustSystem',engine.e_Exhaust_System,ddlId);this.setRow('PropEngagement',engine.e_Prop_Engagement,ddlId);this.setRow('EngineTransomHeight',engine.e_Engine_Transom_Height,ddlId);this.setRow('DryWeight',engine.e_Dry_Weight,ddlId);},setRow:function(rowId,content,ddlId){target=$$('#Eng-row-'+rowId+' .'+ddlId)[0];if(target!=null){target.set('html',content);}},setImg:function(rowId,id,ddlId){var content='<span class="img" style="background-image:url(/img/Engines/'+id+'/thumb.jpg);"></span>';target=$$('#Eng-row-'+rowId+' .'+ddlId)[0];if(target!=null){target.set('html',content);}},initDeleteEngButtons:function(){$$('a.Eng-delete').each(function(link){link.addEvent('click',function(event){event.stop();if(confirm("Are you sure you would like to delete this engine? There is no undo!")){var deleteId=link.get('data:engineId');this.deleteEngine(deleteId);}}.bind(this));}.bind(this));},deleteEngine:function(id){var reqDel=new Request({method:'get',url:Engines.deleteEngine,onSuccess:this.reloadThisPage});reqDel.send('engine='+id);},reloadThisPage:function(){location.reload(true);},initSaveEngine:function(){var saveEng=$('Eng_save');if($defined(saveEng)){saveEng.addEvent('click',function(){this.saveEng();}.bind(this));}},saveEng:function(){if(this.isValid()){this.saveEngForm();}},saveEngResult:function(rText){var resultStatus=rText.substring(0,2);var resultMessage=rText.substring(3);if(resultStatus=='EX'){alert(resultMessage);}else{window.location.href=$('Eng_close').get('href');}},saveEngForm:function(){var engForm=$('boatdetail');engForm.set('send',{url:Engines.saveEngine,method:'post',onSuccess:function(result){this.saveEngResult(result);}.bind(this)});engForm.send();},isValid:function(){var order=$('Eng_order').get('value').trim();order=isNaN(order)?0:order;$('Eng_order').set('value',order);var ref=$('Eng_ref').get('value').trim();if(ref.length==0){alert('Please specify a reference number');return false;}
var name=$('Eng_name').get('value').trim();if(name.length==0){alert('Please specify a name');return false;}
return true;},upload0:null,initButtons:function(){this.upload0=$('select-0');},initSwiff:function(link,imageIndex){try{console.log('url:'+my_fuploadTarget+'&imageIndex='+imageIndex);}catch(e){}
var swf=new Swiff.Uploader({path:'/includes/js/fupload/Swiff.Uploader.swf',url:my_fuploadTarget+'&imageIndex='+imageIndex,verbose:true,queued:false,multiple:false,target:link,instantStart:true,typeFilter:{'Images (*.jpg, *.jpeg)':'*.jpg; *.jpeg;'},fileSizeMax:1*1024*1024,onSelectFail:function(files){alert(files[0].name+' was not added! \nPlease select an image smaller than 1 MB.');},onQueue:linkUpdate,onFileComplete:function(file){var response=JSON.decode(file.response.text);if(response.status=="1"){alert("Success, uploaded: "+response.name);}else{alert("Error: "+response.error);}
this.reloadThisPage();}.bind(this)});function linkUpdate(){if(!swf.uploading){return;}
var size=Swiff.Uploader.formatUnit(swf.size,'b');link.set('html','<span class="small">'+swf.percentLoaded+'% of '+size+'</span>');link.set('html','<span class="in1"><span class="in2">'+swf.percentLoaded+'% of '+size+'</span></span>');}},initUploader:function(){Asset.javascript('/min/g=fuploadjs&amp;001',{id:'fupload',onload:function(){this.initSwiff(this.upload0,0);}.bind(this)});}});window.addEvent('domready',function(){var engines=new engClass({yourOption:'yourValue'});engines.initAll();if($defined($('Eng_imageEditor'))){engines.initUploader();engines.initButtons();}});;var LightFace=new Class({Implements:[Options,Events],options:{width:'auto',height:'auto',draggable:false,title:'',buttons:[],fadeDelay:400,fadeDuration:400,keys:{esc:function(){this.close();}},content:'<p>Message not specified.</p>',zIndex:9001,pad:100,overlayAll:false,constrain:false,resetOnScroll:true,baseClass:'lightface',errorMessage:'<p>The requested file could not be found.</p>'},initialize:function(options){this.setOptions(options);this.state=false;this.buttons={};this.resizeOnOpen=true;this.ie6=typeof document.body.style.maxHeight=="undefined";this.draw();},draw:function(){this.box=new Element('table',{'class':this.options.baseClass,styles:{'z-index':this.options.zIndex,opacity:0},tween:{duration:this.options.fadeDuration,onComplete:function(){if(this.box.getStyle('opacity')==0){this.box.setStyles({top:-9000,left:-9000});}}.bind(this)}}).inject(document.body,'bottom');var verts=['top','center','bottom'],hors=['Left','Center','Right'],len=verts.length;for(var x=0;x<len;x++){var row=this.box.insertRow(x);for(var y=0;y<len;y++){var cssClass=verts[x]+hors[y],cell=row.insertCell(y);cell.className=cssClass;if(cssClass=='centerCenter'){this.contentBox=new Element('div',{'class':'lightfaceContent',styles:{width:this.options.width}});cell.appendChild(this.contentBox);}
else{document.id(cell).setStyle('opacity',0.4);}}}
if(this.options.title){this.title=new Element('h2',{'class':'lightfaceTitle',html:this.options.title}).inject(this.contentBox);if(this.options.draggable&&window['Drag']!=null){this.draggable=true;new Drag(this.box,{handle:this.title});this.title.addClass('lightfaceDraggable');}}
this.messageBox=new Element('div',{'class':'lightfaceMessageBox',html:this.options.content||'',styles:{height:this.options.height}}).inject(this.contentBox);this.footer=new Element('div',{'class':'lightfaceFooter',styles:{display:'none'}}).inject(this.contentBox);this.overlay=new Element('div',{html:'&nbsp;',styles:{opacity:0},'class':'lightfaceOverlay',tween:{link:'chain',duration:this.options.fadeDuration,onComplete:function(){if(this.overlay.getStyle('opacity')==0)this.box.focus();}.bind(this)}}).inject(this.contentBox);if(!this.options.overlayAll){this.overlay.setStyle('top',(this.title?this.title.getSize().y-1:0));}
this.buttons=[];if(this.options.buttons.length){this.options.buttons.each(function(button){this.addButton(button.title,button.event,button.color);},this);}
this.focusNode=this.box;return this;},addButton:function(title,clickEvent,color){this.footer.setStyle('display','block');var focusClass='lightfacefocus'+color;var label=new Element('label',{'class':color?'lightface'+color:'',events:{mousedown:function(){if(color){label.addClass(focusClass);var ev=function(){label.removeClass(focusClass);document.id(document.body).removeEvent('mouseup',ev);};document.id(document.body).addEvent('mouseup',ev);}}}});this.buttons[title]=(new Element('input',{type:'button',value:title,events:{click:(clickEvent||this.close).bind(this)}}).inject(label));label.inject(this.footer);return this;},showButton:function(title){if(this.buttons[title])this.buttons[title].removeClass('hiddenButton');return this.buttons[title];},hideButton:function(title){if(this.buttons[title])this.buttons[title].addClass('hiddenButton');return this.buttons[title];},close:function(fast){if(this.isOpen){this.box[fast?'setStyles':'tween']('opacity',0);this.fireEvent('close');this._detachEvents();this.isOpen=false;}
return this;},open:function(fast){if(!this.isOpen){this.box[fast?'setStyles':'tween']('opacity',1);if(this.resizeOnOpen)this._resize();this.fireEvent('open');this._attachEvents();(function(){this._setFocus();}).bind(this).delay(this.options.fadeDuration+10);this.isOpen=true;}
return this;},_setFocus:function(){this.focusNode.setAttribute('tabIndex',0);this.focusNode.focus();},fade:function(fade,delay){this._ie6Size();(function(){this.overlay.setStyle('opacity',fade||1);}.bind(this)).delay(delay||0);this.fireEvent('fade');return this;},unfade:function(delay){(function(){this.overlay.fade(0);}.bind(this)).delay(delay||this.options.fadeDelay);this.fireEvent('unfade');return this;},_ie6Size:function(){if(this.ie6){var size=this.contentBox.getSize();var titleHeight=(this.options.overlayAll||!this.title)?0:this.title.getSize().y;this.overlay.setStyles({height:size.y-titleHeight,width:size.x});}},load:function(content,title){if(content)this.messageBox.set('html',content);if(title&&this.title)this.title.set('html',title);this.fireEvent('complete');return this;},_attachEvents:function(){this.keyEvent=function(e){if(this.options.keys[e.key])this.options.keys[e.key].call(this);}.bind(this);this.focusNode.addEvent('keyup',this.keyEvent);this.resizeEvent=this.options.constrain?function(e){this._resize();}.bind(this):function(){this._position();}.bind(this);window.addEvent('resize',this.resizeEvent);if(this.options.resetOnScroll){this.scrollEvent=function(){this._position();}.bind(this);window.addEvent('scroll',this.scrollEvent);}
return this;},_detachEvents:function(){this.focusNode.removeEvent('keyup',this.keyEvent);window.removeEvent('resize',this.resizeEvent);if(this.scrollEvent)window.removeEvent('scroll',this.scrollEvent);return this;},_position:function(){var windowSize=window.getSize(),scrollSize=window.getScroll(),boxSize=this.box.getSize();this.box.setStyles({left:scrollSize.x+((windowSize.x-boxSize.x)/2),top:scrollSize.y+((windowSize.y-boxSize.y)/2)});this._ie6Size();return this;},_resize:function(){var height=this.options.height;if(height=='auto'){var max=window.getSize().y-this.options.pad;if(this.contentBox.getSize().y>max)height=max;}
this.messageBox.setStyle('height',height);this._position();},toElement:function(){return this.messageBox;},getBox:function(){return this.box;},destroy:function(){this._detachEvents();this.buttons.each(function(button){button.removeEvents('click');});this.box.dispose();delete this.box;}});;LightFace.IFrame=new Class({Extends:LightFace,options:{url:''},initialize:function(options){this.parent(options);if(this.options.url)this.load();},load:function(url,title){this.fade();if(!this.iframe){this.messageBox.set('html','');this.iframe=new IFrame({styles:{width:'100%',height:'100%'},events:{load:function(){this.unfade();this.fireEvent('complete');}.bind(this)},border:0}).inject(this.messageBox);this.messageBox.setStyles({padding:0,overflow:'hidden'});}
if(title)this.title.set('html',title);this.iframe.src=url||this.options.url;this.fireEvent('request');return this;}});;LightFace.Static=new Class({Extends:LightFace,options:{offsets:{x:20,y:20}},open:function(fast,x,y){this.parent(fast);this._position(x,y);},_position:function(x,y){if(x==null)return;this.box.setStyles({top:y-this.options.offsets.y,left:x-this.options.offsets.x});}});;window.addEvent('domready',function(){var modal=new LightFace.IFrame({height:550,width:320,resetOnScroll:false,url:'/bw.php',buttons:[{title:'Close',event:function(){this.close();},color:'blue'}]});document.id('buoyweater-button').addEvent('click',function(e){e.stop();modal.open();});});
