﻿var gm_legCoD=['www.legco.gov.hk','113.28.88.71','legco.gov.hk'];
var gm_appD=['app.legco.gov.hk','113.28.88.72'];
var gm_cmD=['192.168.129.3','cm.legco.gov.hk'];
var gm_transD=['sc.legco.gov.hk','113.28.88.101'];
var gm_searchD=['search.legco.gov.hk'];
var localRootPath="";
var gm_search='search.legco.gov.hk';
var gm_trans='sc.legco.gov.hk';
var gm_cm='cm.legco.gov.hk';
var gm_domain=document.domain,gm_domainType='',so=0,x,gm_curpath='',gm_relpath='',gm_folderpath='',gm_langFolder='chinese',gm_langPrefix='tc',gm_lang='tc',gmIsIndex=false,mIdx=[],z=document.domain+document.location.pathname;
for(x in gm_legCoD)
	if(gm_legCoD[x].length>so && z.indexOf(gm_legCoD[x])==0){gm_domainType='web';so=gm_legCoD[x].length}
for(x in gm_appD)
	if(gm_appD[x].length>so && z.indexOf(gm_appD[x])==0){gm_domainType='app';so=gm_appD[x].length}
for(x in gm_cmD)		
	if(gm_cmD[x].length>so && z.indexOf(gm_cmD[x])==0){gm_domainType='cm';so=gm_cmD[x].length}
for(x in gm_transD)
	if(gm_transD[x].length>so && z.indexOf(gm_transD[x])==0){gm_domainType='trans';so=gm_transD[x].length}
for(x in gm_searchD)
	if(gm_searchD[x].length>so && z.indexOf(gm_searchD[x])==0){gm_domainType='se';so=gm_searchD[x].length}
if (document.location.protocol == "file:")
	gm_curpath=document.location.pathname.replace(localRootPath,'');
else
	gm_curpath=document.location.pathname.substring(1);
var gm_tmp=gm_curpath.split("/"),gm_tmp_len=gm_tmp.length;
if (gm_domainType=='cm')
	gm_tmp_len -= 3;
if (gm_domainType=='trans') {
	gm_tmp_len -= 2;
	if (gm_curpath.indexOf(gm_cm)>0)
		gm_tmp_len -=3;
}
for(var i=0;i<(gm_tmp_len-1);++i)
	gm_relpath += "../";
for(var i=(gm_tmp.length-gm_tmp_len);i<(gm_tmp.length-1);++i)
	gm_folderpath += "/"+gm_tmp[i];
if (gm_domain==gm_trans) {
	var tmp="";
	for(var i=0;i<(gm_tmp.length-gm_tmp_len);++i)
		tmp += "/"+gm_tmp[i];
	gm_relpath=location.href.substring(0, location.href.indexOf(tmp)+tmp.length) + '/';	
}
var gm_qsobj={},gm_qs=location.search.replace('?','' ).replace('@UTF-8','').split('&');
for (var i in gm_qs){      
      var name=gm_qs[i].split('=')[0];
      var value=gm_qs[i].split('=')[1];
      gm_qsobj[name]=value;
}
if (gm_domainType!='trans' && (gm_curpath.indexOf("/chinese/")>=0 || gm_curpath.indexOf("chinese/")==0 || gm_curpath.indexOf("cindex.html")>=0 || gm_qsobj['lang']=='tc')){
	gm_lang="tc";
	gm_langPrefix="tc";
	gm_langFolder='chinese';
}else if(gm_domainType=='trans' || gm_qsobj['lang']=='tc' ){
	gm_lang="sc";
	gm_langPrefix="tc";
	gm_langFolder='sc';
}else if (gm_qsobj['lang']=='en' || gm_curpath=='index.html' || gm_curpath.indexOf("/english/")>=0 || gm_curpath.indexOf("english/")==0){
	gm_lang="en";
	gm_langPrefix="en";
	gm_langFolder='en';
}else if(gm_curpath.indexOf("mcindex.html")>=0)
{
	gm_lang="tc";
	gm_langPrefix="tc";
	gm_langFolder='chinese';
}else if(gm_curpath.indexOf("mindex.html")>=0)
{
	gm_lang="en";
	gm_langPrefix="en";
	gm_langFolder='en';
}


if ((gm_folderpath=="" && gm_tmp[gm_tmp.length-1].indexOf('index.html')>=0) || (gm_folderpath=="" && gm_tmp[gm_tmp.length-1]==''))
	gmIsIndex=true;
