﻿var isIE = (navigator.appName.indexOf("Microsoft") > -1);
var d = document;
var returnlogin = "http://common.hkjc.com/corporate/ProcessLogon.aspx?Lang=E";
var returnpreference = "http://common.hkjc.com/corporate/ProcessLogon.aspx?Lang=E&Pref=Y";
var returnlogout = "http://common.hkjc.com/corporate/ProcessLogon.aspx?Lang=E&SignOut=true";
var returnregister = "http://common.hkjc.com/corporate/ProcessLogon.aspx?Lang=E&Reg=Y";
var returnFAQ = "http://common.hkjc.com/utility/faq/english/membership/index.aspx";

var sectionArray = new Array('football', 'entertainment', 'racing', 'member', 'charities', 'corporate');
if (!levelArray)	var levelArray = new Array();
var isMac = (navigator.appVersion.indexOf("Macintosh") > -1);

if (location == top.location || !sectionHome)
{
	try {if (document.domain.indexOf('.com'))	document.domain = document.domain.substring(document.domain.indexOf('.') + 1);}catch(e) {}
	//alert('parent:  ' + document.domain);
}

//checkSubDomain();

function init()
{
	removeImg();
	new setNav();
	setTimeout(function(){setFooterYear();}, 100);

	if(levelArray.length == 1)
	setTimeout(function(){checkIframeIsLoaded();}, 1000);
}

function checkIframeIsLoaded()
{
	var iframes = d.getElementsByTagName('iframe');
	
	for (var i=0; i<iframes.length; i++)
	{
		//alert(iframes[i].src)
		//alert(frames[i].location)
		if (iframes[i].src == frames[i].location && iframes[i].offsetHeight > 0)	continue;
		var src = iframes[i].src;
		iframes[i].src = src;
	}
}

function checkSubDomain()
{
	var host = location.hostname;
	if (host.indexOf('teamsite.hkjc.com') >= 0)	return;
	
	var url = location.href;
	var subDomain = host.substring(0, host.indexOf('.'));
	var path = location.pathname;
	var array = path.split('/');
	var section = null;
	
	for (var i=0; i<sectionArray.length; i++)
	{
		if (sectionArray[i] == array[1])
		{
			section = array[1];
			break;
		}
	}
	
	if (!section)	return;
	if (!subDomain)	return;
	if (subDomain == section)	return;
	location.href = url.replace(subDomain, section);
}

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];
	if (obj != 'index.html')
	{
		levelArray[levelArray.length-1] = obj.replace('.aspx', '');
	}
	else
	{
		levelArray.pop();
	}
	//alert(levelArray);
}

/*  SQ No.:531530
 *  Modify the z-index and the timeout to prevent the overlap of the menu after rolling over
 */

