showdebug = false;
function l_debug(msg)
{
 if(showdebug) alert(msg);
}
// menu v1 site behaviors, Mike Foster, Cross-Browser.com

// Frame breaker

if (top.location != document.location) top.location = document.location;

// Page Object : costruttore

//variabile ke rappresenta se una pagina è la home o una pagina interna
var interna = false;
var xDivContents = new Array();

      
function xPage()
{
  // Properties
  this.left = true;
  // Methods
  this.onLoad = function()
  {
    if (!this.downgrade) {
      
      //inizializza i menu
      if (e=xGetElementById('menu'))if (this.left) clpsInit('menu', false, '#ffffff', '#e7e7e7', document.XSimages[0]);
      if (e=xGetElementById('menu_interno'))if (this.left) clpsInit('menu', false, '#ffffff', '#e7e7e7', document.XSimages[0]);      	
      if (e=xGetElementById('facolta')) if (this.left) clpsInit('facolta', false, '#ffffff', '#e7e7e7', document.XSimages[1]);
      //controlla se esiste 'cornice_interno', nel qual caso siamo in pagina interna
      if (xGetElementById('cornice_interno') != null || xGetElementById('cornice_3cols') )
        interna=true;
      else
        interna=false;
        /*{
    	  if (xGetElementById('cornice_interno') != null)
            interna=true;
          else
            interna=false;
        }*/
     

      registerContDiv();
  
      if (checkHeightConditions())
      {      	      	 
        resizeContMenu();        
      } 
      else
      {
      	var alt = xGetHeight(xGetElementById("contenuto"));
      	  if (xOp7 || xOp5or6)
	  {
	    alt += 150;
	  }
      	 
	  if (xGetElementById('promotion3'))
	    xSetHeight (xGetElementById('promotion3'), alt, 'px');
	  else if (xGetElementById('cornice_3cols'))
	    xSetHeight (xGetElementById('cornice_3cols'), alt, 'px');
	  else
	    xSetHeight (xGetElementById('cornice_interno'), alt, 'px');
	    
	    
/*        if (interna)
          xSetHeight(xGetElementById("cornice_interno"), alt, 'px');
        else
          xSetHeight(xGetElementById("cornice"), alt, 'px');
*/      }
      
      if (interna)
      {
        var xL = getDivContenuto ();
        var mL = xGetElementById('menu_interno');
        
        if (xGetCollapsible() == "true")
        {
        	 
          collapseLayerS(xL, mL);
          
        }
        else
        {
        	  
          collapseLayerC(xL, mL);
        }
      }
       
      // show border and footer
      if (xGetElementById('promotion3'))showborder(xGetElementById('promotion3'));
      else if (xGetElementById('cornice_3cols'))showborder(xGetElementById('cornice_3cols'));	   
      else showborder(xGetElementById('cornice_interno'));
      if (xGetElementById('footer')) xGetElementById('footer').style.visibility="visible";     
        
    }
    
  }
  // Constructor
  this.downgrade = true;
  if (document.getElementById || document.all) { // need to enhance downgrade detection : non ho idea di ke cosa faccia
    this.downgrade = false;
  }
} // end xPage  

//variabile ke segna se il div elastico è in percentuale o di dimensione fissa
var newsperc = true;

function checkHeightConditions ()
{	
  if (xGetElementById('facolta'))
  {  	
    if (interna)
    {
    }
    else
    {
      if (xGetHeight(xGetElementById("contenuto")) < xGetHeight(xGetElementById("menu")) || xGetHeight(xGetElementById("contenuto")) < xGetHeight(xGetElementById("facolta")))
      {
        return (true);
      } 
      else
      {
        return (false);
      }
    }
  }
  else
  {  	 
    if (interna)
    {  
    	 // pp docenti e help  
               var objDivContent = getDivContenuto();      
               manageAsMinCnt = false;
	  if(objDivContent != null)
	  {
	   if(objDivContent.id != null)
	   {
	      if(objDivContent.id.indexOf("cont_") > -1 ) 
	      {
	         manageAsMinCnt = true;		          
	       } 
	   }
	  }
         	
      if (xGetHeight(xGetElementById("contenuto")) < xGetHeight(xGetElementById("menu_interno"))
          ||
          manageAsMinCnt          	 
         )
      {      	             	
        return (true);
      } 
      else
      {
        return (false);
      }
    }
    else
    {
      if (xGetElementById("menu") || xGetElementById("menu_interno"))
      {
        if (xGetHeight(xGetElementById("contenuto")) < xGetHeight(xGetElementById("menu")))
        {         	
          return (true);
        } 
        else
        {
          return (false);
        }
      }
      else
      {
        return (true);
      }
    }
  }
}

