// JavaScript Document
function showDiv(id,lnk)
{
	var elem = document.getElementById(id);
	if(elem)
	{		
		elem.style.display = (!elem.style.display || elem.style.display == "none") ? "block" : "none";
		lnk.className =  (elem.style.display == "block") ? "linkDettagliSel" : "linkDettagli";
		elem = lnk.getElementsByTagName("span")[0];
		if(elem)
			elem.innerHTML = (elem.innerHTML == "[+]") ? "[-]" : "[+]";
	}

}


function resetSearch()
{
	var elem = document.getElementById("preferisco");
	for(var i=0; i < elem.options.length; i++)
		elem.options[i].selected = false;
	elem = document.getElementById("dal");		
	if(elem)
		elem.value="";
	elem = document.getElementById("al");		
	if(elem)
		elem.value="";
	elem = document.getElementById("date-sel-dal-dd");
	if(elem)
		elem.selectedIndex = 0;
	elem = document.getElementById("date-sel-dal-mm");
	if(elem)
		elem.selectedIndex = 0;
	elem = document.getElementById("date-sel-dal");
	if(elem)
		elem.selectedIndex = 0;
	elem = document.getElementById("date-sel-al-dd");
	if(elem)
		elem.selectedIndex = 0;
	elem = document.getElementById("date-sel-al-mm");
	if(elem)
		elem.selectedIndex = 0;
	elem = document.getElementById("date-sel-al");
	if(elem)
		elem.selectedIndex = 0;		
	return false;
}


var map = null;
var geocoder = null;

function initialize()
{
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map_canvas"));
		map.setCenter(new GLatLng(44.4944, 11.3430), 16);
		map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
		geocoder = new GClientGeocoder();
	}
}


function checkData(alertMessage)
{
	var retValue = true;
	var elem = document.getElementById("date-sel-dal-dd");
	if(elem && elem.options[elem.selectedIndex].value == "-1")
		retValue = false;
	elem = document.getElementById("date-sel-dal-mm");
	if(elem && elem.options[elem.selectedIndex].value == "-1")
		retValue = false;
	elem = document.getElementById("date-sel-dal");
	if(elem && elem.options[elem.selectedIndex].value == "-1")
		retValue = false;
	/*elem = document.getElementById("date-sel-al-dd");
	if(elem && elem.options[elem.selectedIndex].value == "-1")
		retValue = false;
	elem = document.getElementById("date-sel-al-mm");
	if(elem && elem.options[elem.selectedIndex].value == "-1")
		retValue = false;
	elem = document.getElementById("date-sel-al");
	if(elem && elem.options[elem.selectedIndex].value == "-1")
		retValue = false;*/
	if(!retValue)
		alert(alertMessage);
	return retValue;
}

function showAddress(address)
{
	if(!geocoder || geocoder == null)
		initialize();
	if (geocoder)
	{
		//visualizzo i layer
		toggleGoogleLayers(address);
		geocoder.getLatLng(address,function(point) {
			if (!point) {
				// alert(address + " not found");
			} else {
				map.setCenter(point, 16);
				var marker = new GMarker(point);
				map.addOverlay(marker);
				map.openInfoWindow(map.getCenter(),
                           document.createTextNode(address));
			}
		});
	}
	return false;
}


function toggleGoogleLayers(address)
{
	var hiding = false;
	var elem = document.getElementById("mapsContainer");
	if(elem)
	{
		hiding = (elem.style.display && elem.style.display == "block");
		elem.style.display = hiding ? "none" : "block";
	}
	elem = document.getElementById("mapInner");
	if(elem)
		elem.style.display = hiding ? "none" : "block";
	elem = document.getElementById("map_canvas");
	if(elem)
	{
		elem.style.top = hiding ? "-410px" : "210px";
		elem.style.left = hiding ? "-50%" : "50%";
	}
	if(address)
	{
		elem = document.getElementById("mapTesto");
		if(elem)
			elem.innerHTML = address;
	}
}

var __TOP = 0;
var __LEFT = 0;
var __WIDTH = 0;
var __HEIGHT = 0;
var __CURRENT_DIV = null;

var __MIN_W = 350;
var __MIN_H = 206;
var __MAX_W = 923;
var __MAX_H = 430;
var __MIN_T = 0;
var __MIN_L = 0;
var __MAX_T = 222;
var __MAX_L = 575;
var __GAP = 28;
var __STEP = 40;

var __CURRENT_Z = 10;

