var cookieMgr = {
// utility function to retrieve an expiration date in proper
// format; pass three integer parameters for the number of days, hours,
// and minutes from now you want the cookie to expire (or negative
// values for a past date); all three parameters are required,
// so use zeros where appropriate
getExpDate : function(days, hours, minutes) {
var expDate = new Date( );
if (typeof days == "number" && typeof hours == "number" &&
typeof minutes == "number") {
expDate.setDate(expDate.getDate( ) + parseInt(days));
expDate.setHours(expDate.getHours( ) + parseInt(hours));
expDate.setMinutes(expDate.getMinutes( ) + parseInt(minutes));
return expDate.toGMTString( );
}
},
// utility function called by getCookie( )
getCookieVal : function(offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1) {
endstr = document.cookie.length;
}
return decodeURI(document.cookie.substring(offset, endstr));
},
// primary function to retrieve cookie by name
getCookie : function(name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg) {
return this.getCookieVal(j);
}
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return "";
},
// store cookie value with optional details as needed
setCookie : function(name, value, expires, path, domain, secure) {
document.cookie = name + "=" + encodeURI(value) +
((expires) ? "; expires=" + expires : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "");
},
// remove the cookie by setting ancient expiration date
deleteCookie : function(name,path,domain) {
if (this.getCookie(name)) {
document.cookie = name + "=" +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
"; expires=Thu, 01-Jan-70 00:00:01 GMT";
}
}
};
Make use of what is known as encapsulation, an automatic feature of JavaScript objects. Each property or method name you define for an object is private to that object. For example, if you define an object that contains three properties and two methods, the only name that is accessible to other script statements outside of the object is the identifier you use for the entire object. The five names you use for the properties and methods can be used anywhere else without fear of naming conflicts. Access to the internal properties and methods is via the standard objectName. propertyName and objectName.methodName( ) syntax.
Be the first to comment
You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.