var currentFloor = 0;
var apartDB      = new Array(7);

apartDB[0] = [
	{coords:"123,92,193,77,191,166,143,176,116,123,125,112",name:"Livorno Apartment",idnum:"14",type:"Livorno",flatsize:"108,0",terrace:"19,0",totalsize:"117,5",rooms:2},
	{coords:"31,275,84,271,87,290,127,287,131,282,139,287,143,325,126,333,113,344,51,346,37,334",name:"Roma Apartment",idnum:"01",type:"Roma",flatsize:"124,2",terrace:"11,4",totalsize:"129,9",rooms:2},
	{coords:"265,286,269,292,308,296,311,279,364,288,356,335,342,346,278,345,264,329,256,325,257,291",name:"Roma Apartment",idnum:"61",type:"Roma",flatsize:"108,7",terrace:"11,4",totalsize:"114,4",rooms:3},
	{coords:"218,78,288,98,284,117,293,129,260,181,214,167",name:"Pisa Apartment",idnum:"39",type:"Pisa",flatsize:"108,0",terrace:"19,0",totalsize:"117,5",rooms:2},
	{coords:"23,181,135,171,138,178,115,206,119,250,84,254,84,266,31,271",name:"Volterra Apartment",idnum:"02",type:"Volterra",flatsize:"119,5",terrace:"7,9",totalsize:"123,4",rooms:3}
];
apartDB[1] = [
	{coords:"7,16,96,8,104,78,79,91,67,92,65,69,13,75",name:"Lucca Apartment",idnum:"19",type:"Lucca",flatsize:"115,1",terrace:"6,8",totalsize:"118,5",rooms:2},
	{coords:"20,147,70,142,69,119,80,117,114,125,140,179,117,205,26,214",name:"Venezia Apartment",idnum:"17",type:"Venezia",flatsize:"149,4",terrace:"9,2",totalsize:"154,0",rooms:3},
	{coords:"34,276,85,272,89,291,124,289,126,335,114,347,53,347,37,335",name:"Roma Apartment",idnum:"03",type:"Roma",flatsize:"114,0",terrace:"26,0",totalsize:"123,4",rooms:2},
	{coords:"209,79,288,100,284,119,293,130,261,182,205,167",name:"Verona Apartment",idnum:"43",type:"Verona",flatsize:"126,2",terrace:"6,2",totalsize:"129,3",rooms:3},
	{coords:"336,104,348,105,352,86,397,93,386,157,341,148,346,125,332,124",name:"Genova Apartment",idnum:"41",type:"Genova",flatsize:"65,3",terrace:"4,2",totalsize:"67,4",rooms:1},
	{coords:"286,216,374,231,366,284,313,276,315,263,280,256",name:"Milano Apartment",idnum:"62",type:"Milano",flatsize:"86,4",terrace:"6,2",totalsize:"89,5",rooms:2},
	{coords:"13,79,61,75,62,94,76,95,78,115,65,117,67,139,20,144",name:"Genova Apartment",idnum:"18",type:"Genova",flatsize:"62,7",terrace:"4,2",totalsize:"64,8",rooms:1},
	{coords:"27,218,116,210,119,252,86,256,87,266,32,272",name:"Milano Apartment",idnum:"04",type:"Milano",flatsize:"86,5",terrace:"6,2",totalsize:"89,6",rooms:2},
	{coords:"124,94,206,78,200,166,146,177,118,124,126,113",name:"Verona Apartment",idnum:"16",type:"Verona",flatsize:"126,3",terrace:"6,2",totalsize:"129,4",rooms:3},
	{coords:"317,41,402,64,398,88,348,82,34,102,335,102,310,83",name:"Lucca Apartment",idnum:"40",type:"Lucca",flatsize:"63,3",terrace:"4,6",totalsize:"65,6",rooms:1},
	{coords:"296,132,329,128,340,130,336,152,385,161,375,226,285,212,264,184",name:"Venezia Apartment",idnum:"42",type:"Venezia",flatsize:"149,0",terrace:"9,2",totalsize:"153,6",rooms:3},
	{coords:"312,280,365,289,358,334,344,347,281,347,268,334,275,293,307,297",name:"Roma Apartment",idnum:"63",type:"Roma",flatsize:"96,1",terrace:"24,0",totalsize:"108,1",rooms:2}
];
apartDB[2] = [
	{coords:"7,16,96,8,104,78,79,91,67,92,65,69,13,75",name:"Lucca Apartment",idnum:"23",type:"Lucca",flatsize:"115,1",terrace:"6,6",totalsize:"118,4",rooms:2},
	{coords:"20,147,70,142,69,119,80,117,114,125,140,179,117,205,26,214",name:"Venezia Apartment",idnum:"21",type:"Venezia",flatsize:"149,3",terrace:"7,6",totalsize:"153,1",rooms:3},
	{coords:"34,276,85,272,89,291,124,289,126,335,114,347,53,347,37,335",name:"Roma Apartment",idnum:"05",type:"Roma",flatsize:"114,0",terrace:"10,6",totalsize:"115,7",rooms:2},
	{coords:"209,79,288,100,284,119,293,130,261,182,205,167",name:"Verona Apartment",idnum:"47",type:"Verona",flatsize:"126,2",terrace:"6,2",totalsize:"129,3",rooms:3},
	{coords:"336,104,348,105,352,86,397,93,386,157,341,148,346,125,332,124",name:"Genova Apartment",idnum:"45",type:"Genova",flatsize:"65,3",terrace:"2,6",totalsize:"66,6",rooms:1},
	{coords:"286,216,374,231,366,284,313,276,315,263,280,256",name:"Milano Apartment",idnum:"64",type:"Milano",flatsize:"86,4",terrace:"5,8",totalsize:"89,3",rooms:2},
	{coords:"13,79,61,75,62,94,76,95,78,115,65,117,67,139,20,144",name:"Genova Apartment",idnum:"22",type:"Genova",flatsize:"63,3",terrace:"2,6",totalsize:"64,6",rooms:1},
	{coords:"27,218,116,210,119,252,86,256,87,266,32,272",name:"Milano Apartment",idnum:"06",type:"Milano",flatsize:"86,6",terrace:"5,8",totalsize:"89,4",rooms:2},
	{coords:"124,94,206,78,200,166,146,177,118,124,126,113",name:"Verona Apartment",idnum:"20",type:"Verona",flatsize:"126,2",terrace:"6,4",totalsize:"129,4",rooms:3},
	{coords:"317,41,402,64,398,88,348,82,34,102,335,102,310,83",name:"Lucca Apartment",idnum:"44",type:"Lucca",flatsize:"63,3",terrace:"5,0",totalsize:"65,8",rooms:1},
	{coords:"296,132,329,128,340,130,336,152,385,161,375,226,285,212,264,184",name:"Venezia Apartment",idnum:"46",type:"Venezia",flatsize:"149,0",terrace:"7,4",totalsize:"152,7",rooms:3},
	{coords:"312,280,365,289,358,334,344,347,281,347,268,334,275,293,307,297",name:"Roma Apartment",idnum:"65",type:"Roma",flatsize:"96,1",terrace:"7,4",totalsize:"99,8",rooms:2}
];
apartDB[3] = [
	{coords:"7,16,96,8,104,78,79,91,67,92,65,69,13,75",name:"Lucca Apartment",idnum:"27",type:"Lucca",flatsize:"115,1",terrace:"6,6",totalsize:"118,4",rooms:2},
	{coords:"20,147,70,142,69,119,80,117,114,125,140,179,117,205,26,214",name:"Venezia Apartment",idnum:"25",type:"Venezia",flatsize:"149,3",terrace:"7,6",totalsize:"153,1",rooms:3},
	{coords:"34,276,85,272,89,291,124,289,126,335,114,347,53,347,37,335",name:"Roma Apartment",idnum:"07",type:"Roma",flatsize:"114,0",terrace:"16,4",totalsize:"118,6",rooms:2},
	{coords:"209,79,288,100,284,119,293,130,261,182,205,167",name:"Verona Apartment",idnum:"51",type:"Verona",flatsize:"126,2",terrace:"6,2",totalsize:"129,3",rooms:3},
	{coords:"336,104,348,105,352,86,397,93,386,157,341,148,346,125,332,124",name:"Genova Apartment",idnum:"49",type:"Genova",flatsize:"65,3",terrace:"2,6",totalsize:"66,6",rooms:1},
	{coords:"286,216,374,231,366,284,313,276,315,263,280,256",name:"Milano Apartment",idnum:"66",type:"Milano",flatsize:"86,4",terrace:"5,8",totalsize:"89,3",rooms:2},
	{coords:"13,79,61,75,62,94,76,95,78,115,65,117,67,139,20,144",name:"Genova Apartment",idnum:"26",type:"Genova",flatsize:"63,3",terrace:"2,6",totalsize:"64,6",rooms:1},
	{coords:"27,218,116,210,119,252,86,256,87,266,32,272",name:"Milano Apartment",idnum:"08",type:"Milano",flatsize:"86,5",terrace:"5,8",totalsize:"89,4",rooms:2},
	{coords:"124,94,206,78,200,166,146,177,118,124,126,113",name:"Verona Apartment",idnum:"24",type:"Verona",flatsize:"126,2",terrace:"6,4",totalsize:"129,4",rooms:3},
	{coords:"317,41,402,64,398,88,348,82,34,102,335,102,310,83",name:"Lucca Apartment",idnum:"48",type:"Lucca",flatsize:"63,3",terrace:"5,0",totalsize:"65,8",rooms:1},
	{coords:"296,132,329,128,340,130,336,152,385,161,375,226,285,212,264,184",name:"Venezia Apartment",idnum:"50",type:"Venezia",flatsize:"149,0",terrace:"7,4",totalsize:"152,7",rooms:3},
	{coords:"312,280,365,289,358,334,344,347,281,347,268,334,275,293,307,297",name:"Roma Apartment",idnum:"67",type:"Roma",flatsize:"96,1",terrace:"16,6",totalsize:"104,4",rooms:2}
];
apartDB[4] = [
	{coords:"7,16,96,8,104,78,79,91,67,92,65,69,13,75",name:"Lucca Apartment",idnum:"31",type:"Lucca",flatsize:"115,1",terrace:"6,6",totalsize:"118,4",rooms:2},
	{coords:"20,147,70,142,69,119,80,117,114,125,140,179,117,205,26,214",name:"Venezia Apartment",idnum:"29",type:"Venezia",flatsize:"149,3",terrace:"7,6",totalsize:"153,1",rooms:3},
	{coords:"34,276,85,272,89,291,124,289,126,335,114,347,53,347,37,335",name:"Roma Apartment",idnum:"09",type:"Roma",flatsize:"114,0",terrace:"10,6",totalsize:"115,7",rooms:2},
	{coords:"209,79,288,100,284,119,293,130,261,182,205,167",name:"Verona Apartment",idnum:"55",type:"Verona",flatsize:"126,2",terrace:"6,2",totalsize:"129,3",rooms:3},
	{coords:"336,104,348,105,352,86,397,93,386,157,341,148,346,125,332,124",name:"Genova Apartment",idnum:"53",type:"Genova",flatsize:"65,3",terrace:"2,6",totalsize:"66,6",rooms:1},
	{coords:"286,216,374,231,366,284,313,276,315,263,280,256",name:"Milano Apartment",idnum:"68",type:"Milano",flatsize:"86,4",terrace:"5,8",totalsize:"89,3",rooms:2},
	{coords:"13,79,61,75,62,94,76,95,78,115,65,117,67,139,20,144",name:"Genova Apartment",idnum:"30",type:"Genova",flatsize:"63,3",terrace:"2,6",totalsize:"64,6",rooms:1},
	{coords:"27,218,116,210,119,252,86,256,87,266,32,272",name:"Milano Apartment",idnum:"10",type:"Milano",flatsize:"86,5",terrace:"5,8",totalsize:"89,4",rooms:2},
	{coords:"124,94,206,78,200,166,146,177,118,124,126,113",name:"Verona Apartment",idnum:"28",type:"Verona",flatsize:"126,2",terrace:"6,4",totalsize:"129,4",rooms:3},
	{coords:"317,41,402,64,398,88,348,82,34,102,335,102,310,83",name:"Lucca Apartment",idnum:"52",type:"Lucca",flatsize:"63,3",terrace:"5,0",totalsize:"65,8",rooms:1},
	{coords:"296,132,329,128,340,130,336,152,385,161,375,226,285,212,264,184",name:"Venezia Apartment",idnum:"54",type:"Venezia",flatsize:"149,0",terrace:"7,4",totalsize:"152,7",rooms:3},
	{coords:"312,280,365,289,358,334,344,347,281,347,268,334,275,293,307,297",name:"Roma Apartment",idnum:"69",type:"Roma",flatsize:"96,2",terrace:"5,8",totalsize:"89,3",rooms:2}
];
apartDB[5] = [
	{coords:"7,16,96,8,104,78,79,91,67,92,65,69,13,75",name:"Lucca Apartment",idnum:"35",type:"Lucca",flatsize:"102,4",terrace:"13,6",totalsize:"109,2",rooms:2},
	{coords:"20,147,70,142,69,119,80,117,114,125,140,179,117,205,26,214",name:"Venezia Apartment",idnum:"33",type:"Venezia",flatsize:"135,1",terrace:"18,8",totalsize:"144,5",rooms:3},
	{coords:"34,276,85,272,89,291,124,289,126,335,114,347,53,347,37,335",name:"Roma Apartment",idnum:"11",type:"Roma",flatsize:"114,0",terrace:"13,8",totalsize:"117,3",rooms:2},
	{coords:"209,79,288,100,284,119,293,130,261,182,205,167",name:"Verona Apartment",idnum:"59",type:"Verona",flatsize:"125,8",terrace:"7,0",totalsize:"129,3",rooms:3},
	{coords:"336,104,348,105,352,86,397,93,386,157,341,148,346,125,332,124",name:"Genova Apartment",idnum:"57",type:"Genova",flatsize:"65,3",terrace:"3,4",totalsize:"67,0",rooms:1},
	{coords:"286,216,374,231,366,284,313,276,315,263,280,256",name:"Milano Apartment",idnum:"70",type:"Milano",flatsize:"86,4",terrace:"6,4",totalsize:"89,6",rooms:2},
	{coords:"13,79,61,75,62,94,76,95,78,115,65,117,67,139,20,144",name:"Genova Apartment",idnum:"34",type:"Genova",flatsize:"50,0",terrace:"12,4",totalsize:"56,2",rooms:1},
	{coords:"27,218,116,210,119,252,86,256,87,266,32,272",name:"Milano Apartment",idnum:"12",type:"Milano",flatsize:"75,2",terrace:"13,6",totalsize:"82,0",rooms:2},
	{coords:"124,94,206,78,200,166,146,177,118,124,126,113",name:"Verona Apartment",idnum:"32",type:"Verona",flatsize:"125,9",terrace:"7,0",totalsize:"129,4",rooms:3},
	{coords:"317,41,402,64,398,88,348,82,34,102,335,102,310,83",name:"Lucca Apartment",idnum:"56",type:"Lucca",flatsize:"63,3",terrace:"4,0",totalsize:"65,3",rooms:1},
	{coords:"296,132,329,128,340,130,336,152,385,161,375,226,285,212,264,184",name:"Venezia Apartment",idnum:"58",type:"Venezia",flatsize:"149,0",terrace:"9,6",totalsize:"153,8",rooms:3},
	{coords:"312,280,365,289,358,334,344,347,281,347,268,334,275,293,307,297",name:"Roma Apartment",idnum:"71",type:"Roma",flatsize:"96,1",terrace:"13,0",totalsize:"102,6",rooms:2}
];
apartDB[6] = [
	{coords:"47,87,84,84,80,116,114,127,145,170,110,180,105,208,58,211",name:"Siena Apartment",idnum:"37",type:"Siena",flatsize:"131,5",terrace:"152,8",totalsize:"207,9",rooms:2},
	{coords:"327,43,392,61,365,224,298,214,292,185,263,176,284,121,319,135,336,102,320,87",name:"Cortona Apartment",idnum:"60",type:"Cortona",flatsize:"237,7",terrace:"54,3",totalsize:"264,8",rooms:4},
	{coords:"127,105,205,88,287,112,260,168,236,150,203,155,165,146,147,166,117,124",name:"Firenze Apartment",idnum:"36",type:"Firenze",flatsize:"172,6",terrace:"64,6",totalsize:"204,9",rooms:3},
	{coords:"58,217,104,212,108,252,85,255,86,292,113,291,121,327,110,342,79,337,47,324,44,281,62,278",name:"Arezzo Apartment",idnum:"13",type:"Arezzo",flatsize:"123,4",terrace:"60,0",totalsize:"153,4",rooms:2},
	{coords:"298,219,365,230,345,329,286,340,272,329,285,294,309,298,315,264,291,259",name:"Prato Apartment",idnum:"72",type:"Venezia",flatsize:"135,5",terrace:"48,8",totalsize:"159,9",rooms:3}
];

