﻿function Location() {
	var i, j, a, b, p
	this.parameters = new Array()
	if((j=document.location.href.lastIndexOf('?'))==-1)
		this.path = document.location.href
	else {
		this.path = document.location.href.substring(0, j)
		a = document.location.href.substr(j+1).split('&')
		for (p in a) {
			b = a[p].split('=')
			this.parameters[b[0]] = b[1]
		}
	}

	this.querystring = function() {
		var p, s = ''
		for (p in this.parameters)
			if(this.parameters[p]!=null)
				s+= (s==''?'?':'&') + p + '=' + this.parameters[p].toString(10).split('#')[0]
		return s
	}

	this.location = function(page_name) {
		return (page_name==null || page_name==''?this.path:page_name) + this.querystring()
	}
	
	this.clear_parameters = function() {
		var i
		for(i=0;i<arguments.length;i++)
			if(this.parameters[arguments[i]]!=null)
				this.parameters[arguments[i]]=null
	}
}
var page = new Location()

// ##################################### //
// language menu functions and variables //
// ##################################### //
var lm_timeout      = 100;
var lm_closetimer   = 0;
var lm_menuitem     = 0;
// open hidden layer
function mopen(id)
{	
	// cancel close timer
	mcancelclosetime();

	// close old layer
	if(lm_menuitem) lm_menuitem.style.visibility = 'hidden';

	// get new layer and show it
	lm_menuitem = document.getElementById(id);
	lm_menuitem.style.visibility = 'visible';

}
// close showed layer
function mclose()
{
	if(lm_menuitem) lm_menuitem.style.visibility = 'hidden';
}

// go close timer
function mclosetime()
{
	lm_closetimer = window.setTimeout(mclose, lm_timeout);
}

// cancel close timer
function mcancelclosetime()
{
	if(lm_closetimer)
	{
		window.clearTimeout(lm_closetimer);
		lm_closetimer = null;
	}
}
// close layer when click-out - Tolto altrimenti chiudeva il menu anche cliccando sulla prima voce > aggiunto sull'onclick delle altre voci (ovvero selezione di una lingua diversa)
// document.onclick = mclose; 
