/* hidelemenent.js
 * Copyright (c) 2007 Noitulos GmbH, www.noitulos.com
 *
 * Version History:
 *
 * - v0.1, created on 12.08.07 by Chris Strobel <strobel@noitulos.com>
 *   Initial creation of the function.
 */


/* boolean hideElement(el)
 *
 * This function toggles the visibility of an element which id is
 * passed as parameter. Returns true if element exists and is toggled.
 *
 * Params:
 * string el:  Name (id) of the element to be toggled
 * string img: Name (id) of the collapse-state icon to be changed
 */
function hideElement(el, img)
{
    var e = document.getElementById(el);
    var i = document.getElementById(img);

    if(!e)
        return false;

    if(e.style.display=="none")
    {
        e.style.display="block";
        i.src = '/static/graphics/arrow_down.gif';
    }
    else
    {
        e.style.display="none";
        i.src = '/static/graphics/arrow_right.gif';
    }

    return true;
}

function hoverBorder(el)
{
    var e = document.getElementById(el);
    
    if(!e)
        return false;
    
    e.style.backgroundColor = "#e5e5e5";
    e.style.borderColor = "black";    
    return true;
}

function unHoverBorder(el)
{
    var e = document.getElementById(el);
    
    if(!e)
        return false;
    
    e.style.backgroundColor = "transparent";
    e.style.borderColor = "#b7bec8";    
    return true;
}


// Checks or unchecks related checkboxes
function checkRelated(el, hi, el2, hi2, el3, hi3)
{
    var cb = document.getElementById(el);
    var rcb1 = document.getElementById(el2);
    var rcb2 = document.getElementById(el3);        
       
    //cb.style.display = "none";
    new_state = cb.checked;
    
    if(rcb1)
        // Box gets checked
        if(new_state && hi2 < hi)
        {
            rcb1.checked = true;
        }
        // Box gets unchecked
        else if(!new_state && hi2 > hi)
        {
            rcb1.checked = false;
        }
    if(rcb2)
        // Box gets checked
        if(new_state && hi3 < hi)
        {
            rcb2.checked = true;
        }
        // Box gets unchecked
        else if(!new_state && hi3 > hi)
        {
            rcb2.checked = false;
        }

    return true;
}
