/*
* * *	* * *	* * *	* * *	* * *	* * *	* * *
 * *	 * *	 * *	 * *	 * *	 * *	 * *
Whitespace Scripts Collection - www.whitespacers.com
Copyright (c) Whitespace Scotland, Ltd 2009-2011. All rights reserved.
Please do not modify, make copies of or redistribute this file.
File generated on Fri, 29 Jul 2011 15:50:40 +0100
*/

//Sourced from: utils.js, updated: 11 May 2011 9:12 am 
var WS=(function(){if(typeof Number.toFormatted==="undefined"){Number.prototype.toFormatted=function(decimals){var num,re,dec_string,len,a;num=this.toString().split(".");if(decimals){dec_string=(num.length>1)?num[1].substring(0,decimals):"0";len=dec_string.length;if(len<decimals){for(a=0;a<(decimals-len);a++){dec_string+="0";}}
num[1]='.'+dec_string;}else{num[1]='';}
re=/(\d+)(\d{3})/;while(re.test(num[0])){num[0]=num[0].replace(re,"$1,$2");}
return num[0]+num[1];};}
if(typeof ob_set==="undefined"){window.ob_set=function(ob,defaults){var key;for(key in defaults){if(defaults.hasOwnProperty(key)){if(defaults[key]!==null&&defaults[key].constructor===Object){ob[key]=ob_set(ob[key]||{},defaults[key]);}else if(ob[key]===undefined){ob[key]=defaults[key];}}}
return ob;};}
return{Include:(function(){var loaded=[];return{'load':function(js_file,callback,type){var script;if(loaded.indexOf(js_file)===-1){type=(type||"text/javascript");script=document.createElement("script");if(script.setAttribute){script.setAttribute("type",type);}
loaded.push(js_file);if(typeof callback==="function"){if("onreadystatechange"in script){script.onreadystatechange=function(){if(this.readyState=="loaded"||this.readyState=="complete"){this.onreadystatechange=null;callback();}};}else{script.onload=callback;}}
script.src=js_file;document.getElementsByTagName("head")[0].appendChild(script);}else{callback();}}};}()),JSMedia:(function(){var mqcss,mqtest;return{'last_query':{'query':null,'string':''},'run':function(query){var media_query,clauses,a,b,result;if(mqtest===undefined){$(document.body).insert(mqtest=new Element("div",{'id':'js-media-test'}).setStyle({'display':'none'}));}
this.last_query.query=query;if(typeof query==="string"){media_query=query;}else if(query.length>0){media_query=[];for(a=0;a<query.length;a++){clauses=[];if(typeof query[a]==="string"){clauses.push(query[a]);}else{for(b=0;b<query[a].length;b++){clauses.push(query[a][b]);}}
media_query.push(clauses.join(" and "));}
media_query="only "+media_query.join(", ");this.last_query.string=media_query;}
$$("head")[0].insert(mqcss=new Element("style",{'type':'text/css','media':media_query}));if(mqcss.styleSheet){mqcss.styleSheet.cssText="div#js-media-test { visibility: hidden; }";}else if(mqcss.sheet){mqcss.sheet.insertRule("div#js-media-test { visibility: hidden; }",0);}
if(mqtest.getStyle("visibility")==="hidden"){result=true;}else{result=false;}
mqcss.remove();return result;}};}())};}());

