﻿// JScript File


var qsParm = new Array();
function readParams() 
{
    var query = window.location.search.substring(1);
    var parms = query.split('&');
    for (var i=0; i<parms.length; i++) 
    {
        var pos = parms[i].indexOf('=');
        if (pos > 0) 
        {
            var key = parms[i].substring(0,pos);
            var val = parms[i].substring(pos+1);
            qsParm[key] = val;
        }
    }
}

var xmlHttp = null;
function addToCart(sURL)
{ 
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
    {
        alert ("Your browser does not support AJAX!");
        return;
    } 
    //sURL=sURL+"&sid="+Math.random();
    xmlHttp.onreadystatechange=stateChanged;
    xmlHttp.open("GET",sURL,true);
    xmlHttp.send(null);
}

function stateChanged() 
{ 
    if (xmlHttp.readyState==4)
    {
         
        //Send the event back to the viewer and show the message
        //document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
    }
}


function GetXmlHttpObject()
{
    var xmlHttp=null;
    try
    {
      // Firefox, Opera 8.0+, Safari
      xmlHttp=new XMLHttpRequest();
    }
    catch (e)
    {
      // Internet Explorer
      try
      {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      }
      catch (e)
      {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    }
    return xmlHttp;
}

function getURLParams()
{
    return window.location.toString();
}

function showMessage(message)
{
    alert(message);
}

function openURL(oURL)
{
	var newwindow;
	var sTemp = oURL.toLowerCase()
	if(sTemp .substr(0,4)!="http" && sTemp != "help.html")
	{
	   oURL ="http://" + sTemp ;
	}
	window.open(oURL,"_blank");
	if (window.focus) {newwindow.focus()}
}

function openURLEx(oURL,name)
{
	var newwindow;
    var sTemp = oURL.toLowerCase()
	if(sTemp .substr(0,4)!="http" && sTemp != "help.html")
	{
	   oURL ="http://" + sTemp ;
	}
	newwindow = window.open(oURL,name);
	if (window.focus) {newwindow.focus()}
}




function openURLCabot(oURL)
{
    window.open(oURL, 'cabot','width=800,height=600');
}

function init()
{
    readParams();
    
}

function getPageNumber()
{
    if(qsParm["page"])
        return(qsParm["page"]);
    return 1;
}

//Add the current page as bookmark
function addToFavorites(title,docid,pagenum) 
{
    var url = window.location.protocol + "//" +  window.location.host + window.location.pathname;
    url = url.concat("?docid=",docid,"&page=",pagenum);
    if (window.sidebar) 
    { 
        // Mozilla Firefox Bookmark		
        window.sidebar.addPanel(title, url,"");	
    } 
    else if( window.external ) 
    { 
        // IE Favorite		
        window.external.AddFavorite( url, title); 
    }	
    else if(window.opera && window.print) 
    { 
        // Opera Hotlist		
        return true; 
    } 
}

function getFlashMovieObject(movieName)
{
  if (window.document[movieName]) 
  {
      return window.document[movieName];
  }
  if (navigator.appName.indexOf("Microsoft Internet")==-1)
  {
    if (document.embeds && document.embeds[movieName])
      return document.embeds[movieName]; 
  }
  else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
  {
    return document.getElementById(movieName);
  } 	
}



function addJavascript(jsname) 
{
    var th = document.getElementsByTagName('head')[0];
    var s = document.createElement('script');
    s.setAttribute('type','text/javascript');
    s.setAttribute('src',jsname);
    th.appendChild(s);
} 

function setEditionTitle(sTitle)
{
    document.title = sTitle; 
}

function urldecode( str ) 
{
    var histogram = {};
    var ret = str.toString();
    
    var replacer = function(search, replace, str) {
        var tmp_arr = [];
        tmp_arr = str.split(search);
        return tmp_arr.join(replace);
    };
    
    // The histogram is identical to the one in urlencode.
    histogram["'"]   = '%27';
    histogram['(']   = '%28';
    histogram[')']   = '%29';
    histogram['*']   = '%2A';
    histogram['~']   = '%7E';
    histogram['!']   = '%21';
    histogram['%20'] = '+';

    for (replace in histogram) {
        search = histogram[replace]; // Switch order when decoding
        ret = replacer(search, replace, ret) // Custom replace. No regexing   
    }
    
    // End with decodeURIComponent, which most resembles PHP's encoding functions
    ret = decodeURIComponent(ret);

    return ret;
}

function getURLParamsForLink(pageNo)
{
	//debugger;
	var bookmarkURL = window.location.toString();
	if (bookmarkURL.indexOf('page=') > -1)
		bookmarkURL = replaceQueryString(bookmarkURL, 'page', pageNo);
	else
		if (bookmarkURL.indexOf('?') > -1)
			bookmarkURL = window.location.href+ '&page='+pageNo;
		else
			bookmarkURL = window.location.href+ '?page='+pageNo;
	bookmarkURL = bookmarkURL + "&q="+Math.floor(Math.random()*10000);
 return escape(bookmarkURL.toString());
}

function replaceQueryString(url,param,value) {
    var re = new RegExp("([?|&])" + param + "=.*?(&|$)","i");
    if (url.match(re))
        return url.replace(re,'$1' + param + "=" + value + '$2');
    else
        return url + '&' + param + "=" + value;
}

function TranslateButtonClicked(sPageURL,sSelectedLang,sInputLang)
{
    var sLang = "en";
    
    //For now support only english
    if(sInputLang!="eng")
         sLang = "zh-TW";
    var tl =""; //Target language
    switch(sSelectedLang)
    {
		case "Afrikaans":
			tl = "af";
		break;
		case "Albanian":
			tl = "sq";
		break;
        case "Arabic":
            tl = "ar";
        break;
		case "Belarusian":
            tl = "be";
        break;
		case "Bulgarian":
            tl = "bg";
        break;
		case "Catalan":
            tl = "ca";
        break;
		case "Catalan":
            tl = "ca";
        break;
        case "Chinese":
            tl ="zh-CN";
        break;
		case "Croatian":
            tl ="hr";
        break;
		case "Czech":
            tl ="cs";
        break;
		case "Danish":
            tl ="da";
        break;
		case "Dutch":
            tl ="nl";
        break;
		case "English":
            tl="en";
        break;
		case "Estonian":
            tl="et";
        break;
		case "Filipino":
            tl="tl";
        break;
		case "Finnish":
            tl="fi";
        break;
        case "French":
            tl ="fr";
        break;
		case "Galician":
            tl ="gl";
        break;
        case "German":
             tl ="de";
        break;
		 case "Greek":
             tl ="el";
        break;
		case "Haitian Creole":
             tl ="ht";
        break;
		case "Hebrew":
             tl ="iw";
        break;
        case "Hindi":
            tl ="hi";
        break;
		
        case "Hungarian":
            tl ="hu";
        break;
		case "Icelandic":
            tl ="is";
        break;
        case "Indonesian":
            tl ="id";
        break;
        case "Irish":
            tl ="ga";
        break;
        case "Italian":
            tl ="it";
        break;
        case "Japanese":
             tl ="ja";
        break;
        case "Latvian":
            tl ="lv";
        break;
        case "Lithuanian":
            tl ="lt";
        break;
        break;
        case "Macedonian":
            tl ="mk";
        break;
        case "Malay":
            tl ="ms";
        break;
        case "Maltese":
            tl ="mt";
        break;
        case "Norwegian":
            tl ="no";
        break;
        case "Persian":
            tl ="fa";
        break;
        case "Polish":
            tl ="pl";
        break;
        case "Portuguese":
            tl ="pt";
        break;
        case "Romanian":
            tl ="ro";
        break;
        case "Russian":
            tl ="ru";
        break;
        case "Serbian":
            tl ="sr";
        break;
        case "Slovak":
            tl ="sk";
        break;
        case "Slovenian":
            tl ="sl";
        break;
        case "Spanish":
            tl ="es";
        break;
        case "Swahili":
            tl ="sw";
        break;
        case "Swedish":
            tl ="sv";
        break;
        case "Thai":
            tl ="th";
        break;
         case "Turkish":
            tl ="tr";
        break;
         case "Thai":
            tl ="th";
        break;
         case "Ukrainian":
            tl ="uk";
        break;
         case "Welsh":
            tl ="cy";
        break;
        case "Yiddish":
            tl ="yi";
        
    }
    var sTranslateURL = "http://translate.google.com/translate?langpair=" + sLang +"&tl=" + tl + "&u=" + sPageURL;
    window.open (sTranslateURL);  
    //http://translate.google.com/translate?langpair=en&tl=fr&u=http://www.epaperflip.com/

}


function PrintClicked(parm) 
{ 
	alert("Print Button Clicked, with xml data = "+parm); 
} 
function EmailClicked(parm) 
{ 
	alert("Email Button Clicked, with xml data = "+parm); 
} 
function ShopClicked(parm) 
{ 
	alert("Shop Button Clicked, with xml data = "+parm); 
} 
function SmsClicked(parm) 
{ 
	alert("Sms Button Clicked, with xml data = "+parm); 
} 

function ViewXml(parm) 
{ 
	alert("ViewXml Button Clicked, with xml data = "+parm); 
} 


function getServerPath()
{
	var srv = window.location.protocol + "//" +  window.location.host;
	return srv;
}