/*
--------------------------------------------------------------------------------
Dalla Pietà Javascript frontend functions

Author:   	altera e-business solutions
Version:  	April 2007
----------------------------------------------------------------------------- */

Event.observe(window, 'load', liHover, false);
Event.observe(window, 'load', toggleLogin, false);
Event.observe(window, 'load', setCheckboxes, false);
Event.observe(window, 'load', setMaxLength, false);

function printUsedBoat() {
	window.print();
	return false;
}

function liHover() {
	var listItems = document.getElementById("navigation").getElementsByTagName("li");
	$A(listItems).each(function(listItem) {
		Event.observe(listItem, 'mouseover', function() {
			listItem.addClassName('hover');
		});
		Event.observe(listItem, 'mouseout', function() {
			listItem.removeClassName('hover');
		});
	});
}

function toggleLogin() {
	var toggleLogin = $('togglelogin');
	var loginBox = $('loginbox');
	
	if (toggleLogin != null && loginBox != null) {
		Event.observe(toggleLogin, 'click', function() {
			if (!loginBox.visible()) {
				Effect.SlideDown(loginBox);
			 } else {
				Effect.SlideUp(loginBox);
			}
		});
	}
}

function setCheckboxes() {
	var checkboxes = $$('input[type="checkbox"]');
	checkboxes.each(function (checkbox) {
		var container = checkbox.parentNode;
		var state = checkbox.remove().checked ? 'on' : 'off';
		var checkImg = Builder.node('img', { src:'/dpi/img/check_' + state + '.gif', width:'12', height:'12', alt: state, className: state });
		container.insertBefore(checkImg, container.firstChild);
	});
}

function setMaxLength() {
	var x = document.getElementsByClassName('msg');
	var counter = document.createElement('div');
	counter.className = 'counter';
	for (var i=0;i<x.length;i++) {
		if (x[i].getAttribute('maxlength')) {
			var counterClone = counter.cloneNode(true);
			counterClone.relatedElement = x[i];
			counterClone.innerHTML = 'Caratteri: <strong><span>0</span></strong>/'+x[i].getAttribute('maxlength');
			x[i].parentNode.insertBefore(counterClone,x[i]);
			x[i].relatedElement = counterClone.getElementsByTagName('span')[0];

			x[i].onkeyup = x[i].onchange = checkMaxLength;
			x[i].onkeyup();
		}
	}
}

function checkMaxLength() {
	var maxLength = this.getAttribute('maxlength');
	var currentLength = this.value.length;
	if (currentLength > maxLength) {
		this.relatedElement.className = 'toomuch';
		trim(this, maxLength);
	} else {
		this.relatedElement.className = '';
		this.relatedElement.firstChild.nodeValue = currentLength;
	}
}


function trim(ta, max) {
	if (ta.value.length > max) {
		ta.value = ta.value.substring(0,max);
	}
}

function validateOnSubmit() {
		var elem;
		var errs = 0;
		if (!validateEmail(document.forms.emailfriend.youremail,  'req_your_email', true)) errs += 1; 
		if (!validateEmail(document.forms.emailfriend.friendemail,  'req_friend_email', true)) errs += 1; 
		return (errs==0);
}