function registerContDiv ()
{
  //crea un array con tutti i div da confrontare per l'altezza
  if (xGetElementById('menu'))
    xDivContents['menu'] = xGetElementById('menu');
  if (xGetElementById('facolta'))
    xDivContents['facolta'] = xGetElementById('facolta');
  if (xGetElementById('profili'))
    xDivContents['profili'] = xGetElementById('profili');
  if (xGetElementById('menu_interno'))
    xDivContents['menu_interno'] = xGetElementById('menu_interno');
  if (xGetElementById('profili_interno_nodiv'))
    xDivContents['profili_interno_nodiv'] = xGetElementById('profili_interno_nodiv');
  if (xGetElementById('risorse'))
    xDivContents['risorse'] = xGetElementById('risorse');
  if (xGetElementById('profili_interno'))
    xDivContents['profili_interno'] = xGetElementById('profili_interno');
  if (xGetElementById('naviga'))
    xDivContents['naviga'] = xGetElementById('naviga');
  if (xGetElementById('strumenti'))
    xDivContents['strumenti'] = xGetElementById('strumenti');
  if (xGetElementById('news'))
    xDivContents['news'] = xGetElementById('news');
  if (xGetElementById('contenuto'))
    xDivContents['contenuto'] = xGetElementById('contenuto');
  if (xGetElementById('contenuto_nodiv'))
    xDivContents['contenuto_nodiv'] = xGetElementById('contenuto_nodiv');
  if (xGetElementById('contenuto_1div'))
    xDivContents['contenuto_1div'] = xGetElementById('contenuto_1div');
  if (xGetElementById('myContenuto'))
    xDivContents['myContenuto'] = xGetElementById('myContenuto');
  if (xGetElementById('cont_docente'))
    xDivContents['cont_docente'] = xGetElementById('cont_docente');
  if (xGetElementById('cont_help'))
    xDivContents['cont_help'] = xGetElementById('cont_help');    
}

function getElMaxHeight ()
{
  var max = 0;
  var maxElem;
  for (var el in xDivContents)
  {
    //alert('**' + el);    
    if (xGetHeight(xDivContents[el]) > max) 
    {
      max = xGetHeight(xDivContents[el]);     
      maxElem = xDivContents[el];
    }
  } 
  return (maxElem);
}

function getDivContenuto ()
{
  var l_layer = 'contenuto';
  var xL = xGetElementById(l_layer);
  if (!xL) xL = xGetElementById('contenuto_1div');
  if (!xL) xL = xGetElementById('contenuto_nodiv');
  if (!xL) xL = xGetElementById('cont_docente');
  if (!xL) xL = xGetElementById('cont_help');
  return (xL);
}

//funzione triggerata dall'evento resize

function resiza (cw)
{
  //se cw (clientWidth) è minore di una certa cifra
  if (parseInt(cw) < 950)
  {
    //sparisce il logo a sinistra
      xHide('promotion4');
      xHide('immagine4');
      xWidthBig('promotion1');
      xWidthBig('promotion2');
      xWidthBig('promotion3');
      xWidthBig('immagine1');
      xWidthBig('immagine2');
      xWidthBig('immagine3');
    //sostituisce la scritta Unito con un'altra scritta con il logo compreso
    //muove il div contenitore a 0 0
    var a = xMoveTo('mainContainer', 0, 0);

    var wAll = parseInt(cw);
    xSetWidth('mainContainer',wAll - 2,"px");
  }
  else
  {
    if (parseInt(cw) > 950)
    {
      //mostro la quarta promoione e stringo le altre 3
      xShow('promotion4');
      xShow('immagine4');
      xWidthSmall('promotion1');
      xWidthSmall('promotion2');
      xWidthSmall('promotion3');
      xWidthSmall('immagine1');
      xWidthSmall('immagine2');
      xWidthSmall('immagine3');
      //changeLogo ("images/title_unito.gif");
      var a = xMoveTo('mainContainer', 0, 0);
 

      var wAll = parseInt(cw - 0);
      xSetWidth('mainContainer',wAll,"px");
    }
  }
  //se il div contenitore del div elastico è maggiore di una certa cifra
  if (xGetWidth('mainContainer') > 950)
  {
    if (newsperc != false)
    {
      //mette una larghezza fissa
      xSetWidth('container',95,"%");
      newsperc = false;
    }
  }
  else
  {
    if (xGetWidth('mainContainer') < 950)
    {
      if (newsperc != true)
      {
        //ne rimette una variabile
        xSetWidth('container',90,"%");
        newsperc = true;
      }
    }
  }
}