function zoomDiv(divId, ctrl,moveTop,moveLeft)
{
	var elem = document.getElementById(divId);
	var innerElem = document.getElementById(divId+"box");
	if(elem && innerElem)
	{
		__CURRENT_DIV = elem;
		__CURRENT_DIV.innerElem = innerElem;
		if(__CURRENT_DIV.id != divId || !__CURRENT_DIV.isClosing)
		{
			if(!__CURRENT_DIV.Top)
			{
				__CURRENT_DIV.Top = moveTop ? __MAX_T : __MIN_T;
				__CURRENT_DIV.innerElem.Top = moveTop ? __MAX_T + __GAP : __MIN_T + __GAP;
			}
			if(!__CURRENT_DIV.Left)
			{
				__CURRENT_DIV.Left = moveLeft ? __MAX_L : __MIN_L;
				__CURRENT_DIV.innerElem.Left = moveLeft ? __MAX_L : __MIN_L;
			}
			if(!__CURRENT_DIV.Width)
			{
				__CURRENT_DIV.Width = __MIN_W;
				__CURRENT_DIV.innerElem.Width = __MIN_W;
			}
			if(!__CURRENT_DIV.Height)
			{
				__CURRENT_DIV.Height = __MIN_H;
				__CURRENT_DIV.innerElem.Height = __MIN_H - __GAP;
			}
		}
		if(__CURRENT_DIV.isClosing)
		{
			__CURRENT_DIV.isClosing = false;
			if(moveTop)
				__TOP = __STEP;
			else
				__TOP = 0;
			if(moveLeft)
				__LEFT = __STEP;
			else
				__LEFT = 0;
				
			//devo chiudere
			__WIDTH = -__STEP;
			__HEIGHT = -__STEP;
		}
		else
		{
			__CURRENT_DIV.isClosing = true;
			if(moveTop)
				__TOP = -__STEP;
			else
				__TOP = 0;
			if(moveLeft)
				__LEFT = -__STEP;
			else
				__LEFT = 0;
			
			__WIDTH = __STEP;
			__HEIGHT = __STEP;
		}
		++__CURRENT_Z;
		__CURRENT_DIV.style.zIndex = __CURRENT_Z;
		__CURRENT_DIV.innerElem.style.zIndex = __CURRENT_Z;
		__CURRENT_DIV.Link = ctrl;
	}
	__moveDiv();
}

function __moveDiv()
{
	__CURRENT_DIV.Top += __TOP;
	if(__CURRENT_DIV.Top < __MIN_T)
		__CURRENT_DIV.Top = __MIN_T;
	else if(__CURRENT_DIV.Top > __MAX_T)
		__CURRENT_DIV.Top = __MAX_T;
	__CURRENT_DIV.Left += __LEFT;
	if(__CURRENT_DIV.Left < __MIN_L)
		__CURRENT_DIV.Left = __MIN_L;
	else if(__CURRENT_DIV.Left > __MAX_L)
		__CURRENT_DIV.Left = __MAX_L;
	__CURRENT_DIV.Width += __WIDTH;
	if(__CURRENT_DIV.Width < __MIN_W)
		__CURRENT_DIV.Width = __MIN_W;
	else if(__CURRENT_DIV.Width > __MAX_W)
		__CURRENT_DIV.Width = __MAX_W;
	__CURRENT_DIV.Height += __HEIGHT;
	if(__CURRENT_DIV.Height < __MIN_H)
		__CURRENT_DIV.Height = __MIN_H;
	else if(__CURRENT_DIV.Height > __MAX_H)
		__CURRENT_DIV.Height = __MAX_H;
		
	__CURRENT_DIV.innerElem.Top += __TOP;
	if(__CURRENT_DIV.innerElem.Top < __MIN_T + __GAP)
		__CURRENT_DIV.innerElem.Top = __MIN_T + __GAP;
	else if(__CURRENT_DIV.innerElem.Top > __MAX_T + __GAP)
		__CURRENT_DIV.innerElem.Top = __MAX_T + __GAP;
	__CURRENT_DIV.innerElem.Left += __LEFT;
	if(__CURRENT_DIV.innerElem.Left < __MIN_L)
		__CURRENT_DIV.innerElem.Left = __MIN_L;
	else if(__CURRENT_DIV.innerElem.Left > __MAX_L)
		__CURRENT_DIV.innerElem.Left = __MAX_L;
	__CURRENT_DIV.innerElem.Width += __WIDTH;
	if(__CURRENT_DIV.innerElem.Width < __MIN_W)
		__CURRENT_DIV.innerElem.Width = __MIN_W;
	else if(__CURRENT_DIV.innerElem.Width > __MAX_W)
		__CURRENT_DIV.innerElem.Width = __MAX_W;
	__CURRENT_DIV.innerElem.Height += __HEIGHT;
	if(__CURRENT_DIV.innerElem.Height < __MIN_H - __GAP)
		__CURRENT_DIV.innerElem.Height = __MIN_H - __GAP;
	else if(__CURRENT_DIV.innerElem.Height > __MAX_H - __GAP)
		__CURRENT_DIV.innerElem.Height = __MAX_H - __GAP;	
	
	__CURRENT_DIV.style.top = __CURRENT_DIV.Top+"px";;
	__CURRENT_DIV.style.left = __CURRENT_DIV.Left+"px";;
	__CURRENT_DIV.style.width = __CURRENT_DIV.Width+"px";;
	__CURRENT_DIV.style.height = __CURRENT_DIV.Height+"px";
	
	__CURRENT_DIV.innerElem.style.top = __CURRENT_DIV.innerElem.Top+"px";;
	__CURRENT_DIV.innerElem.style.left = __CURRENT_DIV.innerElem.Left+"px";;
	__CURRENT_DIV.innerElem.style.width = __CURRENT_DIV.innerElem.Width+"px";;
	__CURRENT_DIV.innerElem.style.height = __CURRENT_DIV.innerElem.Height+"px";
	
	if((__MIN_W < __CURRENT_DIV.Width && __MAX_W > __CURRENT_DIV.Width) ||
		(__MIN_H < __CURRENT_DIV.Height && __MAX_H > __CURRENT_DIV.Height))
		setTimeout("__moveDiv()",20);
	else
	{
		__CURRENT_DIV.Link.className = (__CURRENT_DIV.Link.className == "zoomOut") ? "zoomIn" : "zoomOut";
	}
}