
//FONT PREFERENCES SCRIPTS

testMode = false;
var prefsLoaded = false;
var currentFontSize = 0;

function changeFontSize(sizeDifference){
	currentFontSize = parseInt(currentFontSize) + parseInt(sizeDifference);
	
	
		if(currentFontSize > 3){
			
			currentFontSize = 3;
		}
		else if(currentFontSize<-2){
			currentFontSize = -2;
		}
	
	setFontSize(currentFontSize);
}


function setFontSize(fontSize){

	currentFontSize = fontSize;
	
	var stObj = (document.getElementById) ? document.getElementById('body') : document.all('Content');
	var stObj = document.body;
	var fontSizeAdjust = fontSize;
	
	
	if(fontSizeAdjust <= -3){
		stObj.style.fontSize = "85%";
	}else if(fontSizeAdjust == -2){
		stObj.style.fontSize = "90%";
	}else if(fontSizeAdjust == -1){
		stObj.style.fontSize = "95%";
	}else if(fontSizeAdjust == 0){
		stObj.style.fontSize = "100%";
	}else if(fontSizeAdjust == 1){
		stObj.style.fontSize = "115%";
	}else if(fontSizeAdjust == 2){
		stObj.style.fontSize = "135%";
	}else if(fontSizeAdjust >= 3){
		stObj.style.fontSize = "150%";
	}
	
	setFontImage(fontSize);
	
}


function setFontImage(fontSize){
	if(fontSize <= -1){		
		try{
			document.getElementById("fontSizeS").className = "fontResizerOuter_selected";
			document.getElementById("fontSizeM").className = "fontResizerOuter";
			document.getElementById("fontSizeL").className = "fontResizerOuter";
			document.getElementById("fontSizeXL").className = "fontResizerOuter";
			document.getElementById("globalnav").style.lineHeight = "18px";
			setLineHeight("18px");
		}catch(e){ }
	}
	else if(fontSize == 0){		
		try{
			document.getElementById("fontSizeS").className = "fontResizerOuter";
			document.getElementById("fontSizeM").className = "fontResizerOuter_selected";
			document.getElementById("fontSizeL").className = "fontResizerOuter";
			document.getElementById("fontSizeXL").className = "fontResizerOuter";
			document.getElementById("globalnav").style.lineHeight = "20px";
			setLineHeight("20px");
		}catch(e){ }
	}else if(fontSize == 1){	
		try{				
			document.getElementById("fontSizeS").className = "fontResizerOuter";
			document.getElementById("fontSizeM").className = "fontResizerOuter";
			document.getElementById("fontSizeL").className = "fontResizerOuter_selected";
			document.getElementById("fontSizeXL").className = "fontResizerOuter";
			document.getElementById("globalnav").style.lineHeight = "28px";
			setLineHeight("22px");
		}catch(e){ }
	}else if(fontSize >= 2){	
		try{		
			document.getElementById("fontSizeS").className = "fontResizerOuter";
			document.getElementById("fontSizeM").className = "fontResizerOuter";
			document.getElementById("fontSizeL").className = "fontResizerOuter";
			document.getElementById("fontSizeXL").className = "fontResizerOuter_selected";
			document.getElementById("globalnav").style.lineHeight = "33px";
			setLineHeight("26px");
		}catch(e){ }
	}
	
}

function setLineHeight(val){
	//document.getElementById("globalnav").style.lineHeight = val;
	//document.getElementById("globalnavUl").style.lineHeight = val;
	document.getElementById("top-business").style.lineHeight = val;
	document.getElementById("top-community").style.lineHeight = val;
	document.getElementById("top-environment").style.lineHeight = val;
	document.getElementById("top-leisure").style.lineHeight = val;
	document.getElementById("top-yourcouncil").style.lineHeight = val;
	document.getElementById("top-news").style.lineHeight = val;
	document.getElementById("top-doit").style.lineHeight = val;
	document.getElementById("top-custserv").style.lineHeight = val;	
}

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 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 setUserFontOptions(){
	if(!prefsLoaded){

		cookie = readCookie("hartTextSize");
		currentFontSize = cookie ? cookie : 0;
		setFontSize(currentFontSize);
		
		prefsLoaded = true;
	}

}


window.onunload = saveUserFontOptions;

function saveUserFontOptions()
{
  createCookie("hartTextSize", currentFontSize, 365);
}



//EXTERNAL LINK TARGET ADJUSTER (NON HART.GOV.UK/JAVASCRIPT LINKS LAUNCH IN NEW WINDOW)

window.onload = onPageLoad;

function onPageLoad(){
	for(var i=0;i<document.links.length;i++){
		try{
			if(document.links[i].href.toLowerCase().indexOf("hart.gov.uk") == -1 && document.links[i].href.toLowerCase().indexOf("javascript") == -1)
				void(document.links[i].target='_blank');
			else if( testMode )
				void(document.links[i].href=document.links[i].href +'?mode=test');
		}catch(e)
		{
		}
	}
	
	
	if(document.location.href.toLowerCase().indexOf("staging.hart.gov.uk") != -1 && document.location.href.toLowerCase().indexOf("?debug=") != -1 )
	{	
		insertHelpLinks();
	}
	
}


