jQuery.cookie=function(name,value,options){if(typeof value!='undefined'){options=options||{};if(value===null){value='';options.expires=-1;}
var expires='';if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){var date;if(typeof options.expires=='number'){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000));}else{date=options.expires;}
expires='; expires='+date.toUTCString();}
var path=options.path?'; path='+(options.path):'';var domain=options.domain?'; domain='+(options.domain):'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('');}else{var cookieValue=null;if(document.cookie&&document.cookie!=''){var cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break;}}}
	return cookieValue;
}
};
/*Extended by Allan S. Laustsen*/
var __watchCookieRegistry = [];
(function ($) {
	$.watchCookie = function (cookieName, callback) {
		__watchCookieRegistry[cookieName] = $.cookie(cookieName);
		setInterval(function () {
			var regValue = __watchCookieRegistry[cookieName];
			var val = $.cookie(cookieName);
			if (regValue != null || val != null) {
				//alert('cookieValue:' + val);
				if (val != regValue) {
					// update registry so we dont get triggered again
					__watchCookieRegistry[cookieName] = val;
					if(callback != null) {
						return callback(val);	
					}
				}
				val = null;
			} else {
				__watchCookieRegistry[cookieName] = val;
			}
		}, 100);
	};
})(jQuery);
