/**
*	file name: pos.js
*
 *	site: http://www.elleterm.com/
 *	ver: 1.0
 *	author:
 *
 */

var giIndexHeight = 0;
var gloToBeFaded = [];
var giHexVal = 255;
var goCurrentSubMenu = null;
var BLUE   = "#007AC2";
var ORANGE = "#F79239";
var GREEN  = "#00A650";
var BLACK  = "#000";
var WHITE  = "#fff";
var giKeepAliveTime = 1000;
var gbOnMenu = false;
var giActiveMenu = -1;

var SOCIETA_Items = [ "Mission" ];

var SOCIETA_URLs = [ "mission.html" ];

/*var PARTNERSHIP_Items = [ "Item 1", 
						 "Item 2" ];
var PARTNERSHIP_URLs = [ "Item 1",
						"Item 2" ];*/

var ETGS_Items = [ "Risparmio energetico",
				   "Servizi Integrati e studi di fattibilit\u00E0",
				   "Settore Edile",
				   "Settore Meccanico",
				   "Settore Elettrico" ];
var ETGS_URLs = [ "etgsre.html",
				  "etgssisdf.html",
				  "etgssd.html",
				  "etgssm.html",
				  "etgsse.html" ];

var ETH_Items = [ "Energia solare",
				  "Domotica",
				  "Settore Edile",
				  "Settore Meccanico",
				  "Settore Elettrico"
				];
var ETH_URLs = [ "ethes.html",
				 "ethdom.html",
				 "ethedi.html",
				 "ethmec.html",
				 "ethele.html"
			   ];

var ETG_Items = [ "Energia solare: fotovoltaico e termico",
				  "Energia Geotermica ed Eolica",
				  "Impianti di Teleriscaldamento"
				];
var ETG_URLs = [ "etges.html",
				 "etgege.html",
				 "etgit.html"
				];

var VELRUGBY_Items = [ "La storia \u0026 ...",
				  "... \u0026 Attualit\u00E0"
				];
var VELRUGBY_URLs = [ "velrugby1.html",
				 "velrugby2.html"
				];

var gloMenuItems = [
	new SubMenu( "societa",
				 WHITE,
				 BLACK,
				 BLACK,
				 WHITE,
				 SOCIETA_Items,
				 SOCIETA_URLs ),
	new SubMenu( "etgs",
				 ORANGE,
				 WHITE,
				 WHITE,
				 ORANGE,
				 ETGS_Items,
				 ETGS_URLs ),
	new SubMenu( "eth",
				 BLUE,
				 WHITE,
				 WHITE,
				 BLUE,
				 ETH_Items,
				 ETH_URLs ),
	new SubMenu( "etg",
				 GREEN,
				 WHITE,
				 WHITE,
				 GREEN,
				 ETG_Items,
				 ETG_URLs ),
	new SubMenu( "velaterugby",
				 WHITE,
				 BLACK,
				 BLACK,
				 WHITE,
				 VELRUGBY_Items,
				 VELRUGBY_URLs )/*,
	new SubMenu( "partnership",
				 WHITE,
				 BLACK,
				 BLACK,
				 WHITE,
				 PARTNERSHIP_Items,
				 PARTNERSHIP_URLs )*/
				   ];

function getIndexHeight() {
	var oDiv = document.getElementById( 'index' );
	giIndexHeight = oDiv.offsetHeight;
}

