/**************************************************************** ** Licensed Materials - Property of IBM ** ** IBM Cognos Products: mdsrv ** ** (C) Copyright IBM Corp. 2008, 2010 ** ** US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. *****************************************************************/ //*********************************************************************************************** // Copyright (C) 2008 Cognos ULC, an IBM Company. All rights reserved. // Cognos (R) is a trademark of Cognos ULC, (formerly Cognos Incorporated). // // Component: Cookie Manager //*********************************************************************************************** //--------------------------------------------------------------------- // class CCookieMgr //--------------------------------------------------------------------- function CCookieMgr () { this.isCookieEnabled = function () { return navigator.cookieEnabled; } this.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.toUTCString(); } } this.getCookieVal = function ( offset ) { var endstr = document.cookie.indexOf ( ";", offset ); if ( endstr == -1 ) { endstr = document.cookie.length; } return decodeURI ( document.cookie.substring( offset, endstr ) ); } this.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 ""; } this.setCookie = function ( name, value, expires, path, domain, secure ) { document.cookie = name + "=" + encodeURI( value ) + ( (expires) ? "; expires=" + expires : "" ) + ( (path) ? "; path=" + path : "" ) + ( (domain) ? "; domain=" + domain : "" ) + ( (secure) ? "; secure" : "" ); } this.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"; //HACK: delete the cookie by setting expired expiration date } } }