/* Premier Marinas */

var Premier = window.Premier||{};

Premier.ReplaceImages = function(){
	return {
		url : "/images/headings/headings.php",
		getElements : function(selector, root){
			if(root==null){
				return [];
			}
			var elements = [];
			elements.push(root);
			var temp = [];
			var selectors = selector.split(' ');
			var klen = selectors.length;
			for(var k=0; k<klen; k++){
				var temp = [];
				var tlen = elements.length;
				for(var t=0; t<tlen; t++){
					if(selectors[k].indexOf('.') > -1){
						var test = selectors[k].split('.');
						var tagName = test[0];
						var className = test[1];
						if(!tagName){
							var tagName = "*";
						}
						var nodes = elements[t].getElementsByTagName(tagName);
						var mlen = nodes.length;
						var reg = new RegExp("(^|\\s)"+className+"(\\s|$)");
						for(var m=0; m<mlen; m++){
							if(reg.test(nodes[m].className)){
								temp.push(nodes[m]);
							}
						}
					}else{
						var tagName = selectors[k];
						var nodes = elements[t].getElementsByTagName(tagName);
						var mlen = nodes.length;
						for(var m=0; m<mlen; m++){
								temp.push(nodes[m]);
						}
					}
				}
				elements = temp;
			}
			return elements;
		},
		init : function(){
		},
		replace : function(elements, options){
			Array.forEach(elements, function(element){
				var width = element.offsetWidth;
				/* Deal with padding */
				var l=parseInt(Webadmin.Dom.getStyle(element,'padding-left'));
				var r=parseInt(Webadmin.Dom.getStyle(element,'padding-right'));
				width=width-l-r;

				var text = this.getText(element);
				for(var i=0; i<element.childNodes.length; i++){
					element.removeChild(element.firstChild);
				}
				var url = this.url+"?t="+escape(text).toUpperCase()+"&c="+options.color+"&b="+options.background+"&s="+options.size+"&f="+options.font;
				if(!options.width){
					url=url+'&w='+width;
				}
				var image = document.createElement("img");
				image.className = "replacement";
				image.src = url;
				image.alt = text;
				image.className = 'replacement';
				element.appendChild(image);
				if(!Webadmin.Dom.hasClass(element, 'replaced')){
					element.className = element.className+' replaced';
				}
				var span = document.createElement("span");
				span.innerHTML = text;
				span.className = 'replacement';
				element.appendChild(span);
			}, this);
		},
		getText : function(element){
	    if(typeof element == "string"){
	    	return element;
	    }else{
	    	if(typeof element == "undefined"){
	    		return element;
	    	}
	    }
	    var text = "";
	    var kids = element.childNodes;
	    for(var i=0;i<kids.length;i++) {
	    	if(kids[i].nodeType == 1){
	    		text += this.getText(kids[i]);
		    }else{
	  	  	if(kids[i].nodeType == 3){
	    			text += kids[i].nodeValue;
	    		}
	    	}
		  }
		  return text;
		}
	};
}();

Premier.ImageViewer = function(element){
	if(!element){
		return;
	}
	this.locked=false;
	this.element = element;
	this.parentNode = this.element.parentNode;
	this.images = Webadmin.Dom.getElementsByClassName('lightbox', 'a', this.element);
	this.ul = this.element.getElementsByTagName('ul')[0];
	this.ul.style.marginLeft=0;
	this.ul.style.marginTop=0;
	if(this.images.length>3){
		this.init();
	}else{
		Webadmin.Dom.getElementsByClassName('controls', 'div', this.element)[0].style.display='none';
	}
};

