/**
* @file		cookie.js
*
* @package App
*
*
* @brief		Cookie Toolbox - general javascript cookie functions
* 
* @details Cookie Toolbox Javascript
* copyright 4th September 2002, by Stephen Chapman, Felgall Pty Ltd
*  You have permission to copy and use this javascript provided that
* the content of the script is not changed in any way.
* For instructions on how to use these functions see "A Cookie Toolbox"
* in the Javascript section of our site at http://www.felgall.com/
*
*/

var dbug = 0;

function d_a(ary) {
    var beg = next_entry(ary) - 1;
    for (var i = beg; i > - 1; i--) {
        ary[i] = null;
    }
}
function init_array() {
    if (dbug) alert('init_cookie');
    var ary = new Array(null);
    return ary;
}

function set_cookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function get_cookie(name) {
    if (dbug) alert(name);
    var dcookie = document.cookie;
    var cname = name + "=";
    var clen = dcookie.length;
    var cbegin = 0;
    while (cbegin < clen) {
        var vbegin = cbegin + cname.length;
        if (dcookie.substring(cbegin, vbegin) == cname) {
            var vend = dcookie.indexOf(";", vbegin);
            if (vend == - 1) vend = clen;
            return unescape(dcookie.substring(vbegin, vend));
        }
        cbegin = dcookie.indexOf(" ", cbegin) + 1;
        if (cbegin == 0) break;
    }
    return 'undefined';
}
function del_cookie(name) {
    if (dbug) alert(name);
    document.cookie = name + '=' + '; expires=Thu, 01-Jan-70 00:00:01 GMT; path=/';
}

function delAllCookies() {
	var c_string=document.cookie;
	var c_arr=c_string.split('; ');
	var count=c_arr.length;
	var i;
	for(var i in c_arr) {
		var tmp=c_arr[i];
		var name=tmp.split('=');
		var n=name[0];
		del_cookie(n);
	}
}


function get_array(name, ary) {
    if (dbug) alert('get_array');
    d_a(ary);
    var ent = get_cookie(name);
    if (ent) {
        i = 1;
        while (ent.indexOf('^') != '-1') {
            ary[i] = ent.substring(0, ent.indexOf('^'));
            i++;
            ent = ent.substring(ent.indexOf('^') + 1, ent.length);
        }
    }
}
function set_array(name, ary, expires) {
    if (dbug) alert('set_array');
    var value = '';
    for (var i = 1; ary[i]; i++) {
        value += ary[i] + '^';
    }
    set_cookie(name, value, expires);
}
function del_entry(name, ary, pos, expires) {
    if (dbug) alert('del_entry');
    var value = '';
    get_array(name, ary);
    for (var i = 1; i < pos; i++) {
        value += ary[i] + '^';
    }
    for (var j = pos + 1; ary[j]; j++) {
        value += ary[j] + '^';
    }
    set_cookie(name, value, expires);
}
function next_entry(ary) {
    if (dbug) alert('next_entry');
    var j = 0;
    for (var i = 1; ary[i]; i++) {
        j = i
    }
    return j + 1;
}

function debug_on() {
    dbug = 1;
}
function debug_off() {
    dbug = 0;
}
function dump_cookies() {
    if (document.cookie == '') document.write('No Cookies Found');
    else {
        thisCookie = document.cookie.split('; ');
        for (i = 0; i < thisCookie.length; i++) {
            document.write(thisCookie[i] + '<br \/>');
        }
    }
}
