var HW = {
	log:function(a) {
		if(window.console) {window.console.log(a);return true;}
		return false;
	},
	error:function(e) {
		if(window.console) {window.console.error(e);}
		else {alert(e);}
	},
	getElementsByClassName:function(cls,n,t)
	{
		var rtn = [];
		n=n===null?document:n;
		t=t===null?'*':t;
		var els = n.getElementsByTagName?n.getElementsByTagName(t):document.all;
		els = (!els||!els.length) && document.all?document.all:els;
		if(cls==null){return els;}
		for (var i=0,j=0; i<els.length;i++) {
			if(this.hasClass(els[i],cls)) {
				rtn[j++] = els[i];
			}
		}
		return rtn;
	},
	attachEvent:function(obj,evt,fnc)
	{
		if(window.addEventListener) {obj.addEventListener(evt, fnc, false);}
		else if(window.attachEvent) {obj.attachEvent('on'+evt, fnc);}
		else if (obj.getElementById && evt=='load') {obj.onload = fnc;}
	},
	preventDefault:function(e) {
		e=e||window.event;
		if(e.preventDefault) {e.preventDefault();}
		else {e.returnValue = false;}
	},
	cancelBubble:function(e) {
		e=e||window.event;
		if(e.stopPropogation) {e.stopPropogation();}
		else {e.cancelBubble = true;}
	},
	extendObject:function(d,s)
	{
		d=d===null?new Object():d;
		for (p in s) {d[p] = s[p];}
		return d;
	},
	addClass:function(o,c)
	{
		if (!this.hasClass(o,c)){
			if (o.className == "") {o.className = c;}
			else {o.className += " " + c;}
		}
	},
	hasClass:function(o,c)
	{
		var p = new RegExp("(^| )" + c + "( |$)");
		if (p.test(o.className)) {return true;}
		return false;
	},
	removeClass:function(o,c)
	{
		var p = new RegExp("(^| )" + c + "( |$)");
		o.className = o.className.replace(p, "$1");
		o.className = o.className.replace(/ $/, "");
	},
	setFade:function(o,n)
	{
		var agt = navigator.userAgent.toLowerCase();
		if((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1)) {
			if (n == 100) o.style.filter = "";
			else if (n < 0) o.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=0);";
			else o.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity="+ Math.round(n) + ");";
		}
		else {			
			o.style.MozOpacity = (Math.round(n) / 100);
			o.style.opacity = (Math.round(n) / 100);
		}
		o.alpha = n;
	},
	fadeTo:function(elm,to,time,c) {
		if(elm.alpha === undefined) {elm.alpha = 100;}
		var df = to - elm.alpha;
		for(var i=1;i<=20;i++) {
			(function(){
				var al = elm.alpha;
				var j=i;
				setTimeout(function(){
					HW.setFade(elm,al + j*df/20);
				},j*time/20);
			})()
		}
		if(c) {
			setTimeout(function(){
				c();
			},time);
		}
	},
	getPosition:function(e) {
		var p = {x:0,y:0}
		while(e) {
			p.x += e.offsetLeft;
			p.y += e.offsetTop;
			e = e.offsetParent;
		}
		return p;
	},
	setStyle:function(o,s) {
		for(i in s) {
			o.style[i] = s[i];
		}
	},
	getStyle:function(o) {
		if(o.currentStyle) {return o.currentStyle;}
		else if(window.getComputedStyle) {return window.getComputedStyle(o,null);}
	},
	setCookie:function(n,v,d) {
		if (d) {
			var date = new Date();
			date.setTime(date.getTime()+(d*24*60*60*1000));
			var ex = "; expires="+date.toGMTString();
		}
		else {var ex = "";}
		document.cookie = n+"="+v+ex+"; path=/";
	},
	getCookie:function(name) {
		var n = 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(n) == 0) return c.substring(n.length,c.length);
		}
		return null;
	},
	clearCookie:function(name) {
		this.setCookie(name,"",-1);
	}
}