function bRegExp(a){
	a=jQuery.trim(a);
	if(a.indexOf('/')!=0) a='/'+a;
	return new RegExp('^'+a.replace(/[.+?|()\[\]{}\\/]/g, "\\$&").replace(/\*/g,"(.*)?"),"i");
}
var gm_ms=gm_folderpath+'/'+gm_tmp[gm_tmp.length-1],k,r,so=0,gm_mr;
for(k in lz){
	gm_mr=lz[k].rule.split(",");
	for(r in gm_mr){
		if (gm_mr[r].length>0 && gm_mr[r].length>=so && bRegExp(gm_mr[r]).test(gm_ms)){
			mIdx=lz[k].item.split("_");
			so=gm_mr[r].length;			
		}	
	}
}
function MM_swapImgRestore(){var i,x,a=document.MM_sr;for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++)x.src=x.oSrc}function MM_swapImage(){var i,j=0,x,a=MM_swapImage.arguments;document.MM_sr=new Array;for(i=0;i<(a.length-2);i+=3)if((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x;if(!x.oSrc)x.oSrc=x.src;x.src=a[i+2]}}function MM_findObj(n,d){var p,i,x;if(!d)d=document;if((p=n.indexOf("?"))>0&&parent.frames.length){d=parent.frames[n.substring(p+1)].document;n=n.substring(0,p)}if(!(x=d[n])&&d.all)x=d.all[n];for(i=0;!x&&i<d.forms.length;i++)x=d.forms[i][n];for(i=0;!x&&d.layers&&i<d.layers.length;i++)x=MM_findObj(n,d.layers[i].document);if(!x&&d.getElementById)x=d.getElementById(n);return x}function MM_preloadImages(){var d=document;if(d.images){if(!d.MM_p)d.MM_p=new Array();var i,j=d.MM_p.length,a=MM_preloadImages.arguments;for(i=0;i<a.length;i++)if(a[i].indexOf("#")!=0){d.MM_p[j]=new Image;d.MM_p[j++].src=a[i]}}}function MM_showHideLayers(){var i,p,v,obj,args=MM_showHideLayers.arguments;for(i=0;i<(args.length-2);i+=3)if((obj=MM_findObj(args[i]))!=null){v=args[i+2];if(obj.style){obj=obj.style;v=(v=='show')?'visible':(v='hide')?'hidden':v}obj.visibility=v}}function MM_openBrWindow(theURL,winName,features){window.open(theURL,winName,features)}function JumpToIt(list){var newPage=list.options[list.selectedIndex].value;if(newPage!="None"){location.href=newPage}}function MM_reloadPage(init){if(init==true)with(navigator){if((appName=="Netscape")&&(parseInt(appVersion)==4)){document.MM_pgW=innerWidth;document.MM_pgH=innerHeight;onresize=MM_reloadPage}}else if(innerWidth!=document.MM_pgW||innerHeight!=document.MM_pgH)location.reload()}MM_reloadPage(true);
(function(a){jQuery.browser.mobile=/android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-/i.test(a.substr(0,4))})(navigator.userAgent||navigator.vendor||window.opera);
jQuery.cookie=function(name,value,options){if(typeof value!='undefined'){options=options||{};if(value===null){value='';options.expires=-1}var expires='';if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){var date;if(typeof options.expires=='number'){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000))}else{date=options.expires}expires='; expires='+date.toUTCString()}var path=options.path?'; path='+(options.path):'';var domain=options.domain?'; domain='+(options.domain):'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('')}else{var cookieValue=null;if(document.cookie&&document.cookie!=''){var cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break}}}return cookieValue}};
function switchStyle(a){
		var temp="";
		try{
			$('#tempStyleSheet').remove();
		}catch(e){}

	$('link[@rel*=style][title]').each(function(i){
		$('.styleswitch').each(function(i){
			if (this.getAttribute("rel")==a)
				$(this).css("font-weight","bold");
			else
				$(this).css("font-weight","normal"); });
		this.disabled=true;		
		$(this).attr("rel","alternate stylesheet");				
		if (jQuery.browser.mobile){
			if ( this.getAttribute('title')=='style_l'){
				$(this).attr("rel","stylesheet");
				this.disabled=false;	
			}
		} else if($.cookie('mobile') && $.cookie('mobile')=='true'){
			if ( this.getAttribute('title')=='style_s'){			
				$(this).attr("rel","stylesheet");
				this.disabled=false;	
			}
		}else if(this.getAttribute('title')==a){
			$(this).attr("rel","stylesheet");			
			var ss = $('link[rel=stylesheet]')[0];
			temp = document.createElement('link');
			temp.rel = 'stylesheet'
			temp.href = ss.href;
			temp.type = 'text/css';
			temp.id = 'tempStyleSheet';
			//$('link[rel=stylesheet]').remove();
			this.disabled=false;
		}
	});
	$.cookie("style",a,{expires:365,path:"/"});
	$('head').append(temp);
}
function setMobile(a){$.cookie("mobile",a);}
function qsobj2qs(){
	return $.map(gm_qsobj,function(value,index){return index+'='+value;}).join('&');
}
function changeLang(a){
	var l=location.href,qs=location.search;
	if (a=="en"){
		if (gm_lang=='sc'){
			if (gmIsIndex)
				l=l.replace(gm_trans+"/sc/","").replace('/cindex.html','/index.html');
			else
				l=l.replace(gm_trans+"/sc/","").replace("/chinese/","/english/");
		}else{
			if (gmIsIndex)
				l="index.html";
			else
				l=l.replace("/chinese/","/english/");
		}		
	}else if (a=="tc"){
		if (gm_lang=='sc'){
			if (gmIsIndex)
				l=l.replace(gm_trans+"/sc/","");
			else
				l=l.replace(gm_trans+"/sc/","");
		} else {
			if (gmIsIndex)
				l="cindex.html";
			else
				l=l.replace("/english/","/chinese/");
		}		
	}else if (a=="sc"){
		var t = gm_domain;
                if (t == 'legco.gov.hk')
                        t= 'www.legco.gov.hk';
		if (gmIsIndex)
			l=l.replace(gm_domain,gm_trans+"/sc/"+t).replace('/index.html','/cindex.html');
		else{
			l=l.replace(gm_domain,gm_trans+"/sc/"+t).replace("/english/","/chinese/");
			}
	}
	
	if (gm_domain==gm_search||(gm_lang=='sc' && location.pathname.indexOf(gm_search)>=0)){
		//gm_qsobj['lang']=a;
		qs='?lang='+a;
		if ( gm_qsobj['mode'] && gm_qsobj['mode']=='m')
			qs += "&mode=m";
		l=l.substring(0,l.indexOf('?'))+qs;
	}

	UrlExists(l,a);
}