//Sourced from: ws-forms.js, updated: 21 July 2011 10:22 am 
(function(){if(typeof WS==="undefined"){throw new Error("Whitespace utility namespace does not exist");}
if(typeof Element.formOffset==="undefined"){Element.addMethods({formOffset:function(element){var pos;pos=[];if(!(element=$(element))){return;}
pos.push(element.offsetTop);pos.push(element.offsetLeft);while((element=element.offsetParent)){if(element.tagName==="FORM"){break;}
pos[0]=pos[0]+element.offsetTop;pos[1]=pos[1]+element.offsetLeft;}
return pos;}});}
window.WSForm=function(form,options,fields){var Cls,my;Cls=function(){return{validate:function(fields){var name,result;if(fields===undefined){my.faults=[];}
fields=fields||my.fields||null;if(fields!==null){for(name in fields){if(fields.hasOwnProperty(name)&&my.elements[name]){result=this.validate_field(name);if(result.valid===false){my.faults.push(result);}
if(fields[name].cascade&&result.valid===true){this.validate(fields[name].cascade.fields);}}}}
return(my.faults.length===0);},validate_field:function(name,check){var result,value,num_value,el,duplicate_value,date,date_parts;check=check||my.field(name);el=my.elements[name];result={'valid':true,'name':name,'required_value':'','value':''};if(check&&el){value=this.value(el);num_value=parseFloat(value);result.value=value;if((typeof check==="object"&&(check.require||check.type||check.min||check.max))||check===true){if((check.require||check===true)&&(value===""||value.length===0)){result.valid=false;}
if(check.min!==undefined||check.max!==undefined){check.type=WSForm.ValueTypes.Number;}
if(result.valid&&check.type!==undefined){switch(check.type){case WSForm.ValueTypes.Email:if(!value.match(my.validation_re.email)&&(value!==""||check.require)){result.type=check.type;result.valid=false;}
break;case WSForm.ValueTypes.Number:if(!value.match(my.validation_re.number)&&(value!==""||check.require)){result.type=check.type;result.valid=false;}
break;case WSForm.ValueTypes.Date:if((date=value.match(my.validation_re.date_iso))){date_parts=[date[1],date[2],date[3]];}else if((date=value.match(my.validation_re.date))){date_parts=[date[4],date[3],date[1]];}else if(value!==""||check.require){result.type=check.type;result.valid=false;}
if(date_parts){if(date_parts[1]>12||date_parts[1]<1){result.type=check.type;result.valid=false;}else if(date_parts[2]>31||date_parts[2]<1){result.type=check.type;result.valid=false;}else{date=new Date(date_parts[0],date_parts[1],date_parts[2]);if(isNaN(date.valueOf())){result.type=check.type;result.valid=false;}}}
break;case WSForm.ValueTypes.RegExp:if(check.regexp){if(!check.regexp.test(value)&&(value!==""||check.require)){result.type=check.type;result.valid=false;}}
break;default:my.log("Invalid check type defined for field '"+name+"'");}}
if(result.valid&&(check.min!==undefined||check.max!==undefined)&&!isNaN(num_value)){if(check.min!==undefined&&num_value<check.min){result.value_min=true;result.required_value=check.min;result.valid=false;}
if(check.max!==undefined&&num_value>check.max){result.value_max=true;result.required_value=check.max;result.valid=false;}}
if(check.duplicate_of&&my.elements[check.duplicate_of]!==undefined){duplicate_value=this.value(my.elements[check.duplicate_of]);if(duplicate_value!==value){result.mismatch=check.duplicate_of;result.valid=false;}}}
return result;}else{if(!check){return result;}else{throw new Error("Element '"+name+"' could not be found within the form");}}},value:function(el){var values,result;if(typeof el==="string"){if(my.elements[el]){el=my.elements[el];}else{throw new Error("Element '"+arguments[0]+"' could not be found");}}
if(Object.isArray(el)){values="";el.each(function(el){if(el.readAttribute("type")==="radio"){if((value=my.element_value(el))){values=value;throw $break;}}else{if((value=my.element_value(el))){if(values===""){values=[];}
values.push(value);}}});result=values;}else{result=my.element_value(el);}
return result;},tab:function(index){if(my.tabs.items&&my.tabs.items[index]){my.tabs.items[my.tabs.index].hide();my.tabs.items[index].show();my.tabs.control.down("li",my.tabs.index).removeClassName("active");my.tabs.control.down("li",index).addClassName("active");my.tabs.index=index;my.message("");return my.tabs.items[index];}else{return false;}},tabs:function(index){return my.tabs.items;},add_field:function(field_name,options){var field,a;if(!form[field_name]||!(field=form[field_name])){throw new Error("Form does not contain element with name '"+field_name+"'");}
if(my.fields[field_name]){throw new Error("Form field with name '"+field_name+"' already exists within fields hash");}
my.fields[field_name]=options;form.getElements().each(function(element){if(element.readAttribute("name")===field_name){my.parse_element(element);}});return true;}};};Cls=new Cls();my={elements:{},fields:{},controls:{},options:ob_set(options||{},{'halt':true,'tabs':false,'popup':{'type':WSForm.MsgTypes.Message,'alignment':WSForm.Alignments.top_right,'margin':4,'zindex':4000},'field':{'popup':{'alignment':WSForm.Alignments.top_left},'show_name':false},'submit':{'method':null,'callback':null}}),faults:[],validation_re:{'email':/^[a-z0-9-_.+]+@.+\.[a-z.]*$/i,'number':/^[0-9.+e]+$/,'date_iso':/^(\d{4})-(\d\d)-(\d\d)$/,'date':/^(\d\d)([-\/\\])(\d\d)\2(\d{4})$/},classes:{'form':'ws-form','ph':'placeholder','ph_active':'placeholder-active','ph_inactive':'placeholder-inactive','label_text':'label-text','fieldset_control':'control','tab_control':'form-tab-control','popup':'form-handler-popup'},collectives:["input[type = 'checkbox']","input[type = 'radio']"],unlabelled:['button','hidden','submit','image'],enable:function(){var submit_buttons,a,fieldsets;if(typeof my.options.classes==="object"){my.classes=ob_set(my.options.classes,my.classes);}
my.form_id=form.id||form.readAttribute("name");my.fields=ob_set(WSForm.Fields[my.form_id]||{},fields);my.form_elements=form.getElements();my.form_elements.each(function(element){my.parse_element(element);},this);if(my.form_elements.length>0){form.addClassName(my.classes.form).store("ws_form",true).observe("submit",my.submit.bind(this));if(form.getStyle("position")!=="absolute"){form.setStyle({'position':'relative'});}
form.insert(my.popup=new Element("div",{'class':my.classes.popup}).setStyle({'position':'absolute','white-space':'nowrap','zIndex':my.options.popup.zindex}).hide());submit_buttons=form.select("input[type = 'submit']","input[type = 'image']");if(submit_buttons.length>0){for(a=0;a!=submit_buttons.length;a++){if(submit_buttons[a].visible()){my.controls.submit=$(submit_buttons[a]);break;}}}else{my.log("No submit button or image was found for this form. Global errors will be registered to form context.");}}
if(my.options.tabs){fieldsets=form.select("fieldset");my.tabs={'items':[]};form.insert({'top':my.tabs.control=new Element("ul",{'class':my.classes.tab_control})});fieldsets.each(function(fieldset,index){var control_class,legend,label;if(!fieldset.hasClassName(my.classes.fieldset_control)){legend=fieldset.down("legend");if(index===0){control_class="first active";}else if(index===(fieldsets.length-1)){control_class="last";}else{control_class=null;}
if(legend){label=(legend.textContent)?legend.textContent:legend.innerText;legend.hide();}else{label=WSForm.Messages.tab_step_prefix+(index+1);}
my.tabs.control.insert(new Element("li",{'class':control_class}).insert(new Element("a",{'href':'#'}).observe("click",function(event){event.stop();this.tab(index);}.bind(this)).update(label)));my.tabs.items.push(fieldset);if(index!==0){fieldset.hide();}}},this);my.tabs.index=0;}}.bind(Cls),parse_element:function(element){var name,id,title,value,label,label_text,type,collective;name=element.readAttribute("name");id=element.readAttribute("id");title=element.readAttribute("title");type=element.readAttribute("type");label=form.down("label[for='"+id+"']");if(element.disabled){my.log("Skipping disabled element '"+name+"'.");return;}
collective=my.is_collective(element);if(id&&label){element.store("label",label);if(element.hasClassName(my.classes.ph)){if(title!==null){if(collective){throw new Error("Placeholders cannot be applied to collective element '"+name+"'.");}
value=element.getValue();element.store(my.classes.ph,true).store("title",title);if(value===""||value===title){element.setValue(title).removeClassName(my.classes.ph_active).addClassName(my.classes.ph_inactive);}else{element.addClassName(my.classes.ph_active);}
label_text=label.down("span."+my.classes.label_text);if(label_text){label_text.hide();}else{my.log("No element with class '"+my.classes.label_text+"' could be found for placeholder element '"+name+"'");}}else{my.log("Placeholder requested but no title attribute supplied for '"+name+"'.");}}else{if(title!==null){element.store("title",title);}}
element.observe("focus",function(event){my.focus(event,name);}.bind(this));element.observe("blur",function(event){my.focus(event,name);}.bind(this));}else if(!label&&my.unlabelled.indexOf(type)===-1){my.log("Could not find label for element '"+name+"'.");}
if(name!==null){if(my.elements[name]&&collective){if(!my.elements[name].length){my.elements[name]=[my.elements[name]];}
my.elements[name].push(element);}else{my.elements[name]=element;}}},submit:function(event){var result,action,method;if(my.options.halt){event.stop();}
my.clear();if((result=this.validate())){method=form.readAttribute("method");if(my.options.halt){if(my.options.submit.callback){my.options.submit.callback(form);}else{Event.fire(form,"form:submitting",{'method':my.options.submit.method||method});switch(my.options.submit.method){case WSForm.SubmitMethods.POST:case WSForm.SubmitMethods.GET:form.writeAttribute("method",my.options.submit.method);form.submit();break;case WSForm.SubmitMethods.AJAX:action=form.readAttribute("action")||"/";new Ajax.Request(action,{'parameters':form.serialize(),'onComplete':function(response){Event.fire(form,"form:submitted",{'response':response});}});break;default:form.submit();}}}}else{my.report();if(result===false&&!my.options.halt){event.stop();}}}.bind(Cls),clear:function(){var field,el,fn;fn={highlight:function(field){my.highlight(field,false);}};for(field in my.elements){if(my.elements.hasOwnProperty(field)){el=my.elements[field];if(Object.isArray(el)){el.each(fn.highlight);}else{if(el.retrieve(my.classes.ph)===true&&el.getValue()===el.retrieve("title")){el.setValue("");}
my.highlight(el,false);}}}},report:function(){var field;if(my.faults.length>0){my.faults.each(function(item){var field;field=my.elements[item.name];my.log("'"+item.name+"' found to contain fault(s).");if(Object.isArray(field)){field.each(function(field){my.highlight(field);});}else{my.highlight(field);}});my.message(WSForm.Messages.general_error,form,{'type':WSForm.MsgTypes.Error});}},highlight:function(field,highlight){var label;label=field.retrieve("label");if(highlight===undefined){highlight=true;}
if(label!==undefined){if(highlight){label.addClassName("required");}else{label.removeClassName("required");}}},focus:function(event,name){var fault,el,field,options,placeholder,field_label,message,title;if(!my.elements[name]){return;}
el=my.elements[name];field=my.field(name);options={};if(field&&field.popup&&field.popup.alignment){options.alignment=field.popup.alignment;}else if(my.options.field&&my.options.field.popup&&my.options.field.popup.alignment){options.alignment=my.options.field.popup.alignment;}else{options.alignment=WSForm.Alignments.top_left;}
if(event.type==="focus"){fault=my.fault(name);if(el){if(!Object.isArray(el)){title=el.retrieve("title");placeholder=(el.retrieve(my.classes.ph)===true);if(placeholder&&this.value(el)===el.retrieve("title")){el.setValue("").removeClassName(my.classes.ph_inactive).addClassName(my.classes.ph_active);}}
if(fault){if(fault.type){if(field.messages&&field.messages.type){message=field.messages.type;}else{switch(fault.type){case WSForm.ValueTypes.Email:message=WSForm.Messages.type_email;break;case WSForm.ValueTypes.Number:message=WSForm.Messages.type_number;break;case WSForm.ValueTypes.Date:message=WSForm.Messages.type_date;break;case WSForm.ValueTypes.RegExp:message=WSForm.Messages.type_regex;break;}}}else if(fault.value_min){if(field.messages&&field.messages.value_min){message=field.messages.value_min;}else{message=WSForm.Messages.value_min;}}else if(fault.value_max){if(field.messages&&field.messages.value_max){message=field.messages.value_max;}else{message=WSForm.Messages.value_max;}}else if(fault.mismatch){field_label=my.element_label(my.elements[fault.mismatch]);if(field.messages&&field.messages.mismatch){message=field.messages.mismatch;}else{message=WSForm.Messages.field_mismatch;}}else{if(field.messages&&field.messages.require){message=field.messages.require;}else{message=WSForm.Messages.field_value;}}
message=message.replace(/\$1/,field_label);message=message.replace(/\$2/,fault.required_value);message=message.replace(/\$3/,fault.value);if((placeholder||my.options.field.popup.show_name)&&title){message=title+" - "+message;}
options.type=WSForm.MsgTypes.Error;my.message(message,el,options);}else if(placeholder){my.message(title,el,options);}}}else{if(el&&!Object.isArray(el)){placeholder=(el.retrieve(my.classes.ph)===true);if(placeholder&&this.value(el)===""){el.setValue(el.retrieve("title")).removeClassName(my.classes.ph_active).addClassName(my.classes.ph_inactive);}}
my.message("");}}.bind(Cls),field:function(find,fields){var item,name;fields=fields||my.fields;for(name in fields){if(fields.hasOwnProperty(name)){if(item!==undefined){break;}
if(name===find){item=fields[name];}
if(item===undefined&&fields[name].cascade&&typeof fields[name].cascade.fields==="object"){item=my.field(find,fields[name].cascade.fields);}}}
return item;},element_value:function(el){var value;value="";if(my.is_collective(el)){if(el.checked){value=el.getValue();}}else{value=el.getValue();if(typeof value==="string"){value=value.strip();}}
return value;},element_label:function(el){var label,span;label=el.retrieve("label");if(label){span=label.down("span.label-text");if(span){return(span.textContent?span.textContent:span.innerText);}else{return(label.textContent?label.textContent:label.innerText);}}else{return el.readAttribute("title");}},is_collective:function(el){var collective;collective=false;my.collectives.each(function(selector){if(el.match(selector)){collective=true;throw $break;}});return collective;},fault:function(find){var fault;my.faults.each(function(item){if(item.name===find){fault=item;throw $break;}});return fault;},message:function(message,context,options){var pos;my.popup.removeClassName("popup-type-error");my.popup.removeClassName("popup-type-message");if(message!==""){context=context||form;options=ob_set(options||{},my.options.popup);switch(options.type){case WSForm.MsgTypes.Error:my.popup.addClassName("popup-type-error");break;case WSForm.MsgTypes.Message:my.popup.addClassName("popup-type-message");break;}
if(context===form){if(my.controls.submit){context=my.controls.submit;}else{context=form;}}
if(Object.isArray(context)){context=context[0];}
pos=context.formOffset();my.popup.setStyle({'display':'block','visibility':'hidden'}).update(message);switch(options.alignment){case WSForm.Alignments.bottom_left:my.popup.setStyle({'top':(pos[0]+context.offsetHeight+options.margin)+'px','left':pos[1]+'px'});break;case WSForm.Alignments.bottom_right:my.popup.setStyle({'top':(pos[0]+context.offsetHeight+options.margin)+'px','left':(pos[1]-(my.popup.offsetWidth-context.offsetWidth))+'px'});break;case WSForm.Alignments.top_left:my.popup.setStyle({'top':((pos[0]-my.popup.offsetHeight)-options.margin)+'px','left':pos[1]+'px'});break;default:my.popup.setStyle({'top':((pos[0]-my.popup.offsetHeight)-options.margin)+'px','left':(pos[1]-(my.popup.offsetWidth-context.offsetWidth))+'px'});break;}
my.popup.setStyle({'visibility':'visible'});}else{my.popup.hide();}},log:function(msg){if(typeof console!=="undefined"){console.log(msg);}}};my.enable();return Cls;};WSForm.ValueTypes={'Email':1,'Number':2,'RegExp':3,'Date':4};WSForm.Fields={};WSForm.MsgTypes={'Error':1,'Message':2};WSForm.Messages={'general_error':'Please check for errors before sending','field_value':'Must be filled in','field_mismatch':'Must be identical to \'$1\'','tab_step_prefix':'Step ','type_email':'Must be a valid email','type_number':'Must be a valid number','type_regex':'Value is in an incorrect format','type_date':'Value is an invalid date','value_min':'Value must be a minimum of $2','value_max':'Value must be a maximum of $2'};WSForm.Alignments={'top_left':1,'top_right':2,'bottom_left':3,'bottom_right':4};WSForm.SubmitMethods={'POST':'post','GET':'get','AJAX':'ajax'};}());

