var CHINESE = 'zh';
var ENGLISH = 'en';

var pageInfo = {};
var text = null;
var TEXT_EN = {};
var TEXT_CH = {};

var CHINESE_CSS = [];
var ENGLISH_CSS = [];
var CSS_NUMBER = 0;

var currentPageKey = '';

TEXT_EN.COMMON = {
	online_sub_link : 'https://videoexpress.now.com/join/?lang=en'
};

TEXT_CH.COMMON = {
	online_sub_link : 'https://videoexpress.now.com/join/?lang=zh'
};

function initPage() {	
	getLanguageSetting();
	
	fillCommonHeader();	
	fillFooter();
	
	getCurrentPage();
}

function getLanguageSetting() {
	var lang = _lang;
	
	switch (lang) {
	case CHINESE:
		text = TEXT_CH;
		break;
	case ENGLISH:
		// alert(2);
		text = TEXT_EN;
		break;
	default:

		lang = CHINESE;
		text = TEXT_CH;
		break;
	}
	pageInfo.lang = lang;
	$.jCookie("lang", lang, {expires :65535});
}

function parseURLToPageName(location){
	location = location.substr(1);
	var currentPage = "";
	if (location == ""){
		currentPage = "Landing";
	}
	else if (
		location.indexOf("channel") == 0 ||
		location.indexOf("hdtv") == 0 ||
		location.indexOf("now-select") == 0 ||
		location.indexOf("interactive") == 0 ||
		location.indexOf("join") == 0
	){
		currentPage = location;
	}
	else if (location.indexOf("support") == 0){
		currentPage = location;
		if (location.indexOf('/', 9) > -1){
			currentPage = location.substr(location.indexOf('/', 9));
		} 
	}
	else if (location.indexOf("epg") == 0){
		currentPage = "epg";
	}
	else if (location.indexOf("whats-news") == 0){
		currentPage = "whats-news";
	}
	else if (location.indexOf("business/") == 0){
		currentPage = "Biz Customers";
	}
	else if (location.indexOf("advertising/") == 0){
		currentPage = "Ad Opportunities";
	}
	return currentPage;
}

function getCurrentPage() {
	// Get the path
	var location = "" + window.location;
	var startIndex = location.indexOf('/', 9);
	location = location.substr(startIndex);
	pageInfo.currentPage = parseURLToPageName(location);
}

var loadURL = "/pixel/Load.txt";
var clickURL = "/pixel/Click.txt";

function logLoad() {
	var parameter = {
		"CurrentPage" :pageInfo.currentPage,
		"Referrer" :"",
		"Action" :"",
		"Language" :pageInfo.lang,
		"RandomNumber" :Math.random()
	}
	//alert("--LOAD--\nCurrentPage:" + parameter.CurrentPage + "\nReferrer:" + parameter.Referrer + "\nAction:" + parameter.Action + "\nLanguage:" + parameter.Language);
	$.getJSON(loadURL, parameter, null);
}

function logClick(action, dest) {
	var parameter = {
		"CurrentPage" :dest,
		"Referrer" :pageInfo.currentPage,
		"Action" :action,
		"Language" :pageInfo.lang,
		"RandomNumber" :Math.random()
	}
	//alert("--CLICK--\nCurrentPage:" + parameter.CurrentPage + "\nReferrer:" + parameter.Referrer + "\nAction:" + parameter.Action + "\nLanguage:" + parameter.Language);
	$.getJSON(clickURL, parameter, null);
}

function logMenu(atag){
	try{
		var location = atag.href;
		var dest = parseURLToPageName(location);
		if (dest == ""){
			var startIndex = location.indexOf('/', 9);
			location = location.substr(startIndex);
			dest = parseURLToPageName(location);
		}
		logClick("Menu", dest);
	}catch(e){}
}

