/********************************************************
 * This file contains code for handling style 
 * like change look and feel when mouseover, mouseout...
 ********************************************************/
function switchSelected(oObject, selectedStyle, unSelectedStyle){
    if (oObject.className != selectedStyle){
        select(oObject);
    }else{
        unselect(oObject);
    }
}

function selectText(oObject, selectedStyle){
    oObject.className = selectedStyle;
}

function unselectText(oObject, unSelectedStyle){
    oObject.className=unSelectedStyle;
}

function toggleVisibility(id, turn_on) {
    var visibility = "hidden";
    var display = "none";
    if (turn_on) {
        visibility = "visible";
        display = "inline-block";
    }

    var myblock = null;

    if (document.layers)
    {
        myblock = document.layers[id];
        if (myblock == null) {
            //alert("myblock is null.");
            return;
        }
        myblock.visibility = visibility;
        myblock.display = display;
    }
    else if (document.all)
    {
        myblock = document.all(id);
        if (myblock == null) {
            //alert("myblock is null.");
            return;
        }
        myblock.style.visibility = visibility;
        myblock.style.display = display;
    }
    else if (document.getElementById(id))
    {
        document.getElementById(id).setAttribute('style', 'visibility: ' + visibility + ';display: ' + display + ';');
    }
}

function getElementByDocAndId(doc, id){
    var elem = null;
    if (doc.all) {
        elem = doc.all(id);
    } else if (doc.getElementById){
        elem = doc.getElementById(id);
    } else if (doc.layers){
        elem = doc.layers[id];
    } 
    if (elem == null) {
        elem = findElementByDocAndName(doc,id);
    }	
    if (elem == null) {
        //alert('getElementById failed: id=' + id);
    }	
    return elem;
}

function getElementById(id){
    return getElementByDocAndId(document, id);
}

function findElementByDocAndName(doc, elementName){
    // search forms
    var all = doc.forms;
    for (var a = 0; a < all.length; a++ ){
        var which = all[a];
        for (var b = 0; b < which.elements.length; b++ ){
            if ( which.elements[b].name == elementName ){
                return which.elements[b];
            }
        }
    }
    // search anchors
    all = doc.anchors;
    for (var a = 0; a < all.length; a++ ){
        var which = all[a];
        if ( which.name == elementName ){
            return which;
        }
    }
    // search images
    all = doc.images;
    for (var a = 0; a < all.length; a++ ){
        var which = all[a];
        if ( which.name == elementName ){
            return which;
        }
    }
    return null;
}

function findElementByName(elementName){
    return findElementByDocAndName(document, elementName);
}