Premier.ImageViewer.prototype = {
	init : function(){
		var width=0;
		var height=0;
		Array.forEach(this.images, function(image){
			var im = image.getElementsByTagName('img')[0];
			width=width+im.offsetWidth+6;
			height=height+im.offsetHeight+6;
		}, this);
		this.width=width-12+"px";
		this.height=height-6+"px";
		this.addListeners();
	},
	addListeners : function(){
		this.next = Webadmin.Dom.getElementsByClassName('next', 'a', this.element)[0];
		this.prev = Webadmin.Dom.getElementsByClassName('prev', 'a', this.element)[0];
		Webadmin.Event.listener.add(this.next, 'click', this.scroll, this);
		Webadmin.Event.listener.add(this.prev, 'click', this.scroll, this);
		Webadmin.Dom.addClass(this.prev, 'prev_transparency');
	},
	scroll : function(e){
		var anim;
		var property;
		e.stop();
		if(this.locked==false){
			var direction = e.target.className.split(' ')[1];
			if(this.parentNode.parentNode.parentNode.id=='content'){
				property = 'margin-left';
				if(direction=='next'){
					anim=parseInt(this.ul.style.marginLeft)-117;
					if(-anim>parseInt(this.width)-353){
						anim=-(parseInt(this.width)-353);
					}
				}else if(direction=='prev'){
					anim=parseInt(this.ul.style.marginLeft)+117;
					if(anim>0){
						anim=0;
					}
				}
			}else if(this.parentNode.parentNode.id=='sidebar'){
				property = 'margin-top';
				if(direction=='prev'){
					anim=parseInt(this.ul.style.marginTop)-71;
					if(-anim>parseInt(this.height)-207){
						anim=-(parseInt(this.height)-207);
					}
				}else if(direction=='next'){
					anim=parseInt(this.ul.style.marginTop)+71;
					if(anim>0){
						anim=0;
					}
				}
			}
			var animation = new Webadmin.Animation(this.ul, {end:property+": "+anim+"px;"}, 250, Webadmin.Easing.elastic);
			var callback = function(){
				if(parseInt(this.ul.style.marginLeft, 10)==0){
					Webadmin.Dom.addClass(this.prev, 'prev_transparency');
				}else{
					Webadmin.Dom.removeClass(this.prev, 'prev_transparency');
				}
				if(-parseInt(this.ul.style.marginLeft, 10)==(parseInt(this.width,10)-353)){
					Webadmin.Dom.addClass(this.next, 'next_transparency');
				}else{
					Webadmin.Dom.removeClass(this.next, 'next_transparency');
				}
			};
			callback.subscribe(animation.oncomplete, this);
			animation.animate();
		}
	}
};

Premier.Form = function(cookiename, path, root){
	this.root = root || document;
	this.cookiename = cookiename;
	this.path = path;
	var savedpath = (Webadmin.Cookie.get('path')) ? Webadmin.Cookie.get('path') : null;	
	if(this.path&&savedpath){
		if(this.path!=savedpath){	
			Webadmin.Cookie.destroy(this.cookiename, '/');
		}
	}	
	this.hash = (Webadmin.Cookie.get(this.cookiename)) ? JSON.parse(Webadmin.Cookie.get(this.cookiename)) : {};	
	if(this.hash==null){
		this.hash={};
	}	
	this.events = {};
	this.init();
};

Premier.Form.prototype = {
	init : function(){
		Array.forEach(this.root.getElementsByTagName('form'), function(form){
			if(form.id){
				this.hash[form.id] = this.hash[form.id] || {};				
				var selects = form.getElementsByTagName('select');
				var inputs = form.getElementsByTagName('input');
				Array.forEach(selects, function(select){
					this.set(select, form);
				}, this);
				Array.forEach(inputs, function(input){
					this.set(input, form);
				}, this);
			}
		}, this);		
	},
	set : function(element, form){
		var type = element.type;
		if(type=='text'){
		  if(this.hash[form.id][element.name]){
  		  element.value = this.hash[form.id][element.name];  
		  }
		  Webadmin.Event.listener.add(element, 'blur', this.change, this);
		}else{
  		if(type=='checkbox'){
  			if(this.hash[form.id][element.name]){
  				if(this.hash[form.id][element.name]==1){
  					element.checked='checked';
  				}
  			}
  		}
  		if(type=='radio'){
  			if(this.hash[form.id][element.name]){
  				if(this.hash[form.id][element.name]==element.value){
  					element.checked='checked';
  				}
  			}		
  		}
  		if(type=='select-one'){
  			if(this.hash[form.id][element.name]){
  				var index = 0;
  				Array.forEach(element.getElementsByTagName('option'), function(option, i){
  					if(option.value==this.hash[form.id][element.name]){							
  						index = i;
  					}
  				}, this);
  				element.options.selectedIndex=index;			
  			}
  		}
  		Webadmin.Event.listener.add(element, 'change', this.change, this);
  	}
	},
	change : function(e){
		var element = Webadmin.Event.listener.getTarget(e);
		var form = element.form.id;
		var type = element.type;
		if(type=='checkbox'){
			var temp = (element.checked==true) ? 1 : 0;
		}
		if(type=='radio'){			
			if(element.checked==true){
				var temp = element.value;
			}
		}
		if(type=='select-one'){
			var temp = element.value;
		}
		if(type=='text'){
		  var temp = element.value;
		}
		this.hash[form][element.name]=temp;
		var value = JSON.stringify(this.hash);
		var name = this.cookiename;
		setTimeout(function(){
			Webadmin.Cookie.set(name, value, 30, '/');
		}, 1);			
	}
};


