function cCookie(serv){
	if (!serv)
		this.server = new cServer();
	else
		this.server = serv;
	this.enabled = this.isEnabled();
}

cCookie.prototype.setSessionCookie = function(name, value) {
	if (this.server.postWait('jCookie.php?setSession', new Array(name), new Array(value))){
		return true;
	}else{
		return false;
	}
}

cCookie.prototype.setCookie = function(name, value, expires) {
	setCookie(name, value, expires);
}


cCookie.prototype.getSessionCookie = function(name) {
	if (this.server.getWait('jCookie.php?getSession='+name)){
		return this.server.response;
	}else{
		return false;
	}
}

cCookie.prototype.getCookie = function(name) {
	return getCookie(name);
}

cCookie.prototype.deleteCookie = function(name) {
	if (this.server.getWait('jCookie.php?deleteSession='+name)){
		return true;
	}else{
		return false;
	}
}


cCookie.prototype.isEnabled = function(){
	this.setJsCookie('test', 'hasCookies');
	if (this.getJsCookie('test') != 'hasCookies')
		return false;
	this.deleteJsCookie('test');
	return true;
}

cCookie.prototype.setJsSessionCookie = function(name, value) {
	setCookie(name, value);
}

cCookie.prototype.getJsSessionCookie = function(name) {
	return getCookie(name);
}

cCookie.prototype.setJsCookie = function(name, value) {
	var today = new Date();
	today.setTime( today.getTime() );
	/* 900 dagar */
	var expires = 900 * 1000 * 60 * 60 * 24;
	var expires_date = new Date( today.getTime() + (expires) );
	setCookie(name, value, expires_date);
}

cCookie.prototype.getJsCookie = function(name) {
	return getCookie(name);
}

cCookie.prototype.deleteJsCookie = function(name) {
	deleteCookie(name);
}



cCookie.prototype.deleteAllJsCookies = function() {
	expireAt = new Date();
	expireAt.setMonth(expireAt.getMonth() - 1);
	if (document.cookie != ""){
		crumbs = document.cookie.split(";");
		for(i=0; i < crumbs.length; i++){
			crumbName = crumbs[i].split("=")[0];
			document.cookie = crumbName + "=;expires=" + expireAt.toGMTString();
		}
	}
	return true;
}



function deleteCookie(name, path, domain) {
  if (getCookie(name) != null) {
    document.cookie = name + "=" +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}

function setCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires.toGMTString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
  document.cookie = curCookie;
}

function getCookie(name) {
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1) {
		begin = dc.indexOf(prefix);
		if (begin != 0) return null;
	} else
		begin += 2;
	var end = document.cookie.indexOf(";", begin);
	if (end == -1)
		end = dc.length;

	if (unescape(dc.substring(begin + prefix.length, end)).length > 0)
		return unescape(dc.substring(begin + prefix.length, end));
	else
		return null;
}
