//nice way to use the same INFX namespace over multiple scripts.
if (typeof(_infx) == "undefined") var _infx = {};

// InFX Cookie library
// Chris Merry 2008
_infx.cookie = function (){
	var info = {};
	
	function read(){
		var nameEQ = info.name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;	
	}
	
	function write(){
		if (info.days) {
			var date = new Date();
			date.setTime(date.getTime()+(info.days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
		document.cookie = info.name+"="+info.value+expires+"; path=/";	
	}
	
    return {
        create: function (jsonobj) {
            info = jsonobj;
            write();
        },
        read: function (name) {
        	info.name = name;
            return read();
        },
        clear: function (name) { // an example of a accessor
        	info = {name:name,value:'',days:-1};
        	write();
        }
    };
}();

