function CPStorage()
{
    this.p = {};

    this.init = function(p) /*{'name':'value',...}*/
    {
        this.p = (typeof(p)=='object') ? p : {};
    };
    
    this.isset = function(name)
    {
        return (this.p[name] != 'undefined');
    };    

    this.get = function(name)
    {
        return this.p[name];
    };

    this.params = function(names) /*['myparam1name','myparam2name',...]*/
    {
        var h = {};
        for(var i in names) h[names[i]] = this.param(names[i]);
        return h;
    };

    this.set = function(name,value)
    {
        var override = (typeof(this.p[name])!='undefined');
        this.p[name] = value;
        return override; //false - new param created, true - existing param overrided
    };

    this.getByIndex = function(name,key,caseSence) /*name : substring of key, key : true - return key, missed or false - return value*/
    {
        for(var i in this.p)
        {
        	if (caseSence)
        	{
        	    if (name.indexOf(i)>-1)
        	    {
        	        return key ? i : this.p[i];
        	    }
        	}
        	else
        	{
        	    if (name.toLowerCase().indexOf(i.toLowerCase()) > -1)
        	    {
        	       return key ? i : this.p[i];
        	    }
        	}
        }
        return false;
    };

    this.getBySubstr = function(name,key,caseSence) /*name : substring of key, key : true - return key, missed or false - return value*/
    {
        for(var i in this.p)
        {
        	if (caseSence)
        	{
        	    if (i.indexOf(name)>-1)
        	    {
        	        return key ? i : this.p[i];
        	    }
        	}
        	else
        	{
        	    if (i.toLowerCase().indexOf(name.toLowerCase())>-1)
        	    {
        	        return key ? i : this.p[i];
        	    }
        	}
        }
        return false;
    };

    this.unset = function(name)
    {
        return this.set(name,null); //false - not found yet, true - unset successfull
    };
}
if (!window.pochtaConf) window.pochtaConf = new CPStorage();