function setNav()
{
	var mainNav = d.getElementById('mainNav');
	var topNav = getElementsByClassName(mainNav, 'nav')[0];
	var topSubNav = getElementsByClassName(mainNav, 'subNav')[0];
	var navArray = new Array(topNav, topSubNav);
	var btnHit = false;
	var self = this;
	
	this.init = function()
	{
		this.leftNavOpen();
		
		//Highlight Nav
		for (var i=0; i<navArray.length; i++)
		{
			this.setHighlightNav(i);
		}
	};
	
	this.setHighlightNav = function(id)
	{
		var nav = navArray[id];
		var a = nav.getElementsByTagName('a');
		
		if (id == 1)
		{
			var ul = topSubNav.getElementsByTagName('ul')[0];
			for (var i=0; i<a.length; i++)
			{
				/*a[i].onmouseover = function()
				{
					if (this.className.indexOf(' active') >= 0)	return;
					self.topSubNavOver(this, true);
				}
				a[i].onmouseout = function()
				{
					if (this.className.indexOf(' active') >= 0)	return;
					self.topSubNavOver(this, false);
				}*/
				
				new this.setMenu(a[i]);
				
				//Highlight Nav
				if (!levelArray[id])	continue;
				if (a[i].rel == levelArray[id])
				{
					self.topSubNavOver(a[i], true);
					a[i].className += ' active';
				}
			}
		}
		else
		{
			for (var i=0; i<a.length; i++)
			{
				if (!a[i].rel)	continue;
				if (!a[i].getElementsByTagName('img').length)	continue;
				
				a[i].img = a[i].getElementsByTagName('img')[0];
				a[i].oldSrc = a[i].img.src;
				
				if (a[i].oldSrc.indexOf('_over') < 0)
				{
					a[i].newSrc = a[i].oldSrc.replace('.gif', '_over.gif');
				}
				else
				{
					a[i].newSrc = a[i].oldSrc;
				}
				
				a[i].onmouseover = function()
				{
					if (this.className.indexOf(' active') >= 0)	return;
					this.img.src = this.newSrc;
				}
				a[i].onmouseout = function()
				{
					if (this.className.indexOf(' active') >= 0)	return;
					this.img.src = this.oldSrc;
				}
				
				//Check Domain
				if (id == 0)
				{
					/*if (location.hostname.indexOf('teamsite.hkjc.com') >= 0)	continue;
					var url = a[i].href;
					url = url.replace('www.', '');
					var array = url.split('/');
					var section = array[3];
					//var subDomain = url.substring(7, url.indexOf('.'));
					var array1 = array[2].split('.');
					var subDomain = (array1[0] != 'www')?array1[0]:array1[1];
					a[i].href = url.replace(subDomain, section);*/
					if (location.hostname.indexOf('teamsite.hkjc.com') >= 0)
					{
						var url = a[i].href;
						url = url.replace('www.', '');
						var array = url.split('/');
						var array1 = array[2].split('.');
						var subDomain = array1[0];
						a[i].href = url.replace(subDomain + '.', 'teamsite.');
					}
				}
				
				//Highlight Nav
				if (!levelArray[id])	continue;
				if (a[i].rel == levelArray[id])
				{
					a[i].className += ' active';
					a[i].img.src = a[i].newSrc;
				}
			}
		}
	};
	
	this.leftNavOpen = function(menu)
	{
		if (!d.getElementById('leftNav'))	return;
		
		var leftNav = d.getElementById('leftNav');
		if (!getElementsByClassName(leftNav, levelArray[1]).length)	return;
		var menu = getElementsByClassName(leftNav, levelArray[1])[0];
		menu.style.display = 'block';
		navArray.push(menu);
		
		this.leftSubNavOpen(menu);
	};
	
	this.leftSubNavOpen = function(menu)
	{
		if (!getElementByRel(menu, levelArray[2]))	return;
		var dd = getElementByRel(menu, levelArray[2]).parentNode;
		
		if (!dd.getElementsByTagName('dl').length)	return;
		var dl = dd.getElementsByTagName('dl')[0];
		
		dl.style.display = 'block';
		
		if (!getElementByRel(dl, levelArray[3]))	return;
		var a = getElementByRel(dl, levelArray[3]);
		a.className += ' active';
	};
	
	this.topSubNavOver = function(btn, over)
	{
		var ul = topSubNav.getElementsByTagName('ul')[0];
		var li = setChildNodes(ul, 'LI');
	
		if (over)
		{
			/*for (i=0; i<li.length; i++)
			{
				var a = li[i].getElementsByTagName('a')[0];
				var img = a.getElementsByTagName('img')[0];
				if (img.className.indexOf('level2') < 0)	img.className += ' level2'; 
			}*/

			//setTimeout(function(){btn.parentNode.style.zIndex = 100;}, 0);
			if (ul.className.indexOf('dim') < 0)	ul.className += ' dim';
			if (btn.className.indexOf('active') < 0)	btn.className += ' active';
		}
		else
		{
			/*for (i=0; i<li.length; i++)
			{
				var a = li[i].getElementsByTagName('a')[0];
				var img = a.getElementsByTagName('img')[0];
				if (!levelArray[1] && !btnHit)	img.className = img.className.replace(/level2/, '');
			}*/

			//setTimeout(function(){btn.parentNode.style.zIndex = 1;}, 0);
			if (!levelArray[1] && !btnHit)	ul.className = ul.className.replace(/dim/, '');
			btn.className = btn.className.replace(/active/, '');
		}
	};
	
	this.setMenu = function(btn)
	{
		var li = btn.parentNode;
		var time;
		
		var mode = (btn.parentNode.nodeName.toUpperCase() == 'LI')?	1:2;
		if (mode == 2)
		{
			if (btn.getElementsByTagName('img').length)
			{
				btn.img = btn.getElementsByTagName('img')[0];
				btn.oldSrc = btn.img.src;
				btn.newSrc = btn.oldSrc.replace('.gif', '_over.gif');
			}
		}
		btn.onmouseover	= function() {btn.hit = true;	showLayer(1, mode); self.btnMenuHit = true; btnHit = true;};
		btn.onmouseout	= function() {btn.hit = false;	showLayer(0, mode); self.btnMenuHit = false; btnHit = false;};
		
		if (getElementsByClassName(li, 'pullmenu', true).length)
		{
			var menu = getElementsByClassName(li, 'pullmenu', true)[0];
			menu.onmouseover	= function() {btn.hit = true;	showLayer(1, mode); self.btnMenuHit = true;};
			menu.onmouseout		= function() {btn.hit = false;	showLayer(0, mode); self.btnMenuHit = false;};
			time = 200;
			
			if (mode == 2)
			{
				btn.className += ' subArrow';
				var span = d.createElement('span');
				btn.appendChild(span);
			}
			setTimeout(function(){menu.style.height = menu.offsetHeight - 9 + 'px';}, 300);
			//Hidden Mac's pulldown shadow
			if (isMac)
			{
				var shadowB = getElementsByClassName(menu, 'shadowB');
				for (var i=0; i<shadowB.length; i++)	shadowB[i].style.display = 'none';
				var shadowL = getElementsByClassName(menu, 'shadowL');
				for (var i=0; i<shadowL.length; i++)	shadowL[i].style.visibility = 'hidden';
				var shadowR = getElementsByClassName(menu, 'shadowR');
				for (var i=0; i<shadowR.length; i++)	shadowR[i].style.visibility = 'hidden';
				//if (mode == 2)	menu.style.left = menu.offsetLeft + 4 + 'px';
			}
		}
		else
		{
			time = 0;
		}
		
		function showLayer(over, mode)
		{
			if (over == 1)
			{
				if (btn.className.indexOf('active') < 0)
				{
					btnOver(btn, mode, true);
					if (mode == 1)	self.topSubNavOver(btn, true);
					
				}
				if (menu)
				{
					setTimeout(function()
					{
						btn.parentNode.style.zIndex = 100;
						menu.style.visibility = 'visible';
						self.menuHideSelect(menu, 'hidden');
					}, time);
				}
			}
			else
			{	
				setTimeout(function()
				{
					if (btn.hit)	return;
					if (btn.rel != levelArray[1])
					{
						btnOver(btn, mode, false);
						if (mode == 1)	self.topSubNavOver(btn, false);
					}
					if (menu)
					{
						btn.parentNode.style.zIndex = 1;
						menu.style.visibility = 'hidden';
						if (!self.btnMenuHit)	self.menuHideSelect(menu, 'visible');
					}
				}, time);
			}
		}
		
		function btnOver(btn, mode, over)
		{
			if (over)
			{
				btn.className += ' active';
			}
			else
			{
				btn.className = btn.className.replace(/active/, '');
			}
			
			if (btn.img)
			{	
				if (over)
				{
					//if (btn.className.indexOf(' active') >= 0)	return;
					btn.img.src = btn.newSrc;
				}
				else
				{
					//if (btn.className.indexOf(' active') >= 0)	return;
					btn.img.src = btn.oldSrc;
				}
			}
		}
	};

	this.menuHideSelect = function(div, boolHide)
	{
		var selectHide = false;
		if (isIE)
		{
			var str = Number(navigator.appVersion.indexOf('MSIE ')) + 5;
			var version = Number(navigator.appVersion.substring(str, (str+1)));
			if (version < 7)	selectHide = true;
		}
		if (!selectHide)	return;
		
		var selects = d.getElementsByTagName('select');
		for (var i=0; i<selects.length; i++)
		{
			selects[i].style.visibility = boolHide;
		}
		
		if (frames.length > 0)
		{
			for (var i=0; i<frames.length; i++)
			{
				var selects = frames[i].document.getElementsByTagName('select');
				for (var j=0; j<selects.length; j++)
				{
					selects[j].style.visibility = boolHide;
				}
			}
		}
	};
	
	this.init();
}

