//TROVO UN LIVELLO OPPURE UN'IMMAGINE, OPPURE UN LIVELLO/IMMAGINE/FORM INNESTATI IN UN ALTRO LIVELLO
function mElement(elementName) {
	// QUI TROVO L'OGGETTO IN NETSCAPE4.8-
	if (document.layers) {
	//Oggetto sul DOCUMENT principale:
		if (mElement.arguments.length == 1) {
			var cEl = eval("document.layers['" + elementName + "']");
		
		} else if (mElement.arguments[1] == 'DOC') {
			var cEl = eval("document.layers['" + elementName + "'].document");

		} else if (mElement.arguments[1] == 'IMM') {
			var cEl = eval("document.images['" + elementName + "']");
		
		//Oggetto su livello secondario
		} else if (mElement.arguments.length>1) {
			var cEl = "document.layers['" + mElement.arguments[1] + "']";
			for (var i=2;i<mElement.arguments.length;i++) {
				if ( (mElement.arguments[i] != 'DOC') && (mElement.arguments[i] != 'IMM') && (mElement.arguments[i] != 'FOR') ) {
					cEl = cEl + ".document.layers['" + mElement.arguments[i] + "']";
				}
			}
			if (mElement.arguments[mElement.arguments.length-1] == 'IMM')  {
				cEl = cEl + ".document.images['" + elementName + "']";
			} else if (mElement.arguments[mElement.arguments.length-1] == 'FOR')  {
				cEl = cEl + ".document.forms['" + elementName + "']";
			} else {
				cEl = cEl + ".document.layers['" + mElement.arguments[0] + "']";
				if (mElement.arguments[mElement.arguments.length-1] == 'DOC') {
				cEl = cEl + ".document";
				}
			} 
			cEl = eval(cEl);
		} else {
			var cEl = eval("document.layers['" + mElement.arguments[1] + "'].document." + elementName);
		}
	
	//QUI TROVO L'OGGETTO IN EXPLORER 5.5-
	} else if (document.all) {
		var cEl = eval('document.all.' + elementName);
	
	//QUI TROVO L'OGGETTO IN TUTTI GLI ALTRI BROWSER, W3C COMPATIBILI (NETSCAPE6+,IEXPLORER6+)
	} else {
		var cEl = document.getElementById(elementName);
	}
	return cEl;
}


//GESTIONE DELLE PROPRIETA':

//Trovo la posizione X di un oggetto relativa al parent
function ObjX(div) {
	if(document.layers) {
	var divs="'" + div ;
		for (var i=1;i<ObjX.arguments.length;i++){
		divs += "','" + ObjX.arguments[i];
	}
	divs += "'";
	tHeight = eval("mElement(" + divs + ").left");
	} else {
	tHeight = mElement(div).offsetLeft;
	}
	return tHeight;
}

//Trovo la posizione Y di un oggetto relativa al parent
function ObjY(div) {
	if(document.layers) {
	var divs="'" + div ;
		for (var i=1;i<ObjY.arguments.length;i++){
		divs += "','" + ObjY.arguments[i];
	}
	divs += "'";
	tHeight = eval("mElement(" + divs + ").top");
	} else {
	tHeight = mElement(div).offsetTop;
	}
	return tHeight;
}

//Trovo l'altezza di un oggetto
function ObjH(div) {
	if(document.layers) {
	var divs="'" + div + "','";
		for (var i=1;i<ObjH.arguments.length;i++){
		divs += ObjH.arguments[i]+"','";
	}
	divs += "DOC'";
	tHeight = eval("mElement(" + divs + ").height");
	} else {
	tHeight = mElement(div).offsetHeight;
	}
	return tHeight;
}

//Trovo la larghezza di un oggetto
function ObjW(div) {
	if(document.layers) {
	var divs="'" + div + "','";
		for (var i=1;i<ObjW.arguments.length;i++){
		divs += ObjW.arguments[i]+"','";
	}
	divs += "DOC'";
	tHeight = eval("mElement(" + divs + ").width");
	} else {
	tHeight = mElement(div).offsetWidth;
	}
	return tHeight;
}

//Accendo un livello:
function AccendiObj(divName) {
	if(document.layers) {
		mElement(divName).visibility = 'show';
	} else {
		mElement(divName).style.visibility = 'visible';
	}
}

//Spengo un livello:
function SpegniObj(divName) {
	if(document.layers) {
		mElement(divName).visibility = 'hide';
	} else {
		mElement(divName).style.visibility = 'hidden';
	}
}