function doit() {
	var oViewPort = document.body;
	var oDiv = document.getElementById( 'index' );
	var oLogo = document.getElementById( 'logo' );
	var oETWorld = document.getElementById( 'etworld' );
	var oDivSize = new Dimension( 1005, 606 );
	var oLogoSize = new Dimension( 315, 156 );
	var oETWorldSize = new Dimension( 300, 261 );
	var oButtonSize = new Dimension (335, 88 );
	var iDivTop = 0;
	var strDivTop = iDivTop+"px";
	var iDivX = int( ( oViewPort.clientWidth-oDivSize.width )/2 );
	var iLogoX = int( ( oViewPort.clientWidth-oLogoSize.width )/2 )-iDivX;
	var iETWorldX = int( ( oViewPort.clientWidth-oETWorldSize.width )/2 )-iDivX;
	var iETWorldY = int( ( oDivSize.height-oLogoSize.height-oButtonSize.height-oETWorldSize.height )/2 )+oLogoSize.height;

	oDiv.style.position = "absolute";
	if ( BrowserDetect.browser == "Explorer" && BrowserDetect.version < 7 ) {
	} else {
		oDiv.style.left = iDivX+"px";
	}
	oDiv.style.top = strDivTop;
	oDiv.style.width = oDivSize.width+"px";
	oDiv.style.height = oDivSize.height+"px";

	oETWorld.style.position = "absolute";
	oETWorld.style.left = iETWorldX+"px";
	oETWorld.style.top = iETWorldY+"px";

	var oEarthH = document.getElementById( 'liearth-h' );
	var oEarthHTXT = document.getElementById( 'earth-h' );
	var oEarthA = document.getElementById( 'liearth-a' );
	var oEarthATXT = document.getElementById( 'earth-a' );
	var oEarthP = document.getElementById( 'liearth-p' );
	var oEarthPTXT = document.getElementById( 'earth-p' );
	var oEarthC = document.getElementById( 'liearth-c' );
	var oEarthCTXT = document.getElementById( 'earth-c' );
	var oEarthGS = document.getElementById( 'liearth-gs' );
	var oEarthGSTXT = document.getElementById( 'earth-gs' );
	var oEarthRE = document.getElementById( 'liearth-re' );
	var oEarthRETXT = document.getElementById( 'earth-re' );

	var oEarthHPosition = getPosition( oEarthH );

	var iEarthXDisp = iETWorldX+int( oETWorldSize.width/2 );
	var iEarthYDisp = iETWorldY-iDivTop;

	gloToBeFaded[ 0 ] = new EarthSatellite( oEarthH,  oEarthHTXT,  new Position( -100, -10 ), "12pt", "#000", new Position( -110, -15 ), "18pt", "#007AC2" );
	gloToBeFaded[ 1 ] = new EarthSatellite( oEarthA,  oEarthATXT,  new Position(   50, -10 ), "12pt", "#000", new Position(   30, -15 ), "18pt", "#F79239" );
	gloToBeFaded[ 2 ] = new EarthSatellite( oEarthP,  oEarthPTXT,  new Position( -260, 120 ), "12pt", "#000", new Position( -280, 115 ), "18pt", "#000" );
	gloToBeFaded[ 3 ] = new EarthSatellite( oEarthC,  oEarthCTXT,  new Position(  140, 120 ), "12pt", "#000", new Position(  120, 115 ), "18pt", "#000" );
	gloToBeFaded[ 4 ] = new EarthSatellite( oEarthGS, oEarthGSTXT, new Position( -130, 250 ), "12pt", "#000", new Position( -150, 245 ), "18pt", "#F79239" );
	gloToBeFaded[ 5 ] = new EarthSatellite( oEarthRE, oEarthRETXT, new Position(   40, 239 ), "12pt", "#000", new Position(   20, 229 ), "18pt", "#00A650" );

	oEarthH.style.position = "absolute";
	oEarthA.style.position = "absolute";
	oEarthP.style.position = "absolute";
	oEarthC.style.position = "absolute";
	oEarthGS.style.position = "absolute";
	oEarthRE.style.position = "absolute";
	for ( var i = 0; i < gloToBeFaded.length; i++ ) {
		gloToBeFaded[ i ].NormalPos.left += iEarthXDisp;
		gloToBeFaded[ i ].NormalPos.top += iEarthYDisp;
		gloToBeFaded[ i ].EmphPos.left += iEarthXDisp;
		gloToBeFaded[ i ].EmphPos.top += iEarthYDisp;
		gloToBeFaded[ i ].Element.style.left = gloToBeFaded[ i ].NormalPos.left+"px";
		gloToBeFaded[ i ].Element.style.top = gloToBeFaded[ i ].NormalPos.top+"px";
	}
	setPosition();
	fadeText();
}

function getHex( xVal ) {

	var strHex = [ '0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f' ];
	var msp = int( xVal/16 );
	var lsp = xVal-( msp*16 );

	return strHex[msp]+strHex[lsp];
}

function int( xVal ) {
	return eval( "parseInt("+xVal+")" );
}

function setPosition() {

	BrowserDetect.init();

	if ( BrowserDetect.browser == "Explorer" ) {
		var oDiv = document.getElementById( 'index' );
		var oOrange = document.getElementById( 'orangeLink' );
		var oBlue = document.getElementById( 'blueLink' );
		var oGreen = document.getElementById( 'greenLink' );
		var oDivPosition = getPosition( oDiv );
		var oOrangePosition = getPosition( oOrange );
		var oBluePosition = getPosition( oBlue );
		var oGreenPosition = getPosition( oGreen );
		var iButtonWidth = oOrange.offsetWidth;
		var iButtonHeight = oOrange.offsetHeight;
		var iVerticalDisplacement = giIndexHeight+oDivPosition.top-iButtonHeight+1;

		oDiv.style.height = giIndexHeight;

		if ( BrowserDetect.version < 7 ) {
			oOrange.style.position = "absolute";
			oOrange.style.left = -( oOrangePosition.left-oDivPosition.left );
			oBlue.style.left = iButtonWidth-( oBluePosition.left-oDivPosition.left );
			oGreen.style.left = (2*iButtonWidth)-( oGreenPosition.left-oDivPosition.left );
			oOrange.style.top = -oOrangePosition.top+iVerticalDisplacement-1;
			oBlue.style.top = -oBluePosition.top+iVerticalDisplacement-1;
			oGreen.style.top = -oGreenPosition.top+iVerticalDisplacement-1;
		} else {
			oOrange.style.left = -( oOrangePosition.left-oDivPosition.left );
			oBlue.style.left = iButtonWidth-( oBluePosition.left-oDivPosition.left );
			oGreen.style.left = (2*iButtonWidth)-( oGreenPosition.left-oDivPosition.left );
			oOrange.style.top = -oOrangePosition.top+iVerticalDisplacement+1;
			oBlue.style.top = -oBluePosition.top+iVerticalDisplacement+1;
			oGreen.style.top = -oGreenPosition.top+iVerticalDisplacement+1;
		}
	} else {
	}
}