Premier.UnitSwitcher = function(el){
	this.range=false;
	this.element = el;
	if(!this.element.id){
		this.element.id=Webadmin.Dom.generateId('form_');
	}
	if(Webadmin.Dom.hasClass(this.element, 'range')){
		this.range=true;
	}
	this.metricDiv = Webadmin.Dom.getElementsByClassName('metres', 'div', this.element)[0];
	var _ms = Webadmin.Dom.getElementsByClassName('metric', 'select', this.element);
	this.metricSelect = _ms[0];
	if(this.range===true){
		this.metricSelect2 = _ms[1];
	}
	this.visible = 'metric';
	this.create();
	this.addListeners();
	this.doCalculateImperial();
};

Premier.UnitSwitcher.prototype = {
	create : function(){
		var switcher = Webadmin.Dom.create('<ul><li><input type="radio" name="unit_switcher-{0}" id="metric-{0}" checked="checked" class="metric" value="metric" /><label for="metric-{0}">Metres</label></li><li><input type="radio" name="unit_switcher-{0}" id="imperial-{0}" class="imperial" value="imperial" /><label for="imperial-{0}">Feet</label></li></ul>', [this.element.id]);
		this.element.insertBefore(switcher, this.element.firstChild);
		var radios = switcher.getElementsByTagName('input');
		this.metricRadio = radios[0];
		this.imperialRadio = radios[1];
		if(this.range===false){
			this.imperialDiv = Webadmin.Dom.create('<div class="feet" style="display:none;"><div class="length"><select class="imperial" name="imperial-length"></select></div></div>');
		}else{
			this.imperialDiv = Webadmin.Dom.create('<div class="feet" style="display:none;"><div class="length"><div class="from"><label>From:</label><select class="imperial" name="imperial-length-from"></select></div><div class="to"><label>To:</label><select class="imperial" name="imperial-select-to"></select></div></div></div>');		
		}
		var _is = Webadmin.Dom.getElementsByClassName('imperial', 'select', this.imperialDiv)
		this.imperialSelect = _is[0];
		if(this.range===true){
			this.imperialSelect2 = _is[1];
		}
		/*for(var i=9; i<100; i++){
			var option = document.createElement('option');
			option.innerHTML=i+'\'';
			option.value=i;
			this.imperialSelect.appendChild(option);
			if(this.range===true){
				var option2 = document.createElement('option');
				option2.innerHTML=i+'\'';
				option2.value=i;
				this.imperialSelect2.appendChild(option2);				
			}
		}*/
			
		for(var i=9; i<100; i++){
			for(var j=0; j<12; j++){
				while(i==9&&j<10){
					j++;
				}
				var option = document.createElement('option');
				option.innerHTML=i+'\' '+j+'"';
				option.value=i+' '+j;
				this.imperialSelect.appendChild(option);
				if(this.range===true){
					var option2 = document.createElement('option');
					option2.innerHTML=i+'\' '+j+'"';
					option2.value=i+' '+j;
					this.imperialSelect2.appendChild(option2);				
				}
			}
		}
		
		this.element.appendChild(this.imperialDiv);
		this.conversion = Webadmin.Dom.create('<div class="conversion"></div>');
		this.element.appendChild(this.conversion);
		this.hidden=document.createElement('input');
		this.hidden.type='hidden';
		this.hidden.name=this.metricSelect.name;
		this.metricSelect.name='metric';
		this.element.appendChild(this.hidden);
		if(this.range===true){			
			this.hidden2=document.createElement('input');
			this.hidden2.type='hidden';
			this.hidden2.name=this.metricSelect2.name;			
			this.metricSelect2.name='metric2';
			this.element.appendChild(this.hidden2);
		}
		
	},
	addListeners : function(){
		Webadmin.Event.listener.add(this.metricSelect, 'change', this.doCalculateImperial, this);
		Webadmin.Event.listener.add(this.imperialSelect, 'change', this.doCalculateMetric, this);
		if(this.range===true){
			Webadmin.Event.listener.add(this.metricSelect2, 'change', this.doCalculateImperial, this);
			Webadmin.Event.listener.add(this.imperialSelect2, 'change', this.doCalculateMetric, this);		
		}
		Webadmin.Event.listener.add(this.metricRadio, 'click', this.toggle, this);
		Webadmin.Event.listener.add(this.imperialRadio, 'click', this.toggle, this);		
		
	},
	doCalculateMetric : function(e){
		if(e){
			e.stop();
		}	
		this.calculateMetric(this.imperialSelect, this.metricSelect, this.hidden, this.conversion);
		if(this.range===true){
			this.calculateMetric(this.imperialSelect2, this.metricSelect2, this.hidden2, this.conversion);		
		}
	},
	calculateMetric : function(imperialSelect, metricSelect, hidden, conversion){
		/* Converts inches to metres and centimetres */
		var imperial = imperialSelect.value;
		imperial = imperial.split(' ');	
				
		var inches = (parseInt(imperial[0], 10)*12)+parseInt(imperial[1], 10);
		var length = this.roundNumber((parseInt(((inches*0.0833333)/3.28083989)*1000+.5)/1000),1);			
				
		length = length+'';
		length = length.split('.');
		var m = length[0];
		var cm = length[1];
		if(!cm){
			cm = '0';
		}
		
		/*if(cm!=0){
			m++;
			cm=0;
		}*/
		
		var options = metricSelect.getElementsByTagName('option');				
		var i=0;
		var done = false;
		while(i<options.length&&done===false){
			if(options[i].value==m+'.'+cm){
				options[i].selected='selected';
				done=true;
			}
			i++;
		}
		if(this.range===false){
			conversion.innerHTML = m+'.'+cm+' meters';
		}
		hidden.value=m+'.'+cm;
	},
	doCalculateImperial : function(e){
		if(e){
			e.stop();
		}	
		this.calculateImperial(this.metricSelect, this.imperialSelect, this.hidden, this.conversion);
		if(this.range===true){
			this.calculateImperial(this.metricSelect2, this.imperialSelect2, this.hidden2, this.conversion);		
		}
	},	
	calculateImperial : function(metricSelect, imperialSelect, hidden, conversion){
		var m = metricSelect.value;	
		var length = this.roundNumber(Math.round(parseInt(((m*3.28083989)/0.0833333)*1000+.5)/1000)*0.0833333333, 2);
		length = length+'';		
		var feet = length.split('.')[0];
		var inches = Math.round(parseFloat('0.'+length.split('.')[1])/0.0833333333);
		if(inches==12){
			inches=0;
			feet+=1;
		}
		
		/*if(inches!=0){
			inches=0;
			feet++;	
		}*/
		
		var options = imperialSelect.getElementsByTagName('option');
		var i=0;
		var done = false;
		while(i<options.length&&done===false){
			if(options[i].value==feet+' '+inches){
				options[i].selected='selected';
				done=true;
			}
			i++;
		}
		if(this.range===false){
			conversion.innerHTML = feet+'\' '+inches+'"';
		}
		hidden.value=metricSelect.value;
	},
	roundNumber : function(n, p){
		return Math.round(n*Math.pow(10,p))/Math.pow(10,p);
	},
	toggle : function(e){
		if(this.visible=='metric'&&e.target.className=='imperial'){
			this.metricDiv.style.display='none';
			this.imperialDiv.style.display='block';
			this.visible='imperial';
			this.doCalculateMetric();
		}else if(this.visible=='imperial'&&e.target.className=='metric'){
			this.imperialDiv.style.display='none';
			this.metricDiv.style.display='block';
			this.visible='metric';
			this.doCalculateImperial();
		}
	}
};

