function resetScrollPos(strPageName)
{
    deleteCookie(strPageName + "scrollPosX");
    deleteCookie(strPageName + "scrollPosY");
/*
    var expiry = new Date();
    expiry.setHours(23, 59, 59, 999);
 
	setCookie(strPageName + "scrollPosX", 0, expiry);
	setCookie(strPageName + "scrollPosY", 0, expiry);
*/
}

function restoreScrollPos(strPageName, elementid)
{
    //recover the previous scroll poition from the cookie
    var posX = 0;
    var posY = 0;
    
    if (getCookie(strPageName + "scrollPosX"))
    {
		posX = parseInt(getCookie(strPageName + "scrollPosX"));
    }
    
    if (getCookie(strPageName + "scrollPosY"))
    {
		posY = parseInt(getCookie(strPageName + "scrollPosY"));
    }
    //destroy the cookie
    deleteCookie(strPageName + "scrollPosX");
    deleteCookie(strPageName + "scrollPosY");
    //scroll to the recovered position
    if (elementid)
    {
		if (document.getElementById(elementid))
		{
			document.getElementById(elementid).scrollTop = posY;
			document.getElementById(elementid).scrollLeft = posX;
		}
	}
	else
	{
		window.scroll(posX, posY);
	}

    return true;
}
//save the scroll poition to the cookie (set expire to small value)
function saveScrollPos(strPageName, elementid)
{
    var expiry = new Date();
    expiry.setHours(23, 59, 59, 999);
    if (elementid)
    {
		if (document.getElementById(elementid))
		{
			setCookie(strPageName + "scrollPosX", window.document.getElementById(elementid).scrollLeft, expiry);
			setCookie(strPageName + "scrollPosY", window.document.getElementById(elementid).scrollTop, expiry);
		}
	}
	else
	{
		setCookie(strPageName + "scrollPosX", window.document.body.scrollLeft, expiry);
		setCookie(strPageName + "scrollPosY", window.document.body.scrollTop, expiry);
	}
}


//=====================================================
// Cookies
//=====================================================
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;

    return unescape(dc.substring(begin + prefix.length, end));
}

function deleteCookie (name)
{
    var exp = new Date();
    exp.setTime (exp.getTime() - 1);
    // This cookie is history
    var cval = getCookie (name);
    if (getCookie(name))
    {
		document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
    }
}