var isIE = (navigator.appName.indexOf("Microsoft") > -1);
var d = document;
var showAll = 0;

if (!levelArray)	var levelArray = new Array();


function init()
{ 

	/*if (d.getElementById('whatsonList')) 
	{
		setTimeout(function()
		{
			listScroll.init('whatsonList', 'Scrollbar-Container-landing');
			setNewsNav.init('whatsonNav', 'whatsonList');
		}, 500);
	}*/
	
	if (d.getElementById('videoNav')) setTabList.init('videoNav', 'videoContent');
	if (d.getElementById('newsNav')) setTabList.init('newsNav', 'newsTable');
	if (d.getElementById('sideList')) setGoodCitizenList.init('sideList', 'narrowContent');
	//if (d.getElementById('whatsonList')) listScroll_landing.init('whatsonList', 'Scrollbar-Container-landing', true);
	if (d.getElementById('whatsonList')) new autoListScroll('whatsonList');
	setFieldFocus();
	
	//alert(levelArray.length);
	if (levelArray.length == 0)	getLevel();
	if (levelArray.length > 0)	highlightTopNav();
	if (levelArray.length > 0)	highlightLeftNav();
	if (levelArray.length > 0)	genBreadcrumbs();
	getFontSize('1');
	
	//setBtnOver();
}

// Alfrid added to make bulletin scroll from URL paramenter
function scrollCheck() {
	
	setTimeout(function(){new setAnnual2('scrollContainer_1', 'scrollbar_1', 'ctl00_ctl00_containerPlaceHolder_containerPlaceHolder_annualSelect');}, 100);
}


function checkPara(name) {
	
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  	var regexS = "[\\?&]"+name+"=([^&#]*)";
  	var regex = new RegExp( regexS );
  	var results = regex.exec( window.location.href );
  	if( results == null )
    	return "";
  	else
    	return results[1];
}

function setAnnual2(container, sBar, s)
{
	var nav = d.getElementById(container);
	var scroll = d.getElementById(sBar);
	var select = d.getElementById(s);
	var total;
	var scroller;
	var scrollbar;
	var self = this;
	
	this.init = function ()
	{
		var num = 0;
		var items = setChildNodes(nav, 'A');
		for (var i=0; i<items.length; i++)
		{
			num += items[i].offsetWidth + 46;
		}
		nav.style.width = num + 'px';
		scroller  = new ScrollingX.Scroller(nav, scroll.offsetWidth, scroll.offsetHeight);
		scrollbar = new ScrollingX.Scrollbar(scroll, scroller, new ScrollingX.ScrollTween());
		this.setSelect();
	};
	this.setSelect = function ()
	{
		var bulletin_param = checkPara('bulletin_issue');
//		alert(bulletin_param);
		var selectArray = select.getElementsByTagName('option');
		for (var i=0; i<selectArray.length; i++) {
			if (selectArray[i].value == bulletin_param) {
				var a = nav.getElementsByTagName('a')[i];
				var x = a.offsetLeft;
				scrollbar.scrollTo(x, 0);
				select.value = bulletin_param;
			}
		}
		
		total = select.options.length - 1;
		select.onchange = function()
		{
			var curIndex = this.selectedIndex;
			var a = nav.getElementsByTagName('a')[curIndex];
			var x = a.offsetLeft;
			scrollbar.scrollTo(x, 0);
		}
		
	};
	setTimeout(function(){self.init();}, 0);
}
// End

function initPopup() {

    if (d.getElementById('popupNav')) setTabList.init('popupNav', 'popupTable');
}

function getLevel()
{
	var url = location.pathname;
	var array = url.split('/');
	
	for (var i=0; i<array.length; i++)
	{
		if (array[i].indexOf('_') >= 0)
		{
			var array1 = array[i].split('_');
			for (var j=0; j<array1.length; j++)
			{
				levelArray.push(array1[j]);
			}
			
		}
		else
		{
			levelArray.push(array[i]);
			
		}
	}
	
	levelArray.shift();
	levelArray.shift();
	
	var obj = levelArray[levelArray.length-1];
	//alert(obj);
	if (obj != 'index.aspx' && obj != 'login.aspx' && obj != 'old.aspx')
	{
		levelArray[levelArray.length-1] = obj.replace('.aspx', '');
		levelArray[levelArray.length-1] = levelArray[levelArray.length-1].replace('.aspx', '');
	}
	else
	{
	    if (obj == 'index.aspx' || obj == 'old.aspx') // home page Nav highlight
	    {
	        var btn = d.getElementById('home');
	        btn.className += ' active';
	    }
		levelArray.pop();
	}
	//alert(levelArray);
}

function showPulldown(btn, id)
{
	//if (btn.className.indexOf('active') >= 0)	return;
	
	var menu = d.getElementById(id + '_menu');
	
	showLayer(1);
	btn.onmouseover		= function() {menu.hit = true;	showLayer(1);};
	menu.onmouseover	= function() {menu.hit = true;	showLayer(1);};
	btn.onmouseout		= function() {menu.hit = false;	showLayer(0);};
	menu.onmouseout		= function() {menu.hit = false;	showLayer(0);};
	
	function showLayer(over)
	{
		if (over == 1)
		{
			if (btn.id != levelArray[0] && btn.className.indexOf('active') < 0)	btn.className += ' active';
			menu.style.display = 'block';
		}
		else
		{
			if (btn.id != levelArray[0])	btn.className = btn.className.replace('active', '');
			
			setTimeout(function()
			{
				if (!menu.hit)
				{
					menu.style.display = 'none';
				}
			}, 10);
		}
	}
}

function highlightTopNav()
{
	var obj = levelArray[0];
	//alert(obj);
	if (!d.getElementById(obj))	return;
	
	var btn = d.getElementById(obj);
	btn.className += ' active';
	
	/*
	if (!d.getElementById(obj + '_menu'))	return;
	
	var menu = d.getElementById(obj + '_menu');
	menu.style.display = 'block';
	*/
}

function highlightLeftNav()
{
	var obj = levelArray[0];
	if (!d.getElementById(obj + '_leftMenu'))	return;
	var menuM = d.getElementById(obj + '_leftMenu');
	menuM.style.display = 'block';
	
	if (!levelArray[1])	return;
	
	var obj1 = levelArray[1];
	
	if (!getElementByRel('leftNav', obj1))	return;
	
	var btn = getElementByRel('leftNav', obj1);
	btn.className += ' active';
	
	if (!d.getElementById(obj1 + '_leftSubMenu'))	return;
	
	var menu = d.getElementById(obj1 + '_leftSubMenu');
	menu.style.display = 'block';
	
	var obj2 = levelArray[2];
	
	if (!getElementByRel(obj1 + '_leftSubMenu', obj2))	return;
	
	var btn1 = getElementByRel(obj1 + '_leftSubMenu', obj2);
	btn1.className += ' active';
	
	if (!d.getElementById(obj2 + '_leftSubSubMenu'))	return;
	
	var menu = d.getElementById(obj2 + '_leftSubSubMenu');
	menu.style.display = 'block';
	
	
	
	
	var obj3 = levelArray[3];
	
	if (!getElementByRel(obj2 + '_leftSubSubMenu', obj3))	return;
	
	var btn2 = getElementByRel(obj2 + '_leftSubSubMenu', obj3);
	btn2.className += ' active';
	
	
}

function getElementByRel(parent, obj)
{
	var a = d.getElementById(parent).getElementsByTagName('a');
	
	for (var i=0; i<a.length; i++)
	{
		if (a[i].rel == obj)
		{
			return a[i];
		}
	}
}

function highlightContentTab()
{
	var obj = levelArray[3];
	if (!d.getElementById(obj))	return;
	
	var btn = d.getElementById(obj);
	btn.className += ' active';
}

function genBreadcrumbs()
{
	if (!d.getElementById('breadcrumb'))	return;
	var breadcrumbs = d.getElementById('breadcrumb');
	
	var a = createA('/en/index.aspx', '_self', 'Home');
	breadcrumbs.appendChild(a);
	
	for (var i=0; i<levelArray.length; i++)
	{
		if (!levelArray[i])	break;
		
		var obj = levelArray[i];
		
		if (!d.getElementById('leftNav'))	return;
		if (d.getElementById(levelArray[i]))
		{
			var btn = d.getElementById(levelArray[i]);
			//alert(levelArray[i]);
			
		}
		else
		{		//alert(levelArray[i]); 
			var btn = getElementByRel('leftNav', levelArray[i]);
		}
		if (!btn) continue;
		var txt = (isIE)	?	btn.innerText	:	btn.textContent;
		var link = btn.href;
		
		breadcrumbs.innerHTML += ' > ';
		
		if (i < levelArray.length-1)
		{
			//var a = createA(getLink(i), '_self', txt);
			var a = createA(link, '_self', txt);
			breadcrumbs.appendChild(a);
		}
		else
		{
			breadcrumbs.innerHTML += txt;
		}
	}
}