var version = navigator.appVersion;
var MSIE = version.indexOf('MSIE');
var MSIEVersionNumber = 0.0;
if (MSIE != -1) MSIEVersionNumber = parseFloat(version.substr(MSIE + 4, 5));

function $(id) {
	return document.getElementById(id);
}
function $$(c,o,t) {
	return HW.getElementsByClassName(c,o,t);
}

function log(a) {
	if(window.console) {window.console.log(a);}
}

//cls = class
//n = node
//t = tag
document.getElementsByClassName = function(cls,n,t)
{
	var rtn = [];
	n=n===null?document:n;
	t=t===null?'*':t;
	var els = n.getElementsByTagName ? n.getElementsByTagName(t) : document.all;
	els = (!els||!els.length ) && document.all ? document.all : els;
	if(cls==null){return els;}
	for (var i=0,j=0; i < els.length; i++)
	{
		if(els[i].className.match("(^|\\s)"+cls+"(\\s|$)"))
		{
			rtn[j++] = els[i];
		}
	}
	return rtn;
};

	function jsfAttachEvent(obj,evt,fnc)
	{
		if(window.addEventListener)
		{
			obj.addEventListener(evt, fnc, false);
		}
		else if(window.attachEvent)
		{
			obj.attachEvent('on'+evt, fnc);
		}
		else if (obj.getElementById && evt=='load')
		{
			obj.onload = fnc;
		}
	}

	function jsfOnLoadHideElements(jh)
	{
		var jhs = document.getElementsByClassName(jh,null,null);
		for(var i=0; i<jhs.length; i++)
		{
			jhs[i].style.display="none";
		}
	}

	function jsfOnLoadShowElements(js)
	{
		var jhs = document.getElementsByClassName(js,null,null);
		for(var i=0; i<jhs.length; i++)
		{
			jhs[i].style.display="";
		}
	}

	//extend an object with addition methods/properties
	function jsfExtendObject(d, s)
	{
		for (p in s)
		{
			d[p] = s[p];
		}
		return d;
	}
	
	function jsfSwapText(elements)
	{
		var elms = document.getElementsByClassName(elements,document,"A");		
		
		for(var i=0; i<elms.length; i++)
		{
			elms[i] = jsfExtendObject(elms[i],
				{
					onclick:function()
					{
					//for(var j=0; j<elms.length; j++)
					//	{
							if (elms[i].innerHTML == "Show more") {
								elms[i].innerHTML = "Show less";
							} else if
								(elms[i].innerHTML == "Show less") {
								elms[i].innerHTML = "Show more";
							}
					//	}
					}
				}
			);
		}
	}

var firstLoad = true;
var ShowMoreOrLess =
{		
	init:function( triggerClassName, elementsToHideClassName )
	{
		this.triggerClassName = triggerClassName;
		this.elementsToHideClassName = elementsToHideClassName;
		var triggerObjArray = document.getElementsByClassName(triggerClassName,document,"A");
		this.assignEventHandlers( triggerObjArray );
		this.hideAll();
	},
	assignEventHandlers: function( elementsArray )
	{
		for( var i=0; i<elementsArray.length; i++ )
		{
			jsfAttachEvent(elementsArray[i],"click",this.clickHandler);
			elementsArray[i].hidden = true;
			elementsArray[i].superGran = elementsArray[i].parentNode.parentNode;
		}
	},
	clickHandler: function( event )
	{
		var thisHandle = this;
		if( event.srcElement )
		{
			thisHandle = event.srcElement;
		}
		//alert(thisHandle.superGran.className);
		if( thisHandle.hidden )
		{
			//alert("show"+ thisHandle.superGran.className);
			//show the elements you want to show
			var liArray = document.getElementsByClassName(ShowMoreOrLess.elementsToHideClassName,thisHandle.superGran,"LI");
			//alert(thisHandle.superGran.childNodes.length);
			for( var z=0; z<liArray.length; z++ )
			{
				liArray[z].style.display = "";
			}
			//change the text
			thisHandle.innerHTML = "Show less";
			thisHandle.hidden = false;
		}
		else
		{
			//alert("hide");
			//hide the elements you want to hide
			var liArray = document.getElementsByClassName(ShowMoreOrLess.elementsToHideClassName,thisHandle.superGran,"LI");
			for( var z=0; z<liArray.length; z++ )
			{
				liArray[z].style.display = "none";
			}
			//change the text
			thisHandle.innerHTML = "Show more";
			thisHandle.hidden = true;
		}
		
		if( event.preventDefault )
		{
			event.preventDefault();
		}
		
		if ( event.returnValue ) 
		{
			event.returnValue = false;
		}
		
		return false;
		
	},
	hideAll: function()
	{
		//hide all the elements you want to hide on first load
		var liArray = document.getElementsByClassName(ShowMoreOrLess.elementsToHideClassName,document,"LI");
		for( var z=0; z<liArray.length; z++ )
		{
			liArray[z].style.display = "none";
		}
	}
}

