function swapOverlayImage (prev, next) {
	$('#overlay ul#img').find('li:eq('+prev+')').fadeOut(200).end().find('li:eq('+next+')').fadeIn(200);
}
function bannerClick (e) {
	e.preventDefault();
	var obj = $(this);
	if (!obj.parent().hasClass('active')) {
		var next = obj.text();
		bannerSwap(next);
	}
}
function bannerSwap (next) {
	clearTimeout(bannerTimer);
	var banner = $('#banner');
	var prev = banner.find('div:visible').index();
	banner.find('div:eq('+prev+')').fadeOut(200).end().find('div:eq('+next+')').fadeIn(200);
	banner.find('ul li:eq('+prev+')').removeClass('active').end().find('ul li:eq('+next+')').addClass('active');
	bannerTimer = setTimeout(bannerTimeout, bannerInterval);
}

/* TOOLTIP */
function tooltipHandler (e) {
	e.preventDefault();
	var object = $(this);
	var id = object.attr('href').split('/').shift().slice(0, -1);
	var url = $('head base').attr('href') + object.attr('href');
	var alias = url.split('/').pop();
	var tooltip = $('#' + id + '_' + alias);
	switch (e.type) {
		case 'click':
			if (tooltip.hasClass('yes')) {
				$.post(url, overlayLoaded, 'text');
			}
		break;
		case 'mouseover':
			var offset = object.offset();
			tooltip.css({left: (offset.left - 25), top: (offset.top + 25)}).fadeIn(200);
		break;
		case 'mouseout':
			tooltip.fadeOut(100);
		break;
	}
}
function tooltipInit () {
	var tag = $(this);
	var url = tag.attr('href');
	var pre = new Array('destinations/', 'articles/', 'googlemaps/');
	for (i in pre) {
		if (url.indexOf(pre[i]) >= 0) tag.click(tooltipHandler).mouseover(tooltipHandler).mouseout(tooltipHandler);
	}
}

/* MAP */
function mapInit () {
	var obj = $(this);
	coords = obj.attr('title').split(',');
	var xPos = parseInt(coords[0]) - 6;
	var yPos = parseInt(coords[1]) - 6;
	obj.css({left: xPos, top: yPos});
}

/* OVERLAY */
function overlayLoaded (data) {
	window.location.hash = '#header';
	$('#overlay').css({height: $(document).height(), width: $(document).width()}).html(data).show();
	$('#closeOverlay').click(closeOverlay);
}
function closeOverlay (e) {
	e.preventDefault();
	window.location.hash = '';
	$(this).parent().parent().html('').hide();
}

function bannerTimeout () {
	var obj = $('#banner');
	var next = obj.find('div:visible').index() + 1;
	var total = obj.find('div').length;
	if (next == total) next = 0;
	bannerSwap(next);
}

function validateForm () {
	var obj = $(this);
	var fields = new Array('name', 'mail', 'phone', 'message');
	var ready = true;
	for (var i in fields) {
		var field = obj.find('[name='+fields[i]+']');
		if (field.val() == '') {
			field.addClass('error').keyup(changeForm);
			ready = false;
		}
	}
	return ready;
}
function changeForm () {
	$(this).removeClass('error').unbind('keyup');
}

function init () {
	$('a').each(tooltipInit);
	
	var banner = $('#banner');
	if (banner.length) {
		if (banner.find('div').length > 1) {
			banner.find('div:gt(0)').hide();
			bannerTimer = setTimeout(bannerTimeout, bannerInterval);
		}
		banner.find('ul li a').click(bannerClick);
		banner.find('ul li:eq(0)').addClass('active');
	}
	if ($('#map').length) {
		$('#map div').each(mapInit);
	}
	if ($('#contactform').length) {
		$('#contactform').submit(validateForm);
	}
}

var bannerTimer;
var bannerInterval = 8000;

$(document).ready(init);
