var initFunctions = Array(0);
function addToOnLoad(functionName)
{
initFunctions[initFunctions.length] = functionName;
}


function init()
{
for (var f = 0;f < initFunctions.length;f++)
	{
	eval(initFunctions[f] + "()");
	}	
}
window.onload=init;
function helpResize()
{
window.resizeTo(545,document.body.scrollHeight+65);
}








// example .. <a href="url" onclick="return openPopup(this.href,'small','pdf')">show pdf</a>
//
// url - required :: this will normally be the href of the <a> tag, use 'this.href' in the html
// size - optional :: this can be one of 3 different set sizes. 'small', 'medium' and 'large' - all need to be passed as a string.
// 					If the string does not match any of constants, and no name is given, the string passed is used for the name.
// name - optional :: this is just a string, use it to allow a link to open in an already open popup (with the same name).
//

function openPopup(url,size,name,secure) {
	//alert(url)
	var a = arguments;
	// if no parameters are given
	if (!url) return false;
	// if no name parameter is given
	if (!name) name = "win"+Math.round(Math.random()*999);
	// check the size parameter
	if (!size) {var sizeStr = "width=310,height=455"; size="medium";}
		else switch(size) {
			case "small" : var sizeStr = "width=310,height=295"; break;
			case "medium" : var sizeStr = "width=310,height=455"; break;
			case "large" : var sizeStr = "width=630,height=455"; break;
			case "morningstar" : var sizeStr = "width=758,height=580"; break;
			case "apply_demo" : var sizeStr = "width=650,height=500,scrollbars=0"; break;
			case "finex" : var sizeStr = "width=530,height=560"; break;
			case "rates" : var sizeStr = "width=768,height=590"; break;
			case "savingsrates" : var sizeStr = "width=778,height=580"; break;
			case "demo" : var sizeStr = "width=628,height=450"; break;
			case "slac_app" : var sizeStr = "width=750,height=600"; break;
			case "product_comparison" : var sizeStr = "width=800,height=600"; break;
			case "opening_hours" : var sizeStr = "width=500,height=430"; break;
			default : var sizeStr = "width=750,height=600";
		}


	// find anchor ref

	var anchor = "";
	if(url) {

		var pos = url.indexOf("#");
		if(pos != -1) {
			anchor = url.substring(pos);
			url = url.substring(0, pos);
		}

		if(url.indexOf("?") != -1){
			sepChar = "&"
		}
		else{
			sepChar = "?"
		}
	}


	if(!secure){
		secure = "no"
	}
	else{secure = "yes"}


	if (size == "morningstar" || size == "finex" || size == "savingsrates"){scrollbars = 'yes'}
	else {scrollbars = 'yes'}



	// open the window

window.open(url+sepChar+'size='+size+anchor,name,"directories=no,location=no,menubar=no,resizable=no,scrollbars=" + scrollbars + ",status="+ secure +",toolbar=no,"+sizeStr);
	// this returns false so that the href is not processed in the original <a> tag.
	return false;
}








// add to fav code

function setCookie ( name, value, expires, path, domain, secure ) {
var today=new Date();
today.setTime(today.getTime());
if (expires) {
expires=expires*1000*60*60*24;
}
var expiresDate=new Date(today.getTime()+(expires));
document.cookie=name+"="+escape(value)+((expires) ?";expires="+expiresDate.toGMTString() : "" ) + ((path) ? ";path="+path:"")+ ((domain) ? ";domain=" + domain : "" ) + ((secure) ? ";secure" : "" );
}

function getCookie (name) {
var start=document.cookie.indexOf(name+"=");
var len=start+name.length+1;
if (( !start ) && ( name !=document.cookie.substring(0,name.length))) {
return null;
}
if (start == -1 ) return null;
var end=document.cookie.indexOf(";",len);
if (end==-1) end=document.cookie.length;
return unescape(document.cookie.substring(len,end));
}