/*
 *  End Change for the SQ No.:531530  
 */

function highlightLeftNav()
{
	if (!d.getElementById('leftNav'))	return;
	var leftNav = d.getElementById('leftNav');
	
	if (!getElementsByClassName(leftNav, levelArray[0]).length)	return;
	var menu = getElementsByClassName(leftNav, levelArray[0])[0];
	menu.style.display = 'block';
	
	setLeftNav(menu);
	
	function setLeftNav(menu)
	{
		var a = menu.getElementsByTagName('a');
		
		for (var i=0; i<a.length; i++)
		{
			a[i].img = a[i].getElementsByTagName('img')[0];
			a[i].oldSrc = a[i].img.src;
			a[i].newSrc = a[i].img.src.replace('.gif', '_over.gif');
			
			a[i].onmouseover = function()
			{
				if (this.className.indexOf(' active') >= 0)	return;
				this.img.src = this.newSrc;
			}
			a[i].onmouseout = function()
			{
				if (this.className.indexOf(' active') >= 0)	return;
				this.img.src = this.oldSrc;
			}
			
			//Highlight Left Nav
			if (a[i].rel == levelArray[1])
			{
				a[i].className += ' active';
				a[i].img.src = a[i].newSrc;
			}
		}
	}
}

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);
	//add by Alex Lee
	if (alt)	img.setAttribute('title', alt);
	//add by Alex Lee
	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 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 getElementByRel(parent, obj)
{
	var a = parent.getElementsByTagName('a');
	for (var i=0; i<a.length; i++)
	{
		if (a[i].rel == obj)
		{
			return a[i];
		}
	}
}

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 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 += 20;

  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); }, 10);
  }
}