function onFloorOver(floorNum)
{
	naviPos     = floorNum * -133;
	document.getElementById('floor_navi').style.backgroundPosition = "0px " + naviPos + "px";
}

function onFloorOut()
{
	naviPos     = currentFloor * -133;
	document.getElementById('floor_navi').style.backgroundPosition = "0px " + naviPos + "px";
}

function switchFloor(floorNum)
{
	naviPos     = floorNum * -133;
	floorImgNum = (0 == floorNum || 6 == floorNum) ? floorNum : 1;
	
	mapArea = "";
	for(i=0;i<apartDB[floorNum].length;i++)
	{
		mapArea += '<area shape="poly" coords="' + apartDB[floorNum][i]['coords'] + '" href="javascript:showDetail(' + i + ');" onmouseover="onFlatRollOverHandler(' + (i+1) + ')" alt="test" />';
	}
	mapArea += '<area shape="default" nohref="nohref" onmouseover="onFlatRollOverHandler(0)" alt="test" />';
	
	document.getElementById("floornavi_" + currentFloor).className = "";
	document.getElementById("floornavi_" + floorNum).className     = "floormenu_dunkel";
	document.getElementById('floor_navi').style.backgroundPosition = "0px " + naviPos + "px";
	
	<!--document.getElementById('apart_floor').style.backgroundImage = "url(../../_images/apartments/floors/floor_under_" + floorImgNum + ".png)";-->
	document.getElementById('apart_floor').style.backgroundImage = "url(../../_images/apartments/floors/floor_under_" + floorNum + ".png)";
	document.getElementById('apart_floor_over').style.backgroundImage = "url(../../_images/apartments/floors/floor_over_" + floorImgNum + ".png)";
	document.getElementById('floorMap').innerHTML = mapArea;
	
	currentFloor = floorNum;
}

