if (!cookies_js) { var cookies_js = true // setCookie(): creates a cookie function setCookie(cookieName,expiresMonths) { try { var e = document.getElementById('username') var username = e.value var expirationDate = new Date() var laterMonth if (expiresMonths) { laterMonth = expirationDate.getMonth()+expiresMonths expirationDate.setMonth(laterMonth) // expire in user specified months } // writing to document.cookie will cause it to place this new cookie among the existing ones you've set // you won't overwrite what's there unless you try to assign an empty value to a name and set its expiration to a past date document.cookie = cookieName+ "=" + escape(username) + // no commas, semicolons, spaces allowed in cookie name-value pair ";expires=" + expirationDate.toGMTString() // expires is a special name } catch (err) { } } // unsetCookie(): deletes a cookie function unsetCookie(cookieName) { var pastDate = new Date() pastDate.setTime(pastDate.getTime()-1) // one second before now // overwrite the cookie by assigning a null value and setting expiration to a past date document.cookie = cookieName+"=;expires="+pastDate.toGMTString() // causes the cookie to expire immediately } // getCookie(): retrieves a cookie function getCookie(cookieName) { var startPos, endPos, value var stringToFind = cookieName startPos = document.cookie.indexOf(stringToFind) if (startPos>=0) { startPos += stringToFind.length + 1 // move startPos past the end of "username=" endPos = document.cookie.indexOf(";",startPos) // find the semi-colon separator. begin searching from startPos if (endPos<0) { endPos = document.cookie.length // no semi-colon. i.e. single name-value pair } } value = document.cookie.substring(startPos,endPos) // grab the value out of the string value = unescape(value) // remove the web encoding return value } // getCookie(): retrieves a cookie by way of regular expressions function getCookieRegEx (cookieName) { var results = document.cookie.match ( cookieName + '=([^;])[;]?' ) if (results) { return ( unescape ( results[1] ) ) } return null } } // end run once