function fillCommonHeader(){
	var headerHTML = [];
	
	headerHTML.push('<div id="common_header_content">');
	
	if (pageInfo.lang == CHINESE) {
		headerHTML.push('<div id="left_header"><ul>');
		headerHTML.push(' <li><a href="http://now.com">now.com</a></li>');
		headerHTML.push('</ul></div>');
		headerHTML.push('<div id="right_header"><ul>');
		headerHTML.push(' <li><a href="javascript:changeLanguage(\'en\');">Eng</a></li><li>|</li>');
		headerHTML.push(' <li><a href="#">中文</a></li><li>|</li>');
		headerHTML.push(' <li><a href="/myaccount">我的賬戶</a></li><li>|</li>');
		headerHTML.push(' <li><a href="/business/" onClick="logMenu(this)">商業客戶</a></li><li>|</li>');
		headerHTML.push(' <li><a href="/advertising/" onClick="logMenu(this)">廣告商機</a></li>');
		headerHTML.push('</ul></div>');
	} else {
		headerHTML.push('<div id="left_header"><ul>');
		headerHTML.push(' <li><a href="http://now.com">now.com</a></li>');
		headerHTML.push('</ul></div>');
		headerHTML.push('<div id="right_header">');
		headerHTML.push('<ul>');
		headerHTML.push('<li><a href="#">Eng</a></li><li>|</li>');
		headerHTML.push('<li><a href="javascript:changeLanguage(\'zh\');">中文</a></li><li>|</li>');
		headerHTML.push(' <li><a href="/myaccount">My Account</a></li><li>|</li>');
		headerHTML.push(' <li><a href="/business/" onClick="logMenu(this)">Business</a></li><li>|</li>');
		headerHTML.push(' <li><a href="/advertising/" onClick="logMenu(this)">Advertiser</a></li>');
		headerHTML.push('</ul></div>');
	}
	headerHTML.push('</div>');
	
	document.getElementById('common_header').innerHTML = headerHTML.join('');
}

function changeLanguage(lang) {
	var oImg=document.createElement("img");
	oImg.setAttribute('src', '/change_language.jsp?lang=' + lang + '&dummy=' + Math.random());
	oImg.setAttribute('height', '1px');
	oImg.setAttribute('width', '1px');
	document.body.appendChild(oImg);

	$.get('/change_language.jsp', {lang: lang, dummy: Math.random()}, function(){
		location.reload(true);
	});
	//$.jCookie("lang", lang, {expires :65535});
	//location.reload(true);
}

function fillFooter() {
	var footerHTML = [];	
	footerHTML.push('<div class="footer_link">');
	if (pageInfo.lang == CHINESE) {
		footerHTML.push('<a href="http://www.pccw.com/legal/privacy_c.html" target="_blank">私隱政策聲明</a> | ');
		footerHTML.push('<a href="/terms-and-conditions" target="_blank">條款細則</a> | ');
		footerHTML.push('<a href="/fair-use-policy" target="_blank">公平使用原則</a> | ');
		footerHTML.push('<a href="/disclaimer" target="_blank">免責聲明</a>');
	} else {
		footerHTML.push('<a href="http://www.pccw.com/legal/privacy.html" target="_blank">Privacy Policy</a> | ');
		footerHTML.push('<a href="/terms-and-conditions" target="_blank">Terms & Conditions</a> | ');
		footerHTML.push('<a href="/fair-use-policy" target="_blank">Fair Use Policy</a> | ');
		footerHTML.push('<a href="/disclaimer" target="_blank">Disclaimer & Copyrights</a>');
	}
	footerHTML.push('</div>');
	footerHTML.push('<div class="pccw">&copy; PCCW Media Limited, 2011</div>');
	footerHTML.push('</div>');

	document.getElementById('footer').innerHTML = footerHTML.join('');
}