function textMod (e)
{
  xChangeFontColor(e);
  e.value = '';
}

function collapseLayer()
{
  var xL = getDivContenuto ();
  var mL = xGetElementById('menu_interno');

  if (xGetCollapsible() == "true")
  {
    chiudiLayer(xL, mL);
  }
  else
  {
    apriLayer(xL, mL);
  }
}
function apriLayer ()
{
  var xL = getDivContenuto ();
  var mL = xGetElementById('menu_interno');

  collapseLayerS(xL, mL);
  xSetCollapsible("true");
}
function chiudiLayer ()
{
  var xL = getDivContenuto ();
  var mL = xGetElementById('menu_interno');
  collapseLayerC(xL, mL);
  xSetCollapsible("false");
}
function collapseLayerC (xL, mL)
{
    if(mL == null) return;
    xSetMargin (xL, 189, 'px');
    mL.style.display = 'block';
    mL.coll = undefined;
    var aC = xGetElementsByTagName('IMG', xGetElementById('aprichiudi'));
    if (aC[0]) aC[0].src = '/img/chiudi_menu.gif';
}
function collapseLayerS (xL, mL)
{
    if(mL == null) return;
    xSetMargin (xL, 0, 'px');
    mL.style.display = 'none';
    mL.coll = true;
    var aC = xGetElementsByTagName('IMG', xGetElementById('aprichiudi'));
    if (aC[0]) aC[0].src = '/img/apri_menu.gif';
}
function debug (st)
{
  //se abbiamo una casella di testo dentro un form "mod" questo fa da feedback
  document.mod.feedback.value= st;
}


// Collapsible elements


function changeLogo (im)
{
  //cambia l'immagine nel div "intestazione" con una passata in argomento
  var aC = xGetElementsByTagName('IMG', xGetElementById('intestazione'));
  if (aC[0]) aC[0].src = im;
}


/*init*/
function clpsInit(parentId, bMin, rollOutC, rollOverC, selImg)
{
  //inizializzazione del menu
  var h, i, c;
  var aH = xGetElementsByTagName('H1', xGetElementById(parentId));
  var aC = xGetElementsByClassName('collapsible', xGetElementById(parentId));

  //assegna a ogni elemento h1 del menu le azioni del mouse e i colori di rollover e rollout
  for (i = 0; i < aC.length; ++i) {
    h = aH[i]; // sTag element (trigger)
    c = aC[i]; // collapsible element (target)
    var aI = xGetElementsByTagName('IMG', h);

    if (h && c) {
    
      h.idMenu = i;
      if (aI[0])
      {
        h.srcRestore = aI[0].src;
        //h.srcSel = document.XSimages[0];
        h.srcSel = selImg;
      }
      h.onmouseover = clpsOnMouseover;
      h.onmouseout = clpsOnMouseout;
      h.clpsRolloutColor = rollOutC;
      h.clpsRolloverColor = rollOverC;
      h.clpsEle = c;
      h.collapsed = !bMin;
      h.onclick = clpsOnClick;
    }
  }
  //window.xPCW = xClientWidth(); 
  //window.xPCH = xClientHeight();
  //chiudo tutto il menu
  chiudiTutto(parentId);
  //se c'è un nodo aperto lo apro
  var elOp = findOpen(parentId);
  //guarda se c'è un elemento ke deve essere aperto onLoad
  if (elOp)
  {
    //rimuovo le proprietà appena messe ke lo rendevano un link
    elOp.onmouseover = "";
    elOp.onmouseout = "";
    elOp.onclick = "";
    elOp.style.cursor = 'default';
    clpsDoClick(elOp, true);
    switchImage(elOp);
  }
}

function findOpen (parentId)
{
 //trova l'elemento di classe 'aperto' nel menu
  var aH = xGetElementsByClassName('aperto', xGetElementById(parentId));
  h = aH[0];
  if (h)
    return h;
}