function onFlatRollOverHandler(flatNum)
{
	flatPos = flatNum * -360;
	document.getElementById("apart_floor_over").style.backgroundPosition = "right " + flatPos + "px";
}

function showDetail(flatNum)
{
	apartFadeOut("content", function()
									{
										apartFadeIn("flatdetail", null);
									});
	
	apartInfo = apartDB[currentFloor][flatNum];
	floorName = (0 == currentFloor) ? "EG" : currentFloor;
	flatPos   = (0 == currentFloor || 6 == currentFloor) ? "position_" + currentFloor + "_" + flatNum + ".gif" : "position_1_" + flatNum + ".gif";
	
	document.getElementById('flat_name').innerHTML      = apartInfo['name'];
	document.getElementById('info_floor').innerHTML     = floorName;
	document.getElementById('info_id').innerHTML        = apartInfo['idnum'];
	document.getElementById('info_type').innerHTML      = apartInfo['type'];
	document.getElementById('info_flatsize').innerHTML  = apartInfo['flatsize'];
	document.getElementById('info_terrace').innerHTML   = apartInfo['terrace'];
	document.getElementById('info_totalsize').innerHTML = apartInfo['totalsize'];
	document.getElementById('info_rooms').innerHTML     = apartInfo['rooms'];
	document.getElementById('flat_position').src        = "../../_images/apartments/positions/" + flatPos;
	document.getElementById('flatdetail_img').src       = "../../_images/apartments/flat_" + apartInfo['idnum'] + ".png";
}