function jsfOnLoadAttachHideShow(trg,hsi,hse,caf,imp,imm,sht,hdt,shd,ca2)
{
	//get all raw triggers
	var tgs = document.getElementsByClassName(trg,document.body,"input");
	tgs = tgs.concat(document.getElementsByClassName(trg,document.body,"select"));
	tgs = tgs.concat(document.getElementsByClassName(trg,document.body,"option"));
	
	//get all raw elements
	var elm = document.getElementsByClassName(hse,document.body,"div");
	elm.concat(document.getElementsByClassName(hse,document.body,"span"));

	//for all the raw triggers with/without numbers
	var reg = new RegExp("(^|\\w*)"+hsi+"(\\d*|([\\w* ]))");
	var reg2 = new RegExp("(^|\\w*)"+caf+"(\\d*|([\\w* ]))");
	
	//set up hide/show element attributes and methods
	for(var i=0; i<elm.length; i++)
	{
		//if i have an associated image, let me control it's hide/show
		//get all images associated with me
		elm[i] = jsfExtendObject(elm[i],
			{
				hide:function()
				{
					this.style.display = "none";
					this.hidden = true;
				},
				show:function()
				{
					this.style.display = "";
					this.hidden = false;
				},
				init:function()
				{
					this.hidden = this.style.display===""?false:true;
				},
				hidden:false,
				hsElement:true,
				images:[]
			}
		);
		elm[i].init();
	}

	//set up all the triggers with the elements
	for(var i=0; i<tgs.length; i++)
	{
		switch(tgs[i].tagName)
		{
			case "INPUT":
				if(tgs[i].type == 'text') {
					tgs[i] = jsfExtendObject(tgs[i],
					{
						onkeyup:function()
						{
							//get all elements that match the item class
							var els = document.getElementsByClassName(reg.exec(this.className)[0],null,"DIV");
	
							//only close elements not controlled by me
							
							if(this.className.match(caf) && caf.length>0)
							{
								var ael = document.getElementsByClassName(reg2.exec(this.className)[0],null,"DIV");
								for(var j=0;j<ael.length;j++)
								{
									ael[j].hide();
								}
							}
							
							if (!firstLoad)
							if(this.className.match(ca2) && ca2.length>0)
							{
								var ael = elm;
								for(var j=0;j<ael.length;j++)
								{
									if(ael[j].className.match(ca2) && reg.exec(this.className)[0]!=reg.exec(ael[j].className)[0])
									{
										ael[j].hide();
									}
								}
							}
								
							for(var j=0; j<els.length; j++)
							{
								//hide/show anything that isn't the trigger
								if(this.className.match('jstString')) {
									var tempval = this.value;
								}
								else {
									var tempval = this.value.replace(/[^0-9a-zA-Z.]/g,"");
								}
								if(els[j].hsElement)
								{
									if(this.tagName=="INPUT" && tempval != 0 && this.className.match(sht))
									{
										els[j].show();
									}
									if(this.tagName=="INPUT" && tempval != 0 && this.className.match(hdt))
									{
										els[j].hide();
									}
									if(this.tagName=="INPUT" && this.className.match(shd))
									{
										if(tempval != 0)
										{
											els[j].show();
										}
										else
										{
											els[j].hide();
										}
									}
								}
							}
							
							for(var j=0; j<els.length; j++)
								{
									if(this.className.match(ca2) && ca2.length>0 && els[j].className.match(ca2))	
								  {
										var tempval = this.value.replace(/[^0-9a-zA-Z.]/g,"");
										alert(tempval);
										if (this.tagName=="INPUT" && tempval > 0)
										{
											 els[j].show();
										}
										else
										{
											 els[j].hide();
										}
										
									}
								}
						}//onkeyup close
					}
					)
					tgs[i].onkeyup();
				}
				else {
					tgs[i] = jsfExtendObject(tgs[i],
					{
						onclick:function()
						{
							//alert(this.id+' onclick called');
							//get all elements that match the item class
							var els = document.getElementsByClassName(reg.exec(this.className)[0],null,"DIV");
	
							//only close elements not controlled by me
							
							if(this.className.match(caf) && caf.length>0)
							{
								var ael = document.getElementsByClassName(reg2.exec(this.className)[0],null,"DIV");
								for(var j=0;j<ael.length;j++)
								{
									ael[j].hide();
								}
							}
							
							if (!firstLoad) {
								if(this.className.match(ca2) && ca2.length>0)
								{
									ael = elm;
									for(var j=0;j<ael.length;j++)
									{
										if(ael[j].className.match(ca2) && reg.exec(this.className)[0]!=reg.exec(ael[j].className)[0])
										{
											ael[j].hide();
										}
									}
								}
							}
							
							for(var j=0; j<els.length; j++)
							{
								//hide/show anything that isn't the trigger
								if(els[j].hsElement)
								{
									if(this.tagName=="INPUT" && this.checked==true && this.className.match(sht))
									{
										els[j].show();
									}
									else if(this.tagName=="INPUT" && this.checked==true && this.className.match(hdt))
									{
										els[j].hide();
									}
									else if(this.tagName=="INPUT" && this.className.match(shd))
									{
										if(this.checked)
										{
											els[j].show();
										}
										else
										{
											els[j].hide();
										}
									}
								}
							}
							
							for(var j=0; j<els.length; j++)
								{
									if(this.className.match(ca2) && ca2.length>0 && els[j].className.match(ca2))	
								  {
										if (this.tagName=="INPUT" && this.checked==true)
										{
											 els[j].show();
										}
										else
										{
											els[j].hide();
										}
										
									}
								}
							
								
	//						return false;
						}//onclick close
					}
					);
					if(tgs[i].checked) tgs[i].onclick();
				}
				break;
			case "SELECT":
				tgs[i] = jsfExtendObject(tgs[i],
					{
						onchange:function()
						{
							//get all elements that match the item class
//								alert(reg.exec(this.className)[0]);
//								return;
//								var els = document.getElementsByClassName(reg.exec(this.className)[0],null,null);
							var els = this.getElementsByTagName("OPTION");
//								alert(els.length);
//								return;
	
							//only close elements not controlled by me
							if(this.className.match(caf) && caf.length>0)
							{
								var ael = document.getElementsByClassName(reg2.exec(this.className)[0],null,"DIV");
								for(var j=0;j<ael.length;j++)
								{
									ael[j].hide();
								}
							}
							
							if(this.className.match(ca2) && ca2.length>0)
							{
								ael = elm;//document.getElementsByClassName(hse,document.body,"div");
								for(var j=0;j<ael.length;j++)
								{
									if(ael[j].className.match(ca2) && reg.exec(this.className) && reg.exec(this.className)[0]!=reg.exec(ael[j].className)[0])
									{
										ael[j].hide();
									}
								}
							}
	
							for(var j=0; j<els.length; j++)
							{
								//hide/show anything that isn't the trigger
									if(els[j].hideShow && this.options[this.selectedIndex]==els[j])
									{
										els[j].hideShow();
									}
							}
	//						return false;
						}
					}
				);
				
				
				break;
			case "OPTION":
				tgs[i] = jsfExtendObject(tgs[i],
					{
						hideShow:function()
						{
							var els = document.getElementsByClassName(reg.exec(this.className)[0],null,"DIV");								//only close elements not controlled by me
							if(this.className.match(caf) && caf.length>0)
							{
								var ael = document.getElementsByClassName(reg2.exec(this.className)[0],null,"DIV");
								for(var j=0;j<ael.length;j++)
								{
									if(reg.exec(this.className)[0]!=reg.exec(ael[j].className)[0])
									{
										ael[j].hide();
									}
								}
							}	
							if(this.className.match(ca2) && caf.length>0)
							{
								ael = elm;//document.getElementsByClassName(hse,document.body,"div");
								for(var j=0;j<ael.length;j++)
								{
									if(ael[j].className.match(ca2) && reg.exec(this.className)[0]!=reg.exec(ael[j].className)[0])
									{
										ael[j].hide();
									}
								}
							}		
							for(var j=0; j<els.length; j++)
							{
								if(els[j].hsElement)
								{
									if(this.className.match(hdt))
									{
										els[j].hide();
									}
									if(this.className.match(sht))
									{
										els[j].show();
									}
								}
							}
							
						}
					}
				);
//					tgs[i].hideShow();
				break;
		}
	}
	
	for(var i=0; i<tgs.length; i++)
	{
		if(tgs[i].tagName=="SELECT")
		{
			tgs[i].onchange();
		}
	}
}
function jsfOnLoadAttachHS(trg,hsi,hse,caf,imp,imm)
{
	
	//get all raw triggers
	var tgs = document.getElementsByClassName(trg,null,"a");
	
	//get all raw elements
	var elm = document.getElementsByClassName(hse,null,null);

	//for all the raw triggers with/without numbers
	var reg = new RegExp("(^|\\w*)"+hsi+"(\\d*|([\\w* ]))");
	
	//set up hide/show element attributes and methods
	for(var i=0; i<elm.length; i++)
	{
		//if i have an associated image, let me control it's hide/show
		//get all images associated with me
		elm[i] = jsfExtendObject(elm[i],
			{
				hide:function()
				{
					this.style.display = "none";
					this.hidden = true;
					for(var i=0;i<this.images.length;i++)
					{
						if(this.images[i])
						{
							if(this.images[i].className.match(imp))
							{
								this.images[i].style.display="inline";
							}
							if(this.images[i].className.match(imm))
							{
								this.images[i].style.display="none";
							}
						}
						if(this.texts[i])
						{
							if(this.texts[i].className.match(imp))
							{
								this.texts[i].style.display="inline";
							}
							if(this.texts[i].className.match(imm))
							{
								this.texts[i].style.display="none";
							}
						}
					}
				},
				show:function()
				{
					this.style.display = "";
					this.hidden = false;
					for(var i=0;i<this.images.length;i++)
					{
						if(this.images[i])
						{
							if(this.images[i].className.match(imp))
							{
								this.images[i].style.display="none";
							}
							if(this.images[i].className.match(imm))
							{
								this.images[i].style.display="inline";
							}
						}
						if(this.texts[i])
						{
							if(this.texts[i].className.match(imp))
							{
								this.texts[i].style.display="none";
							}
							if(this.texts[i].className.match(imm))
							{
								this.texts[i].style.display="inline";
							}
						}
					}
				},
				toggle:function()
				{
					if(this.hidden)
					{
						this.show();
					}
					else
					{
						this.hide();
					}
				},
				init:function()
				{
					this.hidden = this.style.display===""?false:true;
					var as = document.getElementsByClassName(reg.exec(this.className)[0],null,"A");
					if (as.length) {
						this.images = as[0].getElementsByTagName("img");
						this.texts = as[0].getElementsByTagName("span");
					}
					
					for(var i=0;i<this.images.length;i++)
					{
						if(this.images[i].className.match(imp))
						{
							this.images[i].style.display="inline";
						}
						if(this.images[i].className.match(imm))
						{
							this.images[i].style.display="none";
						}
					}
					
					for(var i=0;i<this.texts.length;i++)
					{
						if(this.texts[i].className.match(imp))
						{
							this.texts[i].style.display="inline";
						}
						if(this.texts[i].className.match(imm))
						{
							this.texts[i].style.display="none";
						}
					}
				},
				hidden:false,
				hsElement:true,
				images:[]
			}
		);
		elm[i].init();
	}

	//set up all the triggers with the elements
	for(var i=0; i<tgs.length; i++)
	{
		tgs[i] = jsfExtendObject(tgs[i],
			{
				onclick:function()
				{
					//get all elements that match the item class
					var els = document.getElementsByClassName(reg.exec(this.className)[0],null,null);

					//only close elements not controlled by me
					if(this.className.match(caf) && caf.length>0)
					{
						ael = document.getElementsByClassName(hse,null,null);
						for(var j=0;j<ael.length;j++)
						{
							if(ael[j].className.match(caf) && reg.exec(this.className)[0]!=reg.exec(ael[j].className)[0])
							{
								ael[j].hide();
							}
						}
					}

					for(var j=0; j<els.length; j++)
					{
						//hide/show anything that isn't the trigger
						if(els[j].hsElement)
						{
							els[j].toggle();
						}
					}
					return false;
				}
			}
		);
	}
}

