//*********************************************//
//** Function to resize the text on the page **//
//*********************************************//
function jsTextResize(mode) {
	var cookieName  = "TextSize"
	var sizeDefault = 10;
	var sizeNow, sizeNew;
	
	if (document.getElementsByTagName) {
		// Get the necessary nodes...
		var elHTML = document.getElementsByTagName("html")[0];
		var elBody = document.getElementsByTagName("body")[0];
		// Get the current text size...
		sizeNow = parseInt(jsTextSize(elBody));
		if (!sizeNow) sizeNow = sizeDefault;
		// Process according to the specified mode...
		switch (mode) {
			case "reduce":
				sizeNew = sizeNow - 1;
				break;
			case "enlarge":
				sizeNew = sizeNow + 1;
				break;
			case "reset":
				// Reset the size to the default
				sizeNew = sizeDefault;
				break;
			default:
				// Called onLoad to set the value to the cookie value...
				try {sizeNew = parseInt(jsCookieRead(cookieName));}
				catch (e) {alert(e);}
				if (!sizeNew || isNaN(sizeNew)) sizeNew = sizeDefault;
				break;
		}
		// Set the Font Sizes...
		var sizeNewString = sizeNew + "pt";
		elHTML.style.fontSize = sizeNewString;
		elBody.style.fontSize = sizeNewString;
		//Write the Cookie to store the value...
		jsCookieWrite(cookieName, sizeNew, 365);
	}
}


//**********************************************//
//** Function to return the current font size **//
//**********************************************//
function jsTextSize(el) {
	var size = 0;
	if (el.style && el.style.fontSize) size = el.style.fontSize;
	else if (typeof(getComputedStyle) != 'undefined') size = getComputedStyle(el, '').getPropertyValue('font-size');
	else if (el.currentStyle) size = el.currentStyle.fontSize;
	// May return "XX" or "XXpt", so trim the alpha-characters...
	if (isNaN(size)) {
		for (var end = size.length - 1; end >= 0; end--) {
			if (!isNaN(size.substr(end, 1))) break;
		}
		size = size.substr(0, ++end);
	}
	return (isNaN(size) ? null : size);
}


//************************************************//
//** Function to write a new client-side Cookie **//
//************************************************//
function jsCookieWrite(name, value, daysToExpiry) {
	if (name && value) {
		var cookie = name + "=" + value + ";path=/;";//domain=.torbay.gov.uk;";
		if (daysToExpiry) {
			if (isNaN(daysToExpiry)) days = 365;
			var expires = new Date((new Date()).getTime() + (daysToExpiry * 24 * 60 * 60 * 1000));
			cookie += "expires=" + expires.toGMTString() + ";";
		}
		document.cookie = cookie;
	}
}


//*******************************************//
//** Function to read a client-side Cookie **//
//*******************************************//
function jsCookieRead(name) {
	var value = null;
	var reg = new RegExp("\\b" + name + "\\b");
	var cookies = document.cookie.split(";");
	for(var i = 0; i < cookies.length; i++) {
		var cookie = cookies[i].split("=");
		if (reg.test(cookie[0])) {
			value = cookie[1];
			break;
		}
	}
	return value;
}

//*******************************************************//
//** Function to check client-side cookies are enabled **//
//*******************************************************//
function jsCookiesEnabled()  {
  setCookie("torbay_test_cookies", "123", 365);
  if (getCookie("torbay_test_cookies") == "123") {
    setCookie("torbay_test_cookies", "123", -365); //Delete the cookie.
	return true;
  } else {
    return false;
  }
}
