window.onload = init;

function init(){

	//fix for flash map to enable on load - only for IE
	fls = document.getElementsByTagName("object");
	for (var a = 0; a < fls.length; a++){fls[a].outerHTML = fls[a].outerHTML;}
	
	// fix for jump links not working in IE6
	//08/08/2007 - REMOVED 
	
	/*if (isIE6()) {
		var url = document.location.href;
		if (url.indexOf("#") > -1) {
			var lnk = url.substring(url.indexOf("#") + 1,url.length);
			for (var i = 0; i < document.links.length; i++) {
				if (document.links[i].href == document.location.href) {
					document.links[i].click();
				}
			}
		}
	}*/
	
	/* hide "Go To Top" if parent container is less than 500px high */
	
	if (document.getElementById("contentMain")) {
		var elem = document.getElementById("contentMain");
		var elemHeight = elem.offsetHeight;
		if (elemHeight < 500) {
			var links = document.getElementsByTagName("a");
			for (var i = 0; i < links.length; i++) {
				if (links[i].className == "goToTop") {
					links[i].style.display = "none";
					//links[i].parentElement.style.display = "none";
				}
			}
		}
	}
	
	horizNavSelectedInit(); //change horizontal navigation image for current section to 'on' state
	
	rolloverInit();	//attach image rollover functions to relevant events

	if (document.getElementById("print")) //attach print function to print button
		document.getElementById("print").onclick = function() { window.print();}
	else  
		return false;
		
	if (document.getElementById("close")) //attach close function to close button
		document.getElementById("close").onclick = function() { window.close();}
	else  
		return false;
}

function horizNavSelectedInit(){
	/*
	set image src of nav item which has class of "selected" to the 'on' image
	horizontal nav structure...
	<div id="horizNav">
		<ul>
			<li><a href="#">Nav 1</a></li>
			<li class="selected"><a href="#">Nav 2</a></li>
		</ul>
	</div>
	*/
	if (document.getElementById("horizNav")) {
		var horizNavDiv = document.getElementById("horizNav");
		var horizNavButtons = horizNavDiv.getElementsByTagName("li");
		for (var i=0; i<horizNavButtons.length; i++) {
			if (horizNavButtons[i].className=="selected") {	
				var selectedImage = horizNavButtons[i].childNodes[0].childNodes[0];
				var str = selectedImage.src;
				var source = getOnSrc(str);
				selectedImage.src = source;
			}
		}
	}
}

function getOnSrc(str){
	var term = str.lastIndexOf("/") + 1;
	var url = str.substring(0,term);
	var imgName = str.substring(term,str.length-4);
	var imgExtension = str.substring(str.length-4,str.length);
	return url + imgName + "_on" + imgExtension;
}

//get all images with a class of 'rollover', get the 'on' image and attach it to relevant events*/
function rolloverInit(){
	for (var i=0; i<document.images.length; i++) {
		if (document.images[i].className=="rollover") {
			if (document.images[i].parentNode.parentNode.className!="selected") {
				setupRollover(document.images[i]);
			}
		}
	}
}
function setupRollover(thisImage){
	thisImage.outImage = new Image();
	thisImage.outImage.src = thisImage.src;
	thisImage.onmouseout = rollOut;
	thisImage.overImage = new Image();
	var str = thisImage.outImage.src;	
	var source = getOnSrc(str);
	thisImage.overImage.src = source;
	thisImage.onmouseover = rollOver;
}
function rollOver(){
	this.src = this.overImage.src;
}
function rollOut() {
	this.src = this.outImage.src;
}

//increase text size (mode = '+') or decrease text size (mode = '-') by .1 em
function changeTextSize(mode){
	var maxSize = "1.7";
	var minSize = "0.8";
	var contentMain = document.getElementById("contentMain");
	var currentSize = contentMain.style.fontSize;
	if (!currentSize){
		currentSize = "1.0em";
	}
	currentSize = currentSize.substring(0,currentSize.length-2);
	var newSize
	if ((mode=="+")&&(currentSize<maxSize)){
		newSize = parseFloat(currentSize)+.1;
	}
	else if ((mode=="-")&&(parseFloat(currentSize)>parseFloat(minSize))){
		newSize = parseFloat(currentSize)-.1;
	}
	// try...catch block added by Chris P 01/08/2007 to prevent "undefined" error appearing
	try {
		contentMain.style.fontSize = newSize.toString()+"em";
	} catch(e) {
		// do nothing
	}
}