//Cambio la visibilità di un livello:
function ScambiaObj(divName) {
	for (i=0;i<ScambiaObj.arguments.length;i++)
		if(document.layers) {
			mElement(ScambiaObj.arguments[i]).visibility = (mElement(ScambiaObj.arguments[i]).visibility == 'show') ? 'hide' : 'show';
		} else {
			mElement(ScambiaObj.arguments[i]).style.visibility = (mElement(ScambiaObj.arguments[i]).style.visibility == 'visible' ) ? 'hidden' : 'visible';
		}
}

//Posiziono un livello:
function PosizionaObj(divName,posX,posY) {
	if(document.layers) {
		mElement(divName).left = parseInt(posX);
		mElement(divName).top = parseInt(posY);
	} else {
		mElement(divName).style.left = parseInt(posX);
		mElement(divName).style.top = parseInt(posY);
	}
}

//Sposto un livello:
function MuoviObj(divName,dX,dY) {
	if(document.layers) {
		mElement(divName).left += parseInt(dX);
		mElement(divName).top += parseInt(dY);
	} else {
		mElement(divName).style.left = mElement(divName).style.pixelLeft + parseInt(dX);
		mElement(divName).style.top = mElement(divName).style.pixelTop + parseInt(dY);
	}
}

//Riempo un livello con una stringa HTML:
function RiempiObj(divName) {
	stringaHTML = (RiempiObj.arguments[1]) ? RiempiObj.arguments[1] : "" ;
	if (RiempiObj.arguments[2]) stringaHTML = "<SPAN CLASS=" + RiempiObj.arguments[2] + ">" + stringaHTML +  "</SPAN>" ;
        if(document.layers) {
                mElement(divName,'DOC').open();
                mElement(divName,'DOC').write(stringaHTML);
                mElement(divName,'DOC').close();
        } else {
                mElement(divName).innerHTML = stringaHTML;
        }
}

function TrovaKEY(e,CODICE) {
  if (NETSCAPE) // Navigator 4.0x
    var whichCode = e.which
  else // Internet Explorer 4.0x
    if (e.type == "keypress") // the user entered a character
      var whichCode = e.keyCode
  if ( (e.type == "keypress") && (whichCode == CODICE ) && (e.srcElement.type!= "select-one") && (e.srcElement.type!= "button" )) return true;
  return false;
}
function TrovaKEY_OK(e,CODICE) {
  if (NETSCAPE) // Navigator 4.0x
    var whichCode = e.which
  else // Internet Explorer 4.0x
    if (e.type == "keypress") // the user entered a character
      var whichCode = e.keyCode

  if ( (e.type == "keypress") && (whichCode == CODICE ) ) return true;
  return false;
}

//
function SoloNumeri(e) {
	var TASTO = e.keyCode;
	var SHIFT = e.shiftKey;
	var CTRL  = e.ctrlKey;
	var nKeyCodes= new Array(8,9,13,16,17,18,32,37,38,39,40,46);
	// 
	//alert(TASTO);
	
	if ( SHIFT == false && CTRL == false && ( (TASTO > 46) && (TASTO <  58) ) ) 
		return true;

	if ( ( (TASTO > 95) && (TASTO <  106) ) ) 
		return true;
		
	for( i = 0; i < nKeyCodes.length;i++)
		if( TASTO == nKeyCodes[i] )
			return true;
			
	// GetMsg è presa dai vari file localizzati.
		alert(GetMsg("onlynumbers",""));
		return false;
}

function IGNORA()
	{
	return false;
	}

function STAMPA()
	{
	window.print();
	return true;
	}

function RICARICA()
	{
	document.location.reload() ;
	return true;
	}

function STAMPAFRAME(n) {
	document.frames[n].focus();
	document.frames[n].print();
	return true;
	}

function RICARICAFRAME(n) {
	document.frames[n].document.location.reload() ;
	return true;
	}

function MsgWINDOWOpen(MESSAGGIO) {
	window.open("javascript:document.write('" + MESSAGGIO + "');","WinMESSAGE","width=400,height=100");
	}

function MsgWINDOWClose() {
	WinMESSAGE.close();
	}

function SetRADIO(NomeRADIO,indice) {
	if( SetRADIO.arguments[2] != "" ) {
		mElement(NomeRADIO).elements[indice].checked=true;
		}
	else {
		document.forms[SetRADIO.arguments[2]].elements[NomeRADIO].elements[indice].checked=true;
		}
	}
function SelectALL(NomeFORM) {
	for ( i=0 ; i < document.forms[NomeFORM].elements.length ; i++ ) {
		if ( ( document.forms[NomeFORM].elements[i].type == 'checkbox' ) && ( document.forms[NomeFORM].elements[i].name != 'NEWWINDOWCHECK' ) ) document.forms[NomeFORM].elements[i].checked=true;
		}
	}
