﻿var glossario = Array("E-biz (e-business)","E-commerce","E-mail","EMISSIONE SUBORDINATA","ESENZIONE FISCALE","Equity","Equità di genere");
var testi = Array("<b>E-biz (e-business)</b><br />Electronic business, modalit&agrave; di gestione degli affari basata sulla comunicazione digitale. Include la trasformazione dei processi aziendali e la loro integrazione in rete, principalmente mediante l'impiego di tecnologie Internet.","Non disponibile","Non disponibile","Non disponibile","Non disponibile","<b>Equity</b><br />Termine che indica il capitale netto di una societ&agrave;, cio&egrave; il valore al quale sarebbe rimborsata ciascuna azione se l&acute;impresa venisse chiusa e le attivit&agrave; vendute.","Non disponibile")

function spAccordion(){
	var nElements = 0;
	var accordionElement = Array();
	var animAccordionElement = Array();
	
	this.setElementsCount = setElementsCount;
	this.accordionElement = accordionElement;
	this.switchElement = switchElement;
	this.openElement = openElement;
	this.createElement = createElement;
	this.attachAnimationOpenCloseToElement = attachAnimationOpenCloseToElement;
	
	function openElement(i){
		//alert("test");
		animAccordionElement[i].showFast();
		accordionElement[i].setImageToOpen();
		accordionElement[i].setFontColorToOpen();
	}
	function switchElement(i){
		//alert(animAccordionElement[i].getObjVisible());
		var okSwitch = true;
		for(var j=0;j<nElements;j++){
			if(animAccordionElement[j].getMoving()){
				okSwitch = false;
			}
		}
		if(okSwitch){
			if(animAccordionElement[i].getObjVisible()){
				animAccordionElement[i].hide();
				accordionElement[i].setImageToClose();
				accordionElement[i].setFontColorToClose();
			}else{
				for(var j=0;j<nElements;j++){
					if(animAccordionElement[j].getObjVisible()){
						animAccordionElement[j].hide();
						accordionElement[j].setImageToClose();
						accordionElement[j].setFontColorToClose();
					}
				}
				animAccordionElement[i].show();
				accordionElement[i].setImageToOpen();
				accordionElement[i].setFontColorToOpen();
			}
		}
	}
	function setElementsCount(val){
		nElements = val;
	}
	function createElement(i){
		//alert("fatto");
		accordionElement[i] = new spAccordionElement();
	}
	function attachAnimationOpenCloseToElement(i){
		animAccordionElement[i] = new animationOpenClose();
		animAccordionElement[i].setTargetObj(accordionElement[i].getDivBody());
		//alert("fatto");
	}
	

	function spAccordionElement(){
		var m_divMain = null;
		var m_divTitleBar = null;
		var m_divBody = null;
		var m_openImage = null;
		var m_closeImage = null;
		var m_fontColorOpen = null;
		var m_fontColorClose = null;
	
		this.divMain = divMain;
		this.divTitleBar = divTitleBar;
		this.divBody = divBody;
		this.getDivBody = getDivBody;
		this.setOpenImage = setOpenImage;
		this.setCloseImage = setCloseImage;
		
		this.setOpenFontColor = setOpenFontColor;
		this.setCloseFontColor = setCloseFontColor;
		
		this.setImageToClose = setImageToClose;
		this.setImageToOpen = setImageToOpen;
		this.setFontColorToClose = setFontColorToClose;
		this.setFontColorToOpen = setFontColorToOpen;
		
		function divMain(val){
			//alert(val);
			m_divMain = document.getElementById(val);
		}
		function divTitleBar(val){
			m_divTitleBar = document.getElementById(val);
		}
		function divBody(val){
			m_divBody = document.getElementById(val);
		}
		function getDivBody(){
			return m_divBody;
		}
		function setOpenImage(val){
			m_openImage = val;
		}
		function setCloseImage(val){
			m_closeImage = val;
		}
		
		function setOpenFontColor(val){
			m_fontColorOpen = val;
		}
		function setCloseFontColor(val){
			m_fontColorClose = val;
		}
		
		function setImageToClose(){
			m_divTitleBar.style.backgroundImage = m_closeImage;
		}
		function setImageToOpen(){
			m_divTitleBar.style.backgroundImage = m_openImage;
		}
		
		function setFontColorToClose(){
			if(m_fontColorClose){
				m_divTitleBar.style.color = m_fontColorClose;
			}
		}
		function setFontColorToOpen(){
			if(m_fontColorOpen){
				m_divTitleBar.style.color = m_fontColorOpen;
			}
		}


	
	}
	
	function animationOpenClose(){
	
		var height = 0;
		var targetHeight = 0;
		var maxHeight = 0;
		var cutSpeed = 8;
		var objVisible = false;
		var moving = false;
		var targetObj = null;
	
		this.setTargetObj = setTargetObj;
		this.show = show;
		this.showFast = showFast;
		this.hide = hide;
		
		this.getObjVisible = getObjVisible;
		this.getMoving = getMoving;
	
		function setTargetObj(val)
		{
			targetObj = val;
		}
		function getObjVisible(){
			return objVisible;
		}
		function getMoving(){
			return moving;
		}

		function showFast(){
			if(!objVisible){
				targetObj.style.display='block';
				if (maxHeight == 0){
					maxHeight = parseInt(targetObj.offsetHeight);
				}
				targetObj.style.height = '';
				targetHeight = maxHeight;
				height = targetHeight;
				objVisible = true;
				
			}
		}		
		
		function show(){
			if(!objVisible){
				targetObj.style.display='block';
				if (maxHeight == 0){
					maxHeight = parseInt(targetObj.offsetHeight);
				}
				targetObj.style.height = 0
				targetHeight = maxHeight;
				objVisible = true;
				moving = true;
				cutInDiv();
			}
		}
		
		function cutInDiv(){
			height += cutSpeed;
			if(height>targetHeight){
				height=targetHeight;
			}
			targetObj.style.height = height+"px";
			if(height<targetHeight){
				setTimeout(cutInDiv,20);
			}else{
				targetObj.style.height = '';
				moving = false;
			}
		}
		
		
		function hide(){
			targetHeight=0;
			cutOutDiv();
		}
		
		function cutOutDiv(){
			height -= cutSpeed;
			if(height<targetHeight){
				height=targetHeight;
			}
			targetObj.style.height = height+"px";;
			if(height>targetHeight){
				setTimeout(cutOutDiv,20);
			}else{
				//divObj.style.display="none";
				objVisible = false;
				moving = false;
			}
		}
		
		
	
	}



}
//-----------------------------------------------------------------------------