function EarthSatellite( xObj, xObjTXT, xoNormalPos, xoNormalSize, xoNormalCol, xoEmphPos, xoEmphSize, xoEmphCol ) {
	this.Element = xObj;
	this.ElementTXT = xObjTXT;
	this.NormalPos = xoNormalPos;
	this.NormalSize = xoNormalSize;
	this.NormalCol = xoNormalCol;
	this.EmphPos = xoEmphPos;
	this.EmphSize = xoEmphSize;
	this.EmphCol = xoEmphCol;
}

function fadeText() {
	if( giHexVal > 0 ) {
		giHexVal -= 5;
		for ( var i = 0; i < gloToBeFaded.length; i++ ) {
			gloToBeFaded[ i ].ElementTXT.style.color="rgb("+giHexVal+","+giHexVal+","+giHexVal+")";
		}
		setTimeout( "fadeText()", 50 );
	} else {
		giHexVal = 255;
	}
}

function onMouseOver( xID ) {

	for ( var i = 0; i < gloToBeFaded.length; i++ ) {
		if ( gloToBeFaded[ i ].ElementTXT.id == xID ) {
			gloToBeFaded[ i ].ElementTXT.style.color = gloToBeFaded[ i ].EmphCol;
			gloToBeFaded[ i ].ElementTXT.style.fontSize = gloToBeFaded[ i ].EmphSize;
			gloToBeFaded[ i ].Element.style.left = gloToBeFaded[ i ].EmphPos.left+"px";
			gloToBeFaded[ i ].Element.style.top = gloToBeFaded[ i ].EmphPos.top+"px";
			break;
		}
	}
}

function onMouseOut( xID ) {

	for ( var i = 0; i < gloToBeFaded.length; i++ ) {
		if ( gloToBeFaded[ i ].ElementTXT.id == xID ) {
			gloToBeFaded[ i ].ElementTXT.style.color = gloToBeFaded[ i ].NormalCol;
			gloToBeFaded[ i ].ElementTXT.style.fontSize = gloToBeFaded[ i ].NormalSize;
			gloToBeFaded[ i ].Element.style.left = gloToBeFaded[ i ].NormalPos.left+"px";
			gloToBeFaded[ i ].Element.style.top = gloToBeFaded[ i ].NormalPos.top+"px";
			break;
		}
	}
}