//Sourced from: ws-gmap.js, updated: 11 May 2011 9:12 am 
var WSGmap=function(options){var my,cls;cls={settings:{'meters_in_nmiles':1852,'nmiles_in_degree':60,'min_accuracy_box':50,'max_accuracy_circle':300,'drag_movement_margins':100},event_types:{'MARKER_DRAG':0,'MARKER_DRAG_END':1,'MOUSE_MOVE':2},search:function(options,callback){var result;this.geocode(options,function(response,status){var geometry;switch(status){case"OK":geometry=response[0].geometry;this.pan(geometry.location,13);result=true;break;case"ZERO_RESULTS":result=null;break;default:result=false;}
if(typeof callback==="function"){callback.apply(this,[result,response]);}}.bind(this));},geocode:function(options,callback){this.query=options;this.geocoder.geocode(options,callback);},add_marker:function(lat,long,options,content){var coords,marker,fn;coords=new google.maps.LatLng(lat,long);fn={};options=options||{};options.position=coords;options.map=this.gmap;marker=new google.maps.Marker(options);marker._ws_index=this.markers.length;this.markers.push(marker);if(options.center){if(options.zoom===true){if(options.bounds&&options.bounds.getCenter){this.pan(options.bounds,true);}else{throw"Attempted zoom without a valid LatLngBounds class.";}}else if(options.zoom>0){this.pan((this.markers.length-1),options.zoom);}else{this.pan((this.markers.length-1),this.gmap.getZoom());}}
if(content){fn.click=(function(){if(this.active){this.open_infowindow(content,marker);}}.bind(this));google.maps.event.addListener(marker,"click",fn.click);marker.click_fn=fn.click;google.maps.event.addListener(marker,"drag",function(pos){my.mouse_event(this.event_types.MARKER_DRAG,pos,marker);}.bind(this));google.maps.event.addListener(marker,"dragend",function(pos){my.mouse_event(this.event_types.MARKER_DRAG_END);}.bind(this));if(options.infowindow===true){this.open_infowindow(content,marker._ws_index);}}
return(marker._ws_index);},add_marker_by_address:function(address,options,callback){var index;options=my.ob_set(options,{'zoom':0,'content':false});this.geocode({'address':address},function(response,status){var a,content,geometry,address,address_parts;switch(status){case"OK":geometry=response[0].geometry;address=response[0].address_components;if(options.zoom===true){if(geometry.bounds){options.bounds=geometry.bounds;}else if(geometry.viewport){options.bounds=geometry.viewport;}else{options.zoom=false;}}
if(options.content===true&&address.length>0){address_parts=[];content="<p>";for(a=0;a<address.length;a++){switch(address[a].types[0]){case"street_number":case"route":if(address_parts.length>0){address_parts[0]+="&nbsp;"+address[a].long_name;}else{address_parts.push(address[a].long_name);}
break;case"postal_code":address_parts[(address_parts.length-1)]+=", "+address[a].long_name;break;case"country":if(address_parts.length===0){address_parts.push(address[a].long_name);}
break;default:address_parts.push(address[a].long_name);}}
address_parts=address_parts.uniq();address_parts[0]="<strong>"+address_parts[0]+"</strong>";content+=address_parts.join("<br/>");content+="</p>";}else if(typeof options.content==="string"){content=options.content;}else{content=false;}
index=this.add_marker(geometry.location.lat(),geometry.location.lng(),options,content);if(callback){callback(index);}
break;case"ZERO_RESULTS":if(callback){callback(false);}
break;default:alert("Error with Geocoder class");}}.bind(this));},clear_markers:function(){this.close_infowindow();this.markers.each(function(marker){marker.setMap(null);}.bind(this));this.markers=[];},clear_marker:function(index){if(this.markers[index]){this.close_infowindow();this.markers[index].setMap(null);this.markers.splice(index,1);return true;}else{return false;}},bounds:function(markers){var a,marker,bounds;if(markers!==undefined){bounds=new google.maps.LatLngBounds();for(a=0;a<markers.length;a++){marker=this.markers[markers[a]];if(marker!==undefined){bounds.extend(marker.getPosition());}}
return bounds;}else{return this.gmap.getBounds();}},pan:function(loc,zoom){var position;zoom=zoom||false;if(this.streetview.getVisible()){this.streetview.setVisible(false);}
if(typeof loc==="object"){if(loc.getCenter){if(!this.active){throw new Error("Map cannot be panned to a LatLngBounds class until it is active.");}
this.gmap.panToBounds(loc);if(zoom===true){this.gmap.fitBounds(loc);}else if(zoom>0){this.gmap.setZoom(zoom);}}else if(loc.lat&&loc.lng){if(this.active){this.gmap.panTo(loc);}else{this.gmap.setCenter(loc);this.active=true;}
if(zoom>0){this.gmap.setZoom(zoom);}}}else if(typeof loc==="number"){if(this.markers[loc]){position=this.markers[loc].position;this.gmap.setCenter(this.latlng(position.lat(),position.lng()));}
if(zoom!==undefined){this.gmap.setZoom(zoom);}}},open_infowindow:function(content,marker){my.content_preload(content,marker,function(preloader){var content=$(this.infocontent.cloneNode(true));content.setStyle({'visibility':'visible','position':''});this.infowindow.setContent(content);if(typeof marker==="number"&&this.markers[marker]){this.infowindow.open(this.gmap,this.markers[marker]);}else if(typeof marker==="object"){this.infowindow.open(this.gmap,marker);}else{throw"Invalid marker specified";}}.bind(this));},close_infowindow:function(){this.infowindow.close();},route:function(from,to,options,callback){options=options||{};if(!this.dir){this.dir=new google.maps.DirectionsService();}
options=my.ob_set(options,{'avoidHighways':false,'avoidTolls':false,'optimizeWaypoints':false,'provideRouteAlternatives':true,'travelMode':google.maps.DirectionsTravelMode.DRIVING,'draw':true});this.dir.route({'origin':from,'destination':to,'travelMode':options.travelMode,'provideRouteAlternatives':options.provideRouteAlternatives,'avoidHighways':options.avoidHighways,'avoidTolls':options.avoidTolls,'optimizeWaypoints':options.optimizeWaypoints},function(result,status){switch(status){case"OK":this.close_infowindow();if(options.draw){my.route_display(result);}
if(this.options.route.directions_element){this.dir_display.setPanel(this.options.route.directions_element);}
if(callback){callback(result,status);}
break;case"NOT_FOUND":case"MAX_WAYPOINTS_EXCEEDED":case"ZERO_RESULTS":if(callback){callback(result,status);}
break;default:throw"Error with DirectionsService class";}}.bind(this));},route_hide:function(){this.options.route.directions_element.hide();this.dir_display.setMap(null);},geolocate:function(add_marker,callback,error_callback){if(!navigator.geolocation){return false;}
return navigator.geolocation.getCurrentPosition(function(position){my.geolocate_update(position,add_marker,callback);}.bind(this),function(error){my.geolocate_error(error,error_callback);}.bind(this));},geowatch:function(add_marker,callback){if(!navigator.geolocation){return false;}
if(this.position.watch){navigator.geolocation.clearWatch(this.position_watch);}
if(!this.position.watching){this.position.watching=true;this.position.watch=navigator.geolocation.watchPosition(function(position){my.geolocate_update(position,add_marker,callback);}.bind(this),my.geolocate_error.bind(this),{'enableHighAccuracy':true});Event.fire(this.canvas,"locationwatch:started");}else{this.position.watching=false;this.position.watch=null;if(this.position.circle){this.position.circle.setMap(null);this.position.circle=null;}
Event.fire(this.canvas,"locationwatch:ended");}
return true;},latlng:function(lat,long){return new google.maps.LatLng(lat,long);},latlngbounds:function(sw,ne){return new google.maps.LatLngBounds(sw,ne);}};my={enable:function(){this.options=options||{};this.markers=[];this.active=false;this.query=null;this.initialized=false;this.position={'watching':false};this.options=my.ob_set(this.options,{'canvas':null,'map':{'mapTypeId':google.maps.MapTypeId.ROADMAP,'scrollwheel':false},'infowindow':{'disableAutoPan':false,'maxWidth':250,'maxHeight':250,'pixelOffset':0},'hud':{'elements':[],'hide_opacity':0.3,'autopan':false},'streetview':{'visible':false,'canvas':null,'enableCloseButton':true},'route':{'directions_element':null},'icons':{'geolocate':'images/loc-marker.png'}});if(this.options.canvas!==null){this.canvas=this.options.canvas;if(this.options.streetview.canvas===null){this.options.streetview.canvas=this.canvas;}
if(this.options.route.directions_element){this.options.route.directions_element=$(this.options.route.directions_element);this.options.route.directions_element.hide();}
this.streetview=new google.maps.StreetViewPanorama(this.options.streetview.canvas,this.options.streetview);this.options.map.streetView=this.streetview;this.gmap=new google.maps.Map(this.canvas,this.options.map);this.infowindow=new google.maps.InfoWindow(this.options.infowindow);this.geocoder=new google.maps.Geocoder();this.dir_display=new google.maps.DirectionsRenderer({'map':this.gmap});this.canvas.insert(this.sandbox=new Element("div",{'class':'ws-gmap-sandbox'}).setStyle({'position':'absolute','visibility':'hidden','left':'0','top':'0'})).insert(this.infocontent=new Element("div",{'class':'infowindow'}).setStyle({'position':'absolute','visibility':'hidden','left':'0','top':'0'}));google.maps.event.addListener(this.gmap,"dragstart",function(){this.dragging=true;if(this.position.watching){this.geowatch(false);}}.bind(this));google.maps.event.addListener(this.gmap,"dragend",function(){this.dragging=false;}.bind(this));google.maps.event.addListener(this.gmap,"tilesloaded",function(){this.initialized=true;}.bind(this));google.maps.event.addListener(this.gmap,"mousemove",function(pos){my.mouse_event(this.event_types.MOUSE_MOVE,pos);}.bind(this));this.options.hud.elements.each(function(element){element.store("orig_opacity",element.getOpacity());element.observe("mouseenter",function(){my.hud(true,element);}.bind(this));element.observe("mouseleave",function(){my.hud(false,element);}.bind(this));my.hud(false,element);},this);}else{throw new Error("Canvas not defined");}}.bind(cls),ob_set:function(ob,defaults){var key;for(key in defaults){if(defaults.hasOwnProperty(key)){if(defaults[key]!==null&&defaults[key].constructor===Object){ob[key]=ob_set(ob[key]||{},defaults[key]);}else if(ob[key]===undefined){ob[key]=defaults[key];}}}
return ob;}.bind(cls),geolocate_update:function(position,add_marker,callback){var accuracy,lat,lng,bounds,latlng,deg_offset,marker;this.position.data=position;accuracy=position.coords.accuracy;lat=position.coords.latitude;lng=position.coords.longitude;if(accuracy){if(accuracy<this.settings.min_accuracy_box&&this.settings.min_accuracy_box>0){accuracy=this.settings.min_accuracy_box;}
if(accuracy<this.settings.max_accuracy_circle){deg_offset=(((accuracy*2)/this.settings.meters_in_nmiles)/this.settings.nmiles_in_degree);}else{deg_offset=((accuracy/this.settings.meters_in_nmiles)/this.settings.nmiles_in_degree);}
bounds=this.latlngbounds(this.latlng(lat-deg_offset,lng-deg_offset),this.latlng(lat+deg_offset,lng+deg_offset));}
if(add_marker){if(this.position.marker){latlng=this.latlng(lat,lng);this.position.marker.setPosition(latlng);if(this.position.circle){if(accuracy<this.settings.max_accuracy_circle){this.position.circle.setCenter(latlng);this.position.circle.setRadius(accuracy);}else{this.position.circle.setMap(null);this.position.circle=null;}}}else{my.icon_marker("geolocate",function(img){marker=this.add_marker(lat,lng,{'icon':new google.maps.MarkerImage(img.src,new google.maps.Size(img.width,img.height),new google.maps.Point(0,0),new google.maps.Point(img.width/2,img.height/2))});this.position.marker=this.markers[marker];}.bind(this));}
if(this.position.circle){if(accuracy<this.settings.max_accuracy_circle){this.position.circle.setCenter(latlng);this.position.circle.setRadius(accuracy);}else{this.position.circle.setMap(null);delete this.position.circle;}}else{if(accuracy<this.settings.max_accuracy_circle){this.position.circle=new google.maps.Circle({'map':this.gmap,'clickable':false,'radius':accuracy,'center':this.latlng(lat,lng),'fillColor':'#7f89d0','strokeColor':'#342dbf','strokeWeight':2});}}
if(bounds){this.pan(bounds,true);}else{this.pan(this.latlng(lat,lng));}}
if(typeof callback==="function"){callback(this.position,bounds);}}.bind(cls),geolocate_error:function(error,error_callback){if(error_callback){error_callback(error);}else{switch(error.code){case error.UNKNOWN_ERROR:throw new Error(1,"Geolocation error - unknown error");case error.PERMISSION_DENIED:throw new Error(2,"Geolocation error - permission denied from user agent");default:return;}}}.bind(cls),icon_marker:function(icon,callback){var src,img;if(this.options.icons[icon]!==undefined){src=this.options.icons[icon];img=new Image();img.onload=function(){callback(img);}.bind(this);img.src=src;}else{return false;}}.bind(cls),route_display:function(route_result){this.dir_display.setMap(null);this.dir_display.setMap(this.gmap);if(this.streetview.getVisible()){this.streetview.setVisible(false);}
this.options.route.directions_element.show();this.dir_display.setDirections(route_result);}.bind(cls),hud:function(show,element){this.options.hud.elements.each(function(element){if(element===element||element===undefined){if(show){if(element.getOpacity()!==element.retrieve("orig_opacity")){new Effect.Opacity(element,{'from':this.options.hud.hide_opacity,'to':element.retrieve("orig_opacity"),'duration':0.2});}}else{new Effect.Opacity(element,{'from':element.retrieve("orig_opacity"),'to':this.options.hud.hide_opacity,'duration':0.2});}}},this);}.bind(cls),content_preload:function(content,marker,callback){var resource_index;this.sandbox.update(content);this.infocontent.update("").setStyle({'width':'auto','height':'auto'});this.preloader={'items':[],'callback':callback,'marker':marker,'loaded':0};resource_index=0;this.sandbox.childElements().each(function(el){this.infocontent.insert(el);},this);this.infocontent.select("img").each(function(img){var loader,src;src=img.readAttribute("src");if(src.match(/\.(jpg|jpeg|gif|png)/i)){loader=new Image();loader.onload=function(){my.content_register(img,resource_index++);}.bind(this);loader.src=src;this.preloader.items.push(loader);}},this);if(typeof callback==="function"&&this.preloader.items.length===0){callback(this.preloader);}
return this.infocontent;}.bind(cls),content_register:function(element,index){var infowindow;if(this.preloader.items[index]){this.preloader.loaded=this.preloader.loaded+1;if(element.tagName==="IMG"){element.writeAttribute("width",this.preloader.items[index].width);element.writeAttribute("height",this.preloader.items[index].height);infowindow=element.up("div.infowindow");if(infowindow!==undefined){infowindow.setStyle({'width':infowindow.offsetWidth+'px','height':infowindow.offsetHeight+'px'});}}}
if(this.preloader.loaded===this.preloader.items.length){this.preloader.callback(this.preloader);}}.bind(cls),mouse_event:function(type,pos,marker){var w,h,x,y,x_dist,y_dist,margins;if(!this.initialized){return false;}
switch(type){case this.event_types.MARKER_DRAG:this.dragging_marker=marker;break;case this.event_types.MARKER_DRAG_END:this.dragging_marker=null;break;case this.event_types.MOUSE_MOVE:if(this.options.hud.autopan){x=pos.pixel.x;y=pos.pixel.y;if(this.dragging_marker){w=this.canvas.offsetWidth;h=this.canvas.offsetHeight;margins=this.settings.drag_movement_margins;x_dist=0;y_dist=0;if(x>(w-margins)||x<margins){x_dist=((x<margins)?x-margins:(margins-w)+x)/2;}
if(y>(h-margins)||y<margins){y_dist=((y<margins)?y-margins:(margins-h)+y)/2;}
if(x_dist!==0||y_dist!==0){this.gmap.panBy(x_dist,y_dist);this.dragging_marker.setPosition(pos.latLng);}}}
break;}}.bind(cls)};my.enable();return cls;};

