var isIE = (navigator.appName.indexOf("Microsoft") > -1);
var isIE7 = false /*@cc_on || @_jscript_version < 5.8 @*/;
var isIE8 = false /*@cc_on || @_jscript_version == 5.8 @*/;
var isAndroid = (navigator.userAgent.toLowerCase().search('android') > -1);
var d = document;
var isMobile = checkMobile();
var textVersionClass;
if (!levelArray)	var levelArray = new Array();
if (!textMode)		var textMode = false;
if (!lang)
{
	var lang = checkURL(['en', 'tc', 'sc']);
	if (!lang)	lang = 'en';
}

var user_agent = navigator.userAgent.toString();


//mobile
//if (isMobile && user_agent.indexOf('iPad') < 0)	new checkMobileEnabled();
if (isMobile)	new checkMobileEnabled();
//alert(0);
//end of mobile


textVersionClass = new textVersion();


function init()
{
	//Add Body Lang Class
	d.body.className += ' ' + lang;
	if (isMobile)	addIpadCSS();
	
	
	//mobile
	//if (isMobile && user_agent.indexOf('iPad') < 0)
	if (isMobile)
	{
		var textBtn = d.getElementById('textVer');
		var mobileBtn = d.getElementById('mobileVer');
		textBtn.style.display = 'none';
		mobileBtn.style.display = 'block';
	}
	//end of mobile
	
	
	if (levelArray.length == 0)	getLevel();
	
	if (levelArray.length > 0)	{highlightTopNav(); genBreadcrumbs();}
	if (levelArray.length > 1)	{highlightLeftNav();}
	if (levelArray.length > 2)	{highLightTab();}
	if (levelArray[0] == 'media' && levelArray[1] == 'pressrelease') {
		
		if (d.getElementById('projectGalleryPart')) {
		var havePG = d.getElementById('projectGalleryPart');
		var havePGUL = 	havePG.getElementsByTagName('UL');
		var contentPart = d.getElementById('content');
		
		
		if (havePGUL.length != 0) {
			contentPart.style.minHeight = '580px';
		} 
		}
	}
	
	if (levelArray[0] == 'projects' && levelArray[1] == 'redevelopment') {
		if (d.getElementById('mapArea')) {
			var currPNode = d.getElementById('mapArea').parentNode;
			currPNode.className += ' redevMapTop';
		}
		
	}
	
	textVersionClass.changeContent();
	
	new genCustomSelect();
	//new iPadCss();
}

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();
	
	if (!levelArray[levelArray.length-1]) return;
	var obj = levelArray[levelArray.length-1];
	
	
	if (obj != 'index.html')
	{
		levelArray[levelArray.length-1] = obj.replace('.html', '');
	}
	else
	{
		levelArray.pop();
	}
	//alert(levelArray);
}

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[1];
	var obj0 = levelArray[0];
	
	//level 1 has landing page need this code
	if (!d.getElementById('leftNav')) return;
	//end level 1 has landing page
	
	if (!getElementByRel('leftNav', obj))	return;
	
	//var btn = d.getElementById(obj);
	var btn = getElementByRel('leftNav', obj);
	
	//alert(btn);
	btn.className += ' active';
	
	if (d.getElementById(obj0 + '_menu'))
	{
		var menu = d.getElementById(obj0 + '_menu');
		menu.className += ' active';
		menu.style.display = 'block';
	}
	if (d.getElementById(obj0 + '_title'))
	{
		var title = d.getElementById(obj0 + '_title');
		title.style.display = 'block';
	}
	
	//sub sub level
	
	if (!d.getElementById(obj + '_menu')) return;
	if (d.getElementById(obj + '_menu')) {
		
		var menu1 = d.getElementById(obj + '_menu');
		menu1.style.display = 'block';
		
		var menu1Parent = menu1.parentNode;
		
		menu1Parent.className += ' ' +'active';
		
		
	}
	if (!levelArray[2])	return;
	
	var obj1 = levelArray[2];
	var btn1 = getElementByRel(obj + '_menu', obj1);
	btn1.className += ' active';	
	
	if (d.getElementById(obj1 + '_menu')) {
		var menu2 = d.getElementById(obj1 + '_menu');
		/*if (levelArray[2] == 'redevFaq' || levelArray[2] == 'rehabFaq') {
			
			menu2.style.display = 'none';	
			
				
			
		} else {
			
			menu2.style.display = 'block';
		}*/
		if (levelArray[2] == 'rehabFaq' ) {
			
			menu2.style.display = 'none';				
				
			
		} else {
			
			menu2.style.display = 'block';
		}
		
	}
	
	if (!levelArray[3])	return;		
	var obj2 = levelArray[3];
	
	
	
	var btn2 = getElementByRel(obj1 + '_menu', obj2);
	
	btn2.className += ' active';	
	
	if (d.getElementById(obj2 + '_menu')) {
		var menu3 = d.getElementById(obj2 + '_menu');
		/*if (levelArray[2] == 'redevFaq' || levelArray[2] == 'rehabFaq') {
			
			menu2.style.display = 'none';	
			
				
			
		} else {
			
			menu2.style.display = 'block';
		}*/
		if (levelArray[3] == 'faqRehouse'|| levelArray[3] == 'exGratia' ) {
			
			
			menu3.style.display = 'none';				
				
			
		} else {
			//alert(0);
			menu3.style.display = 'block';
		}
		
	}
	
	
	//alert(levelArray[3]);
	if (levelArray[3] == 'btnOwner' || levelArray[3] == 'btnTenants' || levelArray[3] == 'btnOthers' || levelArray[3] == 'btnOwnerC' || levelArray[3] == 'btnGOwner' || levelArray[3] == 'btnEOwner' || levelArray[3] == 'btnHot') {
		var currBtn =  d.getElementById(levelArray[3] + 'Tab');
			currBtn.className += ' active';
		
	} /*else {
		
		
		var btn2 = getElementByRel(obj + '_menu', obj2);
		btn2.className += ' active';
	}*/
	
	
	if (!levelArray[4])	return;		
	var obj3 = levelArray[4];
	
	//alert(levelArray[3]);
	if (levelArray[4] == 'ldc' || levelArray[4] == 'urao') {
		
		var currBtn2 =  d.getElementById('btn' + levelArray[4]);
		currBtn2.className += ' active';
		
	} 
	
	
	
}

function highLightTab() {
	if (!levelArray[4])	return;
	
	var currBtn = levelArray[4];
	if (levelArray[3] == 'exGratia') {
		var btn = d.getElementById(currBtn);	
	}
	else {
		var btn = d.getElementById(currBtn+ 'Tab');
	}
	
	
	
	btn.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];
		}
	}
}

