﻿/* Browser Detection
----------------------------------------------------------------------------- */
var _BROWSER_IS_IE = (document.all && window.ActiveXObject
	 && navigator.userAgent.toLowerCase().indexOf("msie") > -1
	 && navigator.userAgent.toLowerCase().indexOf("opera") == -1);
var _BROWSER_IS_OPERA = (navigator.userAgent.toLowerCase().indexOf("opera") != -1);

/* CookieManager Object
----------------------------------------------------------------------------- */
CookieManager = Class.create();
CookieManager.prototype = {
	userDataForIE: false,
	initialize: function(userDataForIE){
		this.cookieShelfLife = 1;
		this.userDataForIE = userDataForIE;
// 		if (_BROWSER_IS_IE && this.userDataForIE){
// 			this.IE_CACHE_NAME = "storage";
// 			if ($(this.IE_CACHE_NAME) == null){
// 				var div = document.createElement("DIV");
// 				div.id = this.IE_CACHE_NAME;
// 				document.body.appendChild(div);
// 			}
// 			this.store = $(this.IE_CACHE_NAME);
// 			this.store.style.behavior = "url('#default#userData')";
// 		}
	},
	//Get
	getCookie: function(aCookieName){
		var result = null;
// 		if (_BROWSER_IS_IE && this.userDataForIE){
// 		    this.store.load(this.IE_CACHE_NAME);
// 		    result = this.store.getAttribute(aCookieName);
// 		}else{
		    for (var i = 0; i < document.cookie.split('; ').length; i++){
		        var crumb = document.cookie.split('; ')[i].split('=');
		        if (crumb[0] == aCookieName && crumb[1] != null){
		            result = crumb[1];
		            break;
		        }
		    }
//		}
		if (_BROWSER_IS_OPERA && result != null){
		    result = result.replace(/%22/g, '"');
		}
		result = unescape(result);
		return result;
	},
	//Set
	setCookie: function(aCookieName, aCookieValue){
		aCookieValue = escape(aCookieValue);
// 		if (_BROWSER_IS_IE && this.userDataForIE){
// 		    this.store.setAttribute(aCookieName, aCookieValue);
// 		    this.store.save(this.IE_CACHE_NAME);
// 		}else{
			if (_BROWSER_IS_OPERA){
			    aCookieValue = aCookieValue.replace(/"/g, "%22");
			}
			var date = new Date();
			date.setTime(date.getTime() + (this.cookieShelfLife * 24*60*60*1000));
			var expires = '; expires=' + date.toGMTString();
			document.cookie = aCookieName + '=' + aCookieValue + expires + '; path=/';
//		}
	},
	//Clear
	clearCookie: function(aCookieName){
// 		if (_BROWSER_IS_IE && this.userDataForIE){
// 		    this.store.load(this.IE_CACHE_NAME);
// 		    this.store.removeAttribute(aCookieName);
// 		    this.store.save(this.IE_CACHE_NAME);
// 		}else{
		    document.cookie = aCookieName + '=;expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/';
//		}
	}
}