// JavaScript Document
window.defaultStatus="TradingLab";

/* ---------------- menu ---------------- */
//Global Menu Variables
var numMenu = 5;
var itemSelected = -1; //default value
var menuClicked = 0;
var menuHover = 0;

var menuItemsSafe = 2;

var loaded = false;

//Table Color
var tableColorOn = "#BAC4CF";

//Menu Colors
var colorOn  = "#707070";
var colorOff = "#404040";

    // to initialize dynamically server side!
    itemSelected = 0;

function MenuUnit(/*int*/id) {
    // constants
    this.MAXSTATE = 2;
    this.MINSTATE = 0;
    // unique id of the unit
    this.id = -1; //-1 if not initialized correctly
    this.id = id;
    // state
    this.state = 0;
    
    /*----- methods -----*/
            
    function actionState(state){
        // change state
        this.changeState(state);
        // do action state
        switch(this.state) {
    
            case 0:
                //item off
                turnOff( this.id )
                //dropdown off
                if(this.id!=0) // sub0 does not exist
                    ShowE("sub"+this.id,false);
            break;
    
            case 1:
                //item on
                turnOn( this.id )
                //dropdown off
                if(this.id!=0) // sub0 does not exist
                    ShowE("sub"+id,false);
            break;
    
            case 2:
                //item on
                turnOn( this.id )
                //dropdown on
                if(this.id!=0) // sub0 does not exist
                    ShowE("sub"+id,true);
                //alert("id="+this.id+" s="+this.state)
            break;
            
            default:
                // empty
            break;
        }
    }
    this.actionState = actionState; //declared as method
    
    function changeState(/*int*/state) {        
        if(state>=this.MINSTATE && state<=this.MAXSTATE)
            this.state = state;
    }
    this.changeState = changeState; //declared as method
    
    function getState() {
        return this.state;
    }
    this.getState = getState; //declared as method
    
    function length() {
	    var el = GetE("menuitem"+this.id);
	    var mLength = 0;
        for(i=0; i<el.childNodes.length; i++) {
            if( el.childNodes[i].nodeName.toUpperCase() == "OL" ) {
	            for(j=0; j<el.childNodes[i].childNodes.length; j++) {
	            	if( el.childNodes[i].childNodes[j].nodeName.toUpperCase() == "LI" )
		            	mLength += 1;
		        }
            }
        }	    
	    return mLength;
	}
	this.length = length; //declared as method
}

function initMenu() {
    for (i=0; i<=numMenu; i++) {
        eval( "MS"+i+" = new MenuUnit("+i+")" );        
    }
    mOn(itemSelected);
    loaded = true;
}

function mOff(/*int*/id) {    
    eval( "MS"+id+".actionState(0)" );    
}

function mOn(/*int*/id) { 
    eval( "MS"+id+".actionState(1)" );
}

function mOpen(/*int*/id) {
    eval( "MS"+id+".actionState(2)" );
}

//General
function GetE(/*String*/ elementId ) {
    if(document.getElementById)
	    return document.getElementById( elementId );
	else
	    return null;
}

function ShowE(/*String*/ element, /*boolean*/ isVisible ) {    
    if ( typeof( element ) == 'string' )
		element = GetE( element );    
		if (element!=null)
    	element.style.display = isVisible ? 'block' : 'none' ;		
}

function ShowE1(/*String*/ element, /*boolean*/ isVisible ) {    
    if ( typeof( element ) == 'string' )
		element = GetE( element );    
		if (element!=null)
    	element.style.display = isVisible ? 'inline' : 'none' ;		
}


function turnOn( element ) {
    if ( typeof( element ) == 'number' )
        element = GetE( "item" + element );
  if (element!=null)      
		element.style.background = colorOn;
}

function turnOff( element ) {
    if ( typeof( element ) == 'number' )
        element = GetE( "item" + element );
  if (element!=null)      
		element.style.background = colorOff;	
}

function resetMenu() {
	for (i=0; i<=numMenu; i++) {
		if( i!= itemSelected ) {
			mOff(i);
		} else {
    		mOn(i);
    	}
	}
}

//Menu off
function toggleMenuOff(isVisible) {
    ShowE("menuoff",isVisible);
}