function checkURL(array)
{
	var url = window.top.location.href;
	var id;
	var va = [["/", "/"], ["=", ""]];
	
	for (var item=0; item<va.length; item++)
	{
		for (var i=0; i<array.length; i++)
		{
			if (url.indexOf((va[item][0] + array[i] + va[item][1])) >= 0)
			{
				id = array[i];
				break;
			}
		}
	}
	
	return id;
}

/*Change language*/
function changeLanguage(target)
{
	var array = new Array("en", "tc", "sc");
	var nowL = checkURL(array);
	var va = [["/", "/"], ["=", ""]];
	var url = window.top.location.href;
	for (var item=0; item<va.length; item++)
	{
		if (url.indexOf((va[item][0] + nowL + va[item][1])) >= 0)
		{
			url = url.replace((va[item][0] + nowL + va[item][1]), (va[item][0] + target + va[item][1]));
			break;
		}
	}
	if (url.substring((url.length-1), url.length) == '#')	url = url.substring(0, (url.length-1))
	
	window.top.location.href = url;
}

/*Popup a new window*/
function NewWindow(mypage, myname, w, h, scroll,resizable) {
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable='+resizable+','
	win = window.open(mypage, myname, winprops)
	win.self.focus()
	if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function createImg(src, alt, w, h, link, t, className)
{
	var img = d.createElement('img');
	if (src)	img.setAttribute('src', src);
	if (alt)	img.setAttribute('alt', alt);
	if (w)	img.setAttribute('width', w);
	if (h)	img.setAttribute('height', h);
	if (className)	img.className = className;
	
	if (link)
	{
		img.setAttribute('border', 0);
		
		var a = d.createElement('a');
		a.setAttribute('href', link);
		if (t && typeof(t) != 'undefined')	a.setAttribute('target', t);
		a.appendChild(img);
		return a;
	}
	else
	{	
		return img;
	}
}

function createA(link, t, txt, id, className)
{		
	var a = d.createElement('a');
	if (link)	a.setAttribute('href', link);
	if (t && typeof(t) != 'undefined')	a.setAttribute('target', t);
	
	//if (txt)	a.appendChild(d.createTextNode(txt));
	if (txt)	a.innerHTML = txt;
	if (id)	a.setAttribute('id', id);
	if (className)	a.className = className;
	
	return a;
}

function createDiv(id, className, txt)
{		
	var div = d.createElement('div');
	if (id)	div.setAttribute('id', id);
	if (className)	div.className = className;
	//if (txt)	div.appendChild(d.createTextNode(txt));
	if (txt)	div.innerHTML = txt;
	return div;
}

function createTag(tag, id, className)
{		
	var div = d.createElement(tag);
	if (id)	div.setAttribute('id', id);
	if (className)	div.className = className;
	return div;
}

function createInput(name, type, value, className)
{		
	var input = d.createElement('input');
	if (name)	input.setAttribute('name', name);
	if (type)	input.setAttribute('type', type);
	if (value)	input.setAttribute('value', value);
	if (className)	input.className = className;
	return input;
}

function startFading(el)
{
  if (el.fadinTimeout)	clearTimeout(el.fadinTimeout);
  el.style.visibility = 'visible';
  el.style.zIndex = 2;
  setOpacity(el, 0);
  fadeImage(el, 0);
}

function fadeImage(el, currentOpacity)
{
  currentOpacity += 10;

  if (currentOpacity > 100)
  {
    setOpacity(el, 100);
    el.style.zIndex = 1;
	if (el.fadinTimeout)	clearTimeout(el.fadinTimeout);
  }
  else
  {
    setOpacity(el, currentOpacity);
    el.fadinTimeout = setTimeout(function() { fadeImage(el, currentOpacity); }, 30);
  }
}

function setOpacity(el, opacity)
{
	opacity /= 100;
	el.style.opacity = opacity;
	el.style.MozOpacity = opacity;
	el.style.filter = "alpha(opacity=" + (opacity*100) + ")";
}

function setBtnOver()
{
	var img = d.getElementsByTagName('img');
	
	for (var i=0; i<img.length; i++)
	{
		if (img[i].className.indexOf('btnOver') < 0)	continue;
		if (img[i].src.indexOf('_over') >= 0)			img[i].clicked = true;
		
		img[i].onmouseover = function()
		{
			if (this.clicked)	return;
			var ext = this.src.substring(this.src.length-4, this.src.length);
			this.src = this.src.replace(ext, '_over' + ext);
		}
		
		img[i].onmouseout = function()
		{
			if (this.clicked)	return;
			var ext = this.src.substring(this.src.length-4, this.src.length);
			this.src = this.src.replace('_over' + ext, ext);
		}
	}
}

function setFieldFocus()
{
	var input = d.getElementsByTagName('input');
	
	for (var i=0; i<input.length; i++)
	{
		if (input[i].type != 'text')			continue;
		//if (input[i].className == 'routeField')	continue;

		if (input[i].className.indexOf('clearText')>=0 )
		{
			input[i].onfocus = function()
			{
				if (this.value == this.defaultValue)	this.value = '';
			}
			
			input[i].onblur = function()
			{
				if (this.value == '')	this.value = this.defaultValue;
			}
		}
	}
}

function setChildNodes(obj, tagName)
{
	if (obj)
	{
		var array = new Array();
		
		for (var i=0; i<obj.childNodes.length; i++)
		{
			if (tagName)
			{
				//alert(obj.childNodes[i].tagName)
				if (obj.childNodes[i].tagName != tagName)	continue;
			}
			if (obj.childNodes[i].toString().toLowerCase().indexOf('text') >= 0)	continue;
			array.push(obj.childNodes[i]);
		}
	}
	return array;
}

function getElementsByClassName(p, c)
{
	var array = new Array();
	var tags = p.getElementsByTagName('*');
	
	for (var i=0; i<tags.length; i++)
	{
		if (!tags[i].className)	continue;
		if (tags[i].className == c)	array.push(tags[i]);
	}
	
	return array;
}

//Specify spectrum of different font sizes:
var szs = new Array('75%', '100%', '125%');
//var szs = new Array('x-small', 'small', 'medium');
//var szs = new Array('1em', '1.05em', '1.10em', '1.15em');
var startSz = sz = szs.length;

function getFontSize()
{	
	if (getCookie('fontSize') == null)
	{		
		startSz = 1;
	}
	else
	{ 
		startSz = getCookie('fontSize');
		if (startSz == "NaN")	startSz = 1;
	}	
	changeFontSize(startSz, true);
}

function changeFontSize(inc, start)
{
	if (!d.getElementById) return;
	var cEl = null,sz = eval(startSz),i,j,cTags;
	
	sz = inc;
	
	cEl = d.getElementsByTagName('body')[0];
	cEl.style.fontSize = szs[ sz ];	
	
	//Highlight Btn
	var topTools = d.getElementById('topInfo').getElementsByTagName('span')[0].getElementsByTagName('a');
	for (var i=0; i<topTools.length; i++)
	{
		topTools[i].className = topTools[i].className.replace('active ', '');
		topTools[i].clicked = false;
	}
	topTools[sz].className = topTools[sz].className.replace('', 'active ');
	topTools[sz].clicked = true;
	
	setCookie("fontSize", sz, nd, cpath, cdomain);
}

var nd= new Date();
nd.setTime(nd.getTime()+(60*24*60*60*1000));
var cdomain = (location.domain) ? location.domain : null;
var cpath = "/";

function setCookie(name, value, expires, path, domain, secure)
{
  var curCookie = name + "=" + escape(value) +
		((expires) ? "; expires=" + expires.toGMTString() : "") +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		((secure) ? "; secure" : "");

  d.cookie = curCookie;
}

function getCookie(name)
{
	if (d.cookie.indexOf(name) < 0)
	{		
		return null;
	}
	else
	{	
		var startStr = d.cookie.indexOf(name) + name.length + 1;
		var endStr = d.cookie.indexOf(";", startStr);
		if (endStr == -1)	endStr = d.cookie.length;
		return unescape(d.cookie.substring(startStr, endStr));
	}
}
/*end of change fontsize*/

function GetParam(name)
{
	var start=location.search.indexOf("?"+name+"=");
	if (start<0) start=location.search.indexOf("&"+name+"=");
 	if (start<0) return '';
 	start += name.length+2;
 	var end=location.search.indexOf("&",start)-1;
 	if (end<0) end=location.search.length;
 	var result=location.search.substring(start,end);
 	var result='';
 	for(var i=start;i<=end;i++)
 	{
 		var c=location.search.charAt(i);
 		result=result+(c=='+'?' ':c);
 	}
 	//alert(unescape(result));
 	return unescape(result);
}

function checkParam(v, id)
{
	if (!GetParam(v))	return;
	var q = GetParam(v) - 1;
	
	showHideDiv(id, q);
}

var listScroll_landing = 
{
	scroller:	null,
	scrollbar:	null,

	init:	function (obj, scroll, autoStart)
	{	
		this.container  = d.getElementById(obj);
		this.div  = this.container.getElementsByTagName('div')[0];
		this.scrollbar  = d.getElementById(scroll);
		this.track = this.scrollbar.getElementsByTagName('div')[0];
		this.scroller = this.scrollbar.getElementsByTagName('div')[1];
		this.timeOutSpeed = 160;
		this.containerH = this.container.offsetHeight;
		this.trackH = this.track.offsetHeight - this.scroller.offsetHeight;
		this.id = 0;
		
		//Duplicate Content for loop
		var ul = this.container.getElementsByTagName('ul');
		for (var i=0; i<ul.length; i++)
		{
			ul[i].isScroll = ul[i].offsetHeight > this.containerH;
			if (!ul[i].isScroll)	continue;
			
			var str = ul[i].innerHTML;
			ul[i].innerHTML += str;
		}
		
		this.container.onmouseover	= function() {listScroll_landing.stopScroll();};
		this.container.onmouseout	= function() {listScroll_landing.autoScrollStart();};
		
		scroller  = new Scrolling.Scroller(this.container, this.container.offsetWidth, this.container.offsetHeight);
		scrollbar = new Scrolling.Scrollbar(this.scrollbar, scroller, new Scrolling.ScrollTween());
		
		//if (autoStart)	this.autoScrollMode();
		if (autoStart)	this.changeList(0);
	},
	
	changeList:	function(id)
	{
		listScroll_landing.reset();
		
		var ul = this.container.getElementsByTagName('ul');
		for (var i=0; i<ul.length; i++)
		{
			ul[i].style.display = (i == id)	?	'block'	:	'none';
			if (!ul[i].isScroll)	continue;
			if (i == id)
			{
				var li = ul[i].getElementsByTagName('li');
				var total = li.length;
				var j = 0;
				while (j < total/2)
				{
					li[j].style.display = 'none';
					j ++;
				}
			}
		}
		
		scrollbar.swapContent(this.container);
		
		this.id = id;
		this.autoScrollMode();
	},
	
	reset:	function()
	{
		this.container.style.top = '0px';
	},
	
	autoScrollStart:	function()
	{
		this.stopScroll();
		var ul = this.container.getElementsByTagName('ul');
		if (!ul[this.id].isScroll)	return;
		this.timeOut2 = setTimeout(function(){listScroll_landing.autoScroll(1);}, 1000);
	},
	
	autoScroll:	function(num)
	{
		this.num = num;
		
		this.stopScroll();
		this.motion(this.div);
	},
	
	goScroll:	function(num)
	{
		this.num = num;
		
		this.stopScroll();
		this.motion(this.div);
	},
	
	motion:	function(container)
	{
		var num = Number(container.style.top.replace('px', '')) - this.num;
		var endH = Math.round(this.objH/2);
		if (num < -endH)	num += endH;
		if (num > 0)		num -= endH;
		container.style.top = Math.round(num) + 'px';
		//window.status = container.style.top + '  :  ' + endH + '  :  ' + this.objH;
		
		//this.scroller.style.top = (container.scrollTop/((this.objH - this.containerH)/2 + this.containerH))*this.trackH + 'px';
		//this.scroller.style.top = Math.round((-Number(container.style.top.replace('px', ''))/(this.objH/2))*this.trackH) + 'px';
		this.scroller.style.top = Math.round((-Number(container.style.top.replace('px', ''))/(this.objH/2))*this.trackH) + 'px';
		
		this.timeOut = setTimeout(function() {listScroll_landing.motion(container);}, this.timeOutSpeed);
	},
	
	stopScroll:	function()
	{
		clearTimeout(this.timeOut);
		clearTimeout(this.timeOut2);
	},
	
	autoScrollMode:	function(num)
	{
		var ul = this.container.getElementsByTagName('ul');
		if (!ul[this.id].isScroll)
		{
			this.stopScroll();
			return;
		}
		
		var li = ul[this.id].getElementsByTagName('li');
		for (var j=0; j<li.length; j++)
		{
			li[j].style.display = 'block';
		}
		
		//this.objH = this.container.scrollHeight;
		this.objH = this.div.offsetHeight;
		
		this.autoScrollStart();
	},
	
	scrollBarMode:	function(num)
	{
		var ul = this.container.getElementsByTagName('ul');
		var li = ul[this.id].getElementsByTagName('li');
		var total = li.length;
		var j = 0;
		while (j < total/2)
		{
			li[j].style.display = 'none';
			j ++;
		}
		this.stopScroll();
	}
}


var listScroll = 
{
	scroller:	null,
	scrollbar:	null,

	init:	function (obj, scroll)
	{	
		this.container  = d.getElementById(obj);
		this.div  = this.container.getElementsByTagName('div')[0];
		this.scrollbar  = d.getElementById(scroll);
		this.track = this.scrollbar.getElementsByTagName('div')[0];
		this.scroller = this.scrollbar.getElementsByTagName('div')[1];
		this.timeOutSpeed = 70;
		this.containerH = this.container.offsetHeight;
		this.trackH = this.track.offsetHeight - this.scroller.offsetHeight;
		this.id = 0;
		
		//Duplicate Content for loop
		/*var ul = this.container.getElementsByTagName('ul');
		for (var i=0; i<ul.length; i++)
		{
			ul[i].isScroll = ul[i].offsetHeight > this.containerH;
			if (!ul[i].isScroll)	continue;
			
			var str = ul[i].innerHTML;
			ul[i].innerHTML += str;
		}*/
		
		//this.container.onmouseover	= function() {listScroll.stopScroll();};
		//this.container.onmouseout	= function() {listScroll.autoScrollStart();};
		
		scroller  = new Scrolling.Scroller(this.container, this.container.offsetWidth, this.container.offsetHeight);
		scrollbar = new Scrolling.Scrollbar(this.scrollbar, scroller, new Scrolling.ScrollTween());
		
		//if (autoStart)	this.autoScrollMode();
		//if (autoStart)	this.changeList(0);
	},
	
	changeList:	function(id)
	{
		listScroll.reset();
		
		var ul = this.container.getElementsByTagName('ul');
		for (var i=0; i<ul.length; i++)
		{
			ul[i].style.display = (i == id)	?	'block'	:	'none';
			if (!ul[i].isScroll)	continue;
			if (i == id)
			{
				var li = ul[i].getElementsByTagName('li');
				var total = li.length;
				var j = 0;
				while (j < total/2)
				{
					li[j].style.display = 'none';
					j ++;
				}
			}
		}
		
		scrollbar.swapContent(this.container);
		
		this.id = id;
		//this.autoScrollMode();
	},
	
	reset:	function()
	{
		this.container.style.top = '0px';
	},
	
	/*autoScrollStart:	function()
	{
		this.stopScroll();
		var ul = this.container.getElementsByTagName('ul');
		if (!ul[this.id].isScroll)	return;
		this.timeOut2 = setTimeout(function(){listScroll.autoScroll(1);}, 1000);
	},
	
	autoScroll:	function(num)
	{
		this.num = num;
		
		this.stopScroll();
		this.motion(this.div);
	},*/
	
	goScroll:	function(num)
	{
		this.num = num;
		
		this.stopScroll();
		this.motion(this.div);
	},
	
	motion:	function(container)
	{
		var num = Number(container.style.top.replace('px', '')) - this.num;
		var endH = Math.round(this.objH/2);
		if (num < -endH)	num += endH;
		if (num > 0)		num -= endH;
		container.style.top = Math.round(num) + 'px';
		//window.status = container.style.top + '  :  ' + endH + '  :  ' + this.objH;
		
		//this.scroller.style.top = (container.scrollTop/((this.objH - this.containerH)/2 + this.containerH))*this.trackH + 'px';
		//this.scroller.style.top = Math.round((-Number(container.style.top.replace('px', ''))/(this.objH/2))*this.trackH) + 'px';
		this.scroller.style.top = Math.round((-Number(container.style.top.replace('px', ''))/(this.objH/2))*this.trackH) + 'px';
		
		this.timeOut = setTimeout(function() {listScroll.motion(container);}, this.timeOutSpeed);
	},
	
	stopScroll:	function()
	{
		clearTimeout(this.timeOut);
		clearTimeout(this.timeOut2);
	},
	
	/*autoScrollMode:	function()
	{
		var ul = this.container.getElementsByTagName('ul');
		if (!ul[this.id].isScroll)
		{
			this.stopScroll();
			return;
		}
		
		var li = ul[this.id].getElementsByTagName('li');
		for (var j=0; j<li.length; j++)
		{
			li[j].style.display = 'block';
		}
		
		//this.objH = this.container.scrollHeight;
		this.objH = this.div.offsetHeight;
		
		this.autoScrollStart();
	},*/
	
	scrollBarMode:	function()
	{
		var ul = this.container.getElementsByTagName('ul');
		var li = ul[this.id].getElementsByTagName('li');
		var total = li.length;
		var j = 0;
		while (j < total/2)
		{
			//li[j].style.display = 'none';
			j ++;
		}
		this.stopScroll();
	}
}





var setNewsNav = 
{
	init:	function (nav, obj)
	{
		this.nav = d.getElementById(nav);
		this.obj = d.getElementById(obj);
		
		this.setA(this.nav);
	},
	
	setA:	function (nav)
	{
		var a = nav.getElementsByTagName('a');
		
		for (var i=0; i<a.length; i++)
		{
			a[i].num = i;
			a[i].className = a[i].className.replace('active', '');
			
			a[i].onclick = function()
			{
				if (this.className.indexOf('active') >= 0)	return;
				setNewsNav.changeA(this, true);
			}
		}
		
		this.highlightA = a[0];
		this.changeA(a[0], false);
	},
	
	changeA:	function (obj, fadeIn)
	{
		var highlightA = this.highlightA;
		highlightA.className = highlightA.className.replace('active', '');
		obj.className += ' active';
		this.highlightA = obj;
		
		listScroll.changeList(obj.num);
		if (fadeIn)	startFading(this.obj);
	}
}

function showHideItem(obj, name)
{
	var li = setChildNodes(d.getElementById(obj), 'LI');
	for (var i=0; i<li.length; i++)
	{
		var ul = setChildNodes(li[i], 'UL')[0];
		var h3 = setChildNodes(li[i], 'H3')[0];
		if (li[i].id == name)
		{
			if (h3.className.indexOf('active') >= 0)	return;
			h3.className += ' active';
			ul.style.display = 'block';
		}
		else
		{
			h3.className = h3.className.replace(/active/, '');
			ul.style.display = 'none';
		}
	}
}

// Function on Landing Paging
function showHidePaging(targetList, targetDiv)
{
    var el = d.getElementById(targetList);
    if (el != null)
    {
		//var li = d.getElementById(targetList).getElementsByTagName('div');
		var li = el.getElementsByTagName('div');
		li[0].style.display = 'block';
		for (var i=0; i<li.length; i++) {
			li[i].style.display = 'none';
		}
		
		var target = li[targetDiv];


		target.style.display = 'block';
	}
    
}


function showHideItem2(id1, id2, id3)
{
	var Div1 = d.getElementById(id1);
	var Div2 = d.getElementById(id2);
	var Div3 = d.getElementById(id3);
	
	Div2.style.display = 'block';
	Div1.style.display = 'none';
	Div3.style.display = 'none';
}

function showChooseMenu(obj, num)
{
	var menu = d.getElementById(obj);
	//alert(menu);
	if (num != 1)
	{
		menu.style.display = 'none';
	}
	else
	{
		menu.style.display = 'block';
	}
}

function setAnnual(container, sBar, s)
{
	var nav = d.getElementById(container);
	var scroll = d.getElementById(sBar);
	var select = d.getElementById(s);
	var total;
	var scroller;
	var scrollbar;
	var self = this;
	
	this.init = function ()
	{
		//Set Container's Width
		/*var h = nav.parentNode.offsetHeight;
		while (nav.offsetHeight > nav.parentNode.offsetHeight)
		{
			var num = nav.offsetWidth;
			num ++;
			nav.style.width = num + 'px';
		}*/
		var num = 0;
		//var items = nav.getElementsByTagName('*');
		var items = setChildNodes(nav, 'A');
		for (var i=0; i<items.length; i++)
		{
			num += items[i].offsetWidth + 46;
		}
		nav.style.width = num + 'px';
		//alert(nav.offsetWidth + '  :  ' + nav.parentNode.offsetWidth)
		//alert(nav.offsetHeight + '  :  ' + nav.parentNode.offsetHeight)
		
		scroller  = new ScrollingX.Scroller(nav, scroll.offsetWidth, scroll.offsetHeight);
		scrollbar = new ScrollingX.Scrollbar(scroll, scroller, new ScrollingX.ScrollTween());
		
		this.setSelect();
	};
	
	this.setSelect = function ()
	{
		total = select.options.length - 1;
		
		select.onchange = function()
		{
			//alert(this.selectedIndex + '  :  ' + total);
			var curIndex = this.selectedIndex;
			//var x = Math.round((nav.offsetWidth - nav.parentNode.offsetWidth)*(curIndex/total));
			var a = nav.getElementsByTagName('a')[curIndex];
			var x = a.offsetLeft;
			
			//scroller.scrollTo(100, 0);
			scrollbar.scrollTo(x, 0);
		}
	};
	
	setTimeout(function(){self.init();}, 0);
}

function setDrawer(drawerID, menuID)
{
	var drawers = d.getElementById(drawerID);
	if (drawers == null)
		return;
	var menus = d.getElementById(menuID);
	if (menus == null)
		return;
	var li = setChildNodes(drawers, 'LI');
	var itemsArray = new Array();
	var activeArray = new Array();
	var array = new Array();
	var self = this;
	var profile=getProfile(drawerID);
	//var profile=infoList;
	//alert("a"+profile);
	this.init = function()
	{
		for (var i=0; i<li.length; i++)
		{
			if (!li[i].id)	continue;
			itemsArray.push(li[i].id);
			if (i < 4)	array.push(li[i].id);
		}
		/*	
		if (getCookie(drawerID))
		{
			activeArray = getCookie(drawerID).split('|');
		}
		else
		{
			activeArray = array;
			var txt = activeArray.join('|');
			setCookie(drawerID, txt, nd, cpath, cdomain);
		}*/
		activeArray = profile.split('|');

//		alert(activeArray);
		
		this.setMenu();
		this.setDrawer();
	};
	
	this.setMenu = function()
	{
		/*var input = menus.getElementsByTagName('input');
		for (var i=0; i<input.length; i++)
		{
			input[i].onclick = function()
			{
				self.showHideDrawer(this);
			};
		}*/
		
		var btnSave = getElementsByClassName(menus, 'btnSave')[0];
		btnSave.onclick = function()
		{
			self.saveDrawer();
		};
		
		var btnCancel = getElementsByClassName(menus, 'btnCancel')[0];
		btnCancel.onclick = function()
		{
			self.cancelDrawer();
		};
	};
	
	this.setDrawer = function()
	{	
		for (var i=0; i<itemsArray.length; i++)
		{
			var isSkip = false;
			//alert(itemsArray.join("|")+" + "+activeArray.join("|"));
			
			for (var j=0; j<activeArray.length; j++)
			{
				if (itemsArray[i] == activeArray[j])
				{
					
					var drawerCheck = d.getElementById(itemsArray[i] + 'Check');
					drawerCheck.checked = true;
					isSkip = true;
					break;
				}
			}
			
			if (isSkip)	continue;
			var drawer = d.getElementById(itemsArray[i]);
			drawer.style.display = 'none';
		}
		
		//Open first Drawer
		showHideItem(drawerID, activeArray[0]);
	};
	
	this.showHideDrawer = function(input)
	{
		var id = input.id.replace('Check', '');
		var drawer = d.getElementById(id);
		drawer.style.display = (drawer.style.display == 'none')?	''	:	'none';
	};
	
	this.saveDrawer = function()
	{
		var input = menus.getElementsByTagName('input');
		var isOpen = false;
		activeArray = new Array();
		
		for (var i=0; i<input.length; i++)
		{
			var id = input[i].id.replace('Check', '');
			var drawer = d.getElementById(id);
			drawer.style.display = (input[i].checked)?	''	:	'none';
			if (input[i].checked)
			{
				activeArray.push(id);
				//alert(input[i].id);
				if (setChildNodes(drawer, 'UL')[0].style.display == 'block')	isOpen = true;
			}
		}
		if(activeArray.length != 4){
			alert("Please Select 4 items");
			activeArray = profile.split('|');
		}else{
		var txt = activeArray.join('|');
		//setCookie(drawerID, txt, nd, cpath, cdomain);
		profile_save(drawerID,txt);
		
		showChooseMenu(menuID, 0);
		if (!isOpen)	showHideItem(drawerID, activeArray[0]);
		}
	};
	
	this.cancelDrawer = function()
	{
		var input = menus.getElementsByTagName('input');
		for (var i=0; i<input.length; i++)
		{
			input[i].checked = false;
		}
		for (var j=0; j<activeArray.length; j++)
		{
			var id = d.getElementById(activeArray[j] + 'Check');
			id.checked = true;
		}
		
		showChooseMenu(menuID, 0);
	};
	
	this.init();
}

function genContentTableStyle()
{
	var table = d.getElementsByTagName('table');
	//alert(table)
	//clearTableStyle(table);
	
	
	for (var j=0; j<table.length; j++)
	{
		if ((table[j].className == 'eventTable') || (table[j].className == 'genTable')) 
		{
			var rows = table[j].rows;

			for (var i=0; i<rows.length; i++)
			{
				//if (rows[i].className == 'total')	continue;
				if (i%4 == 0 || i%6 == 1)			rows[i].className = 'even';
				
			}
		}
		if ((table[j].className.match('whatsonDetailTable'))) 
		{
			var rows = table[j].rows;

			for (var i=0; i<rows.length; i++)
			{
				//if (rows[i].className == 'total')	continue;
				if (i%2 == 0)			rows[i].className = 'even';
				
			}
		}
	}
}
function genContentTableStyleById(id) {
    try {
        var table = document.getElementById(id);
        var rows = table.rows;
        for (var i = 0; i < rows.length; i++) {
            if (i % 2 != 0) rows[i].className = 'even';
        }
    } catch (err) {
    }
}

function genContentTableStyleWithTitleById(id) {
    try {
        var table = document.getElementById(id);
        var rows = table.rows;
        for (var i = 0; i < rows.length; i++) {
            if (i % 2 != 0)
                rows[i].className = '';
            else
                rows[i].className = 'even';
            rows[0].className = '';
        }
    } catch (err) {
    }
}
	
var setTabList = 
{
	init:	function (nav, obj)
	{
		this.nav = d.getElementById(nav);
		this.obj = d.getElementById(obj);
		
		this.setA(this.nav);
	},
	
	setA:	function (nav)
	{
		var a = nav.getElementsByTagName('a');
		
		for (var i=0; i<a.length; i++)
		{
			a[i].num = i;
			a[i].parent = this;
			a[i].className = a[i].className.replace('active', '');
			
			a[i].onclick = function()
			{
				if (this.className.indexOf('active') >= 0)	return;
				this.parent.changeA(this, true);
			}
		}
		
		this.highlightA = a[0];
		this.changeA(a[0], false);
	},
	
	changeA:	function (obj, fadeIn)
	{
		var highlightA = this.highlightA;
		highlightA.className = highlightA.className.replace('active', '');
		obj.className += ' active';
		
		var div = setChildNodes(this.obj, 'DIV');
		div[this.highlightA.num].style.display = 'none';
		div[obj.num].style.display = 'block';
		
		this.highlightA = obj;
		if (fadeIn)	startFading(this.obj);
	}
}

function showHideSecretariat(popupTarget) {
    var li = d.getElementById(popupTarget).getElementsByTagName('div');
    var highlightLi;
    for (var j = 0; j < li.length; j++) {
        var a = setChildNodes(li[j], 'A')[0];
        a.onclick = function() {
            if (highlightLi == this.parentNode) return;

            this.parentNode.style.zIndex = 1000;
            this.parentNode.getElementsByTagName('div')[0].style.display = 'block';

            if (highlightLi) {
                highlightLi.style.zIndex = 1;
                highlightLi.getElementsByTagName('div')[0].style.display = '';
            }
            highlightLi = this.parentNode;
        }

        if (getElementsByClassName(li[j], 'btnClose').length > 0) {
            var btnClose = getElementsByClassName(li[j], 'btnClose')[0];
            btnClose.onclick = function() {
                //alert(this.parentNode.style.display)
                this.parentNode.style.display = '';
                this.parentNode.parentNode.style.zIndex = 1;
                highlightLi = null;
            }
        }
    }
}
function showHideCommittee(popupTarget)
{
	var li = d.getElementById(popupTarget).getElementsByTagName('li');
	var highlightLi;	
	for (var j=0; j<li.length; j++)
	
	{
		var a = setChildNodes(li[j], 'A')[0];
		a.onclick = function()
		{
			if (highlightLi == this.parentNode)	return;
			
			this.parentNode.style.zIndex = 1000;
			this.parentNode.getElementsByTagName('div')[0].style.display = 'block';
			
			if (highlightLi)
			{
				highlightLi.style.zIndex = 1;
				highlightLi.getElementsByTagName('div')[0].style.display = '';
			}
			highlightLi = this.parentNode;
		}
		
		if (getElementsByClassName(li[j], 'btnClose').length > 0)
		{
			var btnClose = getElementsByClassName(li[j], 'btnClose')[0];
			btnClose.onclick = function()
			{
				//alert(this.parentNode.style.display)
				this.parentNode.style.display = '';
				this.parentNode.parentNode.style.zIndex = 1;
				highlightLi = null;
			}
		}
	}
}

function setDirectory()
{
	var nav = d.getElementById('directoryLinks');
	var navContent = nav.getElementsByTagName('a');
	if (d.getElementById('directorySubLinks'))
	{
		var subNav = d.getElementById('directorySubLinks');
		var subContent = setChildNodes(subNav, 'TABLE');
	}
	
	var self = this;
	var highlightNav = null;
	var slide = null;
	
	this.init = function()
	{
		this.setA();
		var motion = new slider('directoryNav', 'directoryLinks', 'directoryNavR', 'directoryNavL');
		this.goAnchor(motion);
	};
	
	this.setA = function(id)
	{
		for (var i=0; i<navContent.length; i++)
		{
			navContent[i].num = i;
		}
		//this.changeA(0);
		if (subNav)
		{
			if (slide)	slide.reset();
			slide = new slider('directorySubNav', 'directorySubLinks', 'directorySubNavR', 'directorySubNavL');
		}
	};
	
	this.changeA = function(id)
	{
		if (highlightNav)
		{
			if (subNav)	subContent[highlightNav.num].style.display = 'none';
			highlightNav.className = highlightNav.className.replace(/Active/, '');
		}
		
		if (subNav)	subContent[id].style.display = 'block';
		if (navContent[id].className.indexOf('Active') < 0)	navContent[id].className += 'Active';
		
		highlightNav = navContent[id];
		
		if (slide)	slide.reset();
		slide = new slider('directorySubNav', 'directorySubLinks', 'directorySubNavR', 'directorySubNavL');
	};
	
	this.goAnchor = function(motion)
	{
		var a;
		for (var i=0; i<navContent.length; i++)
		{
			if (navContent[i].className.indexOf('Active') >= 0)
			{
				a = navContent[i];
				break;
			}
		}
		if (!a)	return;
		
		motion.goAnchor(a.parentNode);
	};
	
	this.init();
}

function slider(container, obj, R, L)
{
	this.container = d.getElementById(container);
	this.obj = d.getElementById(obj);
	this.arrowR = d.getElementById(R);
	this.arrowL = d.getElementById(L);
	this.ratio = 3;
	this.timeOutSpeed = 10;
	this.curIndex = 0;
	this.containerW = this.container.offsetWidth;
	this.objW = this.obj.offsetWidth;
	this.total = Math.ceil(this.objW/this.containerW);
	//alert(this.containerW + '  :  ' + this.objW);
	
	var self = this;
	
	this.init = function()
	{
		//Duplicate Content for loop
		//var str = this.container.innerHTML;
		//this.container.innerHTML += str;
		
		if (this.total == 1)
		{
			this.arrowR.style.display = 'none';
			this.arrowL.style.display = 'none';
		}
		else
		{
			this.arrowR.style.display = '';
			this.arrowL.style.display = '';
		}
		
		this.arrowR.onclick = function()	{self.goScroll(1)};
		this.arrowL.onclick = function()	{self.goScroll(-1)};
		
		if (this.total > 1)	this.goScroll(0, true);
	};
	
	this.reset = function()
	{
		this.obj.style.left = 0;
	};
	
	this.goAnchor = function(target)
	{
		//alert(target.offsetLeft + '  :  ' + this.containerW);
		var id = Math.ceil((target.offsetLeft + 1)/this.containerW) - 1;
		this.goScroll(id, true);
	};
	
	this.goScroll = function(num, start)
	{
		this.curIndex += num;
		if (this.curIndex >= this.total)	this.curIndex = this.total - 1;/*this.curIndex = 0;*/
		if (this.curIndex < 0)				this.curIndex = 0;/*this.curIndex = this.total-1;*/
		
		var opacity = (this.curIndex == 0)				?	40	:	100;
		this.setAlpha(this.arrowL.getElementsByTagName('img')[0], opacity);
		var opacity = (this.curIndex == this.total - 1)	?	40	:	100;
		this.setAlpha(this.arrowR.getElementsByTagName('img')[0], opacity);
		
		this.obj.L = - this.containerW*this.curIndex;
		//alert(this.obj.L + ' : ' + this.curIndex);
		
		clearTimeout(this.obj.timeOut);
		this.motion(this.obj, start);
	};
	
	this.motion = function(obj, start)
	{
		if (start)
		{
			obj.style.left = obj.L + 'px';
			return;
		}
		
		obj.objL = obj.offsetLeft;

		obj.goStep = (obj.L - obj.objL)/this.ratio;
		if (obj.goStep > 0)	obj.goStep = Math.ceil(obj.goStep);
		if (obj.goStep < 0)	obj.goStep = Math.floor(obj.goStep);

		if (!(Math.abs(obj.objL - obj.L) < 1))
		{
			obj.objL += obj.goStep;
			obj.timeOut = setTimeout(function(){self.motion(obj);}, this.timeOutSpeed);
		}
		else
		{
			obj.objL = obj.L;
			clearTimeout(obj.timeOut);
			//alert(obj.objL + ' : ' +  obj.L);
		}

		obj.style.left = obj.objL + 'px';
		//window.status = obj.scrollLeft + '  :  ' + obj.L;
		//window.status = obj.goStep;
	};
	
	this.setAlpha = function(obj, opacity)
	{
		obj.style.opacity = opacity/100;
		obj.style.MozOpacity = opacity/100;
		obj.style.filter = 'alpha(opacity=' + opacity + ')';
	};
	
	this.init();
}

function setDirectory2()
{
	var container = d.getElementById('directoryNav');
	var table = d.getElementById('directoryLinks');
	var self = this;
	
	this.init = function()
	{
		var td = table.getElementsByTagName('td')[0];
		var w = td.offsetWidth;
		var total = Math.round((table.offsetWidth - container.offsetWidth)/w);
		//alert(w + '  :  ' + total)
		var motion = new slider2('directoryNav', 'directoryLinks', 'directoryNavR', 'directoryNavL', w, total);
	};
	
	setTimeout(function(){self.init();}, 1000);
}
function slider2(container, obj, R, L, W, total)
{
	this.container = d.getElementById(container);
	this.obj = d.getElementById(obj);
	this.arrowR = d.getElementById(R);
	this.arrowL = d.getElementById(L);
	this.ratio = 3;
	this.timeOutSpeed = 10;
	this.curIndex = 0;
	this.containerW = this.container.offsetWidth;
	this.objW = this.obj.offsetWidth;
	this.total = total;
	//alert(this.containerW + '  :  ' + this.objW);
	
	var self = this;
	
	this.init = function()
	{
		//Duplicate Content for loop
		//var str = this.container.innerHTML;
		//this.container.innerHTML += str;
		
		//if (this.total <= 0)
		//{
		//	this.arrowR.style.display = 'none';
		//	this.arrowL.style.display = 'none';
		//	return;
		//}
		//else
		//{
		//	this.arrowR.style.display = '';
		//	this.arrowL.style.display = '';
		//}
		
		this.arrowR.onclick = function()	{self.goScroll(1)};
		this.arrowL.onclick = function()	{self.goScroll(-1)};
		this.goScroll(0, true);
	};
	
	this.reset = function()
	{
		this.obj.style.left = 0;
	};
	
	this.goAnchor = function(target)
	{
		//alert(target.offsetLeft + '  :  ' + this.containerW);
		var id = Math.ceil((target.offsetLeft + 1)/this.containerW) - 1;
		this.goScroll(id, true);
	};
	
	this.goScroll = function(num, start)
	{
		this.curIndex += num;
		if (this.curIndex > this.total)
		{
			this.curIndex = this.total;
			return;
		}
		if (this.curIndex < 0)
		{
			this.curIndex = 0;
			return;
		}
		
		var opacity = (this.curIndex == 0)				?	40	:	100;
		this.setAlpha(this.arrowL.getElementsByTagName('img')[0], opacity);
		var opacity = (this.curIndex == this.total)	?	40	:	100;
		this.setAlpha(this.arrowR.getElementsByTagName('img')[0], opacity);
		
		this.obj.L = this.obj.offsetLeft - num*W;
		
		clearTimeout(this.obj.timeOut);
		this.motion(this.obj, start);
	};
	
	this.motion = function(obj, start)
	{
		if (start)
		{
			obj.style.left = obj.L + 'px';
			return;
		}
		
		obj.objL = obj.offsetLeft;

		obj.goStep = (obj.L - obj.objL)/this.ratio;
		if (obj.goStep > 0)	obj.goStep = Math.ceil(obj.goStep);
		if (obj.goStep < 0)	obj.goStep = Math.floor(obj.goStep);

		if (!(Math.abs(obj.objL - obj.L) < 1))
		{
			obj.objL += obj.goStep;
			obj.timeOut = setTimeout(function(){self.motion(obj);}, this.timeOutSpeed);
		}
		else
		{
			obj.objL = obj.L;
			clearTimeout(obj.timeOut);
			//alert(obj.objL + ' : ' +  obj.L);
		}

		obj.style.left = obj.objL + 'px';
		//window.status = obj.scrollLeft + '  :  ' + obj.L;
		//window.status = obj.goStep;
	};
	
	this.setAlpha = function(obj, opacity)
	{
		obj.style.opacity = opacity/100;
		obj.style.MozOpacity = opacity/100;
		obj.style.filter = 'alpha(opacity=' + opacity + ')';
	};
	
	this.init();
}

function goodCitizenGallery() {
    var container = d.getElementById('mycarousel');
    var linkArray = container.getElementsByTagName('a');
    var imgArray = d.getElementById('imgContainer').getElementsByTagName('DIV');
    var self = this;

    this.init = function() {
        for (var i = 0; i < linkArray.length; i++) {
            linkArray[i].num = i;
            linkArray[i].onclick = function() {
                for (var j = 0; j < linkArray.length; j++) {
                    imgArray[j].className = "hidden";
                }
                imgArray[this.num].className = imgArray[this.num].className.replace('hidden', '');
            }
        }
    };

    setTimeout(function() { self.init(); }, 100);
}

function slider3(container, obj, R, L, W, total)
{
	this.container = d.getElementById(container);
	this.obj = d.getElementById(obj);
	this.arrowR = d.getElementById(R);
	this.arrowL = d.getElementById(L);
	this.ratio = 3;
	this.timeOutSpeed = 10;
	this.curIndex = 0;
	this.containerW = this.container.offsetWidth;
	this.objW = this.obj.offsetWidth;
	this.total = total;
	//alert(this.containerW + '  :  ' + this.objW);
	
	var self = this;
	
	this.init = function()
	{
		//Duplicate Content for loop
		//var str = this.container.innerHTML;
		//this.container.innerHTML += str;
		
		if (this.total <= 0)
		{
			this.arrowR.style.display = 'none';
			this.arrowL.style.display = 'none';
			return;
		}
		else
		{
			this.arrowR.style.display = '';
			this.arrowL.style.display = '';
		}
		
		this.arrowR.onclick = function()	{self.goScroll(1)};
		this.arrowL.onclick = function()	{self.goScroll(-1)};
		this.goScroll(0, true);
	};
	
	this.reset = function()
	{
		this.obj.style.left = 0;
	};
	
	this.goAnchor = function(target)
	{
		//alert(target.offsetLeft + '  :  ' + this.containerW);
		var id = Math.ceil((target.offsetLeft + 1)/this.containerW) - 1;
		this.goScroll(id, true);
	};
	
	this.goScroll = function(num, start)
	{
		this.curIndex += num;
		if (this.curIndex > this.total)
		{
			this.curIndex = this.total;
			return;
		}
		if (this.curIndex < 0)
		{
			this.curIndex = 0;
			return;
		}
		
		var opacity = (this.curIndex == 0)				?	40	:	100;
		this.setAlpha(this.arrowL.getElementsByTagName('img')[0], opacity);
		var opacity = (this.curIndex == this.total)	?	40	:	100;
		this.setAlpha(this.arrowR.getElementsByTagName('img')[0], opacity);
		
		this.obj.L = this.obj.offsetLeft - num*W;
		
		clearTimeout(this.obj.timeOut);
		this.motion(this.obj, start);
	};
	
	this.motion = function(obj, start)
	{
		if (start)
		{
			obj.style.left = obj.L + 'px';
			return;
		}
		
		obj.objL = obj.offsetLeft;

		obj.goStep = (obj.L - obj.objL)/this.ratio;
		if (obj.goStep > 0)	obj.goStep = Math.ceil(obj.goStep);
		if (obj.goStep < 0)	obj.goStep = Math.floor(obj.goStep);

		if (!(Math.abs(obj.objL - obj.L) < 1))
		{
			obj.objL += obj.goStep;
			obj.timeOut = setTimeout(function(){self.motion(obj);}, this.timeOutSpeed);
		}
		else
		{
			obj.objL = obj.L;
			clearTimeout(obj.timeOut);
			//alert(obj.objL + ' : ' +  obj.L);
		}

		obj.style.left = obj.objL + 'px';
		//window.status = obj.scrollLeft + '  :  ' + obj.L;
		//window.status = obj.goStep;
	};
	
	this.setAlpha = function(obj, opacity)
	{
		obj.style.opacity = opacity/100;
		obj.style.MozOpacity = opacity/100;
		obj.style.filter = 'alpha(opacity=' + opacity + ')';
	};
	
	this.init();
}


var setGoodCitizenList = 
{
	init:	function (nav, obj)
	{
		this.nav = d.getElementById(nav);
		this.obj = d.getElementById(obj);
		
		this.setA(this.nav);
	},
	
	setA:	function (nav)
	{
		navInside = getElementsByClassName(nav,"sideContent");
		//var a = nav.getElementsByTagName('a');
		var a = navInside[0].getElementsByTagName('a');

		for (var i=0; i<a.length; i++)
		{
			a[i].num = i;
			a[i].parent = this;
			a[i].className = a[i].className.replace('active', '');
			
			a[i].onclick = function()
			{
				if (this.className.indexOf('active') >= 0)	return;
				this.parent.changeA(this, true);
			}
		}
		
		this.highlightA = a[0];
		this.changeA(a[0], false);
	},
	
	changeA:	function (obj, fadeIn)
	{
		var highlightA = this.highlightA;
		highlightA.className = highlightA.className.replace('active', '');
		obj.className += ' active';
		
		var div = setChildNodes(this.obj, 'DIV');
		div[this.highlightA.num].style.display = 'none';
		div[obj.num].style.display = 'block';
		
		this.highlightA = obj;
		if (fadeIn)	startFading(this.obj);
	}
}

//print function add on 6 Aug 2009
function printFriendly()
{
	var w = 760 + 20;
	var h = 600;
	var l = (screen.width - w) / 2;
	var t = (screen.height - h) / 2;
	var page = window.open('', 'printPopup', 'width='+w+', height='+h+', left='+l+', top='+t+', screenX=0, screenY=0, scrollbars=1, resizable=0');
	var str = '';
	
	var container = d.createElement('div');
	
	container.innerHTML = d.getElementById('content').innerHTML;
		
	str += '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>';
	str += '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Hong Kong General Chamber of Commerce</title>';
	str += '<script type="text/javascript" language="javascript" src="/en/js/global.js"></script>';
	
	
	var link = d.getElementsByTagName('link');
	for (var i=0; i<link.length; i++)
	{
		if(link[i].rel.toString().toLowerCase() == 'stylesheet' && !link[i].disabled)
		{
			str += '<link type="text/css" rel="stylesheet" href="'+link[i].href+'">';
		}
}

    var curFontSize = d.getElementsByTagName('body')[0].style.fontSize;

	str += '<body onload="window.print();" style="font-size:'+curFontSize+'">';
	str += '<div id="content">';
	//to disable all href & hide the Back button
	var a = container.getElementsByTagName("a")
	for(var i=0;i<a.length;i++){
		a[i].setAttribute("href","javascript:void(0);");
		if(a[i].className == "btnBack"){
			a[i].style.display = "none";
		}
	}
	
	
	
	
	str += container.innerHTML;
	str += '</div>';
	str += '</body></html>';

	page.document.open();
	page.document.write(str);
	page.document.close();
	page.focus();
}

function treeInit()
{
	if(!d.getElementById('treeItemContainer'))	return;
	
	var div = d.getElementById('treeItemContainer');
	var divList = getElementsByClassName(div,'treeItem');
	
	divList[0].className +=" expand";
	
	var disItem = getElementsByClassName(div,'treeItemContent');
	
	for(var i=0; i<divList.length; i++)
	{
		divList[i].id = i;
		
		divList[i].onclick = function()
		{
			if(disItem[this.id].style.display == "none") 
			{
				for(var j=0; j<disItem.length; j++)
				{
					disItem[j].style.display = "none";
					divList[j].className = this.className.replace('expand',' ');
				}
				disItem[this.id].style.display = "block";
				this.className += " expand";
			}
			else
			{
				disItem[this.id].style.display = "none";
				this.className = this.className.replace('expand',' ');
			}
			
		}
	}
}
function profile_save(drawerID,txt) {
	if(drawerID=='informationList'){
		listType="profile_info_save";
		saveTxt="info_save";
	}else if(drawerID=='servicesList'){
		listType="profile_service_save";
		saveTxt="service_save";
	}
	
	var url = "/ajax/UserProxy.aspx?action="+listType+"&"+saveTxt+"="+txt;
	var xmlhttp = null;
	if (window.XMLHttpRequest) { // code for IE7, Firefox, Opera, etc.
		xmlhttp = new window.XMLHttpRequest();
	} else { // code for IE6, IE5
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (xmlhttp != null) {
		xmlhttp.onreadystatechange = function elub_profile_stateChanged() {
			if (xmlhttp.readyState == 4) {
				if (xmlhttp.status == 200) { // 200 = "OK"
					var xmlDoc = null;
					if (window.XMLHttpRequest) { // code for IE7, Firefox, Opera, etc.
						parser = new DOMParser();
						xmlDoc = parser.parseFromString(xmlhttp.responseText, "text/xml");
					} else { // code for IE6, IE5
						xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
						xmlDoc.async = "false";
						xmlDoc.loadXML(xmlhttp.responseText);
					}
					//var profile_info_save = xmlDoc.getElementsByTagName("profile_info_save")[0].firstChild.nodeValue;
				}
				else {
					alert("Problem retrieving XML data:" + xmlhttp.statusText);
				}
			}
		}
//		xmlhttp.open("GET", url, true);
// 20110901 - change to false (async) for Safari (iDevices)
		xmlhttp.open("GET", url, false);
		xmlhttp.send("");
	} else {
		alert("Your browser does not support XMLHTTP.");
	}
	
}

function elub_profile() {

	var url = "/ajax/UserProxy.aspx?action=eclub_profile";
	var xmlhttp = null;
	if (window.XMLHttpRequest) { // code for IE7, Firefox, Opera, etc.
		xmlhttp = new window.XMLHttpRequest();
	} else { // code for IE6, IE5
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (xmlhttp != null) {
		xmlhttp.onreadystatechange = function elub_profile_stateChanged() {
			if (xmlhttp.readyState == 4) {
				if (xmlhttp.status == 200) { // 200 = "OK"
					var xmlDoc = null;
					if (window.XMLHttpRequest) { // code for IE7, Firefox, Opera, etc.
						parser = new DOMParser();
						xmlDoc = parser.parseFromString(xmlhttp.responseText, "text/xml");
					} else { // code for IE6, IE5
						xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
						xmlDoc.async = "false";
						xmlDoc.loadXML(xmlhttp.responseText);
					}
					var eclub_profile_load = xmlDoc.getElementsByTagName("eclub_profile_load")[0].firstChild.nodeValue;
					
					/*
					var bulletin = false;
					var press_release = false;
					var china_news = false;
					var ceo_favorite_read = false;
					var circluars = false;
					var corporate_daily = false;
					var policy_statement = false;
					var surveys = false;
					var member_services = false;
					var directory = false;
					var member_benefits = false;
					var trade_inquiries = false;
					*/
					//alert(eclub_profile_load);
					if (eclub_profile_load == "True") {
					
						infoList += (xmlDoc.getElementsByTagName("press_release")[0].firstChild.nodeValue == 'True') ? "press|" : "";
						infoList += (xmlDoc.getElementsByTagName("bulletin")[0].firstChild.nodeValue == 'True') ? "bulletin|" : "";
						
						infoList += (xmlDoc.getElementsByTagName("china_news")[0].firstChild.nodeValue == 'True') ? "china|" : "";
						infoList += (xmlDoc.getElementsByTagName("ceo_favorite_read")[0].firstChild.nodeValue == 'True') ? "read|" : "";
						
						infoList += (xmlDoc.getElementsByTagName("circulars")[0].firstChild.nodeValue == 'True') ? "circulars|" : "";
						//alert("dd");
						infoList += (xmlDoc.getElementsByTagName("corporate_daily")[0].firstChild.nodeValue == 'True') ? "corporate|" : "";
						infoList += (xmlDoc.getElementsByTagName("policy_statement")[0].firstChild.nodeValue == 'True') ? "policy|" : "";
						infoList += (xmlDoc.getElementsByTagName("surveys")[0].firstChild.nodeValue == 'True') ? "surveys|" : "";
						
						infoList += (xmlDoc.getElementsByTagName("americas")[0].firstChild.nodeValue == 'True') ? "americas|" : "";
						infoList += (xmlDoc.getElementsByTagName("asia")[0].firstChild.nodeValue == 'True') ? "asia|" : "";
						infoList += (xmlDoc.getElementsByTagName("environment")[0].firstChild.nodeValue == 'True') ? "environment|" : "";
						infoList += (xmlDoc.getElementsByTagName("europe")[0].firstChild.nodeValue == 'True') ? "europe|" : "";
						infoList += (xmlDoc.getElementsByTagName("industry")[0].firstChild.nodeValue == 'True') ? "industry|" : "";
						infoList += (xmlDoc.getElementsByTagName("manpower")[0].firstChild.nodeValue == 'True') ? "manpower|" : "";
						infoList += (xmlDoc.getElementsByTagName("women")[0].firstChild.nodeValue == 'True') ? "women|" : "";
						
						if(infoList.charAt(infoList.length-1)=="|"){
							infoList=infoList.substr(0,infoList.length-1);
						}
								
						serList += (xmlDoc.getElementsByTagName("member_services")[0].firstChild.nodeValue == 'True') ? "member|" : "";
						serList += (xmlDoc.getElementsByTagName("directory")[0].firstChild.nodeValue == 'True') ? "directory|" : "";
						serList += (xmlDoc.getElementsByTagName("member_benefits")[0].firstChild.nodeValue == 'True') ? "benefits|" : "";
						serList += (xmlDoc.getElementsByTagName("trade_inquiries")[0].firstChild.nodeValue == 'True') ? "trade|" : "";
						
						serList += (xmlDoc.getElementsByTagName("job")[0].firstChild.nodeValue == 'True') ? "job|" : "";
						serList += (xmlDoc.getElementsByTagName("profile")[0].firstChild.nodeValue == 'True') ? "profile|" : "";
						serList += (xmlDoc.getElementsByTagName("past")[0].firstChild.nodeValue == 'True') ? "past|" : "";
						serList += (xmlDoc.getElementsByTagName("events")[0].firstChild.nodeValue == 'True') ? "service_events|" : "";
						if(serList.charAt(serList.length-1)=="|"){
							serList=serList.substr(0,serList.length-1);
						}
					} else {
						infoList = "press|policy|bulletin|china";
						serList = "member|directory|benefits|trade";
					}
									
					landingWhatson();
					var listItem = getElementsByClassName(document,'drawer');
	//alert(listItem.length);
						for(var i =0;i<listItem.length;i++){
							listItem[i].style.display='';	
						}
					init();
						
					new setDrawer("informationList", "newsChooseMenu");
					new setDrawer("servicesList", "servicesChooseMenu");
					

					
				}
				else {
					alert("Problem retrieving XML data:" + xmlhttp.statusText);
				}
			}
		}
//		xmlhttp.open("GET", url, true);
// 20110901 - change to false (async) for Safari (iDevices)
		xmlhttp.open("GET", url, false);
		xmlhttp.send("");
	} else {
		alert("Your browser does not support XMLHTTP.");
	}

}
function getProfile(drawerID)
{
	if(drawerID=='informationList'){
		//alert(infoList);
		return infoList;
	}else if(drawerID=='servicesList'){
		return serList;
	}else{
		return "";
	}
}

function goContact(lang)
{
	var link = '/'+lang+'/contact/contact.aspx';

	var section = '?section=';
	var level = levelArray[0];
	if (!level) 
	{
		location.href = link;
	}
	else 
	{
		location.href = link + section + level;
	}
}

function getContact()
{
	var sPage = GetParam('section');
	var menu = document.getElementById('contactPull');
	if (menu != null) {
	    var option = menu.getElementsByTagName('option');
	    for (var i=0; i<option.length; i++)
	    {
		    option[i].value;
		    if (sPage == option[i].value)
		    {
			    option[i].selected = true;
			    //alert(option[i].select);
		    }
	    }
	}
}

function referURL()
{
	var emailURL = '/en/other/email.aspx';
	var currentURL = d.location.href;
	if (currentURL.indexOf(emailURL) >= 0)	return;
	setCookie('refURL', currentURL, nd, cpath, cdomain);
	d.location.href = emailURL+"?return_url="+escape(currentURL);
}

function setRefURL()
{
	var defaultURL = 'http://' + d.location.hostname + '/en/index.aspx';
	var refURL = d.getElementById('refURL');
	if(refURL!=null){
		refURL.value = (getCookie('refURL'))?	getCookie('refURL'):defaultURL;
		setCookie('refURL', '', nd, cpath, cdomain);
	}
}

function backToTop() {
    var x1 = x2 = x3 = 0;
    var y1 = y2 = y3 = 0;

    if (document.documentElement) {
        x1 = document.documentElement.scrollLeft || 0;
        y1 = document.documentElement.scrollTop || 0;
    }

    if (document.body) {
        x2 = document.body.scrollLeft || 0;
        y2 = document.body.scrollTop || 0;
    }

    x3 = window.scrollX || 0;
    y3 = window.scrollY || 0;

    var x = Math.max(x1, Math.max(x2, x3));
    var y = Math.max(y1, Math.max(y2, y3));

    window.scrollTo(Math.floor(x / 2), Math.floor(y / 2));

    if (x > 0 || y > 0) {
        window.setTimeout("backToTop()", 25);
    }
}

function show(obj) {
no = obj.selectedIndex;
if(no==2) {
document.getElementById('locationRow').style.visibility = 'hidden';
document.getElementById('travel').style.visibility = 'hidden';
document.getElementById('categoriesRow').style.visibility = 'hidden';
document.getElementById('travelLabel').style.visibility = 'hidden';
}
else  {
document.getElementById('locationRow').style.visibility = 'visible';
document.getElementById('travel').style.visibility = 'visible';
document.getElementById('categoriesRow').style.visibility = 'visible';
document.getElementById('travelLabel').style.visibility = 'visible';
} 
}


Date.prototype.defaultView=function(){
var dd=this.getDate();
if(dd<10)dd='0'+dd;
var mm=this.getMonth()+1;
if(mm<10)mm='0'+mm;
var yyyy=this.getFullYear();
return String(yyyy+"\/"+mm+"\/"+dd)
}


function genTodayInField() {

var today = new Date();
var str ='';
str += '<input type="text" id="todayDate" value="'+today.defaultView()+'" readonly="readyonly" disabled="disabled" />';
document.write(str);
}

function clearForm(){

    var inputField = document.getElementById('content').getElementsByTagName("input");
        for(var b=0;b<inputField.length;b++){
            if(inputField[b].id!='todayDate'){
                inputField[b].value="";
                if (inputField[b].checked) inputField[b].checked=false;
            }
        }
    var selectField = document.getElementById('content').getElementsByTagName("select");
        for(var a = 0;a<selectField.length;a++){
            selectField[a].selectedIndex=0;
        }
    var textAreaField = document.getElementById('content').getElementsByTagName("textarea");
        for(var a = 0;a<textAreaField.length;a++){
            textAreaField[a].value="";
        }
    var validatorField = document.getElementById('content').getElementsByTagName("span");
        for(var a = 0;a<validatorField.length;a++){
			var id = validatorField[a].id.toLowerCase();
			if(id.match("validator")!=null)
				validatorField[a].innerHTML="";
        }
}

function clearFormById(id){

    var inputField = document.getElementById(id).getElementsByTagName("input");
        for(var b=0;b<inputField.length;b++){
            if(inputField[b].id!='todayDate'){
                inputField[b].value="";
                if (inputField[b].checked) inputField[b].checked=false;
            }
        }
    var selectField = document.getElementById(id).getElementsByTagName("select");
        for(var a = 0;a<selectField.length;a++){
            selectField[a].selectedIndex=0;
        }
    var textAreaField = document.getElementById(id).getElementsByTagName("textarea");
        for(var a = 0;a<textAreaField.length;a++){
            textAreaField[a].value="";
        }
    var validatorField = document.getElementById(id).getElementsByTagName("span");
        for(var a = 0;a<validatorField.length;a++){
			if(validatorField[a].id.match("Validator")!=null)
				validatorField[a].innerHTML="";
        }
}

/*
function directoryPageHighlight() {
    var sPage = GetParam('member_cate');
    var menu = d.getElementById('directory_leftSubMenu');
    var a = menu.getElementsByTagName('a');
    for (var i = 0; i < a.length; i++) {
        var menuLink = a[i].href.substring(a[i].href.lastIndexOf('=') + 1);
        //alert(menuLink);
        if (sPage == menuLink) {
            a[i].className += ' active';
        }
    }
}
*/


/* added by angel */
function setCompanyList(select, div)
{
	var self = this;
	var nav = d.getElementById(select);
	var obj = d.getElementById(div);
	var highlightA;
	
	this.init = function ()
	{
		this.setA();
	};
	
	this.setA = function ()
	{
		var a = nav.getElementsByTagName('a');
		for (var i=0; i<a.length; i++)
		{
			a[i].num = i;
			a[i].onclick = function()
			{
				if (highlightA == this.num)	return;
				self.changeA(this.num, false);
			}
		}
		
		this.changeA(0, false);
	};
	
	this.changeA = function (num, fadeIn)
	{	
	if (showAll == 0) {
		num = 1;
		showAll = 1;
	}

		var div = setChildNodes(obj, 'DIV');
		div[num].style.display = 'block';
		if (highlightA != null)	div[highlightA].style.display = 'none';
		highlightA = num;
		
		if (fadeIn)	startFading(this.obj);
	};
	
	this.init();
}

//display faq 
function displayAns(id, total) {

    var faq = document.getElementById(id);
    var faqQn2 = document.getElementById(id + '_qn');

    if (faq.style.display == "block") {
        faq.style.display = "none";
        faqQn2.className = 'faqQn';
        //alert("fff");
    } else {

        for (i = 1; i < total + 1; i++) {
            var btn = document.getElementById('faq_q' + i);
            var faqQn = document.getElementById('faq_q' + i + '_qn');

            btn.style.display = "none";
            faqQn.className = 'faqQn';

        }
        faq.style.display = "block";
        faqQn2.className = 'faqQn2';
    }
}

function autoListScroll(id)
{
	var container = d.getElementById(id);
	var div = container.getElementsByTagName('div')[0];
	var h = div.offsetHeight;
	var timeout;
	var self = this;
	
	this.init = function()
	{
		//Duplicate div contents
		var html = div.innerHTML;
		div.innerHTML += html;
		
		container.onmouseover = function()
		{
			self.autoScrollStop();
		};
		
		container.onmouseout = function()
		{
			self.autoScrollPlay();
		};
		
		this.autoScrollPlay();
	};
	
	this.autoScrollPlay = function()
	{
		timeout = setInterval(function()
		{
			var y = div.offsetTop;
			y --;
			if (y <= -h)	y = 0;
			div.style.top = y + 'px';
		}, 100);
	};
	
	this.autoScrollStop = function()
	{
		clearTimeout(timeout);
	};
	
	this.init();
}

// Issue No. 192
// ascx/template/index.master
function ValidatorToLower(){
    var validatorField = document.getElementsByTagName("span");
        for(var a = 0;a<validatorField.length;a++){
			if(validatorField[a].id.match("Validator")!=null)
				validatorField[a].innerHTML = validatorField[a].innerHTML.toLowerCase();
				validatorField[a].innerHTML = validatorField[a].innerHTML.substr(0,1).toUpperCase() + validatorField[a].innerHTML.substr(1);
        }
}









