// JavaScript Document

function HeaderElement(obj, padre){
	
	var ievs = (/MSIE (\d+\.\d+);/.test(navigator.userAgent));
	var iev=new Number(RegExp.$1);
	
	var idTimerSali = null;
	var idTimerRimbalzoSali = null;
	var idTimerScendi = null;
	var idTimerFadeIn = null;
	var idTimerFadeOut = null;
	
	var statusSali = 1; 
	var statusScendi = 1; 
	
	var elment = obj;
	var backgroundElement = document.createElement("IMG")
	backgroundElement.src = "http://www.barinchiostro.it/images/header/"+elment.id+".jpg";
	backgroundElement.className = "elementBackground";
	
	
	/*
	backgroundElement.width = 1024;
	backgroundElement.heigth = 252;
	backgroundElement.style.position = "absolute";	
	backgroundElement.style.left = "0px";
	backgroundElement.style.top = "0px";
	backgroundElement.style.zIndex = -10;	
	if ((ievs)&(iev < 9)){
		backgroundElement.style.filters.alpha.opacity = 100
	} else {	
		backgroundElement.style.opacity = 0;
	}
	*/
	padre.appendChild(backgroundElement);
	

	
	
	var mascheraElement = document.createElement("DIV")
	mascheraElement.style.width = elment.style.width;
	mascheraElement.style.height = "252px";
	mascheraElement.style.position = "absolute";
	mascheraElement.style.left = elment.style.left;
	mascheraElement.style.top = "0px";
	mascheraElement.style.overflow = "hidden";
	//mascheraElement.style.backgroundColor = "#f00";
	mascheraElement.style.zIndex = 40;
	padre.appendChild(mascheraElement);
	
	this.Onload = function(){
			elment.style.left = "0px";
			mascheraElement.appendChild(elment);
	}
	

	// ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
	//::::::::::::::::::   funzioni effetti mouseOver     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
	var sali = function(){
			if (parseInt(elment.offsetTop) > 65){
					elment.style.top = parseInt(elment.offsetTop)-5+"px";
					idTimerSali = setTimeout(sali,3);
			} else {
					elment.style.left = mascheraElement.style.left;
					padre.appendChild(elment);
					rimbalzoFineSali();
			}
	}
	
	var rimbalzoFineSali = function(){ 
			if (parseInt(elment.offsetTop) < 100){
					elment.style.top = parseInt(elment.offsetTop)+2+"px";
					idTimerRimbalzoSali = setTimeout(rimbalzoFineSali,3);
			} 
	}
	
	
	var fadeIn = function(){	
			if (backgroundElement.style.zIndex != 10){
					backgroundElement.style.zIndex = 10;	
			}
			if ((ievs)&(iev < 9)){
					if (parseInt(backgroundElement.filters.alpha.opacity) < 100){
							backgroundElement.filters.alpha.opacity = parseInt(backgroundElement.filters.alpha.opacity)+10;				
							idTimerFadeIn = setTimeout(fadeIn,50);
					}
			} else {	
					if (parseInt(backgroundElement.style.opacity*100) < 100){
							backgroundElement.style.opacity = parseInt(backgroundElement.style.opacity*100)/100+0.1;				
							idTimerFadeIn = setTimeout(fadeIn,50);
					}
			}
			
	}
	
	
	
	
	// ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
	//::::::::::::::::::   funzioni effetti mouseOut     ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
	var scendi = function(){	
			if (parseInt(elment.style.left) != 0){
				elment.style.left = "0px";
				mascheraElement.appendChild(elment);
			}
		
			if (parseInt(elment.offsetTop) < 175){
					elment.style.top = parseInt(elment.offsetTop)+8+"px";
					idTimerScendi = setTimeout(scendi,1);
			} else {
				elment.style.top = "175px";
			}
	}
	

	var fadeOut = function(){	
			if (backgroundElement.style.zIndex == 10){
					backgroundElement.style.zIndex = 5;	
			}
			
			if ((ievs)&(iev < 9)){
					if (parseInt(backgroundElement.filters.alpha.opacity) > 0){
							backgroundElement.filters.alpha.opacity = parseInt(backgroundElement.filters.alpha.opacity)-10;				
							idTimerFadeOut = setTimeout(fadeOut,50);
					} else {
							backgroundElement.style.zIndex = -10;
					}
			} else {	
					if (parseInt(backgroundElement.style.opacity*100) > 0){
							backgroundElement.style.opacity = parseInt(backgroundElement.style.opacity*100)/100-0.1;				
							idTimerFadeOut = setTimeout(fadeOut, 20);
					} else {
							backgroundElement.style.zIndex = -10;
					}
			}
	}
	
	
	
	
	elment.onmouseover = function(){
		if (statusSali == 1){
			if (idTimerScendi != null){
				clearTimeout(idTimerScendi);	
				idTimerScendi = null;
			}
			if (idTimerFadeOut != null){
				clearTimeout(idTimerFadeOut);
				idTimerFadeOut = null;
			}
			statusScendi = 1; 
			statusSali = 0;	
			sali();	
			fadeIn();
		}
	}
	
	elment.onmouseout = function(){
		if (statusScendi == 1){
			if (idTimerSali != null){
				clearTimeout(idTimerSali);	
				idTimerSali = null;
			}
			if (idTimerRimbalzoSali != null){
				clearTimeout(idTimerRimbalzoSali);	
				idTimerRimbalzoSali = null;
			}
			if (idTimerFadeIn != null){
				clearTimeout(idTimerFadeIn);
				idTimerFadeIn = null;
			}
			statusScendi = 0;
			statusSali = 1;	
			scendi();
			fadeOut();
		}
	}
	
	
}