function hidemenu() {
    hideMenu(); // for compatibility
}
// turn off all menu
function hideMenu() {
	toggleMenuOff(false);
	resetMenu();
	toggleSelect("on");	
}

function overtogglemenu(/*int*/ i) {
  if(loaded) {
    // check for active menuitems
    if(getMenuClicked()==0) {
        resetMenu();
        mOn(i);
    } else if(getMenuClicked()!=0 && getMenuHover()!=i) {
        resetMenu();
		    mOpen(i);
		    if( eval("MS"+i+".length()>menuItemsSafe") )
    		  toggleSelect("off");
    	  else
    		  toggleSelect("on");
	  } else if(getMenuClicked()!=0 && getMenuHover()==i) {
        mOpen(i);
        if( eval("MS"+i+".length()>menuItemsSafe") )
    		toggleSelect("off");
    	else
    		toggleSelect("on");
	  }
	  setMenuHover(i);
	  }
}

function outtogglemenu(/*int*/i) {
  if(loaded) {
    if(getMenuClicked()==0) {
        resetMenu();        
    } else {
        mOpen(i);
    }
  }
}

function clicktogglemenu(/*int*/ i) {
  if(loaded) {
    if(eval("MS"+i+".getState()==2") ) {
        hideMenu();
        mOn(i);
    } else {
    	toggleMenuOff(true);
    	mOpen(i);    	
    	if( eval("MS"+i+".length()>menuItemsSafe") )
    		toggleSelect("off");
	  }
	}
}

function setMenuClicked(/*int*/ i) {
  if(loaded) {
  	if(getMenuClicked()!=0)
  		menuClicked = 0;
  	else
  		menuClicked = i;
  }
}

function getMenuClicked() {
	return menuClicked;
}

function setMenuHover(/*int*/ i) {
	menuHover = i;
}

function getMenuHover() {
	return menuHover;
}

function togglemenu(/*int*/arg) {	
    if(eval("MS"+arg+".getState()==0 || MS"+arg+".getState()==1") ) {
		hideMenu();
		mOn(arg);		
		toggleMenuOff(true);
	} else {
    	hideMenu();    	
	}
}

/*-------- hide-show select when menu is clicked --------*/
function toggleSelect(/*String*/ toggle ) {
    var elements=document.getElementsByTagName("select");    
    for (i=0; i<elements.length; i++) {
        var styleClass = "";
        for(j=0; j<elements[i].attributes.length; j++) {
            if(elements[i].attributes[j].nodeName == "class")
                styleClass = elements[i].attributes[j].nodeValue;
        }
        //hidefrommenu
        if(styleClass.indexOf("hidefrommenu")!=-1) {
            if( (elements[i].style.visibility == "visible" || elements[i].style.visibility == "") && toggle == "off" )
                elements[i].style.visibility = "hidden";
            else if( elements[i].style.visibility == "hidden" && toggle == "on" )
                elements[i].style.visibility = "visible";
        }        
    }
}

/* -------------- end menu -------------- */

// switch styles 
// Thank's a lot for this awesome functions to:
// Paul Snowden :: idontsmoke.co.uk/
// Jeffrey Zeldman :: www.alistapart.com | www.zeldman.com
// Eric Meyer :: www.meyerweb.com

// This script based on Paul Snowden's work described on A List Apart
// http://www.alistapart.com/stories/alternate/

// switch styles

