/* RR Cookie Javascript
   Copyright 2008 RR - AMM

   Version:
   1.0 - 8 November 2008

   Dependencies:
   none
*/

// Write a cookie
function cookieWrite(cname, cval, cdtoff, cpath) {

    // Init
    var cdt = new Date();
    
    // Process date
    cdt.setMinutes(cdt.getMinutes() + cdtoff);
    cookieFixDate(cdt);

    // Set cookie
    cookieSet(cname, cval, cdt, cpath);

    return 0;
}

function cookieGet(name) {

    // Init
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;

    // Iterate
	while (i < clen) {
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg) return cookieGetVal(j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break; 
	}
    
	return null;
}

function cookieSet(name, value, expires, path, domain, secure) {

    // Set
	document.cookie = name + "=" + escape (value) +
		((expires) ? "; expires=" + expires.toGMTString() : "") +
		((path) ? "; path=" + path : "") +
    	((domain) ? "; domain=www.tolteclegacy.com" : "") +
    	((secure) ? "; secure" : "");
}

function cookieDelete(name, path, domain) {

    // Delete
  	if (cookieGet(name)) {
        document.cookie = name + "=" +
      	((path) ? "; path=" + path : "") +
      	((domain) ? "; domain=www.tolteclegacy.com" : "") +
      	    "; expires=Thu, 01-Jan-1970 00:00:01 GMT";
  	}
}

function cookieFixDate(date) {

    // Init
  	var base = new Date(0);
    
    // Unix time - 0
  	var skew = base.getTime();
    
    // Adjust for mac time
  	if (skew > 0) {                  
    	date.setTime(date.getTime() - skew);
    }
}

function cookieGetVal(offset) {

    // Resolve required value
 	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1) { 
        endstr = document.cookie.length;
    }
  	
    // Return unescaped value
    return unescape(document.cookie.substring(offset, endstr));
}
