// Noticed that general.js was damaged on 25-Aug-2009
// This is a repaired version of a new copy instance 
// but does not contain all the functions present in 
// the much earler instance of 14-May-2009 which looks 
// as if it contains development functions

//*********************************************//
//** Function to resize the text on the page **//
//*********************************************//
function jsTextResize(mode) {
	var cookieName  = "TextSize"
	var sizeDefault = 12;
	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()  {
  jsCookieWrite("torbay_test_cookies", "123", 365);
  if (jsCookieRead("torbay_test_cookies") == "123") {
    jsCookieWrite("torbay_test_cookies", "123", -365); //Delete the cookie.
	return true;
  } else {
    return false;
  }
}

//*******************************************************//
//** Open customer satisfaction survey in a new window **//
//*******************************************************//
//This code has been minimised down to 4kB including 4 lines in style2.0.6.css. It needs no other changes.
window.onload=openSurvey; //IE6 ignores this
function openSurvey()
{
  if (jsCookiesEnabled() && !jsCookieRead("dont_ask_again"))
  {
    // cookies enabled and not said yes or no within last 365 days
    now=new Date().getTime();
    if (jsCookieRead("datetime_entered"))
    {
      if (now - jsCookieRead("datetime_entered") > 300000)  // use 300000 (5 mins) for real or 180000 (3 mins) for test
      {
        // has datetime_entered cookie and it was some time ago so construct new div d with heading2 and paragraphs
        d=document.createElement('div'); d.setAttribute('id','survey');

        h2=document.createElement('h2'); h2t=document.createTextNode('Website survey'); h2.appendChild(h2t); d.appendChild(h2);

        p2=document.createElement('p'); p2t=document.createTextNode('Please help us improve this site by completing our confidential survey.');
        p2.appendChild(p2t); d.appendChild(p2);

        p3=document.createElement('p'); p3t=document.createTextNode('It takes 5 to 10 minutes and opens in a new window for you to complete');
        p3b=document.createElement('br'); p3t2=document.createTextNode('once you have finished looking at our site.');
        p3.appendChild(p3t); p3.appendChild(p3b); p3.appendChild(p3t2); d.appendChild(p3);

        p4=document.createElement('p'); p4t=document.createTextNode('Would you like to help us?');
        p4.appendChild(p4t); d.appendChild(p4);

        p5=document.createElement('p');
        l1=document.createElement('a'); l1.setAttribute('href',"javascript:takeSurvey('yes')"); l1t=document.createTextNode('Yes'); l1.appendChild(l1t);
        p5.appendChild(l1); 
        l2=document.createElement('a'); l2.setAttribute('href',"javascript:takeSurvey('no')"); l2t=document.createTextNode('No'); l2.appendChild(l2t);
        p5.appendChild(l2);
        l3=document.createElement('a'); l3.setAttribute('href',"javascript:takeSurvey('later')"); l3t=document.createTextNode('Ask me later'); l3.appendChild(l3t);
        p5.appendChild(l3); d.appendChild(p5);

        // find div#BodyText and insert new div before its first div
        bt=document.getElementById('BodyText'); bt.insertBefore(d, bt.getElementsByTagName('div')[0]);

        // set default dont_ask_again cookie so don't ask again for a while if they don't click Yes, No or Ask me later
        expires=new Date(now + 1200000); // 20 minutes (1200000) or 1 minute (60000) for test
        cookie="dont_ask_again=1;path=/;expires="+expires.toGMTString()+";";
        document.cookie=cookie;
      }
      // else do nothing - just wait until datetime_entered was some time ago
    }
    else
    {
      // set datetime_entered cookie (that expires after 30 minutes (1800000) or 5 minutes (300000) for test) so don't ask until some time on the site
      expires=new Date(now + 1800000);
      cookie="datetime_entered=" + now + ";path=/;expires="+expires.toGMTString()+";";
      document.cookie=cookie;
    }
  }
}
function takeSurvey(userWantsSurvey)
{
  if (userWantsSurvey == 'yes')
  {
    var URL = 'http://www.torbay.gov.uk/customersatisfaction';
    popup_cs = open(URL, 'CS', 'screenX=30,screenY=60,height=700,width=1024,scrollbars=yes,toolbar=no');
    popup_cs.blur();
    self.focus();
  }
  document.getElementById('BodyText').removeChild(document.getElementById('survey'));
  if (userWantsSurvey != 'later') jsCookieWrite("dont_ask_again", "1", 365);
}
