function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function haveCookie(name) {
	if(document.cookie.indexOf(name+'=') >= 0) {
		return true;
	}
	else {
		return false;
	}
}

function removeManyCookies(partName) {
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		var tmp = c.split('=');
		if (tmp[0].indexOf(partName) > 0) {
			eraseCookie(tmp[0]);
		}
	}
}

function saveMultipleCookie(cookieName, valName, valContent) {
	if(haveCookie(cookieName)) {
		cookieStr = readCookie(cookieName);
		valStart = cookieStr.indexOf(valName);
		if(valStart >= 0) {
			valEnd = cookieStr.indexOf('#', valStart);
			if(valEnd == -1) {
				valEnd = cookieStr.length;
			}
			valTmp = cookieStr.substr(valStart, valEnd-valStart);
			cookieStr = cookieStr.replace(valTmp, valName+':'+valContent);
			createCookie(cookieName, cookieStr, 360);
		}
		else {
			createCookie(cookieName, cookieStr+'#'+valName+':'+valContent, 360);
		}
	}
	else {
		createCookie(cookieName, valName+':'+valContent, 360);
	}
}

function getMultipleCookieValue(cookieName, valName) {
	if(haveCookie(cookieName)) {
		cookieStr = readCookie(cookieName);
		valStart = cookieStr.indexOf(valName);
		if(valStart >= 0) {
			valEnd = cookieStr.indexOf('#', valStart);
			if(valEnd == -1) {
				valEnd = cookieStr.length;
			}
			valTmp = cookieStr.substr(valStart, valEnd-valStart);
			valArr = valTmp.split(':');
			return valArr[1];
		}
		else {
			return false;
		}
	}
	else {
		return false;
	}
}

function getMultipleCookieAll(cookieName) {
	var returnArr;
	if(haveCookie(cookieName)) {
		cookieStr = readCookie(cookieName);
		valArr = cookieStr.split('#');
		returnArr = new Array();
		for(i=0; i<valArr.length; i++) {
			tmp = valArr[i].split(':');
			returnArr[i] = new Array(tmp[0], tmp[1]);
		}
		return returnArr;
	}
	else {
		return false;
	}
}