function chiudiTutto(parentId)
{
  //chiude tutti gli elementi del menu
  var h, i, c;
  var aH = xGetElementsByTagName('H1', xGetElementById(parentId));
  var aC = xGetElementsByClassName('collapsible', xGetElementById(parentId));
  for (i = 0; i < aC.length; ++i) {
    h = aH[i]; // sTag element (trigger)
    c = aC[i]; // collapsible element (target)
    //esegue l'azione solo se esiste anke l'elemento collapsible
    if (h && c && h != findOpen(parentId)) {
      clpsDoClick(h, false);
      switchImage(h);
    }
  }

}

function clpsOnClick()
{
  //l'azione onClick assegnata a ogni h1 ke c'è nel menu
  var xP = xParent(this,true);
  //se l'elemento è chiuso, prima di tutto chiude tutti gli altri elementi
  if (this.collapsed) chiudiTutto(xP);
  //parte la funzione di click
  clpsDoClick(this, this.collapsed);
  //cambia l'immagine a lato
  switchImage(this);
  //resizeContMenu (xParent(xParent(xParent(xP, true), true), true));
}

function switchImage (elem)
{
  eL = xGetElementsByTagName('IMG', elem);

  //se l'elemento è chiuso o aperto mette la giusta immagine
  if (elem.collapsed)
  {
    if (eL[0])
      eL[0].src = elem.srcRestore;
  }
  else if (!elem.collapsed)
  {
    if (eL[0])
      eL[0].src = elem.srcSel;
  }
}

function clpsDoClick(thisEle, bShow)
{
  var d, t, w, h;
  //cambia il title del tooltip dell'h1 e la visualizzazione
  if (bShow) { // show
    d = 'block';
    t = 'Chiudi';
  }
  else {                // hide
    d = 'none';
    t = 'Apri';
  }
  if (thisEle.tagName == 'H1') {
    t += ' sezione'
    thisEle.clpsEle.style.display = d;
  }
  thisEle.setAttribute('title', t);
  thisEle.collapsed = !bShow;
  
 //resizeContMenu();
 
  if (checkHeightConditions())
  { 	   	
    resizeContMenu();
  } 
  else
  {  	 
    if (interna)
      xSetHeight(xGetElementById("cornice_interno"), xGetHeight(xGetElementById("contenuto")), 'px');
    else
      xSetHeight(xGetElementById("promotion3"), xGetHeight(xGetElementById("contenuto")), 'px');
  }
}