//gen topnav
function showPulldown(btn, id)
{
	//if (btn.className.indexOf('active') >= 0)	return;
	
	var menu = d.getElementById(id + 'Pulldown');

	showLayer(1);
	
	btn.onmouseover		= function() {menu.hit = true; btn.className = 'active'; showLayer(1);};
	menu.onmouseover	= function() {menu.hit = true;	showLayer(1); btn.className = 'active';};
	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('mouseon') < 0)	btn.className += ' active';
			//if (btn.className.indexOf('mouseon') < 0)	btn.className += ' mouseon';
			menu.style.display = 'block';		
			
		}
		else
		{
			if (btn.id != levelArray[0])	btn.className = btn.className.replace('active', '');
			//btn.className = btn.className.replace('mouseon', '');			
			
			setTimeout(function()
			{
				if (!menu.hit)
				{
					menu.style.display = 'none';
					if (btn.id != levelArray[0]) {
						btn.className = '';	
					}	
				} 
			}, 10);
		}
	}
}

function genBreadcrumbs()
{
	if (!d.getElementById('breadcrumb'))	return;
	var breadcrumbs = d.getElementById('breadcrumb').getElementsByTagName('span')[0];
	
	var txtObj = {'en':'Home', 'tc':'首頁', 'sc':'首页'};
	
	var a = createA('/' + lang + '/index.html', '_self', txtObj[lang]);
	breadcrumbs.appendChild(a);
	
	
	for (var i=0; i<levelArray.length; i++)
	{
		if (!levelArray[i])	break;
		
		var obj = levelArray[i];
		if (d.getElementById(levelArray[i]))
		{		
			//for top nav	
			var btn = d.getElementById(levelArray[i]);
		//alert(levelArray[i]);
			
		}
		else if (d.getElementById('leftNav'))
		{
			//for left nav		
			var btn = getElementByRel('leftNav', levelArray[i]);
		}
		if (!btn) break;
		var txt = (isIE)	?	btn.innerText	:	btn.textContent;
		var link = btn.href;
		//alert(txt);
		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 += '<span class="lastItem">' + txt + '</span>';
		}
	}
	
}

/*Change language*/

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;
}

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;
}

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, id, type, value, className)
{		
	var input = d.createElement('input');
	if (name)	input.setAttribute('name', name);
	if (id)	input.setAttribute('id', id);
	if (type)	input.setAttribute('type', type);
	if (value)	input.setAttribute('value', value);
	if (className)	input.className = className;
	return input;
}

function setChildNodes(obj, tagName)
{
	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, selected)
{
	var array = new Array();
	var tags = p.getElementsByTagName('*');
	
	for (var i=0; i<tags.length; i++)
	{
		if (!tags[i].className)	continue;
		if (selected)
		{
			if (tags[i].className.indexOf(c) >= 0)	array.push(tags[i]);
		}
		else
		{
			if (tags[i].className == c)	array.push(tags[i]);
		}
	}
	
	return array;
}

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 checkIsIphoneIpad()
{
	var pda_user_agent_list = new Array("iPhone", "iPod", "iPad");
	var pda_app_name_list = new Array("Microsoft Pocket Internet Explorer");

	var user_agent = navigator.userAgent.toString();
	for (var i=0; i<pda_user_agent_list.length; i++) {
		if (user_agent.indexOf(pda_user_agent_list[i]) >= 0) {
			return true;
		}
	}
	var appName = navigator.appName.toString();
	for (var i=0; i<pda_app_name_list.length; i++) {
		if (user_agent.indexOf(pda_app_name_list[i]) >= 0) {
			return true;
		}
	}
	
	return false;
}
	
function addEvent (o, t, f)
{
	removeEvent (o, t, f);
	if (o.attachEvent) o.attachEvent('on'+ t, f);
	else o.addEventListener(t, f, false);
};

function removeEvent (o, t, f)
{
	if (o.detachEvent) o.detachEvent('on'+ t, f);
	else o.removeEventListener(t, f, false);
};

function checkMobile()
{
	var pda_user_agent_list = new Array("2.0 MMP", "240320", "AvantGo","BlackBerry", "Blazer",
			"Cellphone", "Danger", "DoCoMo", "Elaine/3.0", "EudoraWeb", "hiptop", "IEMobile", "KYOCERA/WX310K", "LG/U990",
			"MIDP-2.0", "MMEF20", "MOT-V", "NetFront", "Newt", "Nintendo Wii", "Nitro", "Nokia",
			"Opera Mini", "Opera Mobi",
			"Palm", "Playstation Portable", "portalmmm", "Proxinet", "ProxiNet",
			"SHARP-TQ-GX10", "Small", "SonyEricsson", "Symbian OS", "SymbianOS", "TS21i-10", "UP.Browser", "UP.Link",
			"Windows CE", "WinWAP", "Android", "iPhone", "iPod", "iPad", "Windows Phone", "HTC"/*, "GTB"*/);
	var pda_app_name_list = new Array("Microsoft Pocket Internet Explorer");

	var user_agent = navigator.userAgent.toString();
	for (var i=0; i<pda_user_agent_list.length; i++) {
		if (user_agent.indexOf(pda_user_agent_list[i]) >= 0) {
			return true;
		}
	}
	var appName = navigator.appName.toString();
	for (var i=0; i<pda_app_name_list.length; i++) {
		if (user_agent.indexOf(pda_app_name_list[i]) >= 0) {
			return true;
		}
	}
	
	return false;
}

