// JavaScript Document

function FindCookieStart(cookieName){
			cookies=document.cookie;
			//alert("Find Start" + cookieName);
			//var startpos = cookieName.indexOf(cookieName);
			startpos = cookies.indexOf(cookieName);
			//alert(cookieName.length);
			startpos = startpos + cookieName.length;
		 //if ((!startpos) && (cookieName != document.cookie.substring(0,cookieName.length))) { startpos  = -1; } 
		 	//alert("Startpos" + startpos);
			return startpos;
	}
	
	function FindCookieEnd(cookieName, startpos)
	{
		cookies=document.cookie;
		//alert("Find End: " + startpos + cookieName);
		//TEST alert(cookies.substring());
		//TEST var text = unescape(cookies.substring(startpos,54));
		//TEST alert("Unescape: " + text);
		var endpos = cookies.indexOf(";", startpos);
		//TEST alert("cookieName.length" + cookieName.length);
		if (endpos == -1){ endpos= cookies.length;}
		//TESTalert("Startpos" + startpos);
		//alert("Endpos to Return: " + endpos);
		return endpos;
	}
	
	
	function CookiesPresentCheck(CookieName)
	{
		//alert("CookieName: " + CookieName);
		var CookiesPresent = "NoCookies";
		var startpos = FindCookieStart(CookieName);
		//TEST alert("startpos" + startpos);
		if (startpos != -1){
			//TEST alert("Cookie Present");
			CookiesPresent = "Present";
			return CookiesPresent;
		}
		else{return CookiesPresent;}
	}
	
	
	
	
	function CheckIfCookiesEnabled()
	{
		//TEST alert("Test Cookies Enabled");
		if (navigator.cookieEnabled){
			//TEST alert("Yes Cookies");
			CookiesEnabled = "YesCookies";
			return CookiesEnabled;
		}
		else {
			//alert("No Cookies");
			CookiesEnabled = "NoCookies";
			return CookiesEnabled;
		}
		
		
	}
	
	//function to check if our cookie exist
	//Note changed function name from DoesOurCookieExist to CookieContainUsefulInfo 22_7_10
	
	function CookieContainUsefulInfo(CookieName, startpos, endpos){
		

		var CookieStatus = "Not Present";
		
	//take into account some browsers do not store ; if only one cookie
		if(endpos != CookieName.length){
			CookieStatus = "Present";
		}
		//alert(CookieStatus);
		return CookieStatus;
		
		
	}
	
	
	function ReadCookieInformation(startpos, endpos)
	{
	//READ ENCODED COOKIE INFORMATION
	//RETURN INFROMATION TO CALLING FUNCTION
		//alert(startpos, endpos);
		
		var cookies = document.cookie;
		//alert(cookies.length);
		if (cookies.length != 0) {
		//alert("Found Cookies");
		 // = CssCookie.substring(startpos,endpos);
		//var Information = cookies.match(   startpos + '=([^;]*)' );
		var Information = cookies.substring(startpos, endpos);
		
		//alert("Information " + Information);
		var ReturnInformation = decodeURIComponent(Information);
		return ReturnInformation;
		}
		
		return;
	
	}
	
	

	
	
function delete_cookie (CookieName)
{
	WriteCookie(CookieName, "", "CookieExpire=Thu, 01-Jan-70 00:00:01 GMT");
	//document.cookie = cookie_name + "" + '; expires=Thu, 01-Jan-70 00:00:01 GMT;';
  	//alert("DELETED");
  	return;
}

function delete_All_cookies()
{
//NEEDS TESTING
	var cookies = document.cookie.split(";");
	for (var i = 0; i < cookies.length; i++)
  eraseCookies(cookies[i].split("=")[0]);

}

function IdentifyCookieClearDate(){
		ExpireDate = new Date();
	    ExpireDate.setMonth(ExpireDate.getMonth() + 11)
		ExpireCookie="CookieExpire=" + ExpireDate.toGMTString();
		//TEST alert("ExpireDate Set" + ExpireDate);
		return ExpireCookie;
		
	}
	
function WriteCookie(CookieName, Information, ExpireCookie, SiteDomain){
	//Add in url details
	
	//Add in cookie domain using path / so covers all domains related to current site
	
	//IF WANT TO ADD SPECIFIC DOMAINS ENABLE BELOW
	//var CookieDomain = ("; domain=" + SiteDomain);	
	//document.cookie= CookieName + encodeURIComponent(Information) + "; " + ExpireCookie + "; path=/" + CookieDomain ;
	//alert("Writing" + CookieName + encodeURIComponent(Information) + "; " + ExpireCookie + "; path=/" + CookieDomain);
	
	document.cookie= CookieName + encodeURIComponent(Information) + "; " + ExpireCookie + "; path=/" ;
	//alert("Writing: " + CookieName + encodeURIComponent(Information) + "; " + ExpireCookie + "; path=/");

				 //alert("Cookie written");
				 return;
				  }



	
	