//Sourced from: whitebox.js, updated: 25 July 2011 12:13 pm 
(function(){if(typeof window.ob_set==="undefined"){window.ob_set=function(ob,defaults){var key;for(key in defaults){if(defaults.hasOwnProperty(key)){if(defaults[key]!==null&&defaults[key].constructor===Object){ob[key]=ob_set(ob[key]||{},defaults[key]);}else if(ob[key]===undefined){ob[key]=defaults[key];}}}
return ob;};}
window.WSWhiteBox=function(options,defaults){var cls,my,WhiteBoxBG;cls={scan:function(root){var parse;parse=function(link,index,gallery){var href,rel;if(link.retrieve("wb-active-link")){return false;}
href=link.readAttribute("href")||"";href=href.strip();rel=link.readAttribute("rel").match(/whitebox-[^\s]*/);rel=(rel!==null&&rel.length>0?rel[0]:"");switch(rel){case WSWhiteBox.Actions.hide:link.observe("click",function(event){event.stop();this.hide();}.bind(this));break;case WSWhiteBox.Actions.prev:link.observe("click",function(event){event.stop();this.navigate(-1);}.bind(this));break;case WSWhiteBox.Actions.next:link.observe("click",function(event){event.stop();this.navigate(1);}.bind(this));break;default:if(href!==""){type=my.detect_type(link);if(type==="inline"){options={'element':$$(href)[0]};}else{options={'uri':link.readAttribute("href")};}
if(gallery){options.gallery={'container':gallery,'index':index};}
this.register(link,"click",type,options);}}
link.store("wb-active-link",true);return link;}.bind(this);if(this.options.galleries.length>0){this.options.galleries.each(function(selector){var galleries;galleries=root.select(selector);galleries.each(function(container){var gallery;gallery={'container':container,'items':[]};container.select(my.settings.selectors.anchor,my.settings.selectors.area).each(function(el,index){var item;item=parse(el,index,container);if(item!==false){gallery.items.push(item);}},this);my.galleries.push(gallery);},this);},this);}
root.select(my.settings.selectors.anchor,my.settings.selectors.area).each(function(el,index){parse(el,index);},this);Event.fire(document,"wb:scancomplete",this);},register:function(el,event,type,options,halt){if(halt===undefined){halt=true;}
el.observe(event,function(event){if(halt){event.stop();}
this.load(type,options);}.bind(this));my.registry.push({'element':el,'event':event,'type':type,'options':options});},load:function(type,options){options=options||{};options=ob_set(options,my.defaults.overlay);if(this.active){my.cleanup();}
Event.fire(this.overlay,"overlay:load",{'handler':this,'type':type,'options':options});if(options.show.modal===true){this.modal=true;}
this.overlay.className="wb-type-"+type;if(options.class_name!==null){this.overlay.addClassName(options.class_name);this.overlay_class=options.class_name;}
switch(type){case'ajax':my.log("Loading "+type+" whitebox; uri: '"+options.uri+"'");new Ajax.Request(options.uri,{'method':'post','onSuccess':function(response){this.loader=new Element("div").update(response.responseText);this.loader=this.loader.childElements()[0];my.load_process(options);}.bind(this),'on404':function(response){location.href=response.request.url;},'on403':function(response){location.href=response.request.url;}});break;case'inline':my.log("Loading "+type+" whitebox; uri: '"+options.element.tagName+
(options.element.id?"#"+options.element.id:"")+"'");if(options.duplicate){this.loader=options.element.cloneNode(true);}else{this.loader=options.element;}
this.loader.setStyle({'display':'block','visibility':'visible'});my.load_process(options);break;case'image':my.log("Loading "+type+" whitebox; uri: '"+options.uri+"'");this.loader=new Image();this.loader.onload=function(){document.body.insert($(this.loader).setStyle({'display':'block'}));my.load_process(options);}.bind(this);this.loader.src=options.uri;break;default:my.log("Loading "+type+" whitebox; uri: '"+options.uri+"'");if(options.uri!==undefined){this.loader=new Element("iframe",{'src':options.uri,'width':options.frame.width,'height':options.frame.height}).setStyle({'display':'block','border':0,'backgroundColor':'#fff'});}
my.load_process(options);}},hide:function(options){options=options||{};options=ob_set(options,my.defaults.overlay);if(!options.hide.callback||(options.hide.callback&&options.hide.callback.apply(this))){if(!this.modal){my.scrolling(true);this.bg.hide();if(options.hide.delay>0){new Effect.Opacity(this.overlay,{'from':1,'to':0,'duration':options.show.delay,'afterFinish':function(effect){this.overlay.hide();this.active=false;Event.fire(this.overlay,"overlay:hidden",this);my.cleanup();}.bind(this)});}else{this.overlay.setOpacity(0).hide();this.active=false;Event.fire(this.overlay,"overlay:hidden",this);my.cleanup();}}}},adjust:function(){var bounds,scrolled,left,top;bounds=my.bounds();scrolled=document.viewport.getScrollOffsets();left=(Math.round((bounds.vp.width/2)-(this.overlay.offsetWidth/2))+scrolled.left);top=(Math.round((bounds.vp.height/2)-(this.overlay.offsetHeight/2))+scrolled.top);if(left<my.defaults.overlay.frame.margin){left=my.defaults.overlay.frame.margin;}
if(top<my.defaults.overlay.frame.margin){top=my.defaults.overlay.frame.margin;}
this.overlay.setStyle({'left':left+'px','top':top+'px'});},navigate:function(adjustment){var gallery,index,a,link,href;if(my.active_gallery){for(a=0;a!==my.galleries.length;a++){if(my.galleries[a].container===my.active_gallery.container){gallery=my.galleries[a];break;}}
if(gallery!==undefined){index=my.active_gallery.index+adjustment;if(index>(gallery.items.length-1)){index=0;}else if(index<0){index=(gallery.items.length-1);}
link=gallery.items[index];href=link.readAttribute("href");type=my.detect_type(link);if(type==="inline"){options={'element':$$(href)[0]};}else{options={'uri':link.readAttribute("href")};}
if(gallery){options.gallery={'container':my.active_gallery.container,'index':index};}
this.load(type,options);return true;}else{return false;}}
return false;}};my={defaults:{'overlay':{'class_name':null,'frame':{'width':800,'height':450,'margin':15},'uri':null,'element':null,'duplicate':true,'load':{'callback':null},'show':{'delay':0.3,'modal':false,'scroll':true},'hide':{'callback':null,'delay':0},'gallery':null},'background':{'opacity':0.5,'show':{'delay':0.3,'modal':false},'hide':{'delay':0.3}}},settings:{'re':{'tag_rel':/.*whitebox(\[([^\]]+)\])*.*/,'image':/(gif|jpg|jpeg|png)$/,'anchor':/#/},'selectors':{'anchor':"a[rel*='whitebox']",'area':"area[rel*='whitebox']"}},enable:function(){this.enabled=false;this.active=false;this.modal=false;this.ie6=(Prototype.Browser.IE&&window.XMLHttpRequest===undefined&&ActiveXObject!==undefined);this.options=options||{};this.options=ob_set(this.options,{'zindex':3000,'elements':[],'galleries':[]});if(defaults!==undefined){my.defaults=ob_set(defaults,my.defaults);}
my.galleries=[];my.registry=[];this.loader=null;$(document.body).insert(this.overlay=new Element("div",{'id':'whitebox-overlay'}).setStyle({'position':'absolute','zIndex':this.options.zindex+1,'width':'100%','height':'100%'}).insert(this.content=new Element("div",{'class':'content'}).setStyle({'position':'relative','overflow':'hidden','float':'left','margin':0,'padding':0})).hide().setOpacity(0));this.options.elements.each(function(element){this.overlay.insert(element);},this);Event.observe(window,"resize",function(){my.resize();}.bind(this));this.scan(document.body);this.enabled=true;}.bind(cls),detect_type:function(link){var href,rel;href=link.readAttribute("href").strip();rel=link.readAttribute("rel").replace(my.settings.re.tag_rel,"$2");if(rel==="image"||href.match(my.settings.re.image)){return"image";}else if(rel==="inline"||href.match(my.settings.re.anchor)){return"inline";}else if(rel==="ajax"){return"ajax";}else{return"iframe";}
return null;}.bind(cls),load_process:function(options){var bounds;this.overlay.show();bounds=my.bounds();this.content.update("").insert(this.loader);if(!options.load.callback||(options.load.callback&&options.load.callback.apply(this))){Event.fire(this.overlay,"overlay:loaded",this);if(this.content.offsetWidth>=bounds.vp.width){this.content.setStyle({'width':options.frame.width+'px'});}
this.overlay.setStyle({'width':this.content.offsetWidth+'px','height':this.content.offsetHeight+'px'});this.content.setStyle({'overflow':'visible'});this.scan(this.content);this.adjust();my.show(options);}}.bind(cls),show:function(options){var active;active=this.active;this.active=true;if(options.gallery){my.active_gallery=options.gallery;}else{my.active_gallery=null;this.options.elements.each(function(element){var rel=element.readAttribute("rel");if(rel===WSWhiteBox.Actions.next||rel===WSWhiteBox.Actions.prev){element.addClassName("disabled");}});}
if(!active){this.bg.show(ob_set(options,{'show':{'modal':options.show.modal}}));}
if(options.show.scroll===false){my.scrolling(false);}
if(options.show.modal===true){this.options.elements.each(function(element){var rel=element.readAttribute("rel");if(rel!==null&&rel===WSWhiteBox.Actions.hide){element.addClassName("disabled");}});}
if(options.show.delay>0&&!active){new Effect.Opacity(this.overlay,{'from':0,'to':1,'duration':options.show.delay,'afterFinish':function(effect){Event.fire(this.overlay,"overlay:shown",this);}.bind(this)});}else{this.overlay.setOpacity(1);if(!active){Event.fire(this.overlay,"overlay:shown",this);}}
return true;}.bind(cls),scrolling:function(scrollable){var doc=$(document.body);if(scrollable){if(doc.retrieve("overflow")!==undefined){doc.setStyle({'overflow':doc.retrieve("overflow")});}}else{if(doc.retrieve("overflow")===undefined){doc.store("overflow",doc.getStyle("overflow")||"auto");}
doc.setStyle({'overflow':'hidden'});}}.bind(cls),cleanup:function(){if(this.loader){this.loader.remove();this.loader=null;}
this.content.setStyle({'overflow':'hidden','width':'auto','height':'auto'});this.overlay.setStyle({'width':'100%','height':'100%'}).hide().setOpacity(0);if(this.overlay_class!==null){this.overlay.removeClassName(this.overlay_class);delete this.overlay_class;}
this.options.elements.each(function(element){element.removeClassName("disabled");});}.bind(cls),resize:function(){var bounds,scrolled;bounds=my.bounds();scrolled=document.viewport.getScrollOffsets();if(this.ie6){this.bg.adjust();}
this.overlay.setStyle({'left':(Math.round((bounds.vp.width/2)-(this.overlay.offsetWidth/2))+scrolled.left)+'px'});}.bind(cls),bounds:function(){var vp_dimensions,doc_dimensions,w,h;vp_dimensions=document.viewport.getDimensions();doc_dimensions=$(document.body).getDimensions();w=(doc_dimensions.width>vp_dimensions.width?doc_dimensions.width:vp_dimensions.width);h=(doc_dimensions.height>vp_dimensions.height?doc_dimensions.height:vp_dimensions.height);return{'width':w,'height':h,'vp':{'width':vp_dimensions.width,'height':vp_dimensions.height}};}.bind(cls),log:function(msg){if(typeof console!=="undefined"){console.log(msg);}}.bind(cls)};WhiteBoxBG=function($super){var bounds=my.bounds();$(document.body).insert(this.shader=new Element("div",{'id':'whitebox-bg'}).setStyle({'position':'fixed','zIndex':$super.options.zindex,'left':0,'top':0,'right':0,'bottom':0}).setOpacity(0).hide());if($super.ie6){this.shader.setStyle({'position':'absolute','width':bounds.width+'px','height':bounds.height+'px'});}
return{shader:this.shader,show:function(options){options=options||{};options=ob_set(options,my.defaults.background);$super.adjust(true,true);this.shader.show();if(!options.show.modal){this.shader.observe("click",function(){$super.hide();}.bind(this));}
if(options.show.delay>0){new Effect.Opacity(this.shader,{'from':this.shader.getOpacity(),'to':options.opacity,'duration':options.show.delay,'afterFinish':function(effect){Event.fire(this.shader,"shader:shown",this);}.bind(this)});}else{this.shader.setOpacity(options.opacity);Event.fire(this.shader,"shader:shown",this);}},hide:function(options){options=options||{};options=ob_set(options,my.defaults.background);this.shader.stopObserving("click");if(options.hide.delay>0){new Effect.Opacity(this.shader,{'from':this.shader.getOpacity(),'to':0,'duration':options.hide.delay,'afterFinish':function(effect){this.shader.hide();Event.fire(this.shader,"shader:hidden",this);}.bind(this)});}else{this.shader.setOpacity(0);this.shader.hide();Event.fire(this.shader,"shader:hidden",this);}},adjust:function(bounds){if(!bounds){bounds=my.bounds();}
if($super.ie6){this.shader.setStyle({'width':bounds.width+'px','height':bounds.height+'px'});}}};};my.enable();cls.bg=new WhiteBoxBG(cls);return cls;};WSWhiteBox.Actions={'hide':'whitebox-hide','prev':'whitebox-prev','next':'whitebox-next'};}());