function slider(container, obj, R, L, list, goDirectId)
{
	this.container = (typeof(container) == 'string')?	d.getElementById(container):container;
	this.obj = (typeof(obj) == 'string')?	d.getElementById(obj):obj;
	this.arrowR = (typeof(R) == 'string')?	d.getElementById(R):R;
	this.arrowL = (typeof(L) == 'string')?	d.getElementById(L):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);
	this.isScroll = true;
	if (list)	
	{
		this.navList = d.getElementById(list);
		this.navArray = new Array();
	}
	
	var highlightA;
	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.visibility = 'hidden';
			this.arrowL.style.visibility = 'hidden';
			this.isScroll = false;
		}
		else
		{
			this.arrowR.style.visibility = '';
			this.arrowL.style.visibility = '';
			this.obj.style.position = 'absolute';
		}
		
		this.arrowR.onclick = function()	{if (self.isScroll)	self.goScroll(1)};
		this.arrowL.onclick = function()	{if (self.isScroll)	self.goScroll(-1)};
		
		this.reset();
		
		if (!goDirectId)	goDirectId = 0;
		if (this.total > 1)	this.goScroll(goDirectId, true);
		if (list)	this.genNavList();
	};
	
	this.reset = function()
	{
		this.obj.style.left = 0;
	};
	
	this.goAnchor = function(target, num)
	{
		//alert(target.offsetLeft + '  :  ' + this.containerW);
		var id = (num)	?	num	:	Math.ceil((target.offsetLeft + 1)/this.containerW) - 1;
		this.goScroll(id, true);
	};
	
	this.goAnchor = function(target, num)
	{
		//alert(target.offsetLeft + '  :  ' + this.containerW);
		var id = (num)	?	num	:	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;*/
		
		if (this.navArray)
		{
			this.changeNav(this.navArray[this.curIndex]);
		}
		else
		{
			this.goDirectScroll(this.curIndex, start);
		}
	};
	
	this.goDirectScroll = function(num, start)
	{
		this.curIndex = num;
		
		var opacity = (this.curIndex == 0)				?	30	:	100;
		this.setAlpha(this.arrowL, opacity);
		var opacity = (this.curIndex == this.total - 1)	?	30	:	100;
		this.setAlpha(this.arrowR, opacity);
		
		if (this.curIndex == this.total - 1)
		{
			this.obj.L = - (this.objW - this.containerW);
		}
		else
		{
			this.obj.L = - this.containerW*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.genNavList = function ()
	{
		if (!this.total)	return;
		
		for (var i=0; i<this.total; i++)
		{
			var a = createA('javascript:;', '', (i + 1));
			a.num = i;
			
			a.onclick = function()
			{
				self.changeNav(this);
			}
			
			this.navList.appendChild(a);
			this.navArray.push(a);
		}
		
		this.changeNav(this.navArray[0]);
	};
	
	this.changeNav = function (btn)
	{
		if (highlightA == btn)	return;
		
		if (highlightA)	highlightA.className = highlightA.className.replace(/active/, '');
		btn.className += ' active';
		
		this.goDirectScroll(btn.num);
		highlightA = btn;
	};
	
	this.setAlpha = function(obj, opacity)
	{
		obj.style.opacity = opacity/100;
		obj.style.MozOpacity = opacity/100;
		obj.style.filter = 'alpha(opacity=' + opacity + ')';
	};
	
	this.init();
}

//On Mouseover the property list
function onMouseClickProp() {
	var btn = d.getElementById('propBtn');
	var displayList = d.getElementById('propList');
	
	
	if (displayList.style.display != 'block')
	{
		displayList.style.display = 'block';
		displayList.onmouseover = function() {displayList.hit = true;};
		btn.onmouseover = function() {btn.hit = true;};
		btn.onmouseout= function() {
			btn.hit = false; setTimeout(function() {if (!displayList.hit && !btn.hit)	displayList.style.display = 'none';}, 200);
		};
		
		displayList.onmouseout= function() {
			displayList.hit = false; setTimeout(function() {if (!displayList.hit)	displayList.style.display = 'none';}, 200);
		};
	}	
	
}

//generate the image part width
function genImgWidth(id) {
	var currentPart = d.getElementById('previewBox');
	var totalImg = currentPart.getElementsByTagName('a').length;
	
	//66 is each image part width
	var currentPartW = 66 * totalImg;
	currentPart.style.width = currentPartW + 'px';

}


//change the property images
function changePropImg(id) {
	var propImgPart = d.getElementById('imgDesPart');
	var propTotal = propImgPart.getElementsByTagName('div');
	var propThumbWrapper = d.getElementById('previewBox');
	var imgThumbPart =  propThumbWrapper.getElementsByTagName('a');
	
	for (i=0; i<imgThumbPart.length; i++) {
		imgThumbPart[i].className = '';
		propTotal[i].style.display = 'none';
	}	

	imgThumbPart[id].className = 'active';
	propTotal[id].style.display = 'block';	
	
}

//light box
function genLightBox() {
	return;
	$(document).ready(function(){
		$("a[rel='lightbox']").colorbox();
	});
}

//highlight the name in drop down list
function highlightDDName() {
	var ppNameDisplay = d.getElementById('ppName');
	var ppName = d.getElementById('currentPropName');
	
	ppNameDisplay.innerHTML = ppName.innerHTML + '<span></span>';
	
}

//change the library photo on the media landing
function changeImgAtMedia(id) {
	var ppNameDisplay = d.getElementById('propName');
	var imgDisplay = d.getElementById('displayImg');
	var imgWrapper = d.getElementById('imgWrapper');
	var currA = imgWrapper.getElementsByTagName('a')
	var currASpan = currA[id].getElementsByTagName('span')
	var totalImg = currA.length;
	
	
	for (i=0; i<totalImg; i++) {
		
		
		currA[i].onclick = function()
		{	
			OverBtn(this);
		}
		
	}
	//alert("here");
	//currA[id].className += 'active';
	function OverBtn (btn) {
		
		for (i=0; i<totalImg; i++) {
			currA[i].className = '';	
		}
		btn.className += 'active';
		imgDisplay.src = btn.getElementsByTagName('img')[0].src;
		ppNameDisplay.innerHTML = btn.getElementsByTagName('img')[0].alt;
		
		
		
	}
	
	
}

//On Mouseover the Drop Down
function onMouseClickDD(id) {
	var btn = d.getElementById(id + 'Btn');
	var displayList = d.getElementById(id + 'List');
	
	
	if (displayList.style.display != 'block')
	{
		displayList.style.display = 'block';
		displayList.onmouseover = function() {displayList.hit = true;};
		btn.onmouseover = function() {btn.hit = true;};
		btn.onmouseout= function() {
			btn.hit = false; setTimeout(function() {if (!displayList.hit && !btn.hit)	displayList.style.display = 'none';}, 200);
		};
		
		displayList.onmouseout= function() {
			displayList.hit = false; setTimeout(function() {if (!displayList.hit)	displayList.style.display = 'none';}, 200);
		};
	}	
	
}

//Generate project Gallery
function genGallery(id, array)
{
	var imgTxtObj = new Object();
	imgTxtObj['en'] = 'Image: ';
	imgTxtObj['tc'] = '圖片： ';
	imgTxtObj['sc'] = '图片： ';
	
	var container = d.getElementById(id);
	
	if (!getElementsByClassName(container, 'imgDesPart').length)	return;
	var imgDesPart = getElementsByClassName(container, 'imgDesPart')[0];
	var previewBox = getElementsByClassName(container, 'previewBox')[0];
	var wraptocenter = getElementsByClassName(container, 'wraptocenter')[0];
	var thumbnailContainer = getElementsByClassName(container, 'thumbnailContainer')[0];
	var zoomIn = (getElementsByClassName(container, 'zoomIn').length)?getElementsByClassName(container, 'zoomIn')[0]:null;
	var txtArray = imgDesPart.getElementsByTagName('h5');
	var a = previewBox.getElementsByTagName('a');
	var img = imgDesPart.getElementsByTagName('img')[0];
	var total = a.length;
	var scroll = getElementsByClassName(container, 'scroll')[0];
	
	var navW = 64;
	var highlightA;
	var section;
	var imgMaxW = wraptocenter.offsetWidth;
	var imgMaxH = wraptocenter.offsetHeight;
	
	
	var goSection = (GetParam('photo') == '')?	0:Number(GetParam('photo'));
	
	var self = this;
	
	this.init = function()
	{
		if (textMode)
		{
			self.setTextMode();
			return;
		}
		
		this.setNav();
		
		//var navMaskNum = Math.ceil(thumbnailContainer.offsetWidth / navW);
		var navMaskNum = Math.ceil(thumbnailContainer.offsetWidth / navW);
		
		//Set Width
		if (total > navMaskNum)	previewBox.style.width = (((navW - 10) * total) + (10 * (total - 1)) + 6) + 'px';
		
		
		
		//Set scrollbar
		if (total == 1)			thumbnailContainer.style.display = 'none';
		if (total > navMaskNum)	self.setScroll();
	};
	
	this.setNav = function()
	{
		for (var i=0; i<total; i++)
		{
			a[i].num = i;
			a[i].onclick = function()
			{
				if (highlightA == this)	return;
				self.navClick(this);
			}
			
			if (i == total - 1)	a[i].parentNode.parentNode.className = 'lastItem';
		}
		
		this.navClick(a[goSection]);
	};
	
	this.navClick = function(btn)
	{
		if (highlightA)	highlightA.className = highlightA.className.replace(/active/, '');
		btn.className += ' active';
		
		//Show Text
		if (!isNaN(section))	txtArray[section].style.display = 'none';
		txtArray[btn.num].style.display = 'block';
		
		
		//Show Img
		$(img).css({'visibility':'hidden'});
		img.src = array[btn.num].img + '?' + Math.random();
		
		img.onload = function()
		{
			if (img.width == 1)	return;
			//alert(img.width + ',  ' + img.height);
			//alert(imgMaxW + ',  ' + imgMaxH);
			
			if (img.width >= img.height)
			{
				if (img.width > imgMaxW)
				{
					img.style.width = imgMaxW + 'px';
					img.style.height = 'auto';
				}
			}
			else
			{
				if (img.width > imgMaxW)
				{
					img.style.width = imgMaxW + 'px';
					img.style.height = 'auto';
					
					if (img.height > imgMaxH)
					{
						img.style.height = imgMaxH + 'px';
						img.style.width = 'auto';
					}
				}
				else if (img.height > imgMaxH)
				{
					img.style.height = imgMaxH + 'px';
					img.style.width = 'auto';
				}
			}
			
			$(this).css({'opacity':0, 'visibility':'visible'});
			$(this).animate({'opacity':1}, 200);
		};
		
		//Set Zoom In Btn
		//zoomIn = (getElementsByClassName(container, 'zoomIn', true).length)?getElementsByClassName(container, 'zoomIn', true)[0]:null;
		if (zoomIn)
		{
			zoomIn.href = array[btn.num].imgLarge;
			zoomIn.pathname = array[btn.num].imgLarge;
			
			/*var newZoomIn = createA(array[btn.num].imgLarge, '', 'zoom in 123', '', 'zoomIn');
			newZoomIn.rel = 'lightbox';
			
			//zoomIn.parentNode.replaceChild(newZoomIn, zoomIn);
			zoomIn.parentNode.appendChild(newZoomIn);*/
		}
		
		//FadeIn
		$('#' + id + ' .imgDesPart').css({'opacity':0});
		$('#' + id + ' .imgDesPart').animate({'opacity':1}, 300);
		
		section = btn.num;
		highlightA = btn;
	};
	
	this.setScroll = function()
	{
		var $slider = $('#' + id + ' .slider');
		var $container = $('#' + id + ' .previewMask');
		
		$('#' + id + ' .scroll').css({'display':'block'});
		
		$slider.slider(
		{
			animate: true,
			change: handleSliderChange,
			slide: handleSliderSlide
		});

		function handleSliderChange(e, ui)
		{
			var maxScroll = $container.attr('scrollWidth') - $container.width();
			$container.animate({scrollLeft: ui.value * (maxScroll / 100) }, 1000);
		}

		function handleSliderSlide(e, ui)
		{
			var maxScroll = $container.attr('scrollWidth') - $container.width();
			$container.attr({scrollLeft: ui.value * (maxScroll / 100) });
		}
	};
	
	this.setTextMode = function()
	{
		for (var i=0; i<txtArray.length; i++)
		{
			var a = createA('javascript:;', '', imgTxtObj[lang] + txtArray[i].innerHTML);
			a.enabled = true;
			a.imgLarge = array[i].imgLarge;
			txtArray[i].innerHTML = '';
			txtArray[i].appendChild(a);
			
			a.onclick = function()
			{
				self.textModeClick(this);
			};
		}
	};
	
	this.textModeClick = function(btn)
	{
		open(btn.imgLarge);
	};
	
	this.init();
}

//Generate Custom Select
function genCustomSelect()
{
	var select = d.getElementsByTagName('select');
	var selectArray = new Array();
	var pulldownArray = new Array();
	var total;
	var self = this;
	
	this.init = function()
	{
		for (var i=0; i<select.length; i++)
		{
			var selectStyle = select[i].className;	//jumpMenu, formMenu
			if (selectStyle.indexOf('skip') >= 0)	continue;
			
			selectArray.push({select:select[i], selectStyle:selectStyle});
		}
		
		total = selectArray.length;
		
		if (textMode)
		{
			this.setTextMode();
			return;
		}
		
		this.genSelect();
	};
	
	this.setTextMode = function()
	{
		
		for (var i=0; i<total; i++)
		{
			var singleSelect = selectArray[i];
			var select = singleSelect.select;
			var selectStyle = singleSelect.selectStyle;
			var options = select.getElementsByTagName('option');
			
			if (selectStyle.indexOf('jumpMenu') >= 0)
			{
				select.onchange = function()
				{
					var option = this.options[this.selectedIndex];
					
					if (option.target == '_blank')
					{
						open(option.value + '?textVersion=true');
						
					}
					else
					{
						location.href = option.value + '?textVersion=true';
						
					}
				}
			}
			else if (selectStyle.indexOf('formMenu') >= 0)
			{
				//Gen hidden value
				if (select.name)
				{
					hiddenValue = d.getElementById(select.name);
				}
				else
				{
					hiddenValue = createInput(select.id + 'Value', select.id + 'Value', 'hidden', options[0].value);
					select.parentNode.insertBefore(hiddenValue, select);
				}
				hiddenValue.value = select.value;
				select.hiddenValue = hiddenValue;
				
				if (!select.onchange)
				{
					select.onchange = function()
					{
						this.hiddenValue.value = this.value;
					}
				}
			}
		}
	};
	
	this.genSelect = function()
	{
		for (var i=0; i<total; i++)
		{
			new self.genSingleSelect(selectArray[i], i);
		}
	};
	
	this.genSingleSelect = function(singleSelect, i)
	{
		var pulldown;
		var pulldownName;
		var h6;
		var dl;
		var hiddenValue;
		var formMode = false;
		var selectSelf = this;
		
		this.init = function()
		{
			var select = singleSelect.select;
			var options = select.getElementsByTagName('option');
			var selectStyle = singleSelect.selectStyle;
			formMode = Boolean(selectStyle.indexOf('formMenu') >= 0);
			
			var className = select.className.replace('jumpMenu', '');
			className = className.replace('formMenu', '');
			
			pulldown = createDiv(select.id, 'ddListWrapper ' + className);
			pulldownArray.push(pulldown);
			
			pulldownName = createDiv('', 'pulldownName');
			var span = d.createElement('span');
			pulldownName.appendChild(span);
			h6 = d.createElement('h6');
			//alert(levelArray.length);
			pulldownName.appendChild(h6);
				
			pulldown.appendChild(pulldownName);
			selectSelf.setSelectTitle(options[0].text);
			
			dl = d.createElement('dl');
			dl.className = 'ddList';
			
			//Gen hidden value
			if (formMode)
			{
				if (select.name)
				{
					hiddenValue = d.getElementById(select.name);
				}
				else
				{
					hiddenValue = createInput(select.id + 'Value', select.id + 'Value', 'hidden', options[0].value);
					select.parentNode.insertBefore(hiddenValue, select);
				}
				hiddenValue.value = select.value;
			}
			
			
			if (levelArray.length == 1 && levelArray[0] == 'projects') {
				var pNum = 1;
			} else {
				var pNum = 0;
			}
			
			for (var j=pNum; j<options.length; j++)
			{
				var dd = d.createElement('dd');
				var a = createA('', '', options[j].text);
				dd.appendChild(a);
				dl.appendChild(dd);
				
				//Set Style
				if (selectStyle.indexOf('jumpMenu') >= 0)
				{
					a.href = options[j].value;
					if (options[j].target)	a.target = options[j].target;
					a.onclick = function()
					{
						selectSelf.setSelectTitle(this.innerHTML);
						selectSelf.showMenu(false, true);
					}
				}
				else if (selectStyle.indexOf('formMenu') >= 0)
				{
					a.value = options[j].value;
					a.onclick = function()
					{
						selectSelf.setSelectTitle(this.innerHTML);
						selectSelf.showMenu(false, true);
						hiddenValue.value = this.value;
						
						if (pulldown.onchangeFunction)
						{
							pulldown.onchangeFunction(this.value);
						}
					}
				}
				
				//Set Highlight Text
				if (options[j].selected)
				{
					selectSelf.setSelectTitle(options[j].text);
					if (formMode)	hiddenValue.value = options[j].value;
				}
			}
			
			selectSelf.genSelectAction();
			
			//Check Style CssText
			if (select.style.cssText != '')	pulldown.style.cssText = select.style.cssText;
			
			//Check onchange
			if (select.onchange)	pulldown.onchangeFunction = select.onchange;
			
			pulldown.appendChild(dl);
			pulldown.style.zIndex = (total - i) + 100;
			select.parentNode.replaceChild(pulldown, select);
		};
		
		this.setSelectTitle = function(txt)
		{
			h6.innerHTML = txt;
		};
		
		this.genSelectAction = function()
		{
			pulldownName.onclick = function()
			{
				pulldownName.isHit = true;
				selectSelf.showMenu(true);
			}
			pulldownName.onmouseover = function()
			{
				pulldownName.isHit = true;
			}
			pulldownName.onmouseout = function()
			{
				pulldownName.isHit = false;
				selectSelf.showMenu(false);
			}
			dl.onmouseover = function()
			{
				dl.isHit = true;
				selectSelf.showMenu(false);
			}
			dl.onmouseout = function()
			{
				dl.isHit = false;
				selectSelf.showMenu(false);
			}
		};
		
		this.showMenu = function(isOpen, directGo)
		{
			var time = directGo?0:100;
			
			if (isOpen)
			{
				dl.style.display = 'block';
			}
			else
			{
				setTimeout(function()
				{
					if ((pulldownName.isHit || dl.isHit) && !directGo)	return;
					dl.style.display = 'none';
				}, time);
			}
		};
		
		this.init();
	};
	
	this.init();
}

/* Scrollbar */

var listScroll = 
{
	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 = 70;
		this.containerH = this.container.offsetHeight;
		this.trackH = this.track.offsetHeight - this.scroller.offsetHeight;
		this.id = 0;
		

		
		this.container.onmouseover	= function() {listScroll.stopScroll();};
	//	this.container.onmouseout	= function() {listScroll.autoScrollStart();};
		
		//scroller  = new Scrolling.Scroller(this.container, this.container.offsetWidth, this.track.offsetHeight);
		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);
	},
	


	
	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);
	},
	

	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();
	}
}