Premier.Profile = function(){
	this.element = document.getElementById('profile');
	this.addListeners();
};

Premier.Profile.prototype = {
	addListeners : function(){
		Webadmin.Event.listener.add(document.getElementById('add-member'), 'click', this.add, this);
	},
	add : function(e){
		e.stop();
		var members = Webadmin.Dom.getElementsByClassName('member', 'fieldset', this.element);
		var titles = members[0].getElementsByTagName('select')[0].options;
		var length = members.length;
		var element = Webadmin.Dom.create('<fieldset class="member"><h4>Member {0}</h4><div><label>Title:</label></div><div><label>First name:</label></div><div><label>Last name:</label></div></fieldset>', [length+1]);
		var divs = element.getElementsByTagName('div');
		var select = document.createElement('select');
		select.name = 'data[AccountMember]['+length+'][title]';
		Array.forEach(titles, function(title){
			var option = document.createElement('option');
			option.value=title.value;
			option.innerHTML=title.innerHTML;
			select.appendChild(option);
		});
		divs[0].appendChild(select);
		var input1 = document.createElement('input');
		input1.className='text';
		input1.name='data[AccountMember]['+length+'][first_name]';
		input1.type='text';
		divs[1].appendChild(input1);
		var input2 = document.createElement('input');
		input2.className='text';
		input2.name='data[AccountMember]['+length+'][last_name]';
		input2.type='text';
		divs[2].appendChild(input2);
		//var node = members[length-1];
		//node.parentNode.insertBefore(element, node.nextSibling);
		document.getElementById('members').appendChild(element);
	}
};

