﻿//去掉字符串左右两边的空格
String.prototype.trim = function (){ var reTag = /(^\s*)|(\s*$)/g; return this.replace(reTag, ""); }
// 得到中英文字符长度
String.prototype.lengthCH = function(){  return this.replace(/[^\x00-\xff]/g,"**").length; }

String.prototype.left = function (iLen,sAdd)
{
  if(this.lengthCH() <= iLen) return this;
  var sTemp = "", iLength = 0;
  if(sAdd == undefined) sAdd = "...";
  for(var i=0;i<=this.length;i++){
    iLength++ ;
    if(this.charAt(i).match(/[^\x00-\xff]/g)) iLength ++;
    if(iLength <= iLen) sTemp += this.charAt(i); else return sTemp + sAdd;
  }
  return sTemp + sAdd;
}

String.prototype.insert = function (iLen,sText)
{
  if(this.lengthCH() <= iLen) return this;
	var sTemp = "", iLength = 0, bl=true;
  if(sText == undefined) sText = "<br />";
	for (var i=0;i<this.length;i++){
		if(bl && this.charAt(i) == "<") bl =false;
		if(!bl && this.charAt(i) == ">") bl = true;
		if(this.charAt(i)==" ") iLength =0;		
		if(bl && this.charAt(i)!=">" && this.charAt(i)!=" "){ iLength ++; if(this.charAt(i).match(/[^\x00-\xff]/g)) iLength ++; if(iLength>=iLen){ sTemp = sTemp +this.charAt(i) + sText; iLength =0; } else sTemp += this.charAt(i); } else sTemp += this.charAt(i);
	}
	return sTemp;
}

//将字符串中的s1全部替换为s2
String.prototype.replaceAll  = function(s1,s2){ return this.replace(new RegExp(s1,"gm"),s2); }

String.prototype.strip_tags = function (){ var reTag = /<(?:.|\s)*?>/g; return this.replace(reTag, ""); }

String.prototype.gbypDel = function (){	var strTemp = "gb.yp.com.hk/han3/7/6/9/0/0/0/0/";	return this.replace(strTemp,""); }