//change community tab part
function upcomingTab(id) {
	
	var tabPart = d.getElementById('rightTabPart');
	var tabItem = tabPart.getElementsByTagName('a');
	var tabBtn1 = d.getElementById('upcomingPart');
	var tabBtn2 = d.getElementById('highlightPart');
	
	for (i=0; i<tabItem.length; i++) {		
		tabItem[i].classNAme = '';
		tabBtn1.style.display = 'none';
		tabBtn2.style.display = 'none';		
	}
	
	if (id == 0) {
		tabBtn1.style.display = 'block';
		tabItem[0].className = 'active';
		tabItem[1].className = '';
		
	} else {
		tabBtn2.style.display = 'block';
		tabItem[1].className = 'active';
		tabItem[0].className = '';
	}
	
	
	
}

//highliight the activities gallery
function highLightActivity(id) {
	var tabItemPart = d.getElementById(id);
	var tabItem = tabItemPart.getElementsByTagName('dl');
	
	tabItem[0].className = 'clearfix active';
	
	for (i=0; i<tabItem.length; i++) {
		
		tabItem[i].num = i;
		tabItem[i].onclick = function() {
			OverBtn(this);	
		}
	}
	
	function OverBtn (btn) {
		
		for (j=0; j<tabItem.length;j++) {
			
			if (j % 2 == 0) {
				tabItem[j].className = 'clearfix';
			} else {
				tabItem[j].className = 'evenRow clearfix';
			}
			
		}
		
		if (btn.num % 2 == 0) {
			btn.className = 'clearfix active';	
		}
		else {
			btn.className = 'evenRow clearfix active';	
		}
		
			
	}	
	
}