function SelectNONE(NomeFORM) {
	for ( i=0 ; i < document.forms[NomeFORM].elements.length ; i++ ) {
		if ( ( document.forms[NomeFORM].elements[i].type == 'checkbox' ) && ( document.forms[NomeFORM].elements[i].name != 'NEWWINDOWCHECK' ) ) document.forms[NomeFORM].elements[i].checked=false;
		}
	}
function AzzeraCAMPI(NomeFORM) {
	for ( i=0 ; i < document.forms[NomeFORM].elements.length ; i++ ) {
		if ( ( document.forms[NomeFORM].elements[i].type == 'text' ) || ( document.forms[NomeFORM].elements[i].type == 'password' ) || ( document.forms[NomeFORM].elements[i].type == 'textarea' )) document.forms[NomeFORM].elements[i].value='';
		}
	}
function AzzeraSELECT(NomeFORM) {
	for ( i=0 ; i < document.forms[NomeFORM].elements.length ; i++ ) {
		if ( document.forms[NomeFORM].elements[i].type == 'select-one' ) document.forms[NomeFORM].elements[i].options[0].selected = true;
		}
	}
function ResetFORM(NomeFORM) {
	SelectNONE(NomeFORM);
	AzzeraCAMPI(NomeFORM);
	AzzeraSELECT(NomeFORM);
	}
	
// INIZIALIZZO LE VARIABILI DI SISTEMA


//var SONOUNFRAME = ( (!document.location.href.match("https://")) && ( ( !window.parent.QUESTOFRAME ) || (window.parent.QUESTOFRAME != QUESTOFRAME ) ) )? true : false ; // REGISTRO SE SONO IN UN FRAME OPPURE AL LIVELLO TOP
var SONOUNFRAME=true;
var NETSCAPE = false ;
var EXPLORER = false ;
var W3CCOMPATIBLE = false ;
var SUBMITABLE = 1 ;

if (document.all)
	{
	EXPLORER = true;
	}

if (document.layers)
	{
	NETSCAPE = true;
	}

if (document.getElementById)
	{
	W3CCOMPATIBLE = true;
	}

/*
function ESISTEWEBPART(NOME)
	{
	if ( SONOUNFRAME )
		for ( i = 0 ; i < parent.frames.length ; i++ )
			if ( parent.frames[i].name == NOME ) return true ;
	return false;
	}
*/
function setStato(STRINGA)
	{
	window.defaultStatus = "" ;
	window.status = STRINGA ;
	}

function DIMENSIONAGRUPPO() {
	if (document.all("CELLAGRUPPO") && document.all("SPAZIOSCROLL")) {
		mElement("CELLAGRUPPO").style.height = 0;
		mElement("SPAZIOSCROLL").style.height = 0;
		mElement("CELLAGRUPPO").style.height = mElement("CELLAGRUPPO").parentElement.clientHeight - mElement("CELLAGRUPPO").offsetTop;
		if (mElement("PREZZOTOP")) {
			mElement("SPAZIOSCROLL").style.height = mElement("CELLAGRUPPO").parentElement.clientHeight -  mElement("CELLAGRUPPO").offsetTop - 30;
			}
		else
			{
			mElement("SPAZIOSCROLL").style.height = mElement("CELLAGRUPPO").parentElement.clientHeight -  mElement("CELLAGRUPPO").offsetTop;
			}
		}
	else return false;
	}


// GESTIONE DEL MENU DINAMICO LATO CLIENT:
	
function CHANGEMENU(ITEM,FRAME) {
	if (ACTIVEITEM != ITEM) {
		if (mElement("ITEM_" + ACTIVEITEM)) mElement("ITEM_" + ACTIVEITEM).className="LEFTBAR_ITEM";
		}
	
	if (mElement("ITEM_" + ITEM))	mElement("ITEM_" + ITEM).className="LEFTBAR_ITEM_SELECTED";
	ACTIVEITEM = ITEM;
	}