function setActiveStyleSheet(title) {
  var i, a, main;
  for (i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if (a.getAttribute("rel") &&
        a.getAttribute("rel").indexOf("style") != -1 &&
        a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
}

function getActiveStyleSheet() {
  var i, a;
  for (i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if (a.getAttribute("rel") &&
        a.getAttribute("rel").indexOf("style") != -1 &&
        a.getAttribute("title") &&
        !a.disabled
        ) return a.getAttribute("title");
  }
  return null;
}

function getPreferredStyleSheet() {
  var i, a;
  for (i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if (a.getAttribute("rel") &&
        a.getAttribute("rel").indexOf("style") != -1 &&
        a.getAttribute("rel").indexOf("alt") == -1 &&
        a.getAttribute("title")
        ) return a.getAttribute("title");
  }
  return null;
}

function createCookie(name,value,days) {
	if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');  
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

function eraseCookie(name)
{
	createCookie(name,"",-1);
}

function cookieEnabled()
{
	if (!navigator.cookieEnabled) 
  	alert("Il tuo browser non ha i Cookies abilitati.");
  else	
  	alert("Il tuo browser ha i Cookies abilitati.");
}

function restore() {
  var cookie = readCookie("style");
  var title = cookie ? cookie : getPreferredStyleSheet();
  setActiveStyleSheet(title);
}

window.onload = function(e) {
  var cookie = readCookie("style");
  var title = cookie ? cookie : getPreferredStyleSheet();
  setActiveStyleSheet(title);
}

window.onunload = function(e) {
  var title = getActiveStyleSheet();
  if(title!="print") {
  	createCookie("style", title, 365);
  }
}

var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);

function Trim() { 
return this.replace(/\s+$|^\s+/g,""); 
}  
String.prototype.Trim=Trim; 

	
// JavaScript Document
var numTab=3;

function tabShow(  a ) {
var n= parseInt( a );
	for (i=1; i<=numTab; i++) {
    if(i!=n)
    {
	  	//ShowE("graf"+n1,false);
  		activateTab(i,false);
      //tabHide(i);
		}
  }
  element1 = GetE( "vis_sott" );
  if (element1!=null)
  {
		if (!(element1.checked)){
			n1=n+3;
			}
		else {
		n1=n;
		}
	}	
	else {
		n1=n;
		}
  for (i=1; i<=(numTab+3); i++) {
    if(i!=n1)
    {
	  	ShowE("graf"+i,false);
		}
  }
  /* open */
	ShowE("graf"+n1,true);
  activateTab(n,true);
  if (element1!=null)
		element1.value=n;

}


function graphShow(  a , num) {
var n= parseInt( a );
var ntab= parseInt( num );
	
  for (i=1; i<=(ntab); i++){
	  	ShowE("T"+i,false);
	}  	
	ShowE("T"+a,true);

  element1 = GetE( "vis_sott" );
  if (element1!=null)
  {
		if (!(element1.checked)){
			n1=n+ntab;
			}
		else {
		n1=n;
		}
	}	
	else {
		n1=n;
		}
  for (i=1; i<=(ntab+ntab); i++) {
    if(i!=n1)
    {
	  	ShowE("graf"+i,false);
		}
  }
  /* open */
	ShowE("graf"+n1,true);
  if (element1!=null)
		element1.value=n;
}



function tabHide ( /*int*/ n  ) {
  /* close */
  ShowE("graf"+n,false);
  activateTab(n,false);
}
function activateTab ( /*int*/ n, /*boolean*/ activate ) {

    var element = GetE( "tab" + n );
    for(var i = 0; i<element.childNodes.length; i++) {
    	if(element.childNodes[i].nodeName == "DIV")
        if(activate)
          element.childNodes[i].style.backgroundColor = "#F5F5F5";
        else
          element.childNodes[i].style.backgroundColor = "#FFFFFF";    
    }
}

/*------------------------------------------------------*/

var unsupported = "Your browser doesn't support this feature.";

//var prefUrl = location.href;
/*    
function definePrefUrl() {
  var Url = location.protocol +"//"+location.host+"/"+location.pathname;  
  prefUrl = isLoggedHome ? Url : location.href;  
}
*/
function addBookmark() {
  if (window.external)
    external.AddFavorite( location.href , document.title );
  else
    alert(unsupported);
}

function setHome() {
  if(document.all && !window.opera) {
    if (!hp.isHomePage( location.href )) {
      hp.style.behavior="url(#default#homepage)";
      hp.setHomePage( location.href );
    }
  }
  else
      alert(unsupported);
}

function addPortfolio(lingua,isin)
{
		if (isin!='')
		{
			document.schermo_seleziona.isinSEL.value=isin;
			if (lingua=='it_IT')
				lingua="IT";
			else if (lingua=='de_DE')
				lingua="DE";
			if (lingua=='fr_FR')	
				lingua="FR";
			document.schermo_seleziona.lingua.value=lingua;
			document.schermo_seleziona.submit();
		}				
}