function hideDetail()
{
	apartFadeOut("flatdetail", function()
									{
										apartFadeIn("content", function()
																		{
																			document.getElementById('flat_name').innerHTML      = "";
																			document.getElementById('info_floor').innerHTML     = "";
																			document.getElementById('info_id').innerHTML        = "";
																			document.getElementById('info_type').innerHTML      = "";
																			document.getElementById('info_flatsize').innerHTML  = "";
																			document.getElementById('info_terrace').innerHTML   = "";
																			document.getElementById('info_totalsize').innerHTML = "";
																			document.getElementById('info_rooms').innerHTML     = "";
																			document.getElementById('flat_position').src        = "";
																			document.getElementById('flatdetail_img').src       = "../../images/apartments/floors/mat.png";																			
																		});
									});
}

function apartFadeIn(targetId,callBack)
{
	apartFadeCallBack = callBack;
	fadeObj           = document.getElementById(targetId);
	
	if("none" == fadeObj.style.display)
	{
		fadeObj.style.display = "inline";
	}
	
	fadeObj.style.opacity = 0;
	fadeObj.style.filter  = "alpha(opacity=0)";
	
	setTimeout("apartFadeAnimation(" + callBack + ",'" + targetId + "'," + 100 + "," + 0 + ")", 40);
}

