var arraySubMenu=new Array();
var originalImages=new Array();
var idTimeOut;
var IE = document.all?true:false; //select also opera
var detect = navigator.userAgent.toLowerCase();
var isOpera = (navigator.userAgent.indexOf("Opera") > -1) ? true:false;
var isSafari = (navigator.userAgent.indexOf("safari") > -1) ? true:false;


var idDinamicMenu="";//Name of the dinamic 
var timeout=120;


/*************************************************************************************************************
						DEBUG
						to show debug message -> uncomment "write" in "writeLog" function
						to hide debug message -> commente "write" line in "writeLog" function
**************************************************************************************************************/
function writeLog(szMessage){
	//write(szMessage)
}
function write(szMessage) {
	var d = document.getElementById( 'log' );
    if (d == undefined)
    {
		d = document.createElement( 'div' );
		d.id = 'log';
		d.setAttribute( 'style', 'zIndex:102;display:block;font-family:arial;font-size:10px;position:absolute;bottom:0px;right:0px;width:700px;height:100px;overflow:scroll;visibility:visible');
		d.style.zIndex='999';d.style.position='absolute';d.style.display='block';d.style.bottom='0';d.style.right='0';	d.style.width='600px';
		d.style.zIndex='999';d.style.position='absolute';d.style.display='block';d.style.bottom='0';d.style.right='0';	d.style.width='600px';
		d.style.height='100px';
		d.style.overflow='scroll';
		document.body.appendChild( d );
    }
    var p = document.createElement( 'p' );
    p.appendChild(document.createTextNode( ((new Date( )).toLocaleString()) + ": " + szMessage ))
    if (d.firstChild)
        d.insertBefore( p, d.firstChild );
     else
        d.appendChild(p);
     d.style.scrollTop = 0;
}
/*************************************************************************************************************
						DEBUG
**************************************************************************************************************/

function checkForm(which){
	var testo=document.getElementById("search_string");
	if (testo.value.length<3){
		msg_alert = "\nLa ricerca  richiede l\'inserimento di un minimo di tre caratteri.";
		alert(msg_alert);
		return false
	}
}


function ShowHide(name_id,type){
	var obj_sh=get(name_id);
	if (obj_sh!=null){
		if (type=="hide"){obj_sh.style.display = "none";}
		else{ obj_sh.style.display = "block";}
	}
}

function get(obj){ return document.getElementById(obj);}




/*************************************************************************************************
*
*	Libraires to make a Dinamic menu-subMenu Over
* 	on mouse over change teh image.ext in image_over.ext and show the submenu
*	
*
*************************************************************************************************/

function makeDinamicMenu(idMenu){
	idDinamicMenu=idMenu;
	var mainMenu=get(idMenu);
	if (mainMenu!=null){	//Exist maniMenu
		saveImageMenu(idMenu);
		
		var subMenus=mainMenu.getElementsByTagName("UL");
		if (subMenus.length>0){
			firstMenu=subMenus.item(0);
			if (firstMenu.hasChildNodes()) {
				writeLog(firstMenu.childNodes.length);
				for (var k=0;k<firstMenu.childNodes.length;k++){
					var elem_tmp=firstMenu.childNodes[k];
					
					if (elem_tmp.nodeName=='LI' && elem_tmp.hasChildNodes()){
						
						var childLI=elem_tmp.childNodes;
						for (var m=0;m<childLI.length;m++){
						
							if (childLI[m].nodeName=="A") {
								childLI[m].onmouseover=funcOnMouseOver;
								childLI[m].onmouseout=functOnMouseOut;
									writeLog(childLI[m].onmouseover);
							}
						}
					}
				}
			}
			
			
		}
		writeLog("subMenus :"+subMenus.length);
		for (var i=1;i<subMenus.length;i++){
			if (IE && !isOpera){
				subMenus[i].attachEvent('onmouseenter',subMuneMouseOver);
				subMenus[i].attachEvent('onmouseleave',subMuneMouseOut);
			}else{
				subMenus[i].addEventListener('mouseover',subMuneMouseOver,true);
				subMenus[i].addEventListener('mouseout',subMuneMouseOut,true);
			}
		}
	}
}

function saveImageMenu(nameMenu){
	var mainMenu=get(nameMenu);
	if (mainMenu!=null){
		var actImgs=mainMenu.getElementsByTagName("IMG");
		for (var j=0;j<actImgs.length;j++){
				originalImages.push(actImgs[j].src);
		}
	}
}

function restoreImageMenu(nameMenu){
	var mainMenu=get(nameMenu);
	var actImgs=mainMenu.getElementsByTagName("IMG");
	for (var j=0;j<actImgs.length;j++){
			actImgs[j].src=originalImages[j];
	}
			
}

function changeButton(){
	var classBodyName;
	var ObjBody=document.getElementsByTagName("BODY");
	if (IE) { classBodyName=ObjBody[0].getAttribute("className")}
	else { classBodyName=ObjBody[0].getAttribute("class");}
	
	if (classBodyName!=null){
		if (classBodyName.indexOf("sezione")>-1){
			var id_actMenu="Menu"+classBodyName.substring(7,classBodyName.length);
			var objMenu=get(id_actMenu);
			
			if (objMenu!=null){
				var actImgs=objMenu.getElementsByTagName("IMG");
				
				for (var j=0;j<actImgs.length;j++){
					var strSrc=actImgs[j].src;
					if (strSrc.indexOf("_over")==-1){
						var posSeparetor=strSrc.lastIndexOf(".");
						var newSrc=strSrc.substring(0,posSeparetor)+"_over"+strSrc.substring(posSeparetor,strSrc.length);
						actImgs[j].src=newSrc;
					}
				}
			}
		}
	}
}






