/**
* Copyright (c) InOut TV 2008
* @file layers.js
* @author Albert Daurell
* @brief Control layers depending of browser capatilities
* @date 07/03/08
*/


var IOLayers = {
    
    getLayerById: function(layer)
    {
        // Igoogle _gel layer function
        if(typeof _gel == "function" )
            return _gel(layer); 
        else if(document.getElementById)
            return document.getElementById(layer);
        else
            return document.layers[layer];
        
    },

    fecthContent: function(urlSrc,callback)
    {
        urlSrc+="&nc="+IODate.getCacheParam();
        if(typeof _IG_FetchContent == "function" )
        {
            _IG_FetchContent(urlSrc,callback);
        }
        else if(typeof Ajax == "function" )
        {
            var ajax= new Ajax();
            ajax.getURL(urlSrc,callback);
        }
	        
    },

    registerOnLoad: function(callback)
    {
       if(typeof _IG_RegisterOnloadHandler != "undefined")
       {
            _IG_RegisterOnloadHandler(callback);
       }
       else 
       {
            window.onload=callback;
       }

    },

    getHeight: function(obj)
    {
        if(document.getElementById && obj.offsetHeight)
        {
            return obj.offsetHeight;
        }
        else if (document.layers && obj.clip)
        {
            return obj.clip.height;
        }
        return 0;
    },
    
    setVisible: function(obj,show)
    {
        if(!obj) 
        {
            return;
        }
        if (document.layers)
    	{
    		obj.visibility = show ? 'show' : 'hide';
    	}
    	else if (obj.style)
    	{
    		obj.style.visibility = show ? 'visible' : 'hidden';
    	}
    },
    
    isVisible: function(obj)
    {
        if(!obj) 
        {
            return false;
        }
        if (document.layers)
    	{
    	    return obj.visibility=='show';
    	}
    	else if (obj.style)
    	{
    	    return obj.style.visibility=='visible';
    	}
    	return false;
    }
    
    
};