//SEARCH BOX FOCUS SCRIPTS

function searchFocus(){
	try{
		if(document.googleForm.q.value == "Search this site"){
			document.googleForm.q.value = "";
		}
	}
	catch(e){
	}
}   
function searchBlur(){
	try{
		if(document.googleForm.q.value == ""){
			document.googleForm.q.value = "Search this site";
		}
	}
	catch(e){
	}
}  

//ADD TO FAVOURITES (PAGE TOOLS LINK) SCRIPT

function addtofav(linkUrl,linkTitle){ 
	try{
  		if (document.all) 
     		window.external.AddFavorite(linkUrl, linkTitle); 
   		else 
      		alert("Sorry. This function only works in Internet Explorer. You need to bookmark this yourself e.g. Netscape: Press (Ctrl-D) on you keyboard."); 
	}
	catch(e){
	}
} 


//RIGHT HAND AREA HIDE IF EMPTY SCRIPT

function hideEmptySection(section){
	try{
		if(document.getElementById(section).innerHTML == ""){
			document.getElementById(section + "Wrapper").style.display = "none";
			//document.getElementById(section).style.display = "none";
			//document.getElementById(section + "heading").style.display = "none";
			//document.getElementById(section + "Info").style.display = "none";
		}
		
	}
	catch(e){
	}
}



//SEE ALSO CHILD LINK AUTO GENERATOR

function insertSeeAlsoChildLinks(){
	try{
		var html = document.getElementById('htmlHolder').innerHTML;
		var warn = "";
		if(document.location.href.toLowerCase().indexOf("staging.hart.gov.uk") != -1 && document.location.href.toLowerCase().indexOf("?debug=") != -1 )
			warn = "<p style='margin-top: 3px; margin-bottom: 5px; color: gray; font-size: 80%;'>Auto added child links:</p>";
		if(html != "")
			document.getElementById('seealso').innerHTML = document.getElementById('seealso').innerHTML + warn + "<ul>" + html + "</ul>";
	}catch(e){
	}
}


//############ STAGING ONLY SCRIPTS ##############

//HACK TO ENSURE ACTIONS BOX OK BUTTON IS SHOWN

function stretchIfActionBtns()
{
	if(document.location.href.toLowerCase().indexOf("staging.hart.gov.uk") != -1 && document.location.href.toLowerCase().indexOf("#cmo-actions") != -1 )
	{
		document.getElementById("rightcol").style.width = "300";
	}
}


// HELP DOCUMENTATION SCRIPTS

function insertAfter(parent, node, referenceNode) {
  parent.insertBefore(node, referenceNode.nextSibling);
}


function insertHelpLinks()
{
	try
	{
		linkarr = document.getElementById('contentcontact').getElementsByTagName('a');
		var goodContact = 'false';
		for(var i=0;i<linkarr.length;i++)
		{
			try{
				if( linkarr[i].getElementsByTagName('img')[0].title.indexOf('Click this icon for actions') != -1 && linkarr[i].getElementsByTagName('img')[0].src.indexOf('typeicontext') != -1 )
				{
					try{
						/*
						var myLink = document.createElement("<a href=\"Javascript:openHelp(\'help_document.htm\');\"></a>");
						var myImg = document.createElement("<img border='0' src='help.gif' alt='Click this icon for context specific help>");
						myLink.appendChild( myImg );
	 					insertAfter( document.getElementById('contentcontact'), myLink, linkarr[i] );
						 */
					}
					catch(e){ }
				}
				if( linkarr[i].getElementsByTagName('img')[0].alt.toLowerCase().indexOf('name: contact') != -1 )
					goodContact = 'true';
			
			}catch(e){}
		}
	
	var dahtml = '<div style=\'padding-bottom: 6px; color: red;\'>A contact has not been added or is in an incorrect format</div>';
	
	if(goodContact!='true')
		document.getElementById('contentcontact').innerHTML = dahtml +  document.getElementById('contentcontact').innerHTML;
		
	}catch(e){}

}




function openHelp(url)
{
		var dahtml = '<iframe id=\'help_iframe\' src=\'' + url +'\' width=\'400px\' height=\'300px\' marginwidth=\'0\' marginheight=\'0\' hspace=\'0\' vspace=\'0\' frameborder=\'4\' scrolling=\'no\' style=\'position: absolute; padding: 5px; left: 250px; top: 200px; border: 4px solid gray;\'></iframe>';
		
		//PS: The div contentcontact is picked at random
		document.getElementById('contentcontact').innerHTML = dahtml +  document.getElementById('contentcontact').innerHTML;
				
}