jsfAttachEvent(window,'load',jsfOnLoad);

function jsfOnLoad()
{
	if (MSIE == -1 || MSIEVersionNumber > 5.2) {
		jsfOnLoadAddMoreLess();
		jsfOnLoadHideElements("jstHide");
		jsfOnLoadShowElements("jstShow");
		jsfOnLoadAttachHS("jstHideShowTrigger","jstHideShowItem","jstHideShowElement","jstHideAllFirst","jstHsPlus","jstHsMinus");
		jsfOnLoadAttachHideShow("jstHsTrg","jstHsItem","jstHsElm","jstHideAllFirst","jstHsPlus","jstHsMinus","jstShowTrg","jstHideTrg","jstShowHideTrg","jstHideAllSecond");
		ShowMoreOrLess.init( "listItemTrigger", "listItemHidden" );
	}
	
	if(jsfOnResize(null)) jsfAttachEvent(window,'resize',jsfOnResize);
	
	jsfFormPopups('popupForm','closeLink');
	new ClearDefault('searchField');
}


function swapTextPREVIOUS(str){
	alert("are we using this")
	var myLink = document.getElementById('linkText');
	var myLink02 = document.getElementById('linkText02');
	//alert(myLink.innerHTML);			//FF only, use innerText for IE
//	myLink.textContent = "- Close";
	if (str == 'open'){
		myLink.innerHTML = '<a href="#" class="jstHideShowTrigger jstHideShowItem01 linkStyle01">- Close</a>';
		myLink02.innerHTML = '<a href="#" class="jstHideShowTrigger jstHideShowItem01 linkStyle01">- Close</a>';
	} else {
//		alert('here');
		myLink.innerHTML = '<a href="#" class="jstHideShowTrigger jstHideShowItem01 linkStyle01">+ Read more</a>';
		myLink02.innerHTML = '<a href="#" class="jstHideShowTrigger jstHideShowItem01 linkStyle01">+ Read more</a>';
	}
}

