document.observe("dom:loaded",init);var initFunctions=new Array();initFunctions.push(setUpExternalLinks);initFunctions.push(setUpPrint);window.LightboxOptions={fileLoadingImage:'/gen/img/lightbox/loading.gif',fileBottomNavCloseImage:'/gen/img/lightbox/closelabel.gif',overlayOpacity:0.8,animate:true,resizeSpeed:7,borderSize:10,labelImage:"Image",labelOf:"of"};function init(){for(var i=0;i<initFunctions.length;i++)
initFunctions[i].call(this);if($("close-window"))
Event.observe("close-window","click",closeWindow);}
function getURLParam(strParamName){var strReturn="";var strHref=window.location.href;if(strHref.indexOf("?")>-1){var strQueryString=strHref.substr(strHref.indexOf("?")).toLowerCase();strParamName=strParamName.toLowerCase();var aQueryString=strQueryString.split("&");for(var iParam=0;iParam<aQueryString.length;iParam++){if(aQueryString[iParam].indexOf(strParamName+"=")>-1){var aParam=aQueryString[iParam].split("=");strReturn=aParam[1];break;}}}
return strReturn;}
function trimString(str){return str.replace(/^\s+|\s+$/g,"");}
function isDefined(v){return(typeof(window[v])=="undefined")?false:true;}
function IsNumeric(sText,decimalOK,spacesOK,hyphensOK,plusesOK){var ValidChars="0123456789";if(decimalOK)ValidChars=ValidChars+".";if(spacesOK)ValidChars=ValidChars+" ";if(hyphensOK)ValidChars=ValidChars+"-";if(plusesOK)ValidChars=ValidChars+"+";var IsNumber=true;var Char;if(sText.length==0)
return false;for(var i=0;i<sText.length&&IsNumber==true;i++){Char=sText.charAt(i);if(ValidChars.indexOf(Char)==-1)
IsNumber=false;}
return IsNumber;}
function toggleCheck(chkBox){chkBoxObj=$(chkBox);if(chkBoxObj.checked)
chkBoxObj.checked=false;else
chkBoxObj.checked=true;}
function activateRadio(radio){radioObj=$(radio);radioObj.checked=true;}
function roundValue(price){return Math.round(price*100)/100;}
function formatCurrency(price){var result="";var tmpPrice=price;price=Math.abs(price);var decimals=(Math.round((price-Math.floor(price))*100)).toString();if(decimals>=100){decimals="00";price=price+1;}
if(decimals.length==1)decimals="0"+decimals;var thousands=Math.floor(price/1000);if(thousands>0){price-=thousands*1000;result=thousands.toString()+",";units=Math.floor(price);if(units<10)result=result+"00"+units.toString();else if(units<100)result=result+"0"+units.toString();else result=result+units.toString();}else result=Math.floor(price).toString();result=result+"."+decimals;if(tmpPrice<0)result="-"+result;return result;}
function setUpExternalLinks(){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")&&/\bexternal\b/.test(anchor.getAttribute("rel"))){anchor.target="_blank";if(anchor.getAttribute("title")){if(anchor.title.indexOf("(opens in a new window)")<0)anchor.title=anchor.title+' (opens in a new window)';}}}}
function setUpPrint(){var arPrints=$$("a.print-page");for(var i=0;i<arPrints.length;i++)
Event.observe(arPrints[i],"click",function(){window.print();return false;});}
function createUUID(){var s=[],itoh='0123456789ABCDEF';for(var i=0;i<36;i++)
s[i]=Math.floor(Math.random()*0x10);s[14]=4;s[19]=(s[19]&0x3)|0x8;for(var i=0;i<36;i++)
s[i]=itoh[s[i]];s[8]=s[13]=s[18]=s[23]='-';return s.join('');}
function getXmlNodeValue(xmlNode){if(typeof(xmlNode.textContent)=='string')
return xmlNode.textContent;else
return xmlNode.firstChild.nodeValue;}
function listFind(list,itemToFind){var aList=list.split(',');for(var i=0;i<aList.length;++i){if(aList[i]==itemToFind)
return i;}
return-1;}
try
{if(!window.console||typeof(window.console)!='object')
{var names=["log","debug","info","warn","error","assert","dir","dirxml","group","groupEnd","time","timeEnd","count","trace","profile","profileEnd"];window.console={};for(var i=0;i<names.length;++i)
window.console[names[i]]=function(){}}
if(typeof CONSOLELOGGING!="undefined"&&!CONSOLELOGGING)
window.console.log=function(s){};}
catch(e){}
document.observe("dom:loaded",initStore);var ajaxURL="ajax/?uuid="+createUUID()+"&event=ajax.";function initStore(){if($("quicksearchstring"))
setUpQuickSearch();if($("subcatsList"))
setUpSubCatLinks();if($("aodOptions"))
setUpAOD();if($('adminMenu')){Event.observe("adminMenu","mouseover",function(){showAdminMenu(1)});Event.observe("adminMenu","mouseout",function(){showAdminMenu(0)});}}
function updateUnit(){$("unit-form").submit();}
function closeWindow(){window.close();}
function showAdminMenu(bShow){var menu=$('adminMenu').getElementsByTagName('ul')[0];if(bShow)
Element.show(menu);else
Element.hide(menu);}
initFunctions.push(initMiniUploadPhoto);function initMiniUploadPhoto()
{Event.observe('input-browse','change',checkInputFile);Event.observe('form-html','submit',uploading_common);}
initFunctions.push(initUploadPhoto);var uploadCheckTimeout=null;var bStopIfNotRunning=false;var bFreezeView=false;var PSUPLOAD=100;window.onload=function(){$$('IMG.photo_thumb').each(function(elem){var thisID=$(elem).identify();var thisWidth=parseInt($(thisID).getWidth());var thisHeight=parseInt($(thisID).getHeight());if(thisWidth>PSUPLOAD||thisHeight>PSUPLOAD){if(thisWidth>=thisHeight){var resizeFactor=PSUPLOAD/thisWidth;}else{var resizeFactor=PSUPLOAD/thisHeight;}
var newWidth=Math.round(thisWidth*resizeFactor);var newHeight=Math.round(thisHeight*resizeFactor);$(thisID).setStyle({width:newWidth+'px',height:newHeight+'px'});}});};function initUploadPhoto(){if($('uploadBox'))
{Element.show('uploadBox');}else{return;}
var a=P2AUPLOADPROG;if(P2AUPLOADPROG=="true"||P2AUPLOADPROG==true||P2AUPLOADPROG==1){Event.observe('form-html','submit',uploading_prog);}
else{Event.observe('form-html','submit',uploading_common);}
if($('htmlForm')!=null){Element.show('htmlForm');}
upload_progMonitor=null;Event.observe('input-browse','change',checkInputFile);}
function checkInputFile(e){if($('input-browse').value.length<1){upload_error('js','noinput');Event.stop(e);return false;}else if((/\.jpg$|\.jpeg$/i.test($('input-browse').value))==false){upload_error('js','notjpg');Event.stop(e);return false;}
upload_statusMsg('');return true;}
function uploading_common(e){if(checkInputFile(e)){Element.addClassName('form-html',"uploading");upload_updateView('Upload in progress. This may take several minutes.');Element.show('uploading');var arEls=$$('#uploader .msginvalid');arEls=$A(arEls);for(var i=0;i<arEls.length;i++){Element.addClassName(arEls[i],"uploading");}
return true;}
return false;}
function uploading_prog(e){bStopIfNotRunning=false;if(uploading_common(e)){killProgCheck();bFreezeView=false;upload_progMonitor=new Ajax.PeriodicalUpdater('progressBar',JSPPROGRESSPATH+'/uploadStatus.jsp',{method:'get',frequency:0.5,decay:0,onFailure:upload_showError,onSuccess:upload_update});uploadCheckTimeout=window.setTimeout("checkIsRunning();",5000);return true;}
return false;}
function checkIsRunning()
{clearCheckIsRunning();bStopIfNotRunning=true;}
function clearCheckIsRunning()
{if(uploadCheckTimeout!=null){window.clearTimeout(uploadCheckTimeout);}
uploadCheckTimeout=null;}
function notUploading(){clearCheckIsRunning();killProgCheck();var arEls=$$('#uploader .msginvalid','#form-html.uploading');arEls=$A(arEls);for(var i=0;i<arEls.length;i++){Element.removeClassName(arEls[i],"uploading");}
Element.hide('uploading');return;}
function killProgCheck(){if(typeof(upload_progMonitor)=='object')
{if(typeof('upload_progMonitor.stop')=='function'){upload_progMonitor.stop();}
upload_progMonitor=null;}}
function upload_showError()
{notUploading();return true;}
function upload_update(result)
{if(result.status!==200){showError();return;}
var rXML=result.responseXML.documentElement;var percentComplete=rXML.getAttribute('ratio');upload_updateView(parseInt(percentComplete));if(bStopIfNotRunning)
{if(percentComplete<1)
{upload_error('js','notransfer');}
bStopIfNotRunning=false;}
return;}
function upload_error(sType,sE)
{var s='';if(sE=='noinput')s='Please select your image';else if(sE=='toolarge'||sE.indexOf('Upload file size limit reached')>=0)s='Your photo must be under 20MB';else if(sE=='notransfer')s='We had problems uploading your file; please make sure it is less than 20MB';else if(sE=='notjpg')s='We only accept JPEG images. Please select a JPEG to upload.';else s='We had problems uploading your file. Please try again';upload_statusMsg(s);upload_updateView('');notUploading();return;}
function upload_statusMsg(s)
{var arEl=$$('.msginvalid h3');var bFound=false;for(var i=0;i<arEl.length;i++)
{arEl[i].innerHTML=s;bFound=true;}
if(!bFound&&s.length>0)
{$('jsStatusMsg').innerHTML='<div class="msginvalid"><h3>'+s+'</h3></div>';}
else if(s==''&&$('jsStatusMsg'))
{$('jsStatusMsg').innerHTML='';}
var arEl=$$('#uploadBox .p2aTagOnError');for(var i=0;i<arEl.length;i++)
{if(s.length>0){arEl[i].addClassName('err');}else{arEl[i].removeClassName('err');}}
return;}
function upload_complete()
{clearCheckIsRunning();upload_updateView(100);window.location=COMPLETIONURL;}
function upload_updateView(p)
{if(bFreezeView)
return;if(typeof(p)=='string')
$('uploading').innerHTML=p;else if(p>=0&&p<100)
$('uploading').innerHTML='Upload in progress: <span class="percentage">'+p+'%</span> complete';else if(p==100){bFreezeView=true;$('uploading').innerHTML='Upload complete, processing your file...';}}
LightboxOptions=Object.extend({fileLoadingImage:'images/loading.gif',fileBottomNavCloseImage:'images/closelabel.gif',overlayOpacity:0.8,animate:true,resizeSpeed:7,borderSize:10,labelImage:"Image",labelOf:"of"},window.LightboxOptions||{});var Lightbox=Class.create();Lightbox.prototype={imageArray:[],activeImage:undefined,initialize:function(){this.updateImageList();this.keyboardAction=this.keyboardAction.bindAsEventListener(this);if(LightboxOptions.resizeSpeed>10)LightboxOptions.resizeSpeed=10;if(LightboxOptions.resizeSpeed<1)LightboxOptions.resizeSpeed=1;this.resizeDuration=LightboxOptions.animate?((11-LightboxOptions.resizeSpeed)*0.15):0;this.overlayDuration=LightboxOptions.animate?0.2:0;var size=(LightboxOptions.animate?250:1)+'px';var objBody=$$('body')[0];objBody.appendChild(Builder.node('div',{id:'overlay'}));objBody.appendChild(Builder.node('div',{id:'lightbox'},[Builder.node('div',{id:'outerImageContainer'},Builder.node('div',{id:'imageContainer'},[Builder.node('img',{id:'lightboxImage'}),Builder.node('div',{id:'hoverNav'},[Builder.node('a',{id:'prevLink',href:'#'}),Builder.node('a',{id:'nextLink',href:'#'})]),Builder.node('div',{id:'loading'},Builder.node('a',{id:'loadingLink',href:'#'},Builder.node('img',{src:LightboxOptions.fileLoadingImage})))])),Builder.node('div',{id:'imageDataContainer'},Builder.node('div',{id:'imageData'},[Builder.node('div',{id:'imageDetails'},[Builder.node('span',{id:'caption'}),Builder.node('span',{id:'numberDisplay'})]),Builder.node('div',{id:'bottomNav'},Builder.node('a',{id:'bottomNavClose',href:'#'},Builder.node('img',{src:LightboxOptions.fileBottomNavCloseImage})))]))]));$('overlay').hide().observe('click',(function(){this.end();}).bind(this));$('lightbox').hide().observe('click',(function(event){if(event.element().id=='lightbox')this.end();}).bind(this));$('outerImageContainer').setStyle({width:size,height:size});$('prevLink').observe('click',(function(event){event.stop();this.changeImage(this.activeImage-1);}).bindAsEventListener(this));$('nextLink').observe('click',(function(event){event.stop();this.changeImage(this.activeImage+1);}).bindAsEventListener(this));$('loadingLink').observe('click',(function(event){event.stop();this.end();}).bind(this));$('bottomNavClose').observe('click',(function(event){event.stop();this.end();}).bind(this));var th=this;(function(){var ids='overlay lightbox outerImageContainer imageContainer lightboxImage hoverNav prevLink nextLink loading loadingLink '+'imageDataContainer imageData imageDetails caption numberDisplay bottomNav bottomNavClose';$w(ids).each(function(id){th[id]=$(id);});}).defer();},updateImageList:function(){this.updateImageList=Prototype.emptyFunction;document.observe('click',(function(event){var target=event.findElement('a[rel^=lightbox]')||event.findElement('area[rel^=lightbox]');if(target){event.stop();this.start(target);}}).bind(this));},start:function(imageLink){$$('select','object','embed').each(function(node){node.style.visibility='hidden'});var arrayPageSize=this.getPageSize();$('overlay').setStyle({width:arrayPageSize[0]+'px',height:arrayPageSize[1]+'px'});new Effect.Appear(this.overlay,{duration:this.overlayDuration,from:0.0,to:LightboxOptions.overlayOpacity});this.imageArray=[];var imageNum=0;if((imageLink.rel=='lightbox')){this.imageArray.push([imageLink.href,imageLink.title]);}else{this.imageArray=$$(imageLink.tagName+'[href][rel="'+imageLink.rel+'"]').collect(function(anchor){return[anchor.href,anchor.title];}).uniq();while(this.imageArray[imageNum][0]!=imageLink.href){imageNum++;}}
var arrayPageScroll=document.viewport.getScrollOffsets();var lightboxTop=arrayPageScroll[1]+(document.viewport.getHeight()/10);var lightboxLeft=arrayPageScroll[0];this.lightbox.setStyle({top:lightboxTop+'px',left:lightboxLeft+'px'}).show();this.changeImage(imageNum);},changeImage:function(imageNum){this.activeImage=imageNum;if(LightboxOptions.animate)this.loading.show();this.lightboxImage.hide();this.hoverNav.hide();this.prevLink.hide();this.nextLink.hide();this.imageDataContainer.setStyle({opacity:.0001});this.numberDisplay.hide();var imgPreloader=new Image();imgPreloader.onload=(function(){this.lightboxImage.src=this.imageArray[this.activeImage][0];this.resizeImageContainer(imgPreloader.width,imgPreloader.height);}).bind(this);imgPreloader.src=this.imageArray[this.activeImage][0];},resizeImageContainer:function(imgWidth,imgHeight){var widthCurrent=this.outerImageContainer.getWidth();var heightCurrent=this.outerImageContainer.getHeight();var widthNew=(imgWidth+LightboxOptions.borderSize*2);var heightNew=(imgHeight+LightboxOptions.borderSize*2);var xScale=(widthNew/widthCurrent)*100;var yScale=(heightNew/heightCurrent)*100;var wDiff=widthCurrent-widthNew;var hDiff=heightCurrent-heightNew;if(hDiff!=0)new Effect.Scale(this.outerImageContainer,yScale,{scaleX:false,duration:this.resizeDuration,queue:'front'});if(wDiff!=0)new Effect.Scale(this.outerImageContainer,xScale,{scaleY:false,duration:this.resizeDuration,delay:this.resizeDuration});var timeout=0;if((hDiff==0)&&(wDiff==0)){timeout=100;if(Prototype.Browser.IE)timeout=250;}
(function(){this.prevLink.setStyle({height:imgHeight+'px'});this.nextLink.setStyle({height:imgHeight+'px'});this.imageDataContainer.setStyle({width:widthNew+'px'});this.showImage();}).bind(this).delay(timeout/1000);},showImage:function(){this.loading.hide();new Effect.Appear(this.lightboxImage,{duration:this.resizeDuration,queue:'end',afterFinish:(function(){this.updateDetails();}).bind(this)});this.preloadNeighborImages();},updateDetails:function(){if(this.imageArray[this.activeImage][1]!=""){this.caption.update(this.imageArray[this.activeImage][1]).show();}
if(this.imageArray.length>1){this.numberDisplay.update(LightboxOptions.labelImage+' '+(this.activeImage+1)+' '+LightboxOptions.labelOf+' '+this.imageArray.length).show();}
new Effect.Parallel([new Effect.SlideDown(this.imageDataContainer,{sync:true,duration:this.resizeDuration,from:0.0,to:1.0}),new Effect.Appear(this.imageDataContainer,{sync:true,duration:this.resizeDuration})],{duration:this.resizeDuration,afterFinish:(function(){var arrayPageSize=this.getPageSize();this.overlay.setStyle({height:arrayPageSize[1]+'px'});this.updateNav();}).bind(this)});},updateNav:function(){this.hoverNav.show();if(this.activeImage>0)this.prevLink.show();if(this.activeImage<(this.imageArray.length-1))this.nextLink.show();this.enableKeyboardNav();},enableKeyboardNav:function(){document.observe('keydown',this.keyboardAction);},disableKeyboardNav:function(){document.stopObserving('keydown',this.keyboardAction);},keyboardAction:function(event){var keycode=event.keyCode;var escapeKey;if(event.DOM_VK_ESCAPE){escapeKey=event.DOM_VK_ESCAPE;}else{escapeKey=27;}
var key=String.fromCharCode(keycode).toLowerCase();if(key.match(/x|o|c/)||(keycode==escapeKey)){this.end();}else if((key=='p')||(keycode==37)){if(this.activeImage!=0){this.disableKeyboardNav();this.changeImage(this.activeImage-1);}}else if((key=='n')||(keycode==39)){if(this.activeImage!=(this.imageArray.length-1)){this.disableKeyboardNav();this.changeImage(this.activeImage+1);}}},preloadNeighborImages:function(){var preloadNextImage,preloadPrevImage;if(this.imageArray.length>this.activeImage+1){preloadNextImage=new Image();preloadNextImage.src=this.imageArray[this.activeImage+1][0];}
if(this.activeImage>0){preloadPrevImage=new Image();preloadPrevImage.src=this.imageArray[this.activeImage-1][0];}},end:function(){this.disableKeyboardNav();this.lightbox.hide();new Effect.Fade(this.overlay,{duration:this.overlayDuration});$$('select','object','embed').each(function(node){node.style.visibility='visible'});},getPageSize:function(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=window.innerWidth+window.scrollMaxX;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;}
var windowWidth,windowHeight;if(self.innerHeight){if(document.documentElement.clientWidth){windowWidth=document.documentElement.clientWidth;}else{windowWidth=self.innerWidth;}
windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;}
if(yScroll<windowHeight){pageHeight=windowHeight;}else{pageHeight=yScroll;}
if(xScroll<windowWidth){pageWidth=xScroll;}else{pageWidth=windowWidth;}
return[pageWidth,pageHeight];}}
document.observe('dom:loaded',function(){new Lightbox();});