// RESTITUISCE LE ETICHETTE RELATIVE AD OGNI MENUITEM
// Prativamente, questa funzione è l'equivalente del DIZIONARIO, però lato Client
function TROVALABEL(ITEM) {
switch ( ITEM )
	{
	case "ULTIMATE_REPORT":
		return "Ultimate Report";
		break;
	case "SNAPSHOT":
		return "Snapshot";
		break;
	case "COMPANY_PROFILE":
		return "Company Profiles";
		break;
	case "EXECUTIVE_PROFILES":
		return "Executive Profiles";
		break;
	case "FINANCIALS":
		return "Financials";
		break;
	case "STOCK_REPORT":
		return "Stock Report";
		break;
	case "NEWS":
		return "News";
		break;
	case "TABLES":
		return "Tables";
		break;
	case "SEC_FILINGS":
		return "SEC Filings";
		break;
	case "MARKET_RESEARCH":
		return "Market Research";
		break;
	case "INVESTMENT_RESEARCH":
		return "Investment Research";
		break;
	case "TRADE_ASSOCIATION":
		return "Trade Association";
		break;
	case "CREDIT_INFORMATION":
		return "Credit Information";
		break;
	case "SEARCHNEWS_NEWS":
		return "News";
		break;
	case "SEARCHNEWS_TABLES":
		return "Tables";
		break;
	case "SI_INDUSTRY_REPORT":
		return "Industry Report";
		break;
	case "SI_INVESTMENT_RESEARCH":
		return "Investment Research";
		break;
	case "SI_MARKET_RESEARCH":
		return "Market Research";
		break;
	case "SI_TRADE_ASSOCIATION":
		return "Trade Association";
		break;
	case "SI_BUSINESS_OPPORTUNITIES":
		return "Business Opportunities";
		break;
	case "SI_MARKET_DATA":
		return "Market Data";
		break;
	case "SI_NEWS":
		return "News";
		break;
	case "SI_TABLES":
		return "Tables";
		break;
// elenco STATI US/Canada
	case "TX":
		return "Texas";
		break;
	default:
		return ITEM;
	}
}

function CAMBIATITOLO(NEWTITLE) {
	mElement("TITOLOPAGINA").innerHTML = NEWTITLE;
	}

function SalvaCampo(CAMPO){
  /* var oPersist=mElement(CAMPO);
   oPersist.setAttribute(CAMPO,oPersist.value);
   //alert('SalvaCampo Campo ' + CAMPO + ' : ' + oPersist.value );
   oPersist.save("XML_" + CAMPO);*/
   return true;
}

function CaricaCampo(CAMPO){
  /* var oPersist=mElement(CAMPO);
   oPersist.load("XML_" + CAMPO);
   oPersist.value=oPersist.getAttribute(CAMPO);*/
   //alert('CaricaCampo Campo ' + CAMPO + ' : ' + oPersist.value );
   return true;
}

function SalvaValore(CAMPO,VALORE){
   /*var oPersist=mElement(CAMPO);
   oPersist.setAttribute(CAMPO,VALORE);
   oPersist.save("XML_" + CAMPO);*/
   return true;
}

function CaricaValore(CAMPO){
   /*var oPersist=mElement(CAMPO);
   oPersist.load("XML_" + CAMPO);
   return oPersist.getAttribute(CAMPO);*/
   return true;
}

function AttivaSEARCHINPROGRESS() {
	if (mElement("ObjSEARCHINPROGRESS")) mElement("ObjSEARCHINPROGRESS").style.display = "block";
	if (mElement("ObjBLOCCOPAGINA")) mElement("ObjBLOCCOPAGINA").style.display = "none";
	if (mElement("ObjBARRAROSSA") && mElement("ObjBARRAROSSA").src != BARRAROSSA.src) mElement("ObjBARRAROSSA").src = BARRAROSSA.src;
	}

function DisattivaSEARCHINPROGRESS() {
	if (mElement("ObjSEARCHINPROGRESS")) mElement("ObjSEARCHINPROGRESS").style.display = "none";
	if (mElement("ObjBLOCCOPAGINA")) mElement("ObjBLOCCOPAGINA").style.display = "block";
	if (mElement("ObjBARRAROSSA")) mElement("ObjBARRAROSSA").src = BARRAVUOTA.src;
	}

function CambiaSEARCHINPROGRESS() {
	if (mElement("ObjBARRAROSSA")) mElement("ObjBARRAROSSA").src = BARRAROSSA2.src;
	}

function AttivaCONFERMA() {
	if (mElement("ObjCONFERMA")) mElement("ObjCONFERMA").style.display = "block";
	if (mElement("ObjBLOCCOPAGINA")) mElement("ObjBLOCCOPAGINA").style.display = "none";
	CONFERMAACQUISTO = 1;
	}

function DisattivaCONFERMA() {
	if (mElement("ObjCONFERMA")) mElement("ObjCONFERMA").style.display = "none";
	if (mElement("ObjBLOCCOPAGINA")) mElement("ObjBLOCCOPAGINA").style.display = "block";
	CONFERMAACQUISTO = 0;
	}


