var customizationExpireDate = new Date();
//2019-12-10
customizationExpireDate.setMonth(11);
customizationExpireDate.setYear(2019);
customizationExpireDate.setDate(10);

var jsMktIndexArray = new Array();jsMktIndexArray[0] = '$MSTAR|IXUS|Morningstar Index|';jsMktIndexArray[1] = '$INDU|IXUS|DJIA|';jsMktIndexArray[2] = 'COMP|IXUS|Nasdaq|';jsMktIndexArray[3] = 'SPX|IXUS|S&P 500|';jsMktIndexArray[4] = 'RUT|IXUS|Russell 2000|';jsMktIndexArray[5] = '$000001|XSHG|Shanghai|';jsMktIndexArray[6] = 'NI225|IXJP|Nikkei 225|';jsMktIndexArray[7] = 'HSI|XHKG|Hang Seng|';jsMktIndexArray[8] = 'SENSEX|XBOM|Bombay|';jsMktIndexArray[9] = 'XAO|XASX|Australia|';jsMktIndexArray[10] = 'UKX|IXUK|FTSE 100|';jsMktIndexArray[11] = 'PX1|XPAR|Paris CAC|';jsMktIndexArray[12] = 'DAX|XETR|DAX|';jsMktIndexArray[13] = 'BEL20|XBRU|BEL 20|';jsMktIndexArray[14] = 'SMI|XSWX|Zurich Swiss|';

var    marketTickerNames=new Array();
var    marketTickersArr=new Array();


function processCbFunc(pvContext,pTickQueryArray)
{ 
    //alert (pvContext, pTickQueryArray);
	var i,pTickQuery;
	var strName="",strPrice="",strChange="0.00",strPercent="0.00";
	var pfEle=document.getElementById(pvContext);
	for(i=0;i<pTickQueryArray.length;i++)
	{ 
		pTickQuery=pTickQueryArray[i];
		var szTickId=pTickQuery.getTickId();
		var pSecurityRec=pTickQuery.getSecurityRecord();
		ele=document.getElementById(szTickId.m_tickId1);
		eleDate=document.getElementById(szTickId.m_tickId1+"Date");
		if(pSecurityRec!=null)
		{ 
				strName=szTickId.m_tickId1;
                for(var j=0;j<marketTickersArr.length;j++)
                { 
                    if(strName==marketTickersArr[j])
                    {
                        strName=marketTickerNames[j];
                        
                        break;
                    }
                }
			strPrice=formatNumber(pSecurityRec.m_lastPrice,"x,000");
			strChange=formatNumber(pSecurityRec.m_lastPrice-pSecurityRec.m_yestClose,"0.0");
            strPercent=formatNumber((pSecurityRec.m_lastPrice-pSecurityRec.m_yestClose)*100/pSecurityRec.m_yestClose,"0.0");
         //   strDate=pSecurityRec.m_TradeTime;
//            alert(strDate.getMonth());
		}
		if(ele !=null) {
		    preDiv="";
		    if( strChange >0 )
		      preDiv="<div class='mi_colc  tgrn'>";
		    else if( strChange <0)
		        preDiv="<div class='mi_colc  tred'>";
		    else 
		        preDiv="<div class='mi_colc'>";
		
		    ele.innerHTML="<div class='mi_cola'>"+strName+"</div>" +
                      "<div class='mi_colb'>"+strPrice+"</div>" +
                      preDiv+strChange+"</div>" +
                      preDiv+strPercent+"%</div>" 
        }
     //   if(eleDate !=null) {
     //       eleDate.innerHTML=formatDate(strDate); 
    //    }

	}

}
function roundNumber(rnum, rlength) { // Arguments: number to round, number of decimal places
  var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
  document.roundform.numberfield.value = newnumber; // Output the result to the form field (change for your purposes)
}
function formatDate(str) //yyyy-mm-dd hh:MM:ss
{  //alert(str);
        if (str == null) return;
        if (str.indexOf("-") > 0) {
            var arry = str.split(" "); 
            var d;
            var result="";
            
            d = arry[0].split("-"); 
            var months=d[1];
            var days=d[2];
                
            if (parseInt(months)<10)  { months=months.substring(1,2); }
            if (parseInt(days)<10) { days=days.substring(1,2); }

            if (arry.length == 2) {
                
                var t = arry[1].split(":");
                var hours=parseInt(t[0]);
                var minutes=t[1];
             //   if (minutes < 10){
             //       minutes = "0" + minutes
             //   }
                if (hours<12) {    
                    result=months+"/"+days+"/"+d[0]+ " " +hours +":"+minutes +":"+t[2]+" AM";
                    }
                else {
                    if (hours>12) {
                        hours=hours-12;
                     }
                    result=months+"/"+days+"/"+d[0]+ " " +hours +":"+minutes +":"+t[2]+" PM";
                }    
                return result;
            } else {
                result=months+"/"+days+"/"+d[0];
                return result;
            }
        }
        else if (str.indexOf("/") > 0) {
            return str;
        }

}

    function GetMarketIndex()
    {

    QUSZTickIdArr=new Array();
    
        for(var i=0;i<jsMktIndexArray.length;i++)
        {
            var price = jsMktIndexArray[i].split('|'); 
		    var ticker = price[0];
		    var exchange = price[1]; 
		    marketTickerNames[i] = price[2];  
		    marketTickersArr[i]=ticker;

            //QUSZTickIdArr[QUSZTickIdArr.length]=new QUSZTickId(QU.TICKIDTYPE_TICKANDREGION,marketTickersArr[i],"");
            QUSZTickIdArr[QUSZTickIdArr.length]=new QUSZTickId(QU.TICKIDTYPE_TICKANDEXCHANGE,ticker,exchange);
            QU.AddSymbol(QUSZTickIdArr[QUSZTickIdArr.length-1],processCbFunc,this);
        }
        QU.Start();
        
     }
 function RefreshImage()
 {	
     for(var i=0;i<12;i++)
     { //alert(i);
 	    var myimgElement = document.getElementsByTagName("img")[i];
		var imgid = myimgElement.id;
		alert(imgid);
    }		
}