function swapText(str){
		alert("are we using this")
	var myLink = document.getElementById('linkText');
alert(str);
	//alert(myLink.innerHTML);			//FF only, use innerText for IE
//	myLink.textContent = "- Close";
	if (str == 'open'){
		//myLink.textContent = "- Close";
		myLink.innerHTML = '<a href="#" class="jstHideShowTrigger jstHideShowItem01 linkStyle01">- Close</a>';
	} else {
		//myLink.textContent = "+ Read more";
		myLink.innerHTML = '<a href="#" class="jstHideShowTrigger jstHideShowItem01 linkStyle01">+ Read more</a>';
	}
}



//New window script

function jsPopupWin(target,height,width){
}

function jsFullWin(target){
}

sfHover = function() {
		if (MSIEVersionNumber <= 6) {
			var iframe = function(elm,cls) {
				
				HW.addClass(elm,cls);
				var dds = $$('aibHeaderNavDropDownDivlet',elm,'div');
				if(dds.length==1) {
					elm.__iframe = document.createElement('iframe');
					elm.__iframe.width = dds[0].offsetWidth;
					elm.__iframe.height = dds[0].offsetHeight;
					elm.__iframe.className = 'aibHeaderNavDropDownDivlet';
					elm.__iframe.frameBorder = 0;
					elm.__iframe.border = 0;
					elm.appendChild(elm.__iframe);
				}
				HW.removeClass(elm,cls);
			}
		}
		else {
			var iframe = function(elm,cls) {}
		}
	
		var sfEls = document.getElementById("nav")?document.getElementById("nav").getElementsByTagName("LI"):[];
		for (var i=0; i<sfEls.length; i++) if(sfEls[i].parentNode.parentNode.id=="nav") {
			if (sfEls[i].className.indexOf("previousLastItem") != -1)
			{
				iframe(sfEls[i],'sfhoverPreviousLast');
				sfEls[i].onmouseover=function() {HW.addClass(this, "sfhoverPreviousLast");}
				sfEls[i].onmouseout=function()  {HW.removeClass(this, "sfhoverPreviousLast");}
			}
			else if (sfEls[i].className.indexOf("lastItem") != -1)
			{
				iframe(sfEls[i],'sfhoverLast');
				sfEls[i].onmouseover=function() {HW.addClass(this, "sfhoverLast");}
				sfEls[i].onmouseout=function() {HW.removeClass(this, "sfhoverLast");}
			}
			else
			{
				iframe(sfEls[i],'sfhover');
				sfEls[i].onmouseover=function() {HW.addClass(this, "sfhover");}
				sfEls[i].onmouseout=function()  {HW.removeClass(this, "sfhover");}
			}
		}
	}
	if (window.attachEvent && MSIEVersionNumber < 7) window.attachEvent("onload", sfHover);
	
