function cookieExpiryDate(numberOfYears) {
	var expiryDate=new Date();
	expiryDate.setFullYear(expiryDate.getFullYear()+numberOfYears);
	return '; expires='+expiryDate.toGMTString();
}
function clearCookie(cookieName) {
		document.cookie=cookieName+'='+cookieExpiryDate(0);
}
function giveCookie(cookieName,cookieDataName,cookieDataValue) {
	var cookieData=document.cookie;
	var cookiePartOne='';
	var cookiePartTwo='';
	var cookieStart=0;
	var cookieEnd=0;
	cookieName+='=';
	cookieDataName='('+cookieDataName+')';
	cookieDataValue=escape(cookieDataValue);
	cookieStart=cookieData.indexOf(cookieName,0);
	if (cookieStart!=-1) {
		cookieStart+=cookieName.length;
		cookieEnd=cookieData.indexOf(';',cookieStart);
		if (cookieEnd==-1) cookieEnd=cookieData.length;
		cookieData=cookieData.substring(cookieStart,cookieEnd);
		cookieStart=cookieData.indexOf(cookieDataName,0);
		if (cookieStart==-1) {
			cookiePartOne=cookieData;
		}
		else {
			cookieEnd=cookieData.indexOf('(',cookieStart+cookieDataName.length);
			if (cookieEnd==-1) cookieEnd=cookieData.length;
			cookiePartOne=cookieData.substring(0,cookieStart);
			cookiePartTwo=cookieData.substring(cookieEnd,cookieData.length);
		}
	}
	if (cookieDataValue=='') cookieDataName='';
	document.cookie=cookieName+cookiePartOne+cookieDataName+cookieDataValue+cookiePartTwo+cookieExpiryDate(1);
}
function takeCookie(cookieName,cookieDataName) {
	var cookieData=document.cookie;
	var cookieStart=0;
	var cookieEnd=0;
	cookieName+='=';
	cookieDataName='('+cookieDataName+')';
	cookieStart=cookieData.indexOf(cookieName,0);
	if (cookieStart==-1) {
		return '';
	}
	else {
		cookieStart+=cookieName.length;
		cookieEnd=cookieData.indexOf(';',cookieStart);
		if (cookieEnd==-1) cookieEnd=cookieData.length;
		cookieData=cookieData.substring(cookieStart,cookieEnd);
		cookieStart=cookieData.indexOf(cookieDataName,0);
		if (cookieStart==-1) {
			return '';
		}
		else {
			cookieStart+=cookieDataName.length;
			cookieEnd=cookieData.indexOf('(',cookieStart);
			if (cookieEnd==-1) cookieEnd=cookieData.length;
			return unescape(cookieData.substring(cookieStart,cookieEnd));
		}
	}
}