//check ipad
function checkIpad()
{
	if((navigator.userAgent.match(/iPhone/i)) ||  (navigator.userAgent.match(/iPod/i)) ||  (navigator.userAgent.match(/iPad/i)))
	{
		return true;
	}
	
	return false;
}

//open close function 
/*function openClose(id) {
	var container = d.getElementById(id);
	var itemList = setChildNodes(container, 'LI');
	
	for (i=0; i<itemList.length; i++) {	
		var currentItem = itemList[i];
		var btnDisplay = itemList[i].getElementsByTagName('h4')[0];		
		var detail = itemList[i].getElementsByTagName('div')[0];
		
		
		
		btnDisplay.onclick = function()
		{	
			OverBtn(this);
		}
		
	
	}
	function OverBtn (btn) {
		var currItem = btn.parentNode;		
		var currP = currItem.getElementsByTagName('div')[0];
		var currBtn = currItem.getElementsByTagName('h4')[0];			
		
		
		if (currBtn.hit) {
			//already opened
			currP.style.display = 'none';
			currBtn.className = '';
			currBtn.hit = false;
			
		} else {
			
			//already closed			
			currP.style.display = 'block';
			currBtn.className = 'active';
			currBtn.hit = true;			
		}
		
	}	
}*/

function openClose() {
	var container = d.getElementById('content');
	var containerUL = container.getElementsByTagName('ul');
	
	//alert(0);
	for (k=0; k<containerUL.length; k++) {
	
	
		var itemList = setChildNodes(containerUL[k], 'LI');
		
		for (i=0; i<itemList.length; i++) {	
			var currentItem = itemList[i];
			var btnDisplay = itemList[i].getElementsByTagName('h4')[0];		
			var detail = itemList[i].getElementsByTagName('div')[0];
			
			
			
			btnDisplay.onclick = function()
			{	
				OverBtn(this);
			}
			
		
		}
		function OverBtn (btn) {
			var currItem = btn.parentNode;		
			var currP = currItem.getElementsByTagName('div')[0];
			var currBtn = currItem.getElementsByTagName('h4')[0];			
			
			
			if (currBtn.hit) {
				//already opened
				currP.style.display = 'none';
				currBtn.className = '';
				currBtn.hit = false;
				
			} else {
				
				//already closed			
				currP.style.display = 'block';
				currBtn.className = 'active';
				currBtn.hit = true;			
			}
			
		}	
	
	}
}