function jsfOnResize(event) {
	// Footer
	var leftNav = document.getElementsByClassName("containerLeftContent", null, "DIV");
	var mainContent = document.getElementsByClassName("containerCentreContent", null, "DIV");
	var containerFooter = document.getElementsByClassName("containerFooter", null, "DIV");
	if(containerFooter.length==0){
		containerFooter = document.getElementsByClassName("containerAppFooter", null, "DIV");
	}
	var fullWidthPage = document.getElementsByClassName("extFullWidth", null, "DIV");
	var noLeftNav = document.getElementsByClassName("extExtendLeft", null, "DIV");
	if (fullWidthPage || noLeftNav)	
	{
		if(mainContent.length && containerFooter.length) {
			mainContent = mainContent[0];
			containerFooter = containerFooter[0];
			mainContent.style.paddingBottom = 0;
			var windowHeight = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ? document.body.clientHeight : 0;
			
			var mainContentAbsoluteBottom = mainContent.offsetHeight;
			for (var current = mainContent; current; current = current.offsetParent) mainContentAbsoluteBottom += current.offsetTop;
			mainContent.style.paddingBottom = Math.max(windowHeight - mainContentAbsoluteBottom - containerFooter.offsetHeight, 0)  + "px";
		}
	}
	else 
	{
		if(leftNav.length && containerFooter.length) {
			leftNav = leftNav[0];
			containerFooter = containerFooter[0];
			leftNav.style.paddingBottom = 0;
			var windowHeight = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ? document.body.clientHeight : 0;
	
			var leftNavAbsoluteBottom = leftNav.offsetHeight;
			for (var current = leftNav; current; current = current.offsetParent) leftNavAbsoluteBottom += current.offsetTop;
			leftNav.style.paddingBottom = Math.max(windowHeight -leftNavAbsoluteBottom - containerFooter.offsetHeight, 0)  + "px";
		}
	
	}
	
	// Logout button
	var windowWidth = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ? document.body.clientWidth : 0;
	var global = document.getElementsByClassName("containerGlobal", document.body, "DIV");
	if (!global.length) return false;
	global = global[0];
	if (windowWidth < 960) {
		HW.addClass(global,'sub960');
		/*if (MSIE !=-1 && MSIEVersionNumber < 6) logoutForm.style.width = "550px";
		logoutForm.style.paddingRight = "160px";*/
	} else {
		HW.removeClass(global,'sub960');
		/*logoutForm.style.paddingRight = "19px";
		if (MSIE != -1 && MSIEVersionNumber < 6) logoutForm.style.width = "350px";*/
	}
	return true;
}