function LeggiCheck(elemento)
{
var parametri="";
if(!elemento[0])
	{
	if (elemento.checked) parametri = elemento.value ;
	}
else
	if (elemento[0].type=="checkbox")
		{
		for (i=0;i<document.all.length;i++)
			{
			if ( (document.all[i].name) && (document.all[i].name == elemento[0].name) && (document.all[i].checked) )
				{
				parametri = parametri + document.all[i].value + ",";
				}
			}
		}
return parametri;
}

function DetailVIEW(link,dettaglio) {
	mElement(link).children[0].children[0].src = "/images/dummy.gif";
	mElement(link).children[0].children[0].style.background = "url(/images/meno.gif)";
	mElement(dettaglio).style.display = 'block' ;
	return false;
	}

function DetailHIDE(link,dettaglio) {
	mElement(link).children[0].children[0].src = "/images/dummy.gif";
	mElement(link).children[0].children[0].style.background = "url(/images/piu.gif)";
	mElement(dettaglio).style.display = 'none' ;
	return false;
	}

function DetailSWAP(link,dettaglio) {
	mElement(link).children[0].children[0].src = "/images/dummy.gif";
	mElement(link).children[0].children[0].style.background = (mElement(dettaglio).style.display=='none')? "url(/images/meno.gif)":"url(/images/piu.gif)";
	mElement(dettaglio).style.display = (mElement(dettaglio).style.display=='none')?'block':'none';
	window.focus();
	return false;
	}

/*
function DetailSWAP(link,dettaglio) {
	mElement(link).children[0].children[0].src = (mElement(dettaglio).style.display=='none')?MENO.src:PIU.src;
	mElement(dettaglio).style.display = (mElement(dettaglio).style.display=='none')?'block':'none';
	return false;
	}
*/

function DetailVIEWALL() {
	var vettore;
	for(i=0 ; i < document.all.length ; i++) {
		if ( (document.all[i].tagName=="A") && (document.all[i].id.match("linkDettaglio_")) ) {
			vettore = document.all[i].name.split("_") ;
			DetailVIEW("linkDettaglio_" + vettore[1],"bloccoDettaglio_" + vettore[1]);
			}
		}
	}
	
function DetailHIDEALL() {
	var vettore;
	for(i=0 ; i < document.all.length ; i++) {
		if ( (document.all[i].tagName=="A") && (document.all[i].id.match("linkDettaglio_")) ) {
			vettore = document.all[i].name.split("_") ;
			DetailHIDE("linkDettaglio_" + vettore[1],"bloccoDettaglio_" + vettore[1]);
			}
		}
	}
	
//
// Setta il focus del tasto continue nelle maschere di conferma dell'acquisto
//
function SetFocusOnContinue()
	{
	var i;
	try
		{
			for( i = 0; i < document.forms[0].length - 1; i++)
				{
				if( document.forms[0].elements[i].value == 'Continue' )
					document.forms[0].elements[i].focus();
				}
		}
	catch(e){}
	}

//
// Apertura di finestra per 'Contact us'
//
function opencontactus()
{
	window.showModalDialog('/basic/contact/contact_us_small.asp',this,'resizable,scrollbars=no,width=600,height=610,left=50,top=50');
	return false;
}	

// Funzione frameset_back
// Implementata nelle pagine frameset di tutte le webpart
// Cambia il link back contestualmante alla presenza o meno delle pagine della carta di credito
// viene richiamata dal link back delle pagine di frameset
// in caso di pagina credit card transaction o credit card response rimanda alla pagina di selezione dell'oggetto acquistato
// altrimenti rimanda al link che viene passato come parametro ( il primo )
// il secondo parametro è il nome del frameset che contiene 
//
function frameset_back( slink, sframe )
{
	try
		{
		document.location.href = slink ;
		}
	catch( e ) {}
	return true;
}

// Pulisce una stringa 
function sReplaceBadChar(str)
{
	var sampleStr = str;

	sampleStr = sampleStr.replace(/^[\'|\:|\§|\+|\-|\<|\>|\,|\"|\||\\|\?|\!|\£|\s|\%|\/|\(|\)|\#|\[|\]|\;|\$|\&|\=|\^]+|[\'|\:|\§|\+|\-|\<|\>|\,|\"|\||\\|\?|\!|\£|\s|\%|\/|\(|\#|\[|\]|\;|\$|\&|\=|\^]+$/g,'');
	sampleStr = sampleStr.replace( /\"|\;/g,' ' );
	//rimpiazza le occorrenze di ' con uno spazio vuoto
	//sampleStr = sampleStr.replace(/[\']/g,' ');
	return sampleStr;
}