function setOpacity(el, opacity)
{
	opacity /= 100;
	el.style.opacity = opacity;
	el.style.MozOpacity = opacity;
	el.style.filter = "alpha(opacity=" + (opacity*100) + ")";
}

function getServerTime(type)
{
	var xmlHttp = false;

	//get server time
	try
	{
		xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch (e)
	{
		try
		{
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (e2) {}
	}
	
	if (!xmlHttp && typeof(XMLHttpRequest) != 'undefined')
	{
		xmlHttp = new XMLHttpRequest();
	}

	xmlHttp.open('GET', '/member/common/english/images/logo_hkjc.gif', false);
	xmlHttp.setRequestHeader('Range', 'bytes=-1');
	xmlHttp.send(null);

	severtime = new Date(xmlHttp.getResponseHeader('Date'));
	//alert('severtime:  ' + severtime)
	
	//get server date
	var year = severtime.getFullYear();
	var month = severtime.getMonth() + 1;
	var date = severtime.getDate();

	//get server time
	var hour = severtime.getHours();
	var minu = severtime.getMinutes();
	var seco = severtime.getSeconds();
	var time = severtime.getTime();
	
	if (type == 'date')
	{
		return severtime;
	}
	else if (type == 'year')
	{
		return year;
	}
	else
	{
		return time;
	}
}

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" : "");

	document.cookie = curCookie;
}

function getCookie(name)
{
	if (document.cookie.indexOf(name) < 0)	return null;
	
	var startStr = document.cookie.indexOf(name) + name.length + 1;
	var endStr = document.cookie.indexOf(";", startStr);
	if (endStr == -1)	endStr = document.cookie.length;
	return unescape(document.cookie.substring(startStr, endStr));
}

/**SQ 531884 add function to check the case of the language**/
function changeLanguage()
{
	var array = new Array('english', 'chinese');
	var lang;
	var url = top.location.href;
	var url_lowercase = url.toLowerCase();
	if (top.location.hash)	url = top.location.href.replace(top.location.hash, '');
	if (top.location.hash)	url_lowercase = top.location.href.replace(top.location.hash, '');
	
	for (var i=0; i<array.length; i++)
	{
		if (url_lowercase.indexOf('/' + array[i] + '/') < 0)	continue;
		
		for (var j=0; j<array.length; j++)
		{
			//if (url.indexOf('/' + array[j] + '/') >= 0)	continue;
			if (url_lowercase.indexOf('/' + array[j] + '/') >= 0)	continue;
			//url = url.replace('/' + array[i] + '/', '/' + array[j] + '/');
			var index = url_lowercase.indexOf('/'+ array[i] + '/');
			//alert(url((index+array[j].length+2),url.length-1));
			url = url.substring(0,index)+'/'+array[j]+'/'+url.substring((index+array[j].length+2),url.length);
			lang = array[j];
			break;
		}
		break;
	}
	//Check default no language homepage, append the url with language
	if (!lang)
	{
		var host = location.hostname;
		var subDomain = host.substring(0, host.indexOf('.'));
		lang = array[0];
		url = '/' + subDomain + '/' + lang + '/index.aspx';
	}
	
	var ciArray = new Array('ci=en-us', 'ci=zh-hk');
	if (url.indexOf('ci=') >= 0)
	{
		var num = url.indexOf('ci=');
		var str1 = url.substring(num, num+8);
		var str2 = str1.toLowerCase();
		url = url.replace(str1, str2);
	}
	
	for (var i=0; i<ciArray.length; i++)
	{
		if (url.indexOf(ciArray[i]) < 0)	continue;
		
		for (var j=0; j<ciArray.length; j++)
		{
			if (url.indexOf(ciArray[j]) >= 0)	continue;
			url = url.replace(ciArray[i], ciArray[j]);
			break;
		}
		break;
	}
	
	var expires = new Date();
	expires.setTime(expires.getTime()+(365*24*60*60*1000));
	setCookie('language', lang, expires, '/', location.domain);
	
	window.top.location.href = url;
}

function setScroll(container, sBar)
{
	var nav = d.getElementById(container);
	var scroll = d.getElementById(sBar);
	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';
		}
		//alert(nav.offsetWidth + '  :  ' + nav.parentNode.offsetWidth)
		//alert(nav.offsetHeight + '  :  ' + nav.parentNode.offsetHeight)
		
		scroller  = new Scrolling.Scroller(nav, scroll.offsetWidth, scroll.offsetHeight);
		scrollbar = new Scrolling.Scrollbar(scroll, scroller, new Scrolling.ScrollTween());
	};
	
	this.init();
}

