/**
 * @todo validate name and value
 */
function createCookie(name,value,secs,path,domain,secure)
{
	var MINUTE = 60 * 1000
	var HOUR = MINUTE * 60
	var DAY = HOUR * 24
	var WEEK = DAY * 7

    var base = new Date();
    var testDate = base;
    testDate = testDate.toLocaleString();
    testDate = new Date(testDate);
    ZONEERROR = (base.getTimezoneOffset() >= 720) ? DAY : 0;
    DATEADJUSTMENT = testDate.getTime() - base.getTime() - ZONEERROR;
    
    var nowInMS = (new Date().getTime() - (2 * DATEADJUSTMENT));

	var mName = "";
	var mValue = "";
	var mExpire = "";
	var mPath = "";
	var mDomain = "";
	var mSecure = "";
	
	var today = new Date();
	
	if (secs){
		var expireDate = new Date();
		expireDate.setTime(nowInMS + (secs * 1000));
		mExpire = expireDate.toGMTString();
	}else mExpire = "";
	
	if(path){
		mPath = path;
	}else mPath = "";

	if(domain){
		mDomain = domain;
	}else mDomain = "";

	if(secure == 1){
		mSecure = secure;
	}else mSecure = "";
	
	// 
	
	document.cookie = name + "=" +escape( value ) +
	( ( mExpire ) ? ";expires=" + mExpire : "" ) + 
	( ( mPath ) ? ";path=" + mPath : "" ) + 
	( ( mDomain ) ? ";domain=" + mDomain : "" ) +
	( ( mSecure ) ? ";secure="+mSecure : "" );
	
}

function adjustDate() {
    var base = new Date()
    var testDate = base
    testDate = testDate.toLocaleString()
    testDate = new Date(testDate)
    ZONEERROR = (base.getTimezoneOffset() >= 720) ? DAY : 0
    DATEADJUSTMENT = testDate.getTime() - base.getTime() - ZONEERROR
}

function fixDate(date) {
  var base = new Date(0);
  var skew = base.getTime();
  if (skew > 0)
    date.setTime(date.getTime() - skew);
}

function readCookie(name)
{
	var nameEQ = 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 eraseCookie(name)
{
	createCookie(name,"",-1);
}