/*function isIE6() {
	var ie6 = false;
	with (navigator) {
		if (appName.toLowerCase() == "microsoft internet explorer") {
			if (appVersion.toLowerCase().indexOf("msie 6.0") !== -1) {
				ie6 = true;
			}
		}
	}
	return ie6;
}*/

/**************************************************************************************************
Drop down for QBE regional website on the home page of the Group website
**************************************************************************************************/

sfHover = function() 
{

	if(document.getElementById("rollovermenu") != null)
	{
		var sfEls = document.getElementById("rollovermenu").getElementsByTagName("li");
		for (var i=0; i<sfEls.length; i++) 
		{
			sfEls[i].onmouseover=function() 
			{	this.className+=" sfhover";	}
			
			sfEls[i].onmouseout=function() 
			{	this.className=this.className.replace(new RegExp(" sfhover\\b"), ""); }
		}
	}
}

if (window.attachEvent) window.attachEvent("onload", sfHover);
/**************************************************************************************************
End
**************************************************************************************************/

function changeStyle()
{
	var even = false;
	var evenColor = "#fff";
	var oddColor = "#C6E9FF";
	
	if (! document.getElementsByTagName("table"))	return;
		
	var tableObjects = document.getElementsByTagName("table");
	for(var intCounter =0 ; intCounter < tableObjects.length; intCounter++)
	{
		even=false;
		var tableClass = tableObjects[intCounter].className;
		if(tableClass == "Table-Blue-Gray"){
			evenColor = "#F7F7F7";
		}
		if (tableClass == "taglist" || tableClass == "Table-Blue" || tableClass == "Table-Blue-Gray") /* added "Table-Blue" class - Chris P - 25-09-07 */
		{
			var table = tableObjects[intCounter];
			if (! table) { return; }
			var tbodies = table.getElementsByTagName("tbody");
			for(var bodyCount = 0; bodyCount < tbodies.length; bodyCount++)
			{
				var trs = tbodies[bodyCount].getElementsByTagName("tr");
				trs[0].className = "taglistFirstRow";
				for(var i=1; i < trs.length; i++)
				{
					var tds = trs[i].getElementsByTagName("td");
					  // and iterate through them...
					  for (var j = 0; j < tds.length; j++) {
						var mytd = tds[j];
						if (! hasClass(mytd) &&
							! mytd.style.backgroundColor) {
					
						  mytd.style.backgroundColor =
							even ? evenColor : oddColor;
						}
					  }
					  even =  ! even;
				}
				
			}
		}
	}
}

function hasClass(obj) {
     var result = false;
     if (obj.getAttributeNode("class") != null) {
         result = obj.getAttributeNode("class").value;
     }
     return result;
  } 
  

// copied from searchTextValidation.js as part of SS_EXT_FRAGMENTS fragment library breakup

function validateSTField()
{
	if (document.QBE_Search_Box.ssUserText.value.length > 0 )
		{
			document.QBE_Search_Box.submit();
		}
		else
			event.returnValue = false;

	/*if (document.QBE_Search_Box.ssUserText.value.toUpperCase().indexOf("SEARCH") == -1)
	{
				document.QBE_Search_Box.submit();
	}*/
}

function clearText()
{
	if (document.QBE_Search_Box.ssUserText.value.toUpperCase().indexOf("SEARCH") >= 0)
	{
		document.QBE_Search_Box.ssUserText.value = "";
		return true;
	}
}

function checkEnter(){ //e is event object passed from function invocation
	if (event.keyCode == 13)
	{
		if (document.QBE_Search_Box.ssUserText.value.length > 0 )
		{
			document.QBE_Search_Box.submit();
		}
		else
			event.returnValue = false;
	}
}


// ***************************************************************************
// Function for printing
// ***************************************************************************
function includePrintOption()
{
	var url = location.href;
	if (url.indexOf('?') > 0) {
		url = url + "&pp=1";
	} else {
		url = url + "?pp=1";
	}	
	window.open(url,'','scrollbars=1,resizable=yes,top=0,left=0'); 

}

// ***************************************************************************
// Function for printing
// ***************************************************************************
function setWindowSize()
{
	var win_height=screen.height-20;
	var win_width=screen.width-20;
	var win_appearance = "width=" + win_width + ",height=" + win_height + ",top=0,left=10,resizable=yes,location=no,scrollbars=1,status=0,menubar=0,toolbar=no,titlebar=1";
	
	return win_appearance;
}