//change annual style
/*function genAnnualList (id) {
	
	var container = d.getElementById(id);
	var itemList = container.getElementsByTagName('LI');
	
	for (i=0; i<itemList.length; i++) {
		if ( (i+1)%2 == 0 ) {
			itemList[i].className += 'evenCol';
		}
		if ((i+1)%4 == 0 || (i+2)%4 == 0) {
			itemList[i].className += '  ' + 'evenRow';
		}
				
	}
}*/
function genAnnualList () {
	var annualWrapper = d.getElementById('annualWrapper');
	var annualWrapperDIV = annualWrapper.getElementsByTagName('div');
	//alert(annualWrapperDIV.length);
	
	for (k=0; k<annualWrapperDIV.length; k++) {
	
		//var container = d.getElementById(id);
		var itemList = annualWrapperDIV[k].getElementsByTagName('LI');
		
		for (i=0; i<itemList.length; i++) {
			if ( (i+1)%2 == 0 ) {
				itemList[i].className += ' evenCol';
			}
			if ((i+1)%4 == 0 || (i+2)%4 == 0) {
				itemList[i].className += '  ' + 'evenRow';
			}				
		}
	
	}
	
	
	
}

//change anuual td color 
function changeRowColor(id) {
	var container = d.getElementById(id);
	var itemList = container.getElementsByTagName('TR');
	
	for (i=0; i<itemList.length; i++) {
		if ( (i)%2 == 0 ) {
			itemList[i].className += 'evenRow';
		}	
	}
	
}

//open and close about long p
function openCloseP() {
	var shortP = d.getElementById('shortP');
	var longP = d.getElementById('longP');
	var btn = d.getElementById('aboutMore');
	
	for (i=0; i<2; i++) {
		longP.style.display = 'none';
		shortP.style.display = 'none';
	}
	
	if (btn.hit) {
		shortP.style.display = 'block';
		btn.className = ''; 
		if (lang == 'en') {
			btn.innerHTML = 'more';
		}
		if (lang == 'tc') {
			btn.innerHTML = '更多';
		}
		if (lang == 'sc') {
			btn.innerHTML = '更多';
		}
		
		
		btn.hit = false;
	} else {
		longP.style.display = 'block';
		btn.className = 'active'; 
		if (lang == 'en') {
			btn.innerHTML = 'back';
		}
		if (lang == 'tc') {
			btn.innerHTML = '返回';
		}
		if (lang == 'sc') {
			btn.innerHTML = '返回';
		}
		
		
		btn.hit = true;
	}
	
}

function popupMap(id) {
	window.open('/' + lang + '/other/'+id +'.shtml','Google Map','toolbar=no, location=no, directories=no, status=yes, menubar=no, resizable=yes, copyhistory=no, scrollbars=no, width=422, height=455');
}

//Not allow right click
function noRightClick()
{
	var message="";
	function clickIE() {if (document.all) {(message);return false;}}
	function clickNS(e) {if 
	(document.layers||(document.getElementById&&!document.all)) {
	if (e.which==2||e.which==3) {(message);return false;}}}
	if (document.layers) 
	{document.captureEvents(Event.MOUSEDOWN);document.onmousedown=clickNS;}
	else{document.onmouseup=clickNS;document.oncontextmenu=clickIE;}

	document.oncontextmenu=new Function("return false")
}