function gothepage(urlpath)
{
	location.href=urlpath;
}

function UrlExists(urlpath,lang)
{
	var unformatedPath;
	var orig_domain = document.domain;
	
	if(lang=='sc')
		unformatedPath=urlpath.replace(gm_trans+"/sc/","");
	else {
		if (orig_domain == gm_trans) {
			unformatedPath=urlpath.replace('htt'+'p://', 'ht'+'tp://' + gm_trans + "/sc/");
		} else {
			unformatedPath=urlpath;
		}
	}
	
	$.get(unformatedPath, function(data){
	})
	.success(function() { gothepage(urlpath); })
	.error(function() {
		if(gm_lang=='en')
		{
			alert('只備英文版本或此頁未能直接轉換至英文版本\nEnglish version only or this page cannot be switched to the English version directly');
		}else
		{
			alert('只備中文版本或此頁未能直接轉換至中文版本\nChinese version only or this page cannot be switched to the Chinese version directly');
		}
	})
}

function changeGM(l){
	if(l=="m") setMobile("true"); else setMobile("false");	
	if(gmIsIndex){
		if(l=='m'){
			if (gm_lang=='en')
				location.href='mindex.html';
			else
			{
				if(location.href.indexOf('cindex.html')>=0)
					location.href=location.href.replace('cindex.html','mcindex.html');
				else
					location.href=location.href.replace('#','')+'mcindex.html';
			}
		}else{
			if (gm_lang=='en')
				location.href='index.html';
			else
				location.href=location.href.replace('mcindex.html','index.html');
		}
	} else {
	if(gm_domain==gm_search||(gm_lang=='sc' && location.pathname.indexOf(gm_search)>=0)) {
		gm_qsobj['mode']=l;
		location.href=location.pathname+'?'+qsobj2qs();
	}else
		location.reload();
	}
}
function setSkinVars(){
	skinImageFolder=gm_relpath+'skin/'+skinId+'/images/';
	skinImageLangFolder=skinImageFolder+gm_langFolder+'/';
	itemSkinFolder='';
	if (mIdx.length>0 && lx[mIdx[0]] && lx[mIdx[0]].skinfolder)
		itemSkinFolder=skinImageLangFolder+lx[mIdx[0]].skinfolder+'/';
}
function hHref(l,b){
	if (!l) l="";
	var t="";
	if (b && b=="Y") t="target=\"_blank\"";
	if (l.indexOf("http:")==0 || l.indexOf("https:") == 0) {}
	else {		
		if (l=="#"){
		}else if (l.substring(0,1)=="/")
			l=gm_relpath+l.substring(1);
		else
			l=gm_relpath+l;
	}
	return [l,t];
}
$(function(){
	$('.styleswitch').click(function(){
		switchStyle(this.getAttribute("rel"));
		return false;
	});
	var cm=$.cookie('mobile'),cs=$.cookie('style');
	if (gm_lang!='en'||(cm && cm=="true")){
		$('link[@rel*=style][title]').each(function(i){
			var shref = $(this).attr("href");
			if (gm_lang != "en")
				shref = shref.replace("/style","/chstyle");
			if (cm && cm=="true")
				shref = shref.replace("style","stylemob");
			$(this).attr("href", shref);
		});
	}
	if (cs) switchStyle(cs);
	else switchStyle("style_s");
	if (cm=="true")
		$("body").children("table").css({'text-align':'left','margin-left':'5px','margin-top':'10px'});
});
if(typeof skinDomain!="undefined" && skinDomain!="") gm_relpath = skinDomain;
if( (jQuery.browser.mobile && !$.cookie('mobile')) || ((gm_domain==gm_search||(gm_lang=='sc' && location.pathname.indexOf(gm_search)>=0) ) && gm_qsobj['mode']=="m") ) setMobile('true');
if( ((gm_domain==gm_search||(gm_lang=='sc' && location.pathname.indexOf(gm_search)>=0) ) && ( !gm_qsobj['mode'] || gm_qsobj['mode']!="m") ) ) setMobile('false');