Webadmin.Calendars = function(){
    return {
        init : function(){
            this._hide=true;
            this.calendar = new Webadmin.Calendar("calendar", {title:'Choose a date', close:'true', draggable:'false'});
            this.select.subscribe(this.calendar.selectEvent, this);
            this.calendar.hide();            
            this.addListeners();
        },
        addListeners : function(){
            var dates = Webadmin.Dom.getElementsByClassName('date', 'input');
            for(var i=0; i < dates.length; i++){
                Webadmin.Event.listener.add(dates[i], 'focus', this.show, this);
                Webadmin.Event.listener.add(dates[i], 'keyup', this.keydown, this);
            }
            var notdates = getElementsByTagNames("input,select,textarea");
            for(var i=0; i < notdates.length; i++){
                if(!Webadmin.Dom.hasClass(notdates[i], 'date')){
                    Webadmin.Event.listener.add(notdates[i], 'focus', this.hide, this, true);
                }
            }
        },
        show : function(e){
            var el = e.target
            this.field=el;
            var pos = Webadmin.Dom.getPosition(el);
            var s = this.calendar.element.style;
            s.top=(pos[1])+'px';
            s.left=(pos[0]+el.offsetWidth+5)+'px';
            this.update(el.value);
            this.calendar.render();
            this.calendar.show();   
        },
        hide : function(e){
            this.calendar.hide();
        },
        keydown : function(e){
            var el = e.target;
            this.update(el.value);
            this.calendar.render();
        },
        update : function(v){
            var re = /^\d{4}-\d{2}-\d{2}$/
            if (v.match(re)){  
                this.calendar.setDate(v);        
            }      
        },
        select : function(date){
            if(this.field){
                this.field.value = date;   
            }
        }
    }
}();

Premier.RnliOptinGiveToFriend = function() {
  if (document.getElementById('rnli-optin-give-to-friend')) {
    this.init();
  }
};

Premier.RnliOptinGiveToFriend.prototype = {
	init : function() {
	  this.addListeners();
	  this.toggleGiveToFriend();
	  this.toggleGiveToFriendFields();
	},
    addListeners : function(){
      Webadmin.Event.listener.add(document.getElementById('AccountProfileRnliOptin'), 'click', this.toggleGiveToFriend, this);
      Webadmin.Event.listener.add(document.getElementById('AccountProfileRnliOptinFriend'), 'click', this.toggleGiveToFriendFields, this);
    },
    toggleGiveToFriend : function() {
      if (document.getElementById('AccountProfileRnliOptin').checked) {
    	document.getElementById('rnli-optin-give-to-friend').style.display = 'none';
      	document.getElementById('rnli-optin-give-to-friend-fields').style.display = 'none';
      	document.getElementById('AccountProfileRnliOptinFriend').checked = '';
      } else {
    	document.getElementById('rnli-optin-give-to-friend').style.display = 'block';
      	document.getElementById('rnli-optin-give-to-friend-fields').style.display = 'block';
      }
      this.toggleGiveToFriendFields();
    },
    toggleGiveToFriendFields : function() {
      if (document.getElementById('AccountProfileRnliOptinFriend').checked) {
    	document.getElementById('rnli-optin-give-to-friend-fields').style.display = 'block';
      } else {
    	document.getElementById('rnli-optin-give-to-friend-fields').style.display = 'none';
      }
	}	
};