function textVersion()
{
	var imgTxtObj = new Object();
	imgTxtObj['en'] = 'Image: ';
	imgTxtObj['tc'] = '圖片： ';
	imgTxtObj['sc'] = '图片： ';
	
	var self = this;
	
	this.init = function()
	{
		if (GetParam('textVersion'))
		{
			textMode = Boolean(GetParam('textVersion') == 'true');
			if (textMode)	this.changeVersion(true);
		}
	};
	
	this.changeVersionAction = function(isTextVer)
	{
		if (isTextVer)
		{
			location.href = location.pathname + '?textVersion=' + isTextVer;
		}
		else
		{
			location.href = location.pathname;
		}
	};
	
	this.changeVersion = function()
	{
		var head = d.getElementsByTagName('head')[0];
		
		//Remove all CSS
		var links = d.getElementsByTagName('link');
		while (links.length)
		{
			head.removeChild(links[0]);
		}
		
		//Add Text Ver CSS
		var cssLink = d.createElement('link');
		cssLink.setAttribute('rel', 'stylesheet');
		cssLink.setAttribute('type', 'text/css');
		cssLink.setAttribute('href', '/css/textversion.css');
		head.appendChild(cssLink);
	};
	
	this.changeContent = function()
	{
		//Add ClassName
		if (levelArray.length > 0)	d.body.className += ' ' + levelArray[0];
		
		if (!d.getElementById('textVer'))	return;
		var btnTextVersion = d.getElementById('textVer');
		
		btnTextVersion.onclick = function()
		{
			self.changeVersionAction(!textMode);
		};
		
		if (!textMode)	return;
		
		if (d.getElementById('searchHiddenValue'))
		{
			var hiddenValue = d.getElementById('searchHiddenValue');
			hiddenValue.value = true;
		}
		if (d.getElementById('rehabHiddenValue'))
		{
			var hiddenValue = d.getElementById('rehabHiddenValue');
			hiddenValue.value = true;
		}
		
		//Change Btn
		btnTextVersion.innerHTML = 'HTML Version';
		
		//Change Links
		var a = d.getElementsByTagName('a');
		for (var i=0; i<a.length; i++)
		{
			if (a[i] == btnTextVersion)	continue;
			if (a[i].enabled)			continue;
			
			if (a[i].href == 'javascript:;')
			{
				var span = d.createElement('span');
				span.innerHTML = a[i].innerHTML;
				if (a[i].className)	span.className = a[i].className;
				a[i].parentNode.replaceChild(span, a[i]);
				//continue;
			}
			
			if (a[i].href.indexOf(d.domain.toString()) < 0)	continue;
			if (a[i].href.indexOf('.pdf') == a[i].href.length - 4)	continue;
			
			var url = a[i].href.toString();
			var varString = (url.indexOf('?') > 0)?	'&textVersion=true':'?textVersion=true';
			
			if (url.indexOf('#') > 0)
			{
				var hash = url.substring(url.indexOf('#'), url.length);
				url = url.replace(hash, '');
				a[i].href = url + varString + hash;
			}
			else
			{
				a[i].href = url + varString;
			}
		}
		
		//Change Header
		if (d.getElementById('topPart'))
		{
			var topPart = d.getElementById('topPart');
			var topNav = d.getElementById('topNav');
			var mainNav = d.getElementById('mainNav');
			var footer = d.getElementById('footer');
			
			//Change Img
			var img = topPart.getElementsByTagName('img');
			for (var i=0; i<img.length; i++)
			{
				if (!img[i].alt)	continue;
				if (img[i].alt == '')	continue;
				
				var span = d.createElement('span');
				span.innerHTML = img[i].alt;
				
				
				
				img[i].parentNode.appendChild(span);
			}
			
			var dl = topNav.getElementsByTagName('dl')[0];
			var tools = getElementsByClassName(topNav, 'tools')[0];
			topNav.insertBefore(tools, dl);
			
			var dd = setChildNodes(mainNav, 'DD');
			for (var i=0; i<dd.length; i++)
			{
				dd[i].className += ' clearfix';
			}
			
			var dl = setChildNodes(footer, 'DL');
			for (var i=0; i<dl.length; i++)
			{
				dl[i].className += ' clearfix';
			}
		}
		
		//Change Contents
		if (d.getElementById('content'))
		{
			var content = d.getElementById('content');
			
			//Change Img
			var img = content.getElementsByTagName('img');
			for (var i=0; i<img.length; i++)
			{
				if (!img[i].alt)		continue;
				if (img[i].alt == '')	continue;
				
				if (img[i].parentNode.tagName.toLowerCase() == 'a')
				{
					var span = d.createElement('span');
					span.innerHTML = img[i].alt;
					img[i].parentNode.appendChild(span);
				}
				else
				{
					var a = createA(img[i].src, '_blank', imgTxtObj[lang] + img[i].alt);
					img[i].parentNode.appendChild(a);
				}
				img[i].parentNode.innerHTML += '<br />';
			}
		}
		
		//Change Home
		if (d.getElementById('noticeContainerBtm'))
		{
			var container = d.getElementById('noticeContainerBtm');
			var h2 = container.getElementsByTagName('h2');
			var p = container.getElementsByTagName('p');
			
			for (var i=0; i<h2.length; i++)
			{
				container.insertBefore(p[i], h2[i]);
				container.insertBefore(h2[i], p[i]);
			}
			
			var overlookingPart = d.getElementById('overlookingPart');
			var textHidden = getElementsByClassName(overlookingPart, 'textHidden')[0];
			container.insertBefore(textHidden, h2[0]);
		}
	};
	
	this.init();
}

//history back function
function histBack() {
	
	history.back();	
}

//function for properties for sale 
function closeWindow() {
	
	window.open('','_self');
	window.close();
}

function openWindow() {
	window.open( '../properties_for_sale/flat_sale_pro.html', '', 'top=10,left=10,width=400,height=300,resizable=no,scrollbars=yes,menubar=no,location=no,titlebar=no,status=no,toolbar=no' );
 
	//window.open('','_self');window.close();	
}

function popup(url)
{	
	window.open( '../properties_for_sale/' + url, '', 'top=10,left=10,width=900,height=800,resizable=yes,scrollbars=yes,menubar=no,location=no,titlebar=no,status=no,toolbar=no');
}

//Css for ipad
function addIpadCSS()
{
	var cssLink = document.createElement('link');
	cssLink.setAttribute('rel', 'stylesheet');
	cssLink.setAttribute('type', 'text/css');
	
	cssLink.setAttribute('href', '/css/ipad.css');
	
	d.getElementsByTagName('head')[0].appendChild(cssLink);

	d.body.className += ' iPad';
}

//Css for ipad
function iPadCss() {
	if (checkIpad()) {
		if (lang == 'tc') {
			
			var topNav = d.getElementById('topNav');
			var topNavDL = 	topNav.getElementsByTagName('DL');
			topNavDL[0].style.paddingLeft = '150px !important';
		}
	}
}

function setCookie(name,value,expiredays)
{
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=name+"="+escape(value)+((expiredays==null)?"":";expires="+exdate.toGMTString())+';path=/';
}

function getCookie(name)
{
	if(document.cookie.length>0){
		start=document.cookie.indexOf(name+"=");
		if(start!=-1){
			start=start+name.length+1;
			end=document.cookie.indexOf(";",start);
			if(end==-1)
				end=document.cookie.length;
			return unescape(document.cookie.substring(start,end));
		}
	}
	return "";
}

function mobileVersion()
{
	setCookie('isMobileVer', 'true', 60);
	//location.href = '/' + lang + '/index_m.html';
	location.href = '/' + lang;
}