function resizeContMenu ()
{

  if (xOp7 || xOp5or6)
  {
	  if (xGetElementById('menu'))
	    xDivContents['menu'] = xGetElementById('menu');
	  if (xGetElementById('facolta'))
	    xDivContents['facolta'] = xGetElementById('facolta');
	  if (xGetElementById('profili'))
	    xDivContents['profili'] = xGetElementById('profili');
	  if (xGetElementById('menu_interno'))
	    xDivContents['menu_interno'] = xGetElementById('menu_interno');
	  if (xGetElementById('profili_interno_nodiv'))
	    xDivContents['profili_interno_nodiv'] = xGetElementById('profili_interno_nodiv');
	  if (xGetElementById('risorse'))
	    xDivContents['risorse'] = xGetElementById('risorse');
	  if (xGetElementById('profili_interno'))
	    xDivContents['profili_interno'] = xGetElementById('profili_interno');
	  if (xGetElementById('naviga'))
	    xDivContents['naviga'] = xGetElementById('naviga');
	  if (xGetElementById('strumenti'))
	    xDivContents['strumenti'] = xGetElementById('strumenti');
	  if (xGetElementById('news'))
	    xDivContents['news'] = xGetElementById('news');
	  if (xGetElementById('contenuto'))
	    xDivContents['contenuto'] = xGetElementById('contenuto');
	  if (xGetElementById('contenuto_nodiv'))
	    xDivContents['contenuto_nodiv'] = xGetElementById('contenuto_nodiv');
	  if (xGetElementById('contenuto_1div'))
	    xDivContents['contenuto_1div'] = xGetElementById('contenuto_1div');
	  if (xGetElementById('myContenuto'))
	    xDivContents['myContenuto'] = xGetElementById('myContenuto');
	  if (xGetElementById('cont_docente'))
	    xDivContents['cont_docente'] = xGetElementById('cont_docente');
	   if (xGetElementById('cont_help'))
	    xDivContents['cont_help'] = xGetElementById('cont_help'); 
	  var max = 0;
	  var maxElem;
	  for (var el in xDivContents)
	  {
	    //alert('**' + el);
	    if (xGetHeight(xDivContents[el]) > max) 
	    {
	      max = xGetHeight(xDivContents[el]);
	      maxElem = xDivContents[el];
	    }
	  }
	  var refElem = maxElem;
	  var refElemHeigth = xGetHeight(refElem);
	  //alert(xGetElementById('cornice_interno'));
   }	 
   else
   {
   	 
	  var refElem = getElMaxHeight();
	  //alert(refElem);
	  var refElemHeigth = xGetHeight(refElem);	  
	  
   }
  
  // pp docenti e help  
  var objDivContent = getDivContenuto();      
   
	  if(objDivContent != null)
	  {
	   if(objDivContent.id != null)
	   {
	      if(refElemHeigth < 600 && (objDivContent.id.indexOf("cont_") > -1) ) 
	      {
	        // l_debug("screen = "+screen.height +", refElemHeigth = "+refElemHeigth+", footer = "+xGetHeight(xGetElementById('footer')));
	         refElemHeigth = 100;         	        
	       } 
	       
	   }
	  }
	  
	  
	  
	  if(refElemHeigth < 600 )refElemHeigth = 100;   
	 
   
  
  if (xOp7 || xOp5or6)
  {
    refElemHeigth += 0;
  }
  
  if (xGetElementById('logo1'))
    xSetHeight (xGetElementById('logo1'), refElemHeigth, 'px');
  else if (xGetElementById('cornice_3cols'))
    xSetHeight (xGetElementById('cornice_3cols'), refElemHeigth, 'px');
  else	 xSetHeight (xGetElementById('cornice_interno'), refElemHeigth, 'px');   
  
}

function clpsOnMouseover()
{
  //da semplicemente un colore di rollover al campo
  if (this.tagName == 'H1') xBackground (this, this.clpsRolloverColor, "");

  //if (this.tagName == 'H1') this.style.color = this.clpsColor;
  /*if (this.tagName == 'H1' && this.collapsed)
  {
    eL = xGetElementsByTagName('IMG', this);
    if (eL[0])
    {
      //alert(this.srcSel);
      //eL[0].src = this.srcOn;
    }
  }*/
}

function clpsOnMouseout()
{
  //da un colore di rollout al campo
  if (this.tagName == 'H1') xBackground (this, this.clpsRolloutColor, "");

  //if (this.tagName == 'H1') this.style.color = '#000';
  /*if (this.tagName == 'H1' && this.collapsed)
  {
    eL = xGetElementsByTagName('IMG', this);
    if (eL[0])
    {
      eL[0].src = this.srcRestore;
    }
  }*/
}

/*function seleziona (elem)
{
  eL = xGetElementsByTagName('IMG', elem);
  if (elem.collapsed)
  {
    if (eL[0])
    {
      eL[0].src = elem.srcSel;
    }
  }
}

function deSeleziona (elem)
{
  eL = xGetElementsByTagName('IMG', elem);
  if (elem.collapsed)
  {
    if (eL[0])
    {
      eL[0].src = elem.srcRestore;
    }
  }
}*/
var pg = new xPage();
/*window.onload = function()
{
    PL_preloadImages('/img/chiudi.gif','/img/facolta_on.gif');
    MM_preloadImages('/img/orientamento_on.gif','/img/tutorato_on.gif','/img/menu_didattica_on.gif','/img/dipartimenti_on.gif', '/img/biblioteche_on.gif','/img/orientamento_on.gif');
    pg.onLoad();    
    resiza(xClientWidth());
	xResizeEvent();	
}*/

 
 
window.onload = function()
{	
   if(xGetElementById("mainContainer") != null)
   {

     if (document.getElementById) if(document.getElementById("mainContainer") != null) document.getElementById("mainContainer").style.visibility = "visible";
     else
     {
             if (document.all)  document.all("mainContainer").style.visibility = "visible";
           // if (document.layers) document.layers["mainContainer"].style.visibility = "visible"; 
     }
     pg.onLoad();
     resiza(xClientWidth());
     xResizeEvent();
    } 
}

function showborder(el)
{ 
//  el.style.border="1px solid #f00";
}
