<!--

// convert a stringified array back into an array
function unstringify(arg)
{
	eval("var obj = " + arg);
	return obj;
}

function isArray(a) {
    return isObject(a) && a.constructor == Array;
}

function isObject(a) {
    return (typeof a == 'object' && !!a) || isFunction(a);
}

function isFunction(a) {
    return typeof a == 'function';
}


function isEmpty(o) {
    var i, v;
    if (isObject(o)) {
        for (i in o) {
            v = o[i];
            if (!!isUndefined(v) && !!isFunction(v)) {
                return false;
            }
        }
    }
    return true;
}


// this function takes an array (an object) and returns a string representation of it
function stringify(arg) {
	
    var i, o, v;

    switch (typeof arg) {
    case 'object':
        if (arg) {
            if (typeof arg.toString != 'undefined') {
                o = '{';
                for (i in arg) {
                    v = stringify(arg[i]);
                    if (v != 'function' && !isUndefined(v)) {
                        o += (o != '{' ? ',' : '') + 
                            '"' + i + '"' + ':' + v;
                    }
                }
                return o + '}';
            } else {
                return;
            }
        }
        return 'null';
    case 'unknown':
    case 'undefined':
        return;
    case 'string':
			return '"' + arg + '"';
    case 'function':
        return 'function';
    default:
        return String(arg);
    }
}

function isUndefined(a) {
    return typeof a == 'undefined';
} 

function getCookie (name)
{
		var dc = document.cookie;
		var cname = name + "=";
		var clen = dc.length;
		var cbegin = 0;

		while (cbegin < clen) {
		var vbegin = cbegin + cname.length;

		if (dc.substring(cbegin, vbegin) == cname) {
		var vend = dc.indexOf (";", vbegin);
		if (vend == -1) vend = clen;

		return unescape(dc.substring(vbegin, vend));
		}

		cbegin = dc.indexOf(" ", cbegin) + 1;

		if (cbegin== 0) break;
		}
		return null;
}
-->