function Menu( xID ) {

	var oIndex = document.getElementById( 'index' );

	if ( goCurrentSubMenu != null ) {
		oIndex.removeChild( goCurrentSubMenu );
		goCurrentSubMenu = null;
		giActiveMenu = -1;
	}

	var oMenuItem = document.getElementById( xID );
	var oMenuBox = new Position( int( oMenuItem.style.left ), int( oMenuItem.style.bottom ) );
	var iMenuHeight = getElementRect( document.getElementById( xID ) ).Height;
	goCurrentSubMenu = document.createElement( "div" );
	var oParent = null;
	var oMenu = document.getElementById( "menu" );
	var oMenuPos = getElementRect( oMenuItem );

    goCurrentSubMenu.className = "submenu";
    goCurrentSubMenu.id = "sub"+xID;
	oIndex.appendChild( goCurrentSubMenu );
	goCurrentSubMenu.style.webkitBoxShadow = "5px 5px 5px #777";
	goCurrentSubMenu.style.boxShadow = "2px 2px 5px #777";
	goCurrentSubMenu.style.margin = "0";
	goCurrentSubMenu.style.border = "1px solid black";
	goCurrentSubMenu.style.padding = "0";
	goCurrentSubMenu.style.position = "absolute";
	goCurrentSubMenu.style.left = oMenuPos.Left+"px";
	BrowserDetect.init();
	if ( BrowserDetect.browser == "Explorer" ) {
		if ( BrowserDetect.version < 7 ) {
			goCurrentSubMenu.style.top = ( iMenuHeight-1 )+"px";
		} else {
			goCurrentSubMenu.style.top = ( iMenuHeight )+"px";
		}
	} else if ( BrowserDetect.browser == "Chrome" ) {
		goCurrentSubMenu.style.top = ( iMenuHeight+2 )+"px";
	} else if ( BrowserDetect.browser == "Safari" ) {
		goCurrentSubMenu.style.top = ( iMenuHeight+2 )+"px";
	} else if ( BrowserDetect.browser == "Opera" ) {
		goCurrentSubMenu.style.top = ( iMenuHeight-1 )+"px";
	} else if ( BrowserDetect.browser == "Firefox" ) {
		goCurrentSubMenu.style.top = ( iMenuHeight+3 )+"px";
	} else {
		alert( "Bingo!" );
		goCurrentSubMenu.style.top = ( iMenuHeight+1 )+"px";
	}
		
	for ( i = 0; i < gloMenuItems.length; i++ ) {
		if ( xID == gloMenuItems[ i ].ID ) {
			giActiveMenu = i;
			goCurrentSubMenu.style.backgroundColor = gloMenuItems[ i ].moBackgroundColor;
			goCurrentSubMenu.style.color = gloMenuItems[ i ].moColor;
			generateSubmenu( gloMenuItems[ i ] );
			break;
		} else {
		}
	}

    goCurrentSubMenu.onmouseover = function(e) {
        gbOnMenu = true;
		var oElement = null;
		if (!e) var e = window.event;
		if (e.target) oElement = e.target;
		else if (e.srcElement) oElement = e.srcElement;
		if ( oElement.nodeType == 3 ) // defeat Safari bug
			oElement = oElement.parentNode;

		if ( e ) {
			if ( oElement != undefined && oElement.className == "submenuitem" && e.type == "mouseover" ) {
				submenuOnMouseOver( oElement );
			}
		}
    }

    goCurrentSubMenu.onmouseout = function(e) {
		if ( !e ) {
			var e = window.event;
		}
		var oElement = e.relatedTarget || e.fromElement;

		setTimeout( "Menu_hide()", giKeepAliveTime );
		gbOnMenu = false;
    }
}

function generateSubmenu( xoSubMenu ) {
	var oText;
	var oSubMenuItem;
	for ( var i = 0; i < xoSubMenu.mlItems.length; i++ ) {
		oSubMenuItem = document.createElement( "a" );
		oSubMenuItem.className = "submenuitem";
		oSubMenuItem.href = xoSubMenu.mlURLs[ i ];
		oSubMenuItem.style.fontSize = "10pt";
		oSubMenuItem.style.color = xoSubMenu.moColor;
		oSubMenuItem.style.textDecoration = "none";
		oSubMenuItem.style.fontWeight = "bold";
		oText = document.createTextNode( xoSubMenu.mlItems[ i ] );
		oSubMenuItem.appendChild( oText );
		goCurrentSubMenu.appendChild( oSubMenuItem );
		oSubMenuItem.style.margin = "0";
		oSubMenuItem.style.padding = "2px 5px 2px 5px";
		oSubMenuItem.style.display = "block";
	}
}

function submenuOnMouseOver( xObj ) {
	if ( xObj != undefined && xObj != null ) {
		var oChildNodes = goCurrentSubMenu.childNodes;
		for ( var i = 0; i < oChildNodes.length; i++ ) {
			if ( xObj == oChildNodes[ i ] ) {
				oChildNodes[ i ].style.backgroundColor = gloMenuItems[ giActiveMenu ].moSelectionBarBackgroundColor;
				oChildNodes[ i ].style.color = gloMenuItems[ giActiveMenu ].moSelectionBarColor;
			} else {
				xObj.style.border = "none";
				oChildNodes[ i ].style.backgroundColor = gloMenuItems[ giActiveMenu ].moBackgroundColor;
				oChildNodes[ i ].style.color = gloMenuItems[ giActiveMenu ].moColor;
			}
		}
	}
}

function submenuOnMouseOut( xObj ) {
}

function Menu_hide() {
    var bRemove = false;

	if ( !gbOnMenu && goCurrentSubMenu != null ) {
    	var oIndex = document.getElementById( 'index' );
		oIndex.removeChild( goCurrentSubMenu );
		goCurrentSubMenu = null;
    }
}

function SubMenu( xID,
				  xoBackgroundColor,
				  xoColor,
				  xoSelectionBarBackgroundColor,
				  xoSelectionBarColor,
				  xlItems,
				  xlURLs ) {
	this.ID = xID;
	this.moBackgroundColor = xoBackgroundColor;
	this.moColor = xoColor;
	this.moSelectionBarBackgroundColor = xoSelectionBarBackgroundColor;
	this.moSelectionBarColor = xoSelectionBarColor;
	this.mlItems = xlItems;
	this.mlURLs = xlURLs;
}