function setTabList(nav, obj)
{
	var self = this;
	
	this.init = function ()
	{
		this.nav = d.getElementById(nav);
		this.obj = d.getElementById(obj);
		
		this.setA(this.nav);
	};
	
	this.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;
				self.changeA(this, true);
			}
		}
		
		this.highlightA = a[0];
		this.changeA(a[0], false);
	};
	
	this.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);
	};
	
	this.init();
}

function changeIFrameSize(target)
{
	try
	{
		if (parent)
		{
			//document.body.style.display = "block";
			parent.document.getElementById(target).style.height = document.documentElement.scrollHeight + 'px';
		}
	}
	catch (e)
	{
		setTimeout('changeIFrameSize()', 500);
	}
}

function setHomeNewsBox(obj)
{
	var container = d.getElementById(obj);
	var photos = getElementsByClassName(container, 'photos')[0];
	var nav = getElementsByClassName(container, 'nav')[0];
	var details = getElementsByClassName(container, 'details')[0];
	var more = getElementsByClassName(container, 'more')[0];
	var obj = mainHighlightObj;
	var highlightImg;
	var highlightP;
	var highlightA;
	var total;
	var navList = new Array();
	var hit = false;
	var index = 1;
	var curIndex = 1;
	var timeout;
	var time = 5000;
	var newsNum = 0;
	var auto = false;
	var flvIsPlaying = false;
	var self = this;
	
	//Get Server Time
	var serverTime = getServerTime();
	var today = new Date();
	var todayTime = (serverTime)?	serverTime:today.getTime();
	//alert(today)
	
	this.init = function()
	{
		this.genNews();
		if (newsNum == 0)	return;
		if(newsNum==1) container.className += ' single';
		
		var imgs = photos.getElementsByTagName('img');
		var a = nav.getElementsByTagName('a');
		var pAll = details.getElementsByTagName('div');
		total = imgs.length;
		
		for (var i=0; i<a.length; i++)
		{
			a[i].img = imgs[i];
			a[i].p = pAll[i];
			a[i].num = i;
			
			a[i].onmouseover = function()
			{
				if (this.className.indexOf('active') >= 0)	return;
				self.changeImg(this);
				hit = true;
				clearInterval(timeout);
			};
			
			a[i].onmouseout = function()
			{
				setTimeout(function(){if (auto&&newsNum>1)	self.autoChange();}, 50);
				hit = false;
			};
			
			navList.push(a[i]);
		}
		
		this.changeImg(navList[0]);
		//Fix mainhighlight display problem PR277416
		//if (auto)	this.autoChange();
		if (a.length > 1)	if (auto&&newsNum>1)	this.autoChange();
		//end PR277416
	};
	
	this.genNews = function()
	{
		var array = obj.content;
		
		photos.innerHTML = '';
		nav.innerHTML = '';
		details.innerHTML = '';
		
		auto = (obj.rotate == 'true');
		//Fix mainhighlight display problem PR277416
		if (more) 
		{
			more.href = obj.moreLink;
			more.target = obj.moreTarget;
			//added on 20100727 hide arrow
			if (obj.moreLink == '') more.style.display = 'none';
		}
		//end PR277416
		if (obj.titleImg != '')
		{
			var img = createImg(obj.titleImg, obj.titleImgAlt);
			nav.parentNode.insertBefore(img, nav);
		}
		
		for (var i=0; i<array.length; i++)
		{
			var startTime = this.checkTime(array[i].startDate);
			var endTime = this.checkTime(array[i].endDate);
			if (!(todayTime >= startTime && todayTime < endTime))	continue;
			
			//Gen Photos
			var link = (array[i].flv)?		'javascript:;':array[i].link;
			var target = (array[i].flv)?	'':array[i].target;
			var imgA = createA(link, target);
			var img = createImg(array[i].img, array[i].imgAlt);
			imgA.appendChild(img);
			photos.appendChild(imgA);
			
			//Gen Details
			var div = d.createElement('div');
			var h3 = d.createElement('h3');
			h3.innerHTML = array[i].title;
			var p = d.createElement('p');
			p.innerHTML = array[i].description;
			div.appendChild(h3);
			div.appendChild(p);
			details.appendChild(div);
			
			//Gen Nav
			var a = createA(link, target, '', '', 'clearfix');
			var span = d.createElement('span');
			span.className = 'imgContainer';
			var img = createImg(array[i].thumbnail, array[i].imgAlt);
			span.appendChild(img);
			a.appendChild(span);
			var span = d.createElement('span');
			span.className = 'txt';
			span.innerHTML = array[i].title;
			a.appendChild(span);
			var span = d.createElement('span');
			span.className = 'arrow';
			a.appendChild(span);
			nav.appendChild(a);
			
			if (array[i].flv)
			{
				a.flv = imgA.flv = array[i].flv;
				/*a.onclick = */imgA.onclick = function()
				{
					self.playFLV(this);
				}
			}
			
			newsNum ++;
			if (newsNum >= Number(obj.total))	return;
		}
	};
	
	this.checkTime = function(str)
	{
		var array = str.split('/');
		var date = Number(array[0]);
		var month = Number(array[1]) - 1;
		var year = Number(array[2].substring(0, 4));
		var timeStr = array[2].substring(5, 10);
		var timeArray = timeStr.split(':');
		var hour = Number(timeArray[0]);
		var min = Number(timeArray[1]);
		var thisDate = new Date(year, month, date, hour, min);
		//alert(thisDate);
		
		return thisDate.getTime();
	};
	
	this.playFLV = function(btn)
	{
		clearInterval(timeout);
		this.removeFLV();
		
		var container = createDiv('homeNewsFLVContainer');
		var homeNewsFLV = createDiv('homeNewsFLV');
		homeNewsFLV.innerHTML = 'This site requires JavaScript and ADOBE FLASH PLAYER VERSION 10 or ABOVE.<br />Please visit <a href="https://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" target="_blank">Adobe website</a> for the latest version.<br /><a href="https://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" target="_blank"><img src="/football/common/english/images/get_adobe_flash_player.png" alt="Get Adobe Flash Player" /></a>'
		container.appendChild(homeNewsFLV);
		photos.insertBefore(container, photos.getElementsByTagName('a')[0]);
		
		setTimeout(function()
		{
			var flashvars = {};
			flashvars.swfPath = '/football/common/english/images/swf/SkinOverAllNoFullNoCaption.swf';
			flashvars.flv = btn.flv;
			
			var params = {};
			params.allowscriptaccess = 'always';
			params.wmode = 'opaque';
			
			var attributes = {};
			
			swfobject.embedSWF('/football/common/english/images/swf/video.swf', 'homeNewsFLV', '100%', '100%', '10.0.0', '', flashvars, params, attributes);
			
			d.getElementById('homeNewsFLV').style.display = 'block';
		}, 500);
		
		flvIsPlaying = true;
	};
	
	this.removeFLV = function()
	{
		if (!d.getElementById('homeNewsFLVContainer'))	return;
		
		var flvContainer = d.getElementById('homeNewsFLVContainer');
		photos.removeChild(flvContainer);
		
		flvIsPlaying = false;
	};
	
	this.changeImg = function(btn)
	{
		if (hit)	return;
		this.removeFLV();
		
		//if (highlightImg)	highlightImg.style.display = '';
		btn.img.style.display = 'block';
		if (highlightImg)	highlightImg.style.zIndex = index;
		index ++;
		btn.img.style.zIndex = index;
		startFading(btn.img);
		highlightImg = btn.img;
		
		if (highlightP)	highlightP.style.display = '';
		btn.p.style.display = 'block';
		startFading(btn.p);
		highlightP = btn.p;
		
		btn.className += ' active';
		if (highlightA)	highlightA.className = highlightA.className.replace(/active/, '');
		highlightA = btn;
		
		curIndex = btn.num;
	};
	
	this.autoChange = function()
	{
		clearInterval(timeout);
		
		timeout = setInterval(function()
		{
			curIndex ++;
			if (curIndex >= total)	curIndex = 0;
			
			self.changeImg(navList[curIndex]);
		}, time);
	};
	
	this.init();
}

