This script works fine, but it saves cookies only when the navigator is open. Closing it, the cookies stop to save. How to resolve this?
thanks...
Code:
<html>
<head>
<script type="text/javascript">
function getCookieVal(offset) {
endstr = document.cookie.indexOf (";", offset)
if(endstr == -1) endstr = document.cookie.length
return unescape(document.cookie.substring(offset, endstr))
}
function GetCookie(name) {
arg = name + "="
alen = arg.length
clen = document.cookie.length
var i = 0
while (i < clen) {
j = i + alen
if(document.cookie.substring(i, j) == arg) return getCookieVal(j)
i = document.cookie.indexOf(" ", i) + 1
if(i == 0) break
}
return null
}
function SetCookie (name, value, per, exp) {
cstr = name + "=" + escape(value) + ";"
if(per){
addtime=(exp>0) ? exp : 31536000000
expdate = new Date()
expdate.setTime(expdate.getTime() + addtime)
expdate = expdate.toGMTString()
cstr+=" expires=" + expdate
}
document.cookie = cstr
}
function DeleteCookie(name) {
exp = new Date()
exp.setTime (exp.getTime() - 1)
cval = GetCookie(name)
if(cval != null)
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString()
}
function setDisplay(div,disp)
{
if (disp!=null)
div.style.display=disp;
}
function expandCollapse(id)
{
var data=id.split(':');
var div = document.getElementById(data[0]);
if (div.style.display=='none')
{
div.style.display='block';
SetCookie(id,'block');
}
else
{
div.style.display='none';
SetCookie(id,'none');
}
return false;
}
function setState(pageID)
{
var div;
var i=1;
while (div=document.getElementById('Div'+(i++)))
setDisplay(div,GetCookie(div.id+':'+pageID));
}
</script>
</head>
<body onload="setState('page1')">
<p>
<a href="#" onclick="return expandCollapse('Div1:page1')">Expand/Collapse</a>
<div id ="Div1" style="display:block;">Div1 content</div>
</p>
<p>
<a href="#" onclick="return expandCollapse('Div2:page1')">Expand/Collapse</a>
<div id ="Div2" style="display:block;">Div2 content</div>
</p>
<p>
<a href="#" onclick="return expandCollapse('Div3:page1');">Expand/Collapse</a>
<div id ="Div3" style="display:block;">Div3 content</div>
</p>
</body>
</html>