/* 
 * Shared Frff JavaScript functionality
 */
var Frff = {}

Frff.core = function()
{
    var onLoadFuncs = [];
    function echoFuncLen (m) { alert ( m+" onLoadFuncs.length=" + onLoadFuncs.length ); }
    return {
        addOnLoad : function(f)
        {
            onLoadFuncs[onLoadFuncs.length] = f;
            //echoFuncLen('addOnLoad');
        },
        doOnLoad : function()
        {
            //echoFuncLen('doOnLoad');
            for ( var i = 0; i < onLoadFuncs.length; i++ )
            {
                onLoadFuncs[i]();
            }
        }
    };
}();
// save the current onload if one has been defined
if ( window.onload != null ) Frff.core.addOnLoad ( window.onload );
window.onload = Frff.core.doOnLoad;


Frff.cookies = function ()
{
    function getCookieVal(offset){
        var endstr = document.cookie.indexOf(";", offset);
        if(endstr == -1){
           endstr = document.cookie.length;
        }
        return unescape(document.cookie.substring(offset, endstr));
    }
    return {
        get : function(name){
            var arg = name + "=";
            var alen = arg.length;
            var clen = document.cookie.length;
            var i = 0;
            var j = 0;
            while(i < clen){
                j = i + alen;
                if (document.cookie.substring(i, j) == arg)
                    return getCookieVal(j);
                i = document.cookie.indexOf(" ", i) + 1;
                if(i == 0)
                    break;
            }
            return null;
        },
        set : function(name,value)
        {
             var argv = arguments;
             var argc = arguments.length;
             var expires = (argc > 2) ? argv[2] : null;
             document.cookie = name + "=" + escape (value) +
            ((expires == null) ? "" : ("; expires=" + expires));

        },clear : function(name)
        {
            if(Cookies.get(name))
            {
                document.cookie = name + "=" +
                "; expires=Thu, 01-Jan-70 00:00:01 GMT";
            }
        }
    };
}();
