window.addEvent('domready', function() {
	function formCallback(result, form) {				
		if (result) {
			form.getElements('.mandatoryMessage').removeClass('error');
		} else {
			form.getElements('.mandatoryMessage').addClass('error');
		}
		return result;
	};

	//new Validation('brochureform', {immediate : true, stopOnFirst:false, onFormValidate : formCallback });
	
	$$('input.submit').addEvent('mouseenter', function(event) {
		event.target.src="/img/lexclusive/submit-over.jpg";
	}.bindWithEvent());
	$$('input.submit').addEvent('mouseleave', function(event) {
		event.target.src="/img/lexclusive/submit.jpg";
	}.bindWithEvent());

	if (location.hash != '#' && location.hash != '') {
		toPage(location.hash.replace('#', ''));
	}

});

function initialiseScrollbar() {
	// initialise the scrollbar on the more information page
	var content = $('contactDisclaimerContent');
	var contentWrap = new Element('div', { id : 'contactDisclaimerContent', styles : { overflow : 'hidden' } });
	contentWrap.inject(content, 'before');

	// add the scrollbar HTML elements
	var scrollbar = new Element('div', { 'class': 'scrollbar' });
	scrollbar.setHTML('<div class="scrollBack"><div></div></div><div class="scrollBarContainer"><div class="scrollKnob"></div></div><div class="scrollForward"><div></div></div>');
	scrollbar.inject(contentWrap);
	
	content.setStyles({ height : content.offsetHeight - paddingWidth(contentWrap, 'Top'), overflow : 'hidden', 'padding-right': paddingWidth(contentWrap, 'Right') });
	content.removeProperty('id');
	//content.setProperty('id', '');
	
	contentWrap.adopt(content);
			
	new MooScroller(content, $E('.scrollKnob'), {
		scrollLinks: {
			forward: $E('.scrollForward'),
			back: $E('.scrollBack')
		}
	});
	$$('.scrollForward,.scrollBack').addEvent('mousedown', function(event) {
		this.getChildren('div').addClass('down');
	});
	$$('.scrollForward,.scrollBack').addEvent('mouseup', function(event) {
		this.getChildren('div').removeClass('down');
	});
	$$('.scrollForward,.scrollBack').addEvent('mouseenter', function(event) {
		this.getChildren('div').addClass('hover');
	});
	$$('.scrollForward,.scrollBack').addEvent('mouseleave', function(event) {
		this.getChildren('div').removeClass('hover');
	});
}

function paddingWidth(el, which) {
	var v = el.getStyle('padding' + which);
	if (v) {
		return v.replace('px','') * 1;
	}
	return 0;
}

function historyListener(newLocation, historyData) {
	if (newLocation == '') {
		newLocation = 'home';
	}
	toPage(newLocation);
}

function toPage(id) {
	$$('.page').setStyle('display', 'none');
	$(id).setStyle('display', 'block');
	if (id == 'moreInformation') {
		$('buttons').setStyle('display', 'none');
		if (!$E('.scrollbar')) {
			initialiseScrollbar();
		}
	} else {
		$('buttons').setStyle('display', 'block');
	}
}

window.dhtmlHistory.create({
	toJSON: function(o) {
		return Json.toString(o); 
	} , fromJSON: function(s) {
		return Json.evaluate(s); 
	} 
}); 

window.addEvent('load', function () {
	dhtmlHistory.initialize();
	dhtmlHistory.addListener(historyListener);
});