function checkMobileEnabled()
{
	var url = location.pathname.toString();
	var isMobileVer = getCookie('isMobileVer');
	var self = this;
	
	if (url.indexOf('.aspx') >= 0)	return;
	
	var mobilePageArray = [
		{url:'index.html', isFullPath:true},
		
		{url:'about/vision.html', isFullPath:true},
		{url:'about/organisation.html', isFullPath:true},
		{url:'about/renewal.html', isFullPath:true},
			
		
		{url:'schemes/', isFullPath:false},
		
		{url:'projects/', isFullPath:false},
		{url:'kwuntong_project/index.html', isFullPath:true},
		//{url:'kwuntong_project/', isFullPath:true},
		
		
		
		{url:'media/press-release/', isFullPath:false},
			
		{url:'media/speech.html', isFullPath:true},	
		
		{url:'media/speech_20080219.html', isFullPath:true},	
		{url:'media/speech_20080624.html', isFullPath:true},	
		{url:'media/speech_20081117.html', isFullPath:true},	
		{url:'media/speech_20081215.html', isFullPath:true},	
		{url:'media/speech_20081215b.html', isFullPath:true},	
		{url:'media/speech_20090223.html', isFullPath:true},	
		{url:'media/speech_20090226.html', isFullPath:true},	
		{url:'media/speech_20090325.html', isFullPath:true},	
		{url:'media/speech_20100927.html', isFullPath:true},	
		{url:'media/speech_20101014.html', isFullPath:true},	
		{url:'media/speech_20110122.html', isFullPath:true},	
		{url:'media/speech_20110220.html', isFullPath:true},	
		
		{url:'media/enquiry.html', isFullPath:true},
		{url:'media/photolibrary.html', isFullPath:true},
		
		
		
		{url:'download/video.html', isFullPath:true}
	];
	
	this.init = function()
	{
		if (isMobileVer == 'false')	return;
		
		if (self.checkEnabled())
		{
			url = url.replace('.html', '_m.html');
			//url = url.replace('.aspx', '_m.aspx');
			
			location.href = url;
		}
		else
		{
			//alert(encodeURIComponent(url));
			//alert(unescape(encodeURIComponent(url)));
			location.href = '/' + lang + '/mobile-redirect.html?url=' + encodeURIComponent(url);
		}
	};
	
	this.checkEnabled = function()
	{
		for (var i=0; i<mobilePageArray.length; i++)
		{
			var _url = '/' + lang + '/' + mobilePageArray[i].url;
			
			if (mobilePageArray[i].isFullPath)
			{
				if (_url == url)	return true;
			}
			else
			{
				if (url.indexOf(_url) >= 0)	return true;
			}
		}
		return false;
	};
	
	this.init();
}

//Gen Speech page, later have cms, this function can remove
function genSpeechPage(id) {
	var speechPart = d.getElementById('speechPart');
	var speechListDiv = speechPart.getElementsByTagName('DL');
	var itemNum = 10;
	
	var itemBtnWrapper = d.getElementById('btnItem');
	var itemBtn = itemBtnWrapper.getElementsByTagName('a');
	
	//alert(speechListDiv.length);
	//alert('number of page:' + (speechListDiv.length/itemNum));
	var itmeL = speechListDiv.length;
	var startItem = (id*itemNum);
	var endItem = startItem + itemNum;
	
	if (endItem < itmeL) {
		endItem = startItem + itemNum;
	} else {
		endItem = itmeL;
	}
	
	for (i=0; i<speechListDiv.length; i++ ) {
		speechListDiv[i].style.display = 'none';	
	}
	
	for (k=0; k<itemBtn.length; k++) {
		itemBtn[k].className = '';	
	}
	
	for (j=startItem; j<endItem; j++) {
		itemBtn[id].className = 'active';
		speechListDiv[j].style.display = 'block';
		window.scrollTo(0, 0);
	}
}

//gen Job Width
function genJobW(id)
{
	var jobWidth = d.getElementById('imgWrapper');	
	var jobImgL = d.getElementById('imgDesW');	
	var totalLi = jobWidth.getElementsByTagName('li');
	
	var currZoom = d.getElementById('currZoom');
	var currImg = d.getElementById('currImg');	
	
	var totalH5 = jobImgL.getElementsByTagName('h5');
	
	var leftBtn = d.getElementById('leftBtn');
	var rightBtn = d.getElementById('rightBtn');
	
	
	var itemWidth = 63;
	jobWidth.style.width = (totalLi.length * itemWidth) + 'px';
	
	
	
	
	
	leftBtn.onclick = function() {
		clickLeft(this);
	}
	
	rightBtn.onclick = function() {
		clickRight(this);
	}
	
	
	
	for (i=0; i<totalLi.length; i++) {
		totalLi[i].num = i;
		totalLi[i].onclick = function() {
			overBtn(this);
		}
	}
	
	
	//click left
	function clickLeft(btnL) {
		//jobWidth.style.left += 63;
		//
	}
	
	//click right
	function clickRight(btnR) {
		
	}
	
	
	function overBtn(btn) {
		
		
		for (j=0; j<totalH5.length; j++) {
			totalH5[j].style.display = 'none';
			
			var arrLiA = totalLi[j].getElementsByTagName('a');
			
			arrLiA[0].className = '';
		}
		
		
		totalH5[btn.num].style.display = 'block';
		currImg.src = galleryArray[btn.num].img;
		currZoom.href = galleryArray[btn.num].imgLarge;
		
		$(currImg).css({'opacity':0});
		$(currImg).animate({'opacity':1}, 300);
		
		var currLiA = totalLi[btn.num].getElementsByTagName('a');
		currLiA[0].className = 'active';
		
	}
	
	/*default the first one*/
	totalH5[id].style.display = 'block';
	currImg.src = galleryArray[id].img;
	currZoom.href = galleryArray[id].imgLarge;
	var firstLiA = totalLi[id].getElementsByTagName('a');
	firstLiA[id].className = 'active';

		
}

//gen recent table
function genEvenRow(id) {
	
	var currTable = d.getElementById('recentTable');
	var currTr = currTable.getElementsByTagName('tr');
	
	for (i=0; i<currTr.length; i++) {
		if (i != 0) {
			
			if ( (i%2) == 0) {
				currTr[i].className += ' evenRow'; 
			}
			
		}
	}
		
}


function genSwf(id, file, w, h, xml, wmode)
{
	var flashvars = {};
	flashvars.path = '/en/';
	flashvars.imagePath = 'images/';
	flashvars.swfPath = 'swf/';
	if (xml)	flashvars.xmlPath = xml;
	
	//alert(0);

	var params = {};
	//params.allowscriptaccess = 'sameDomain';
	params.allowscriptaccess = 'always';
	if (wmode)	params.wmode = wmode;
	
	var attributes = {};
	
	swfobject.embedSWF(file, id, w, h, '9.0.45', false, flashvars, params, attributes);
}