function removeImg()
{
	if (d.getElementById('headerImg'))
	{
		var headerImg = d.getElementById('headerImg');
		headerImg.parentNode.parentNode.removeChild(headerImg.parentNode);
	}
	
	if (d.getElementById('mainNavImg'))
	{
		var mainNavImg = d.getElementById('mainNavImg');
		mainNavImg.parentNode.parentNode.removeChild(mainNavImg.parentNode);
	}
	
	if (d.getElementById('seoImg'))
	{
		var seoImg = d.getElementById('seoImg');
		seoImg.parentNode.parentNode.removeChild(seoImg.parentNode);
	}
	
	if (d.getElementById('footerImg'))
	{
		var footerImg = d.getElementById('footerImg');
		footerImg.parentNode.parentNode.removeChild(footerImg.parentNode);
	}
}

function setPromoPopup(link, w, h, scroll, resizable, probability)
{
	if (!link || link == '')	return;
	var probability = probability/100;
	
	var randomNum = Math.ceil(Math.random()*10);
	probability = 10 - Number(probability)*10;
	if (randomNum < probability)	return;
	//alert (randomNum + '  :  ' + probability);
	
	var cookieName = 'promoPopupLink';
	
	if (getCookie(cookieName))
	{
		if (getCookie(cookieName) == link)	return;
	}
	var expires = new Date();
	expires.setTime(expires.getTime()+(365*24*60*60*1000));
	setCookie(cookieName, link, expires, '/', location.domain);
	
	NewWindow(link, 'hkjcPromo', w, h, scroll, resizable);
}

