var cookiename = '_where_am_i';
var dispatcher = '/dispatcher/RequestDispatcherServlet?url=';


createCookie (cookiename, getPage(), getDomain(), true);

function createCookie (name, value, domain, rewrite) {  
	 
	var defaultpage = (value == null) ? getPage() : value;
	name = (name == null) ? cookiename : name;
	value = defaultpage;
	domain = (domain == null) ? getDomain() : domain;
	rewrite = (rewrite == false) ? false : true;
			
	if ( (rewrite == true) || 
		((rewrite==false) && (getCookie(name) == null)) ) {
	
		setCookie (name, value, null, "/", domain);
	} 	
}

 
function getCookie (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 getCookieVal (j);    
		i = document.cookie.indexOf(" ", i) + 1;    
		if (i == 0) break;   
	}  
	return null;
}

function setCookie (name, value) {  
	var argv = setCookie.arguments;  
	var argc = setCookie.arguments.length;  
	var expires = (argc > 2) ? argv[2] : null;  
	var path = (argc > 3) ? argv[3] : null;  
	var domain = (argc > 4) ? argv[4] : null;  
	var secure = (argc > 5) ? argv[5] : false;  
	document.cookie = name + "=" + value + 
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
	((path == null) ? "" : ("; path=" + path)) +  
	((domain == null) ? "" : ("; domain=" + domain)) +    
	((secure == true) ? "; secure" : "");
		
}
 
function getCookieVal (offset) {  
	var endstr = document.cookie.indexOf (";", offset);  
	if (endstr == -1)    
		endstr = document.cookie.length;  
	return unescape(document.cookie.substring(offset, endstr));
}
 
function getDomain() {

	var domain = document.domain; 
 	return domain; 
}

function getPage() {
	
	var page = document.location.pathname + document.location.search; 
 	return page; 
}