function apartFadeOut(targetId,callBack)
{
	apartFadeCallBack = callBack;
	fadeObj           = document.getElementById(targetId);
	
	if("none" == fadeObj.style.display)
	{
		fadeObj.style.display = "inline";
	}
	
	fadeObj.style.opacity = 1;
	fadeObj.style.filter  = "alpha(opacity=100)";
	
	setTimeout("apartFadeAnimation(" + callBack + ",'" + targetId + "'," + 0 + "," + 100 + ")", 40);
}

function apartFadeAnimation(callBack, targetId, endAlpha, oldAlpha)
{
	fadeObj  = document.getElementById(targetId);
	newAlpha = (endAlpha - oldAlpha) * 0.3;
	
	if(2 > Math.abs(newAlpha))
	{
		fadeObj.style.opacity = endAlpha / 100;
		fadeObj.style.filter  = "alpha(opacity=" + endAlpha + ")";
		
		if(0 == endAlpha)
		{
			fadeObj.style.display = "none";
		}
		
		if(typeof callBack == "function")
		{
				callBack();
		}
	}
	else
	{
		newOpacity = oldAlpha + newAlpha;
		
		fadeObj.style.opacity = newOpacity / 100;
		fadeObj.style.filter  = "alpha(opacity=" + newOpacity + ")";
		setTimeout("apartFadeAnimation(" + callBack + ",'" + targetId + "'," + endAlpha + "," + newOpacity + ")", 40);
	}
}