function adjustIframeSize(ipos)
{
     var frameName = ipos;
     var frame = document.getElementById(frameName);
     var content = document.getElementById(frameName).contentWindow.document.documentElement.innerHTML;
     if (content.indexOf("empty.gif") >= 0 )
     {
     	frame.style.height = 0;
     	frame.style.width = 0;
     }
}  
    

function getMarketIndexGraph(area){
    var graphserver="http://rtserviceqa.morningstar.com";
    if (area=='asianindex')
    { 
       document.getElementById("NI225IMG").src=graphserver + "/new_home_page/home_page_image.aspx?type=IND&ticker=NI225&CountryId=JPN&ExchangeId=IXJP&width=280&height=78";       
       document.getElementById("HSIIMG").src=graphserver + "/new_home_page/home_page_image.aspx?type=IND&ticker=HSI&CountryId=HKG&ExchangeId=XHKG&width=280&height=78";
       document.getElementById("SHGIMG").src=graphserver + "/new_home_page/home_page_image.aspx?type=IND&ticker=$000001&CountryId=CHN&ExchangeId=XSHG&width=280&height=78";
       document.getElementById("BOMIMG").src=graphserver + "/new_home_page/home_page_image.aspx?type=IND&ticker=SENSEX&CountryId=IND&ExchangeId=XBOM&width=280&height=78";
       document.getElementById("XAOIMG").src=graphserver + "/new_home_page/home_page_image.aspx?type=IND&ticker=XAO&CountryId=AUS&ExchangeId=XASX&width=280&height=78";
    }
    if (area=='europeindex')
    { 
       document.getElementById("UKXIMG").src=graphserver + "/new_home_page/home_page_image.aspx?type=IND&ticker=UKX&CountryId=GBR&ExchangeId=IXUK&width=280&height=78";
       document.getElementById("PXIMG").src=graphserver + "/new_home_page/home_page_image.aspx?type=IND&ticker=PX1&CountryId=FRA&ExchangeId=XPAR&width=280&height=78";
       document.getElementById("DAXIMG").src=graphserver + "/new_home_page/home_page_image.aspx?type=IND&ticker=DAX&CountryId=DEU&ExchangeId=XETR&width=280&height=78";
       document.getElementById("SWXIMG").src=graphserver + "/new_home_page/home_page_image.aspx?type=IND&ticker=BEL&CountryId=BEL&ExchangeId=XBRU&width=280&height=78";
       document.getElementById("BELIMG").src=graphserver + "/new_home_page/home_page_image.aspx?type=IND&ticker=BEL&CountryId=BEL&ExchangeId=XBRU&width=280&height=78";
    }
}

