function verticalScrollWindow(y)
{
	var delta = y >= 20 ? 20 : y;
	
	window.scrollBy(0, delta);
	y -= delta;
	
	if(y > 0)
	{
		setTimeout("verticalScrollWindow(" + y + ")", 1);
	}
}

function handleMappaDelSito() {
	if($('#site-map-content').css('display') == 'none') {
		$('div#site-map-tile h1 a').addClass('opened');
		$('#site-map-content').slideDown(400, function() {
			//window.scrollBy(0,$(this).height());
		});
		verticalScrollWindow($(this).height());
	} else {
		$('div#site-map-tile h1 a').removeClass('opened');
		$('#site-map-content').slideUp('slow');
	}
}

function initAccordion(wrapper) {
	$('#' + wrapper + ' div.accordion-item').hide();
	$('#' + wrapper + ' div.accordion-item:first').show();
	$('#' + wrapper + ' div.accordion-item:first').parent().addClass('opened');
	$('#' + wrapper + ' li a').click(function() {
		var checkElement = $(this).next();
		if((checkElement.is('div.accordion-item')) && (checkElement.is(':visible'))) {
			return false;
		}
		if((checkElement.is('div.accordion-item')) && (!checkElement.is(':visible'))) {
			if($.browser.msie && ($.browser.version < 8)) {
				$('#' + wrapper + ' div.accordion-item:visible').hide();
			} else {
				$('#' + wrapper + ' div.accordion-item:visible').slideUp('fast');
			}
			$('#' + wrapper + ' div.accordion-item:visible').parent().removeClass('opened');
			if($.browser.msie && ($.browser.version < 8)) {
				checkElement.show();
			} else {
				checkElement.slideDown('fast');
			}
			checkElement.parent().addClass('opened');
			return false;
		}
	});
}

function initToggleAccordion(wrapper) {
	$('#' + wrapper + ' div.accordion-item').hide();
	//$('#' + wrapper + ' div.accordion-item:first').show();
	//$('#' + wrapper + ' div.accordion-item:first').parent().addClass('opened');
	$('#' + wrapper + ' li a').click(function() {
		var checkElement = $(this).next();
		if((checkElement.is('div.accordion-item')) && (checkElement.is(':visible'))) {
			if($.browser.msie && ($.browser.version < 8)) {
				checkElement.hide();
			} else {
				checkElement.slideUp('fast');
			}
			checkElement.parent().removeClass('opened');
			return false;
		} else if((checkElement.is('div.accordion-item')) && (!checkElement.is(':visible'))) {
			if($.browser.msie && ($.browser.version < 8)) {
				checkElement.show();
			} else {
				checkElement.slideDown('fast');
			}
			checkElement.parent().addClass('opened');
			return false;
		}
	});
}

function initSlidediv(wrapper)
{
	var wrapperDiv = $(wrapper);
	
	var items = $(wrapper + ' div.slidediv-item');
	var current = 0;
	
	for(var i = 0; i < items.length; i++)
	{
		var item = $(items[i]);
		item.css('left', i * 320);
	}
	
	$(wrapper + ' a.previous-button').click(function() {
		var next = current - 1;
		if(next < 0)
		{
			next = items.length - 1;
		}
		
		var item = $(items[next]);
		item.css('left', -320);
		item.animate({left: 0});
		$(items[current]).animate({left: 320});
		
		current = next;
	});
	$(wrapper + ' a.next-button').click(function() {
		var next = current + 1;
		if(next > items.length - 1)
		{
			next = 0;
		}
		
		var item = $(items[next]);
		item.css('left', 320);
		item.animate({left: 0});
		$(items[current]).animate({left: -320});
		
		current = next;
	});
}

function makeScrollable(wrapper, scrollable) {
	var wrapper = $(wrapper);
	var scrollable = $(scrollable);
	
	var inactiveMargin = 30;
	
	var wrapperWidth = wrapper.width();
	var wrapperHeight = wrapper.height();
	var scrollableHeight = scrollable.outerHeight() + 2 * inactiveMargin;

	wrapper.mousemove(function(e) {
		var wrapperOffset = wrapper.offset();
		
		var top = (e.pageY - wrapperOffset.top) * (scrollableHeight - wrapperHeight) / wrapperHeight - inactiveMargin;
		if(top < 0) {
			top = 0
		}
		
		wrapper.scrollTop(top);
	});
}

var leftMenuDidInit = false;
var leftMenuTimer = 0;
var leftMenuIndex = 0;

function initLeftMenu(wrapper, params) {
	if(leftMenuDidInit) {
		return;
	}
	
	leftMenuDidInit = true;
	
	wrapper = document.getElementById(wrapper);
	wrapper.params = params;

	for(var obj in params) {
		var object = params[obj];
		var div = $(wrapper).children('#' + object.name);
		
		div.attr('key', obj);
		
		div.click(function() {
			clearTimeout(leftMenuTimer);
			leftMenuTimer = 0;
			
			var key = $(this).attr('key');
			flipMenu(wrapper.params[key].values.menuName);
		});
	}
	
	$(wrapper).hover(function() {
		clearTimeout(leftMenuTimer);
		leftMenuTimer = 0;
	}, function() {
		var params = this.params;
		leftMenuTimer = setTimeout(function() {
			cicleLeftMenuFunction(leftMenuIndex + 1, params);
		}, 1500);
	});
	
	cicleLeftMenuFunction(0, params);
}