function funcOnMouseOver(){
	restoreImageMenu(idDinamicMenu);
	var subMenuId="section"+this.id;
	if (get(this.id)!=null){
		var actImgs=get(this.id).getElementsByTagName("IMG");
	
		for (var j=0;j<actImgs.length;j++){
			var strSrc=actImgs[j].src;
			if (strSrc.indexOf("_over")==-1){
				var posSeparetor=strSrc.lastIndexOf(".");
				var newSrc=strSrc.substring(0,posSeparetor)+"_over"+strSrc.substring(posSeparetor,strSrc.length);
				actImgs[j].src=newSrc;
			}
			
		}
	}
	hideAllSubMenu();
	ShowHide(subMenuId,'show');
	window.clearTimeout(idTimeOut);
}

function functOnMouseOut(){
	idTimeOut=setTimeout("restoreSituationSubMenu()",timeout);
}

function saveSituationSubMenu(){
	var subMenus=get("subMenuContainer").getElementsByTagName("DIV");
	for (var i=0;i<subMenus.length;i++){
		//writeLog(subMenus[i].style.display+" <-- DISPLAY di "+subMenus[i].id);
	}
	
}

function restoreSituationSubMenu(){
	var subMenus=get(idDinamicMenu).getElementsByTagName("UL");
	for (var i=1;i<subMenus.length;i++){
		subMenus[i].style.display="";
		//writeLog(subMenus[i].id+" !!! ");
	}
	restoreImageMenu(idDinamicMenu);
}

function hideAllSubMenu() {
	var subMenus=get(idDinamicMenu).getElementsByTagName("UL");
	for (var i=1;i<subMenus.length;i++){
		subMenus[i].style.display="none";
	}
}


function subMuneMouseOver(e){
	var targ;
	e = (e)?e:((event)?event:null);
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ.nodeType == 3) // defeat Safari bug
		targ = targ.parentNode;
	if (e.stopPropagation) e.stopPropagation();
	window.clearTimeout(idTimeOut);
	writeLog( targ.nodeName+" <-- onmouseover");
	e.cancelBubble = true;
    e.returnValue = false;
    if (e.preventDefault) e.preventDefault();

}

function subMuneMouseOut(e){
	var targ;
	e = (e)?e:((event)?event:null);
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ.nodeType == 3) // defeat Safari bug
		targ = targ.parentNode;
	e.cancelBubble = true;
	if (e.stopPropagation) e.stopPropagation();
	idTimeOut=setTimeout("restoreSituationSubMenu()",timeout);
	writeLog(targ.nodeName+" <-- onopuseout");
	//alert(this.id+' mouse out');
}



/*************************************************************************************************
*
*	Libraires to make a menuHover
* 	on mouse over change teh image.ext in image_over.ext
*	PARAMETERS:
*		nameMenu: menu id name
*	GLOBAL VARIABLES:
*		ACTUAL_PAGE: address of the slected href (ex: "contacts.php" make over to this menu voice)
*	
*
*************************************************************************************************/
var ACTUAL_PAGE=false;
function makeMenuOver(nameMenu){
	var objMenu=get(nameMenu);
	var act_page_temp=undefined;
	if (ACTUAL_PAGE) act_page_temp=ACTUAL_PAGE;
	if (objMenu!=null){
		var links=objMenu.getElementsByTagName("A");
		for (var i=0;i<links.length;i++){
			if (links[i].href.indexOf(act_page_temp)==-1){
				links[i].onmouseover=funcRollOver;
				links[i].onmouseout=funcRollOut;
			}else{
				//subst the image width the 
				var actImgs=links[i].getElementsByTagName("IMG");
				for (var j=0;j<actImgs.length;j++){
					var strSrc=actImgs[j].src;
					if (strSrc.indexOf("_over")==-1){
						var posSeparetor=strSrc.lastIndexOf(".");
						var newSrc=strSrc.substring(0,posSeparetor)+"_over"+strSrc.substring(posSeparetor,strSrc.length);
						actImgs[j].src=newSrc;
					}
				}
			}
		}
	}
}

function funcRollOver(){
		var actImgs=this.getElementsByTagName("IMG");
		for (var j=0;j<actImgs.length;j++){
			var strSrc=actImgs[j].src;
			if (strSrc.indexOf("_over")==-1){
				var posSeparetor=strSrc.lastIndexOf(".");
				var newSrc=strSrc.substring(0,posSeparetor)+"_over"+strSrc.substring(posSeparetor,strSrc.length);
				actImgs[j].src=newSrc;
			}
		}
}


function funcRollOut(){
		var actImgs=this.getElementsByTagName("IMG");
		for (var j=0;j<actImgs.length;j++){
			var strSrc=actImgs[j].src;
			if (strSrc.indexOf("_over")>-1){
				var posSeparetor=strSrc.lastIndexOf("_over.");
				var newSrc=strSrc.substring(0,posSeparetor)+strSrc.substring(posSeparetor+5,strSrc.length);
				actImgs[j].src=newSrc;
			}
		}
}
/*************************************************************************************************
*	END Libraires to make a menuHover
*************************************************************************************************/

/***********************************************************************************************
*
*	MAIN
*
************************************************************************************************/

window.onload=initMenu;

function initMenu(){
	//Dinamic Menu
	changeButton();	//subst image actual page fot the dinamicMenu
	makeDinamicMenu("mainMenu");
	
	//Normal Menu Over
	makeMenuOver("serviceMenu");
	makeMenuOver("serviceMenuHome");
	makeMenuOver("mainMenuHome");
}



function PopupIMG(theURL) {
  myWin=window.open(theURL,'FullScreen','width=500,height=500,resizable=yes,scrollbars=no');
  myWin.focus();
}