﻿// 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 getURLParamsForLink(pageNo)
{
	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;
	return bookmarkURL.toString();
}

function sendLocalEmail(YourEmail,YourName,ReceiverName,ReceiverEmail,InputSubject,txtMessage,bSendCC,bSendCurrent,DocID,PageNum)
{
	var bodyText ="Hi, %0A%0A Please, click on the link below to be directed to the digital edition:%0A%0A"+encodeURIComponent(getURLParamsForLink(PageNum));
	var oMailUrl = "mailto:?body="+bodyText;
	var newwindow = window.open(oMailUrl);
	newwindow.close();
}
function getLocalEmailLink(YourEmail,YourName,ReceiverName,ReceiverEmail,InputSubject,txtMessage,bSendCC,bSendCurrent,DocID,PageNum)
{
	var bodyText ="Hi, %0A%0A Please, click on the link below to be directed to the digital edition:%0A%0A"+encodeURIComponent(getURLParamsForLink(PageNum));
	var oMailUrl = "mailto:?body="+bodyText;
	return oMailUrl;
}
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 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 "Arabic":
            tl = "ar";
        break;
        case "Chinese":
            tl ="zh-TW";
        break;
        case "French":
            tl ="fr";
        break;
        case "English":
            tl="en";
        break;
        case "German":
             tl ="fr";
        break;
        case "Hindi":
            tl ="hi";
        break;
        case "Italian":
            tl ="it";
        break;
        case "Japanese":
             tl ="ja";
        break;
        case "Korean":
            tl ="ko";
        break;
        case "Spanish":
            tl ="es";
        break;
    }
    var sTranslateURL = "http://translate.google.com/translate?langpair=" + sLang +"&tl=" + tl + "&u=" + sPageURL;
    window.open (sTranslateURL);  
}

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); 
} 