//File menuCommon.js
var page = {
	totalMenuPage : 0,
	currentMenuPage : 0,
	menuData : [
		{id: "nav_logo_sub", name: "nowTV", link:"/"},
		{id: "nav_channel", name: "channel", link:"/channel"},
		{id: "nav_nowselect", name: "nowselect", link:"/now-select",
			subMenu: {
				menus: [
					{id: "sub_nav_recommended", name: "簡介", link:"/now-select/"},					
					{id: "sub_nav_select_videx", name: "Video Express", link:"/now-select/videx"},
					{id: "sub_nav_select_sport", name: "體育", link:"/now-select/sport"},
					{id: "sub_nav_select_movie", name: "電影/劇集", link:"/now-select/movie"},
					{id: "sub_nav_select_travel", name: "旅遊/紀實", link:"/now-select/travel"},
					{id: "sub_nav_select_kids", name: "兒童", link:"/now-select/kids"},
					{id: "sub_nav_select_entertainment", name: "娛樂", link:"/now-select/entertainment"},
					{id: "sub_nav_select_music", name: "娛樂", link:"/now-select/music"},
					{id: "sub_nav_select_news", name: "新聞/資訊", link:"/now-select/news"}
				],
				lastSeperatorClass:"sub_nav_select_border_m"
			}
		},
		{id: "nav_epg", name: "epg", link:"/epg/"},
		{id: "nav_hdtv", name: "hdtv", link:"/hdtv"},
		{id: "nav_interactive", name: "interactive", link:"/interactive"},
		{id: "nav_join", name: "join", link:"https://videoexpress.now.com/join/"},
		{id: "nav_support", name: "support", link:"/support"}
	],
	
	putSubMenu : function(topId, menus){
		for(var i=0; i < this.menuData.length; i++){
			if (this.menuData[i].id == topId){
				this.menuData[i].subMenu = {menus: menus, isDynamic: true};
			}
		}
	},
	
	buildMenu : function(topId, subId){
		page.menuData[6].link = "https://videoexpress.now.com/join/?lang=" + _lang;
	
		// Build the sub menu
		var hasSubMenu = true;
		var subMenuData = new Array();
		for(var i=0; i < this.menuData.length; i++){
			var menu = this.menuData[i];
			if (menu.id == topId){
				subMenuData = menu.subMenu;
			}
		}
		
		
		try{
			if (subMenuData.isDynamic){
				// Dynamic generate menu
				var remainingMenuWidth = 948;
				var subMenuTemplate = '<li id="{id}" style="background-image: url(\'../images/common/sub_nav_border_m.jpg\');"><a href="{link}" style="background-image: url(\'{menu_url}\');width: {menu_width}px;background-position: center top;height: 36px;" onClick="logMenu(this)">{name}</a></li>';
				var subMenuHTML = [];
				
				remainingMenuWidth = remainingMenuWidth - 10;
				subMenuHTML.push('<li id="sub_nav_border_l"></li>');				
				for(var i=0; i < subMenuData.menus.length; i++){
					var menu = subMenuData.menus[i];
					subMenuHTML.push(
						subMenuTemplate
						.replace(/{id}/g, menu.id)
						.replace(/{name}/g, menu.name)
						.replace(/{link}/g, menu.link)
						.replace(/{menu_url}/g, menu.menu_url)
						.replace(/{menu_width}/g, menu.menu_width)						
					);
					remainingMenuWidth = remainingMenuWidth - menu.menu_width;
					if (i != subMenuData.menus.length - 1){
						remainingMenuWidth = remainingMenuWidth - 3;
						subMenuHTML.push('<li id="sub_nav_seperator"></li>');
					}
				}
				remainingMenuWidth = remainingMenuWidth - 10;
				subMenuHTML.push('<li id="sub_nav_border_m" style="width:' + remainingMenuWidth + 'px"></li>');
				subMenuHTML.push('<li id="sub_nav_border_r"></li>');
				$("#sub_nav").html(subMenuHTML.join(''));
				
				if (subId != ''){
					$("#" + subId + " > a").addClass("highlight");
					hasSubMenu = true;
					if (subMenuData.length == 0){
						hasSubMenu = false;
					}
				}
				
				if (remainingMenuWidth < 0){
					// Build the dynamic menu
					try{
						var totalWidth = 0;
						var defaultPage = 0;
						remainingMenuWidth = 892;
						var subMenuTemplate = '<li id="{id}" style="background-image: url(\'../images/common/sub_nav_border_m.jpg\');"><a href="{link}" style="background-image: url(\'{menu_url}\');width: {menu_width}px;background-position: center top;height: 36px;" onClick="logMenu(this)">{name}</a></li>';
						
						var subMenuHTML = [];
						subMenuHTML.push('<li id="sub_nav_border_l"></li>');
						subMenuHTML.push('<li id="sub_nav_border_left"><a href="#" class="nav_disable">left</a></li>');
						subMenuHTML.push('<li id="scroll_sub_nav">');
						subMenuHTML.push('<ul id="sub_nav_s">');
						
						for(var i=0; i < subMenuData.menus.length; i++){
							var menu = subMenuData.menus[i];
							if (subId == menu.id){
								defaultPage = Math.floor(totalWidth / 892);
							}
							totalWidth = totalWidth + parseInt(menu.menu_width);
							subMenuHTML.push(
								subMenuTemplate
								.replace(/{id}/g, menu.id)
								.replace(/{name}/g, menu.name)
								.replace(/{link}/g, menu.link)
								.replace(/{menu_url}/g, menu.menu_url)
								.replace(/{menu_width}/g, menu.menu_width)								
							);
							remainingMenuWidth = remainingMenuWidth - menu.menu_width;
							if (i != subMenuData.menus.length - 1){
								remainingMenuWidth = remainingMenuWidth - 3;
								subMenuHTML.push('<li id="sub_nav_seperator"></li>');
								totalWidth += 3;
								if (remainingMenuWidth - (parseInt(subMenuData.menus[i+1].menu_width) + 3) < 0){
									// Build the next page menu
									subMenuHTML.push('<li id="sub_nav_border_m" style="width:' + remainingMenuWidth + 'px"></li>');
									totalWidth = totalWidth + remainingMenuWidth;
									remainingMenuWidth = 892;;
								}
							}
						}
						totalWidth = totalWidth + remainingMenuWidth;
						subMenuHTML.push('<li id="sub_nav_border_m" style="width:' + remainingMenuWidth + 'px"></li>');
						page.totalMenuPage = Math.floor(totalWidth / 892);
						
						subMenuHTML.push('</ul>');
						subMenuHTML.push('</li>');
						subMenuHTML.push('<li id="sub_nav_border_right"><a href="#">right</a></li>');
						subMenuHTML.push('<li id="sub_nav_border_r"></li>');
						
						$("#sub_nav").html(subMenuHTML.join(''));
						
						$("#sub_nav_s").css('width', totalWidth + 'px');
						
						$("#sub_nav_border_right").click(function(e) {
							if (page.currentMenuPage+1 < page.totalMenuPage){
								page.currentMenuPage++;
								$("#sub_nav_s").animate({left: -(page.currentMenuPage) * 892}, 550);
								$("#sub_nav_border_left a").removeClass('nav_disable');
								$("#sub_nav_border_right a").addClass('nav_disable');
							}
						});
						
						$("#sub_nav_border_left").click(function(e) {
							if (page.currentMenuPage > 0){
								page.currentMenuPage--;
								$("#sub_nav_s").animate({left: -(page.currentMenuPage) * 892}, 550);
								$("#sub_nav_border_left a").addClass('nav_disable');
								$("#sub_nav_border_right a").removeClass('nav_disable');
							}
						});
						
						$("#" + subId + " > a").addClass("highlight");
						
						// Move the page using 0 time
						if (defaultPage > 0){
							$("#sub_nav_s").animate({left: -(defaultPage) * 892}, 0);
							page.currentMenuPage = defaultPage;
							if (defaultPage + 1 == page.totalMenuPage){
								$("#sub_nav_border_left a").removeClass('nav_disable');
								$("#sub_nav_border_right a").addClass('nav_disable');
							}
						}
					} catch(e){}
				}
			}
			else{
				// Static menu
				var subMenuTemplate = '<li id="{id}"><a href="{link}" target="{link_target}" onClick="logMenu(this)">{name}</a></li>';
				var subMenuHTML = [];
				
				subMenuHTML.push('<li id="sub_nav_border_l"></li>');				
				for(var i=0; i < subMenuData.menus.length; i++){
					var menu = subMenuData.menus[i];
					var link_target = "_self";
					if (menu.link_target != null && menu.link_target != ""){
						link_target = menu.link_target;
					}
					subMenuHTML.push(subMenuTemplate
						.replace(/{id}/g, menu.id)
						.replace(/{name}/g, menu.name)
						.replace(/{link}/g, menu.link)
						.replace(/{link_target}/g, link_target)						
					);
					if (i != subMenuData.menus.length - 1){
						subMenuHTML.push('<li id="sub_nav_seperator"></li>');
					}
				}				
				subMenuHTML.push('<li id="'+subMenuData.lastSeperatorClass+'"></li>');				
				subMenuHTML.push('<li id="sub_nav_border_r"></li>');
				
				$("#sub_nav").html(subMenuHTML.join(''));
				
				if (subId != ''){				
					$("#" + subId + " > a").addClass("highlight");
					hasSubMenu = true;
					if (subMenuData.length == 0){
						hasSubMenu = false;
					}
				}
			}
		}
		catch(err){
			hasSubMenu = false;
		}
		
		// If there is no sub menu, display the logo with round conner
		if (!hasSubMenu){
			$("#sub_nav").css('display', 'none');
			this.menuData[0].id = 'nav_logo';
		}
		else{
			$("#sub_nav").css('display', '');
			this.menuData[0].id = 'nav_logo_sub';
		}
			
		// Build the main menu
		var mainMenuTemplate = '<li id="{id}"><a href="{link}" onClick="logMenu(this)">{name}</a></li>';
		var mainMenuHTML = [];
		for(var i=0; i < this.menuData.length; i++){
			var menu = this.menuData[i];
			mainMenuHTML.push(mainMenuTemplate.replace(/{id}/g, menu.id).replace(/{name}/g, menu.name).replace(/{link}/g, menu.link));
		}
		
		// If there is no sub menu, display the last search with round conner
		if (!hasSubMenu){
			mainMenuHTML.push('<li id="nav_border"></li><li id="nav_border_r"></li>');
		}
		else{
			mainMenuHTML.push('<li id="nav_border"></li><li id="nav_border_r_sub"></li>');
		}
		/*
		if (!hasSubMenu){
			mainMenuHTML.push('<li id="nav_border"><input class="nav_search" type="text" ></li><li id="nav_border_r"></li>');
		}
		else{
			mainMenuHTML.push('<li id="nav_border"><input class="nav_search" type="text" ></li><li id="nav_border_r_sub"></li>');
		}
		*/

		$("#nav").html(mainMenuHTML.join(''));
		$("#" + topId + " > a").addClass("highlight");
	}
};