function getTreasuryMaturity(periodname) {
	var TreasuryImg = document.getElementById("TreasuryMaturityGraph");
	var TreasuryTitle= document.getElementById("TreasuryMaturityTitle");

    if (periodname == '6 Month')
        TreasuryImg.src = "http://tools.morningstar.com/new_home_page/home_page_image.aspx?type=BC_6MONTH&width=245&height=118";
    if (periodname == '2 Year')
        TreasuryImg.src = "http://tools.morningstar.com/new_home_page/home_page_image.aspx?type=BC_2YEAR&width=245&height=118";
    if (periodname == '5 Year')
        TreasuryImg.src = "http://tools.morningstar.com/new_home_page/home_page_image.aspx?type=BC_5YEAR&width=245&height=118";
    if (periodname == '10 Year')
        TreasuryImg.src = "http://tools.morningstar.com/new_home_page/home_page_image.aspx?type=BC_10YEAR&width=245&height=118";
    if (periodname == '30 Year')
        TreasuryImg.src = "http://tools.morningstar.com/new_home_page/home_page_image.aspx?type=BC_30YEAR&width=245&height=118";
    TreasuryTitle.innerText = periodname + " Note Yield"; // for ie
    TreasuryTitle.textContent = periodname + " Note Yield"; // for all other

}

function getBMK(ticker,name) {
	var BMKImg = document.getElementById("BMKGraph");
	var BMKTitle = document.getElementById("BMKTitle");

    BMKImg.src = "http://tools.morningstar.com/new_home_page/home_page_image.aspx?type=BMK&ticker=" +ticker + "&CountryId=USA&ExchangeId=&TimePeriod=M1&width=245&height=118";
	
    BMKTitle.innerText = name+ " Bond" ; // for ie
    BMKTitle.textContent = name+ " Bond"; // for all other

}
function openVideoWindow(url)
{
    window.open(url,'','width=860,height=705,scrollbars=1,resizable=1'); 
}

function directToQuote(ticker)
{
    return "http://quote.morningstar.com/switch.html?ticker=" + ticker;
}

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_showHideLayers() { //v6.0
  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 ClearField(fid)
{
	document.getElementById(fid).value="";
}



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 UpdPortfolioHolding(start, pfid)
{
    var oRequest=GetXmlHttpObject();  
    if (oRequest==null){
        alert ("Your browser does not support AJAX!");
        return;
    } 
    
    var url = "GetPortfolio.aspx";
    url = url + "?s=" + start;     
    url = url + "&i=" + pfid;     
    url = url + "&dt=" + Math.random();                 
    //alert(url);
    oRequest.open("GET",url,true);      
    oRequest.onreadystatechange = function(){    
      if (oRequest.readyState == 4)
      {                      
            var txt = oRequest.responseText;    
            //alert (txt);   
            var oPortHoldingDiv = document.getElementById("HP_PortfolioHolding");
            oPortHoldingDiv.innerHTML = txt;  
      }                   
    }  
    oRequest.send(null);  	            
}

function adjustPos(target, orig, left, top)
{
    var origElem = document.getElementById(orig);
    var x = getX(origElem);
    var y = getY(origElem);
    var targetElem = document.getElementById(target);
    targetElem.style.left = (x + left) + "px";
    targetElem.style.top = (y + top) + "px";    
}

// get position of an object on the page
function getX(obj)
{
	var x = 0;
	var o = obj;
	while (o.offsetParent)
	{
		x += o.offsetLeft;
		o = o.offsetParent;
	}
		return x;
}
function getY(obj)
{
		var y = 0;
		var o = obj;
		while (o.offsetParent)
		{
			y += o.offsetTop;
			o = o.offsetParent;
		}
		return y;
}

function setCookie(name, value, expires, path, domain) {

  var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires.toGMTString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "");
  document.cookie = curCookie;
  
}

function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else
    begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}

function CustomSetting(){
    ApplySetting("HPUMT1");
    ApplySetting("HPURT1");
    ApplySetting("HPURT2");
    ApplySetting("HPURT3");            
}

function ApplySetting(name) {
    if (getCookie(name) != null)
    {
        var id = getCookie(name);
        //var elems = document.getElementsByName(name); this doesn't work for IE
        var elems = document.getElementsByTagName("DIV");
        var cnt = 0;
        //alert ( elems.length);
        for (var i = 0; i < elems.length; i++)
        {                
            if (elems[i].getAttribute("name") == name)
            {                   
                cnt++ ;
	            if (cnt == id)
	            {
                    elems[i].style.display="block";    
	            }
	            else
	            {
                    elems[i].style.display="none";  
                }
            }
            
        
        }
    }        
}
