So I am using this code to drop a cookie, and having the page redirect if it has already been visited:
<script language="JavaScript"><!--
function Get_Cookie(name) {
var start = document.cookie.indexOf(name+"=");
var len = start+name.length+1;
if ((!start) && (name != document.cookie.substring(0,name.length))) return null;
if (start == -1) return null;
var end = document.cookie.indexOf(";",len);
if (end == -1) end = document.cookie.length;
return unescape(document.cookie.substring(len,end));
}
function Set_Cookie(name,value,expires,path,domain,secure) {
document.cookie = name + "=" +escape(value) +
( (expires) ? ";expires=" + expires.toGMTString() : "") +
( (path) ? ";path=" + path : "") +
( (domain) ? ";domain=" + domain : "") +
( (secure) ? ";secure" : "");
}
function Delete_Cookie(name,path,domain) {
if (Get_Cookie(name)) document.cookie = name + "=" +
( (path) ? ";path=" + path : "") +
( (domain) ? ";domain=" + domain : "") +
";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}
var mainUrl = 'noflash.html';
var days = 365; // valid one year from now
function isCookieEnabled() {
if (document.all) return navigator.cookieEnabled;
Set_Cookie('testcookie',today.getTime());
var tc = Get_Cookie('testcookie');
Delete_Cookie('testcookie');
return (tc == today.getTime());
}
var today = new Date();
var zero_date = new Date(0,0,0);
today.setTime(today.getTime() - zero_date.getTime());
var todays_date = new Date(today.getYear(),today.getMonth(),today.getDate(),0,0,0);
var expires_date = new Date(todays_date.getTime() + (days * 86400000));
var beenHere = Get_Cookie('beenHere');
if (beenHere == 'yes') {
if (document.images) window.location.replace(mainUrl);
else window.location = mainUrl;
}
else if (isCookieEnabled()) Set_Cookie('beenHere','yes', expires_date);
//--></script>
It works fine, I checked the cookies, and it is created, and after visiting the page once, I get redirected, but the problem is the expiration, it says is when the browser is closed, which is not what it should do (1 year from now).
Is the code wrong?