//将数字转换成三位逗号分隔的样式
function formatNum(num){
  try{
      if(!/^(\+|-)?(\d+)(\.\d+)?$/.test(num)){return num;} 
      var a = RegExp.$1, b = RegExp.$2, c = RegExp.$3; 
      var re = new RegExp().compile("(\\d)(\\d{3})(,|$)"); 
      while(re.test(b)) b = b.replace(re, "$1,$2$3"); 
      return a +""+ b +""+ c;     
  }
  catch(e){
      var strNum = num + "";
      var intLen = strNum.length;
      var str = "";
      var j =0;
      for(var i=intLen-1;i>=0;i--){
          j++;
          str = strNum.substring(i,i+1) + str + ""
          if(j%3==0 && j !=intLen)
              str = "," + str
      }
      return str    
  }
}
//异步对象创建
function createXMLHTTP()
{
	var xmlhttp;	if (window.XMLHttpRequest){ xmlhttp = new XMLHttpRequest();	}	else if (window.ActiveXObject){ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");	}
	closeXMLHTTP(xmlhttp);
	return xmlhttp;
}
function closeXMLHTTP(xmlhttp,sType)
{
  try{ window.attachEvent('onunload',function(){xmlhttp.abort();}); window.attachEvent('onbeforeunload',function(){xmlhttp.abort();}); window.attachEvent('onabort',function(){xmlhttp.abort();});}  catch(e){  }
}

function getParaVal(sPara, sUrl)
{
  var sVal = "";
  if(sUrl == undefined) sUrl = document.location + "";
  sUrl = "&" + sUrl.split("?")[1] + "&";
  if(sUrl.indexOf("&" + sPara + "=") != -1) sVal = sUrl.split("&" + sPara + "=")[1].split("&")[0];
  return sVal;   
}

function InsertWbr(strText,intLen)
{
	var strTemp = "";
	var iLen = 0;
	var bl=true;
	for (var i=0;i<strText.length;i++){
		if(bl && strText.charAt(i) == "<")
			bl =false;
		if(!bl && strText.charAt(i) == ">")
			bl = true;
		if(strText.charAt(i)==" ")
			iLen =0;
		
		if(bl && strText.charAt(i)!=">" && strText.charAt(i)!=" "){
			iLen ++;
			if(iLen==intLen){
				strTemp = strTemp +strText.charAt(i)+"<wbr>";
				iLen =0;
			}
			else
				strTemp = strTemp+strText.charAt(i);
		}
		else
			strTemp = strTemp+strText.charAt(i);
	}
	return strTemp;
}

function TextReplect(strText,strKey,intType)
{   //strText 等待处理字符串 
    //strKey  关键字符串
    //intType 0:字符串加红,1:字符串加粗
    strKey=strKey.trim();
    if(strKey == "") return strText;
    try
    {
      var strLeft ="<font color='red'>";
      var strRight = "</font>";
      if(intType == undefined) intType = 0;
      if(intType==1) { strLeft = "<b>"; strRight = "</b>"; }	
      if(strText.toLowerCase()==strKey.toLowerCase()) { return strLeft + strText + strRight; }
      
      var strKeyTemp = "";
      strKey = strKey.replaceAll("“","\"").replace("”","\"");
      strKey = strKey.replace("(","[(]").replace(")","[)]");
      strKey = strKey.replaceAll(" & "," ");
      strKey = strKey.replace(/\?/g,"\\?");
      if (strKey.substring(0,1)=="\"" && strKey.substring(strKey.length)=="\"") { strKey = "\"" + strKey.replaceAll("\"","") + "\""; }
      else { strKey = strKey.replaceAll("\"",""); }

      for(var i=0;i<strKey.split("\"").length;i++){
        strKeyTemp = strKey.split("\"")[i];
        if (i % 2 == 0){
            for(var j=0;j<strKeyTemp.split(" ").length;j++){
                if(strKeyTemp.split(" ")[j] != ""){
                    strText = StrReplect(strText,strKeyTemp.split(" ")[j],intType);	  
                  }
              }  
        }
        else{
          strText = StrReplect(strText,strKeyTemp);	    
        }
      }
      return strText.replace(/<#%&>/g,strLeft).replace(/<=%&>/g,strRight);
    }
    catch(e){return strText;}
}
function StrReplect(strText,strKey)
{
    try
    {

	var strLeft ="<#%&>";
	var strRight = "<=%&>";
	
		var strVal = "";

		var regexp = /[A-Z0-9]/gi;
		if(regexp.test(strKey)){
			regexp = new RegExp("(^|[^A-Z0-9])("+strKey+")($|[^A-Z0-9])","gi");
			strVal = strText.replace(regexp,"$1" +strLeft + "$2" +strRight + "$3") ;
		}
		else{
			regexp = new RegExp("("+strKey+")","gi");
			strVal = strText.replace(regexp,strLeft + "$1" +strRight) ;
		}
	
	return strVal;
	}catch(e){return strText;}
}

// nienianjun
function AllowSetHome() { if (navigator.appName != "Netscape") {	document.getElementById("sethome").style.display = "block";  } }
function setHomepage() {
  var dhome = window.location;
  if (document.all) {	document.body.style.behavior='url(#default#homepage)';	document.body.setHomePage(dhome);  } else if (window.sidebar) {  }
  try{webTraffic(2,sLang);}catch(e){}
  return false;
}
function GetSetHomepage(sLang,sClass) {
  var strText = "";  
  if(sLang.toLowerCase() == "en") strText = "Set yp as homepage";
  else if(sLang.toLowerCase() == "sc") strText = "设定 yp 为首页";
  else strText = "設定 yp 為首頁";
  if (navigator.appName != "Netscape") document.write("<a class=\"" + sClass + "\" href=\"javascript:\" onclick=\"setHomepage();\">" + strText + "</a>");
}

function GoToLangUrl(FromLang,ToLang){  
  try{webTraffic(7,sLang,ToLang);}catch(e){}
  var strUrl = document.location + "";
  if(ToLang == "sc" || FromLang == "sc"){
    if(ToLang == "sc"){strUrl = formatHKword(strUrl, "Y");strUrl = "htt" + "p://gb.yp.com.hk/han3/7/6/9/0/0/0/0/" + strUrl.replace("http://","");}
    else{strUrl = strUrl.replace("gb.yp.com.hk/han3/7/6/9/0/0/0/0/","");strUrl = getBackHKword(strUrl,"Y");}
  }
  strUrl = strUrl.replace("/" + FromLang + "/","/" + ToLang + "/")
  try{strUrl = strUrl.replace("&letter="+getParaVal("letter", strUrl),"")}catch(e){}
  document.location.href = strUrl;
}
function GoToHomeUrl(sLang){
    document.location.href = "../../../../home_e10/" + sLang;
}

function GetDownloadYPSearchBar(sLang,sClass){
    var strText = "",strUrl = "";    
    if(sLang.toLowerCase() == "en") strText = "Download search bar";
    else if(sLang.toLowerCase() == "sc") strText = "下载搜索工具列";
    else strText = "下載搜尋工具列";    
    var Sys = {};
    var ua = navigator.userAgent.toLowerCase();
    var s; (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] : (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] : 0;
    if (Sys.ie){
      if(parseInt(Sys.ie) > 6) strUrl = "<a class=\"" + sClass + "\" href=\"javascript:window.external.AddSearchProvider('htt" + "p://yp.com.hk/ypsearch/ypsearch.xml');\" onclick=\"webTraffic(3,sLang);\">" + strText + "</a>";
      else strUrl = "<a class=\"" + sClass + "\" href=\"htt" + "p://yp.com.hk/ypsearch/ypsearch.exe\" onclick=\"webTraffic(3,sLang);\" target=_blank>" + strText + "</a>";
    }
    if (Sys.firefox){ strUrl = "<a class=\"" + sClass + "\" href=\"javascript:window.external.AddSearchProvider('htt" + "p://yp.com.hk/ypsearch/ypsearch.xml');\" onclick=\"webTraffic(3,sLang);\">" + strText + "</a>"; } 
    document.write(strUrl);
}
//end nienianjun

//start HuangJin 
var weatherID = null;
var weatherRunning = false; 
var FinanceID = null;
var FinanceRunning = false;  
var NewsTimeID = null;
var NewsTimeRunning = false; 
function stopweather()
{
    if(weatherRunning)
    clearTimeout(weatherID);
    weatherRunning = false;
}
function startweather() 
{
    stopweather();
    getWeather()
}
function stopFinance()
{
    if(FinanceRunning)
    clearTimeout(FinanceID);
    FinanceRunning = false;
}
function startFinance() 
{
    stopFinance();
    getFinance()
}  
function stopVideoNews()
{
    if(NewsTimeRunning)
    clearTimeout(NewsTimeID);
    NewsTimeRunning = false;
}
function startVideoNews() 
{
    stopVideoNews();
    getNews()
} 
function getDate(dt){
   //var date = new Date();
   var y = dt.getFullYear();
   var m = dt.getMonth() + 1;
   var d = dt.getDate();
   return "" + y + (m<10?"0":"")+ m +(d<10?"0":"")+ d;
}

var tmp_movthumb_left=0;
var movthumb_loop;

function MM_findObj(n, d) { //v4.01
  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_scrollIFrame(){
	movthumb_loop=0;
	var x,a=MM_scrollIFrame.arguments;
	if ((x=MM_findObj(a[0]))!=null){
	  if (a[0] != 'div_content_movthumb')
		document.MM_sr = setInterval(function(){x.scrollTop+=a[1];}, 10);
	  else
		document.MM_sr = setInterval(function(){x.scrollLeft+=(a[1]*5);tmp_movthumb_left=x.scrollLeft;SwitchMovThumbArrow()}, 10);
	}
}

function MM_scrollIFrameRestore(){
	clearInterval(document.MM_sr);
}

function SwitchMovThumbArrow() {
  movthumb_loop++;
  if (movthumb_loop == 14)
	MM_scrollIFrameRestore()
  if (parseInt(tmp_movthumb_left) == document.getElementById("hidden_movthumb").value) {
	document.getElementById("movthumbnav_right").style.backgroundColor = "#ccc"
	document.images['movthumbnav_next'].src = "../../images/arrow_next.gif"
	document.getElementById("movthumbnav_right").style.cursor = "default"
  } else if (parseInt(tmp_movthumb_left) == 0) {
	document.getElementById("movthumbnav_left").style.backgroundColor = "#ccc"
	document.images['movthumbnav_prev'].src = "../../images/arrow_prev.gif"
	document.getElementById("movthumbnav_left").style.cursor = "default"
  } else {
	document.getElementById("movthumbnav_right").style.backgroundColor = document.getElementById("movthumbnav_left").style.backgroundColor = "#a8c1db"
	document.images['movthumbnav_prev'].src = "../../images/arrow_prev_o.gif"
	document.images['movthumbnav_next'].src = "../../images/arrow_next_o.gif"
	document.getElementById("movthumbnav_left").style.cursor = document.getElementById("movthumbnav_right").style.cursor = "pointer"
  }
}
// End HuangJin