//-----------------------------------------------------------------------------

var noKey = false;
function resetNoKey(){
	//alert("pippo");
	noKey=false;
}

function searchGloss(e){
	expTxtObj = document.getElementById("divExplainText");
	expTxtObj.style.display="none";
	listObj = document.getElementById("glossListBox");
	listObj.style.display="block";
	
	if(e){
		var code = e.keyCode;
	}else{
		var code = event.keyCode			
	}
	switch (code)
	{
	case 38:
		if(!noKey){
			noKey=true;
			listObj = document.getElementById("glossListBox");
			if(listObj.selectedIndex>0){
				listObj.selectedIndex--;
			}
			setTimeout("resetNoKey();",200);
		}
		break;
	case 40:
		if(!noKey){
			noKey=true;
			listObj = document.getElementById("glossListBox");
			if(listObj.selectedIndex<listObj.options.length-1){
				listObj.selectedIndex++;
			}
			setTimeout("resetNoKey();",200);
		}
		break;
	case 13:
		listObj = document.getElementById("glossListBox");
		var index = listObj.options[listObj.selectedIndex].value;
		showExplainText(index);
		break;
	default: 
		listObj = document.getElementById("glossListBox");
		txtBoxObj = document.getElementById("glossSearchField");
	//	for(var j=0;j<listObj.options.length;j++){
	//	}
		listObj.options.length = 0;
		var i=0;
		if(txtBoxObj.value.length > 0){
			for(var j=0;j<glossario.length;j++){
				if(glossario[j].substring(0,txtBoxObj.value.length).toUpperCase() == txtBoxObj.value.toUpperCase()){
					listObj.options[i]=new Option(glossario[j],j);
					i++;
				}
			}
		}
		
	}
	
}

function showExplainText(i){
	txtBoxObj = document.getElementById("glossSearchField");
	divExpTxtObj = document.getElementById("divExplainText");
	divExpTxtObj.style.display="block";
	expTxtObj = document.getElementById("explainText");
	expTxtObj.innerHTML = testi[i];
	listObj = document.getElementById("glossListBox");
	listObj.style.display="none";
	txtBoxObj.value = 	glossario[i];
	//testi[i];
}
function cleartext(){
	document.listListForm.firstName.value="";
	}
	
function cleartext1(){
	document.listListForm.lastName.value="";
	}

