/**
* Copyright (c) InOut TV 2008
* @file config.js
* @author Albert Daurell
* @brief Configuration layer [ using cookies or gadget preferences ]
* @date 07/03/08
*/

var IOConfig = {
    
    params : Array(),
    
    loadConfig : function()
    {
        IOConfig.params["channels"] = Array(3,4,2,496,1,510);
        var ch=IOCookies.getCookie("channels");
        if(ch)
        {
            ch=(""+ch).split(",");
            // Every time the page is loaded we'll update cookies to ensure user data is stored
            if(ch.length>0)
            {
                IOConfig.setParam("channels",""+ch,true);
            }
        }
        else IOConfig.setParam("channels",IOConfig.params["channels"],true);           
    },
    
    getParam : function(pname)
    {
        return IOConfig.params[pname];
    },
    
    setParam : function(pname,pval,persist)
    {
        IOConfig.params[pname]=pval;
        if(persist==null || persist==true)
        {
            IOCookies.setCookie(pname,pval);
        }
    }
	
};

var IOCookies = {
    
    gPrefs: null,
    
    getCookieVal :function(idx) 
    {   
        var doccookies = document.cookie;
        var cpos = doccookies.indexOf(";", idx);  
        if (cpos == -1)  cpos = doccookies.length;  
        return unescape(doccookies.substring(idx, cpos));  
    },
  
    getCookie :function(cname) 
    {   
        if(typeof _IG_Prefs == "function")
        {
           if(IOCookies.gPrefs==null) IOCookies.gPrefs = new _IG_Prefs();
           var ret=IOCookies.gPrefs.getString(cname);
           if(ret!="") return ret;
        }
        var doccookies = document.cookie; 
        var cname = cname + "=";
        var i=0;
        while(i<doccookies.length) 
        {   
            var j = i + cname.length;               
            if (doccookies.substring(i, j) == cname) 
            {  
                return IOCookies.getCookieVal(j)
            }
            i = doccookies.indexOf(" ", i) + 1;
            if (i == 0) break;
        }
        return null;
    },
  
    setCookie :function(cname, cval, expires) 
    {   
        if(typeof _IG_Prefs == "function")
        {
           if(IOCookies.gPrefs==null) IOCookies.gPrefs = new _IG_Prefs();
           IOCookies.gPrefs.set(cname,""+cval);

        }
        
        if(!expires) expires = IODate.expires(30);   
        document.cookie = cname + "=" + escape(cval) + "; expires=" + expires + "; path=/"  
    },

    deleteCookie :function(cname) 
    {   
        document.cookie = cname + "=; expires=" + IODate.expires(-1) + "; path=/"  
    }   
  
};