function cicleLeftMenuFunction(index, params) {
	var roundedIndex = (index % params.length);
	var selected = params[roundedIndex];

	for(var obj in params) {
		var div = $('#' + params[obj].name);
		
		if(div.hasClass('active')) {
			div.removeClass('active');
			$('#' + params[obj].name + '-img').fadeOut(400);
		}
		if(selected === params[obj]) {
			div.addClass('active');
			$('#' + params[obj].name + '-img').fadeIn(400);
		}
	}

	leftMenuTimer = setTimeout(function() {
		cicleLeftMenuFunction(leftMenuIndex + 1, params);
	}, 3800);
	leftMenuIndex = index;
}


var oldColumn = "main";

function flipMenu(menuName) {
	var content = document.getElementById("caption-menu-" + menuName).innerHTML;
	var newColumn = menuName;

	$("#caption-menu").flip({
		direction: 'bt',
		color: 'transparent',
		content: content,
		speed: 600,
		onBefore: function() {
			$("#left-column-" + newColumn).fadeIn(1000);
			$("#left-column-" + oldColumn).fadeOut(1000);
			
			$("#homepage-" + newColumn).fadeIn(1000);
			$("#homepage-" + oldColumn).fadeOut(1000);
		},
		onEnd: function() {
			makeScrollable('#wrapper-submenu-' + menuName, '#submenu-' + menuName);
		}
	});
	
	oldColumn = newColumn;
}

function loadComboValue(elementClicked, e, idCombo) {
	//alert(e);
	var targ = elementClicked;
	var tname;
	tname=targ.tagName;
	var id = targ.id;
	var innerHTML = targ.innerHTML;
	//alert("You clicked on a " + tname + " element.");
	//alert("You clicked on a id " + id + " element.");
	//alert("You clicked on a id " + innerHTML + " element.");
	
	//For IE
	targ.style.color = '#474747';
	targ.style.textDecoration = 'none'; 
	
	if(innerHTML && innerHTML != '-- seleziona --') {
		document.getElementById(idCombo).innerHTML = innerHTML; 
		document.getElementById(idCombo + "hidden").value = document.getElementById(idCombo).innerHTML;
		//alert(document.getElementById(idCombo + "hidden").value)
	}

	//$("#" + idCombo + "list").slideUp("fast");
	$("#" + idCombo + "list").css('visibility', 'hidden');
}

function whichElement(e)
{
	var targ;
	if (!e) {
		var e=window.event;
	}
	if (e.target) {
		targ=e.target;
	} else if (e.srcElement) {
		targ=e.srcElement;
	}

	 // defeat Safari bug
	if (targ.nodeType==3) {
		targ = targ.parentNode;
	}

	var tname;
	tname=targ.tagName;
	var id = targ.id;

	if(id && id.length > 8 && id.substr(0,9)=='divCombo_') {
	} else {
		$("#divCombo_iosonolist").css('visibility', 'hidden');
		$("#divCombo_hobisognodilist").css('visibility', 'hidden');
	}
}

MgnlContext = new Object();
MgnlContext.settings = new Array();

function changeContrast(color)
{
	var p = document.getElementsByTagName('body');
	for(n=0; n<p.length; n++)
	{
		p[n].style.color = color;
	}
	
	return false;
}
function changeFontSize(name)
{
	$('a.font-resize').each(function(index) {
		$(this).removeClass('active');
	});
	
	var size = 12;
	if(name == 'small-font') {
		size = 12;
	} else if(name == 'medium-font') {
		size = 14;
	} else if(name == 'large-font') {
		size = 16;
	}
	
	var p = document.getElementsByTagName('body');
	for(n=0; n<p.length; n++)
	{
		p[n].style.fontSize = size + 'px';
	}
	
	$('a.font-resize.'+name).addClass('active');
	
	return false;
}

$(document).ready(function() {
	$("a.togglediv").each(function(index) {
		$(this).click(function() {
			var current = $(this);
			var div = $('#' + $(this).attr('name'));
			
			div.toggle(400, function() {
				if($(this).is(':visible')) {
					current.addClass('opened');
				} else {
					current.removeClass('opened');
				}
			});
			
			return false;
		});
	});
	
	$("input[type='checkbox']").custCheckBox();
	$("input[type='radio']").custCheckBox();
	
	$("#tabs-container").tabs();
	
	$('select').selectmenu({
		style: 'dropdown',
		width: 'auto',
		menuWidth: null,
		maxHeight: 250
	});
	
	// $("input[type='checkbox']").custCheckBox();
	// $('.checkbox').toggle(function() {
	// 	$(this).addClass('checked');
	// 	var id = $(this).attr('for');
	// 	$('#' + id).attr('checked', 'checked');
	// }, function() {
	// 	$(this).removeClass('checked');
	// 	var id = $(this).attr('for');
	// 	$('#' + id).removeAttr('checked');
	// });
	// 
	// $('.radio').toggle(function() {
	// 	var id = $(this).attr('for');
	// 	var name = $('#' + id).attr('name');
	// 	
	// 	$('input[type=radio]').each(function() {
	// 		if($(this).attr('name') == name) {
	// 			$(this).removeAttr('checked');
	// 			$()
	// 		}
	// 	});
	// 	
	// 	$('#' + id).attr('checked', 'checked');
	// 	$(this).addClass('checked');
	// }, function() {
	// 	$(this).removeClass('checked');
	// 	var id = $(this).attr('for');
	// 	$('#' + id).removeAttr('checked');
	// });

	// IE6 PNG fix
	//$(document).pngFix(); 
});