Premier.Weather = function(){
  var element;
  
  function get(id){
    return document.getElementById(id);
  }
  
  function show(id){
    get('content_'+id).style.display = '';
    Webadmin.Dom.addClass(get('tab_'+id), 'selected');
  } 
  
  function hide(id){
    get('content_'+id).style.display = 'none';
    Webadmin.Dom.removeClass(get('tab_'+id), 'selected');
  }
  


  return {
    intitialize : function(){
      element = get('weather_center');
      if(!element) return false;
      
      show('today');
      hide('tomorrow');
      hide('week');
      
      Webadmin.Event.listener.add(get('tab_today'), 'click', function(e){
        Webadmin.Event.listener.stop(e);
        show('today');
        hide('tomorrow');
        hide('week');
      }, this, true);
      
      Webadmin.Event.listener.add(get('tab_tomorrow'), 'click', function(e){
        Webadmin.Event.listener.stop(e);
        hide('today');
        show('tomorrow');
        hide('week');
      }, this, true);
      
      Webadmin.Event.listener.add(get('tab_week'), 'click', function(e){
        Webadmin.Event.listener.stop(e);
        hide('today');
        hide('tomorrow');
        show('week');
      }, this, true);
      
      Webadmin.Event.listener.add(get('WeatherChangeMarina'), 'change', function(e){
        var loc = get('WeatherChangeMarina').value;
        if (loc){
            document.location = '/pages/'+ loc;
          }
      }, this, true);
      
    }
  }
}();

function init(){
	Premier.ReplaceImages.init();
	
	new Premier.RnliOptinGiveToFriend();
	
	Webadmin.Dom.getElementsByClassName('gallery', 'div').forEach(function(el){
		new Premier.ImageViewer(el);
	});
	var unit_switchers = [];
	Webadmin.Dom.getElementsByClassName('unit-switcher', 'div').forEach(function(el){
		unit_switchers.push(new Premier.UnitSwitcher(el));
	});
	var options = {
		'template':'<div id="window_header"><div></div></div><div id="window_content"><a href="#" id="window_close">Close</a><div id="window_image"></div><div id="window_controls"><a href="#" id="window_previous">Previous</a><a href="#" id="window_next">Next</a></div></div><div id="window_footer"><div></div></div>'
	};
	Webadmin.LightBox.init(options);
	if(document.getElementById('profile')){
		new Premier.Profile();
	}
	for(movie in Webadmin.Flash){
		UFO.create(Webadmin.Flash[movie], movie);
	}
	var visitors = Webadmin.Dom.getElementsByClassName('new_boat_detail', 'div', document.getElementById('content'))[0]||Webadmin.Dom.getElementsByClassName('quote', 'div', document.getElementById('content'))[0];
	if(visitors){
		/* Create print button */
		Webadmin.Dom.addClass(document.body, 'print');
		var a = document.createElement('a');
		a.href='#';
		a.innerHTML='print';
		a.className='button print_highlight';

		var h3 = visitors.getElementsByTagName('h3')[0]||visitors.getElementsByTagName('p')[0];
    h3.parentNode.insertBefore(a, h3);     
    
    if (document.getElementById('contact_intro')) {
      var a2 = a.cloneNode(true);
      var contact_intro = document.getElementById('contact_intro');
      contact_intro.parentNode.insertBefore(a2, contact_intro);
    }
    
    Array.forEach(Webadmin.Dom.getElementsByClassName('print_highlight', 'a'), function(element) {
      Webadmin.Event.listener.add(element, 'click', function(e){
        e.stop();
        window.print();
      });    
    });
    
	};
	Webadmin.Calendars.init();	
	Premier.Weather.intitialize();
	
	var sea_tickets = Webadmin.Dom.getElementsByClassName('sea_tickets', 'div', document.getElementById('content')); 
	if(sea_tickets.length!=0){
    var sea_tickets_form = new Premier.Form('sea_tickets','/', sea_tickets[0]);
    Array.forEach(unit_switchers, function(unit_switcher){
      if(!unit_switcher.metricRadio.checked){
			  unit_switcher.metricDiv.style.display='none';
  			unit_switcher.imperialDiv.style.display='block';
	  		unit_switcher.visible='imperial';
		  	unit_switcher.doCalculateMetric();
  		}else{
	  		unit_switcher.imperialDiv.style.display='none';
		  	unit_switcher.metricDiv.style.display='block';
			  unit_switcher.visible='metric';
  			unit_switcher.doCalculateImperial();
      }
    });
	}
	
	var pb = document.getElementById('boat_sales_print');
	if(pb){
		Webadmin.Event.listener.add(pb, 'click', function(e){
			e.stop();
			window.print();
		});
	}
	
}

function getElementsByTagNames(list,obj){
    var tagNames = list.split(',');
	var resultArray = new Array();
	if (!obj) var obj = document;   
    for (var i=0;i < tagNames.length;i++) {
    	var tags = obj.getElementsByTagName(tagNames[i]);
    	for (var j=0;j < tags.length;j++) {
    		resultArray.push(tags[j]);
    	}
    }
    return resultArray;  
} 

Webadmin.Event.onavailable(init);
