﻿/**********************************************************************************/
/*  LAST-MINUTE / Altezza lastMinute
/*  2007/04/13
/*  n.scotti@studioleonardo.com
/*
/*  Dato che ogni lastminute può avere diversi testi / titoli / prezzo
/*  e di conseguenza diverse altezze, verifico qual'è l'altezza maggiore
/*  e la imposto sugli altri lastminute.
/*
/**********************************************************************************/
//  Dichiaro un array per salvare i div
var myDivArray = (myDivArray == undefined) ? new Array : myDivArray;

// Dichiaro un array per salvare l'altezza di ogni div
var myHeights = (myHeights == undefined) ? new Array() : myHeights;

function getBrowserName()
{
    /*
        getBrowserName(totaleDivs);
        input = totaleDivs:Number --> La quantità di "div" da verificare
        output = String
        
        Ristituisce il nome del browser
    */
    if(document.getElementById && document.all)
    {
        return "IE";
    }
    else
    {
        return "Mozilla";
    }
}

function calcolaHeight(totaleDivs, id)
{
    /*
        calcolaHeight(id);
        input = 
            id:String -> il nome del div da cui si vuole calcolare l'altezza.
        
        output = None - Al termine della funzione chiama a reziseDivs();
    */
    
    var myBrowser = getBrowserName(); //Verifico se sono su IE o Mozilla/Compatible    
    
    var myDiv;
    //Intento ricuperare il div
    try
    {
        myDiv = document.getElementById(id);
        if(myDiv == null) throw "NO-DIV";
    }
    catch(e)
    {
        if(e == "NO-DIV")
        {
            alert("Non esiste un Div con l'ID = " + id);
            //Se il div non esiste mostro un'alert ed esco dalla funzione
            return;
        }
    }
    finally
    {
        if(myDiv)
        {
            //Salvo l'oggetto "div" in un array per poter in un secondo momento
            //modificare le sue propietà
            
            myDivArray.push(myDiv);
            
            //Salvo l'altezza del "div"
            //Poi mi servirà per capire qual'è il "div" più alto.
            myHeights.push(myDiv.scrollHeight);
            
            //alert(myDiv.id);

            if(myHeights.length == totaleDivs)
            {
                //Se non ci sono più div da verificare faccio mi chiedo: --> Qual'è il div più alto?
                var maxAltezza = 0;
                for(var i = 0; i < myHeights.length; i++)
                {
                    var myCurrentItemArray = parseInt(myHeights[i]);
                    
                    maxAltezza = (maxAltezza < myCurrentItemArray) ? myCurrentItemArray : maxAltezza;
                }
                
                //Una volta che so qual'è l'altezza max. redimensiono i "div"
                resizeDivs(maxAltezza);
            }
        }
    }
}

function resizeDivs(maxAltezza)
{
    var myBrowser = getBrowserName();
    
    /*
        Per rendere tutti div della stessa altezza
        ricupero ogni div dall'array salvato in precedenza e
        imposto la proprietà --> height = maxAltezza;
    */
    for(var i = 0; i < myDivArray.length; i++)
    {
        switch(myBrowser)
        {
            case "IE":
                myDivArray[i].style.height = maxAltezza;
            break;
            case "Mozilla":
                myDivArray[i].setAttribute("style", "height:" + maxAltezza + "px;");
            break;
        }
    }
}