function jsfOnLoadAddMoreLess () {
	elms = document.getElementsByClassName("jstHideShowTrigger",null,"a");
	for (i = 0; i < elms.length; i++) elms[i].innerHTML = '<span class="jstHsPlus jstShow">More</span><img style="display: inline;" class="jstHsPlus jstShow" src="../../_img/misc/plus.gif" alt="more" /> <span class="jstHsMinus jstHide">Less</span><img style="display:none;" class="jstHsMinus jstHide" src="../../_img/misc/minus.gif" alt="Less" />';
}

function jsfFormPopups(cls,closecls) {
	var elms = document.getElementsByClassName(cls,document.body,'form');
	for(var i=0;i<elms.length;i++) {
		elms[i].onsubmit = function() {
			var win = window.open('../page076/','formWin','scrollbars,menubar=false,status=false,height=600,width=629,resizable');
			return false;
		}
	}
	elms = document.getElementsByClassName(closecls,document.body,'a');
	for(var i=0;i<elms.length;i++) {
		elms[i].onclick = function() {
			self.close();
			return false;
		}
	}
}
 /*fix for flickering background images in IE 6*/ 
var m = document.uniqueID /*IE*/ 
&& document.compatMode /*>=IE6*/ 
&& !window.XMLHttpRequest /*<=IE6*/ 
&& document.execCommand ; 
try
{ 
 if(!!m)
 { 
  m("BackgroundImageCache", false, true) /* = IE6 only */ 
 } 
}
catch(oh)
{}; 



ClearDefault = function(cls) {
	if(cls) {
		var inputs = $$(cls,document.body,'input');
		for(var i=0;i<inputs.length;i++) {
			var elm = this;
			(function(){
				var obj = inputs[i];
				inputs[i] = HW.extendObject(inputs[i],elm.Element);
				HW.attachEvent(inputs[i],'focus',function() {obj.focusHandler()});
				HW.attachEvent(inputs[i],'blur',function() {obj.blurHandler()});
			})()
		}
	}
}

ClearDefault.prototype = {
	Element:{
		focusHandler:function() {
			if (this.value == this.defaultValue) {this.value = '';}
		},
		blurHandler:function() {
			if (this.value == "") {
				this.value= this.defaultValue;
			}
		}
	}
}