function setFooterYear()
{
	if (!d.getElementById('footer'))	return;
	var footer = d.getElementById('footer');
	var copyright = getElementsByClassName(footer, 'copyright')[0];
	var year = getServerTime('year');
	
	copyright.innerHTML = 'Copyright &copy; 2000-' + year + ' The Hong Kong Jockey Club. All rights reserved.';
}

function redirectPage(action) {

  var url = "";
  var returnURL = window.top.location.href;
      returnURL = encodeURIComponent(returnURL);  
  
  if( action == "login") {
     url = returnlogin + "&ReturnURL=" + returnURL;
	  window.top.location.href = url;
	 } else if( action == "logout") {
	 
	            alert("If you are using HKJC Web Services in other browser windows, they will also be logged out. Please close those browser windows if needed.");
				url = returnlogout + "&ReturnURL=" + returnURL;
				 window.top.location.href = url;
			} else if ( action == "register") {
					url = returnregister;
					 window.top.location.href = url;
				}
				else if ( action == "preference") {
						url =  returnpreference + "&ReturnURL=" + returnURL;
						 window.top.location.href = url;
				}
				else if ( action == "help") {
				       window.open(returnFAQ);
				}
				
   
  	
}

function setReturnLoginURL(url) {

   returnlogin = url;

}

function setReturnLogoutURL(url) {

   returnlogout = url;

}

function setReturnPreferenceURL(url) {

   returnpreference = url;

}

function setReturnRegisterURL(url) {

   returnregister = url;

}

function showDisplayName(displayname, salutation, lastname) {

    var showname = displayname;

   if( salutation == "先生" )
     salutation = "Mr";

   if( salutation == "女士" )
     salutation = "Ms";

   if( salutation == "小姐" )
     salutation = "Miss";
  
   if( salutation == "太太" )
     salutation = "Mrs";

  if(displayname == "" || displayname == null )
      showname = salutation + "." + lastname;
    
  var name = "    Hi " + showname + "    ";
  
  return name;
    
}