function deleteCookie (name, path, domain) {
if (getCookie(name)) document.cookie=name+"="+ ((path) ? ";path="+path : "") + ((domain) ? ";domain="+domain : "") + ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

function addToFavourites(pageToAdd,cookieName) {
var pageList=getCookie(cookieName);
if (pageList==null) {
pageList=pageToAdd 
} else {
pageList+=","+pageToAdd
}
setCookie(cookieName,pageList,1000,'/','','');
window.location.reload()
}

function clearFavourites(cookieName) {
deleteCookie(cookieName,'/','');
window.location.reload()
}

function deleteThis(which,cookieName) {

    var favs=getCookie('favouriteList')
    var favsArray=new Array();
	var newValue=""
	var firstTime=true;
	var noneLeft=false;
    favsArray=favs.split(",");
	for (i=0;i<favsArray.length;i++) {	
		if (favsArray.length==1) {
			noneLeft=true
		} else {
		if (i!=which) {
			if (firstTime) {
				newValue+=favsArray[i]
				firstTime=false;
			} else {
				newValue+=","+favsArray[i]
			}
		}
		}
	}
	if (noneLeft) { 
	deleteCookie(cookieName,'/',''); 
	} else { 
	setCookie(cookieName,newValue,1000,'/','','');
	}
	window.location.reload()	
		
}

function moveDown(which,cookieName) {
    var favsD=getCookie('favouriteList')
    var favsDArray=new Array();
	var newValue=""
	var firstTime=true;	
    favsDArray=favsD.split(",");
	for (i=0;i<favsDArray.length;i++) {	
		if (i==which) {
			if (which==0) {
				if (favsDArray.length > 2) {
					newValue+=favsDArray[1]+","+favsDArray[0]+","
				} else {
					newValue+=favsDArray[1]+","+favsDArray[0]
				}
			} else {
				if ((which+1)==(favsDArray.length-1)) {
					newValue+=","+favsDArray[i+1]+","+favsDArray[i]
				} else {				
					newValue+=","+favsDArray[i+1]+","+favsDArray[i]	
				}
			}	
			i++
		} else {
			if (firstTime) {
				newValue+=favsDArray[i]
				firstTime=false;
			} else {
				newValue+=","+favsDArray[i]
			}		
		}
	}
	setCookie(cookieName,newValue,1000,'/','','');
	window.location.reload()		
		

}

function moveUp(which,cookieName) {
    var favsD=getCookie('favouriteList')
    var favsDArray=new Array();
	var newValue=""
	var firstTime=true;	
    favsDArray=favsD.split(",");
	for (i=0;i<favsDArray.length;i++) {	
		if (i==(which-1)) {
			if (i==0) {
				if (favsDArray.length==2) {
					newValue=favsDArray[1]+","+favsDArray[0]
				} else {
					newValue=favsDArray[1]+","+favsDArray[0]+","
				}
			} else {
				newValue+=","+favsDArray[which]+","+favsDArray[i]
			}
			i++
		} else {
			if (firstTime) {
				newValue+=favsDArray[i]
				firstTime=false;
			} else {
				newValue+=","+favsDArray[i]
			}		
		}		
		
	}
	setCookie(cookieName,newValue,1000,'/','','');
	window.location.reload()		
		

}

function moreDetails(which,cookieName) {
	detailsBox.style.display=""
    var favs=getCookie('favouriteList')
    var favsArray=new Array();
    favsArray=favs.split(",");
	var pageURL=favsArray[which].substring(0,favsArray[which].indexOf("|"))
	var pageTitle=favsArray[which].substring(favsArray[which].indexOf("|")+1,favsArray[which].length-2)	
	changeTitle.value=pageTitle
	whichEntry.value=which
}

function saveDetails(pageTitle,browserFave,newWindow,whichOne) {

    var favs=getCookie('favouriteList')
    var favsArray=new Array();
	var newValue=""
	var firstTime=true;
	var noneLeft=false;
    favsArray=favs.split(",");
	for (i=0;i<favsArray.length;i++) {	
		if (i==whichOne) {
			var pageURL=favsArray[i].substring(0,favsArray[i].indexOf("|"))
			if (i==0) {
				newValue+=pageURL+"|"+pageTitle+"|"
			} else {
				newValue+=","+pageURL+"|"+pageTitle+"|"
			}
			if (newWindow) {
				newValue+="1"
			} else {
				newValue+="0"
			}				
			if (browserFave) {
				window.external.addFavorite(pageURL,pageTitle)
			}
			} else {
			if (i==0) {
				newValue+=favsArray[i]
				firstTime=false;
			} else {
				newValue+=","+favsArray[i]
			}		
		}			
	}

	setCookie('favouriteList',newValue,1000,'/','','');
	detailsBox.style.display="none"
	window.location.reload()	
		
}




