
var loginUrl="";
var _zeroOut = false;
var dtNow = new Date();
var dt6am = new Date(dtNow.getFullYear(), dtNow.getMonth(), dtNow.getDate(),6,0);

String.prototype.Trim=function()
{   
   return this.replace(/^\s*|\s$/g,'')   
}

Array.prototype.contains=function(val)
{   
    for (var i=0;i<this.length;i++)   
    {   
        if (val.Trim().toUpperCase()==this[i].Trim().toUpperCase())   
        return true;   
    }   
    return false;   
}
 
Array.prototype.unique=function()
{   
    var ret=[];   
    for (var i=0;i<this.length;i++ )   
    {   
        if(!ret.contains(this[i]))   
            ret.push(this[i]);   
    }   
    return ret;   
}

function formatNumber(num,pattern){   
  var strarr = num?num.toString().split('.'):['0'];   
  var fmtarr = pattern?pattern.split('.'):[''];   
  var retstr='';   
  
  var str = strarr[0];   
  var fmt = fmtarr[0];   
  var i = str.length-1;     
  var comma = false;   
  for(var f=fmt.length-1;f>=0;f--){   
    switch(fmt.substr(f,1)){   
      case '#':   
        if(i>=0 ) retstr = str.substr(i--,1) + retstr;   
        break;   
      case '0':   
        if(i>=0) retstr = str.substr(i--,1) + retstr;   
        else retstr = '0' + retstr;   
        break;   
      case ',':   
        comma = true;   
        retstr=','+retstr;   
        break;   
    }   
  }   
  if(i>=0){   
    if(comma){   
      var l = str.length;   
      for(;i>=0;i--){   
        retstr = str.substr(i,1) + retstr;   
        if(i>0 && ((l-i)%3)==0) retstr = ',' + retstr;    
      }   
    }   
    else retstr = str.substr(0,i+1) + retstr;   
  }   
  
  retstr = retstr+'.';    
  str=strarr.length>1?strarr[1]:'';   
  fmt=fmtarr.length>1?fmtarr[1]:'';   
  i=0;   
  for(var f=0;f<fmt.length;f++){   
    switch(fmt.substr(f,1)){   
      case '#':   
        if(i<str.length) retstr+=str.substr(i++,1);   
        break;   
      case '0':   
        if(i<str.length) retstr+= str.substr(i++,1);   
        else retstr+='0';   
        break;   
    }   
  }   
  return retstr.replace(/^,+/,'').replace(/\.$/,'');   
}   


//read morningstar cookie
function readWSCookie(cookieName)
{
	var name = cookieName + "=";
	var arrCookies = document.cookie.split(';');
	for(var i=0;i < arrCookies.length;i++)
	{
		var c = arrCookies[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(name) == 0) return unescape(c.substring(name.length,c.length));
	}
	return null;
}

function setMSCookie(name, value) {	
			var time=new Date();
			time.setTime(time.getTime()+365*24*60*60*1000);
			document.cookie = name + "=" + escape(value) + "; expires="+time.toGMTString()
			+ "; path=/; domain=.morningstar.com";	
}


function readWSCNameCookie(cookieName)
{
    if(window.cName)
        cookieName=cookieName+escape(window.cName);
    return readWSCookie(cookieName);
}

function setMSCNameCookie(name,value)
{
    if(window.cName)
        name=name+escape(window.cName);
    setMSCookie(name,value);
}

	
var FindCtrlPosition=function(obj)
{
    var offsetTrail = obj;
    var offsetTop = 0;
    var offsetLeft= 0;
    while (offsetTrail) 
    {      
        offsetTop += offsetTrail.offsetTop;
        offsetLeft += offsetTrail.offsetLeft;
        offsetTrail = offsetTrail.offsetParent;
    }
    return {"top":offsetTop,"left":offsetLeft};
}

	
	

var mstarCookie=null;
//When load page at first time, it will be called	
function Init()
 {	
    var hiddenTickerTapeFlag=readWSCNameCookie("hiddenTickerTape");
    if(hiddenTickerTapeFlag)
    {
        if(hiddenTickerTapeFlag=="1")
            HideTickerButtonClick('pricesPanel','settingsPanel','expandBtnPanel');
    }
    IsWeekendHoliday(); 
    //alert ("_zeroOut = " + _zeroOut);  
    mstarCookie=readWSCookie('mstar');
	InitTaperOptions();
	InitPortfolios();
	GetPortfolioTickers();   
	InitPrices(); 
}

function IsWeekendHoliday()
{
    var url="http://www.morningstar.com/hpwebservice/GetMarketDay.aspx?cb=RenderZeroOut"; 
    AddJRequest(url);
}

function RenderZeroOut(obj)
{
    if(obj==null)
        return;
        
    var holiday = obj.Results;
    
    if (dtNow < dt6am)
    {
        _zeroOut = false;
    }
    if (holiday == "False" && dtNow > dt6am)
    {
        _zeroOut = true;
    }
    RemoveJRequestTag(obj);
}

function InitAutoDropDownQuote()
{
    CheckOSBrowser();             //check the Browser
    var allcache = new Array(30);
    var pos = new Array(30);
    initCache(allcache,pos);
    var scrollAuto = new AutoCompleteBox("newTickerInput","AutoCompleteDropDownQuote",4,null,null,"",allcache,pos, 'SelectTicker', false,'');
    var autoDropDownQuote = document.getElementById("AutoCompleteDropDownQuote");
    var newTickerInput = document.getElementById("newTickerInput");
    if(autoDropDownQuote)
    {
        if(newTickerInput)
        {
            var ps=FindCtrlPosition(newTickerInput);
            var autoDropDownQuoteParentps=FindCtrlPosition(autoDropDownQuote.offsetParent);
	        autoDropDownQuote.style.top = (ps.top+1+newTickerInput.clientHeight-autoDropDownQuoteParentps.top) + "px";
	        autoDropDownQuote.style.left = (ps.left-autoDropDownQuoteParentps.left) + "px";
	    }
	}
	
}

//when you add new ticker it will call the function
function	SelectTicker(key)
{   		
   	key = key.replace(/\s/g,'');
   	var keyList = key.split(',');
   	var keyNum = 0;
   	key="";
   	var startIdx = 0;
   	var NewQuotesCookie = readWSCNameCookie("NewQuotes");
   	var NewQuotesCookieTmp;
   	if (!NewQuotesCookie || NewQuotesCookie=="")
   	{
   		NewQuotesCookieTmp = "";
   		startIdx = 1;
   	}
   	else
   	{
   		NewQuotesCookieTmp = NewQuotesCookie;
   	}
   	
	for(var i=0; i<keyList.length; i++)
	{		
		if (keyList[i]!="")
		{
			reg = new RegExp("\\b"+keyList[i]+"\\b","gi");
			
   		    if (reg.test(NewQuotesCookieTmp))
   		    {						
				continue;						
		    }
		    NewQuotesCookieTmp = NewQuotesCookieTmp + "," + keyList[i];
	        keyNum++;
		    key=key+keyList[i]+",";
		}
	}
	if(keyNum==0)
	{
	    document.getElementById("newTickerInput").value="";
		return;
	}
   	key=key.substr(0, key.length-1);
	if (startIdx>0)
	{
		NewQuotesCookieTmp=NewQuotesCookieTmp.substr(startIdx);
	}
 
	var tickerList = NewQuotesCookieTmp.split(",");
	var tickerNum = tickerList.length;
	var toSlipt = 0;
	while (tickerNum > 20)
	{
		toSlipt = NewQuotesCookieTmp.indexOf(",", toSlipt+1);
		tickerNum--;
	}
	if (toSlipt > 0)
	{
		NewQuotesCookieTmp = NewQuotesCookieTmp.substr(toSlipt+1);
	}
	
	NewQuotesCookie = NewQuotesCookieTmp;	
	

	document.getElementById("newTickerInput").value="";
   	setMSCNameCookie("NewQuotes", NewQuotesCookie);
   	
   	tickers=GetTickers();   	
   	GetPrices();  		
}


function SelectPortfolio(keyid,keyName)
{   		
    //hide the UI
    var pfList=document.getElementById('pfDropDownList');
    if(pfList)
    {
        pfList.style.display='none';
    }
    
   	var NewPortfolios = readWSCNameCookie("NewPortfolios");
   	var reg = new RegExp("\\b"+keyid+"\\b","gi");
   	if(reg.test(NewPortfolios))
   	{
   	    return;
   	}
   	else
   	{
   	    NewPortfolios=keyid.toString()+"|"+keyName;
   	}   
   	setMSCNameCookie("NewPortfolios", NewPortfolios);
   	
   	GetPortfolioTickers();
   	tickers=GetTickers();
   	GetPrices();
    var pfSelect=document.getElementById('pfSelect');
    if(pfSelect)
    {
        pfSelect.innerHTML=keyName;
    }
   		
}


function SaveOptions()
{
    var marketOption=document.getElementById("markets");
    var newTickerOption=document.getElementById("newTickers");
    var rtQuoteOption=document.getElementById("rtQuote");
    var option='';
    if(marketOption)
    {
        if(marketOption.checked)
        {
            option='1';
        }
        else
        {
            option='0';
        }
    }
    if(newTickerOption)
    {
        if(newTickerOption.checked)
        {
            option=option+':'+'1';
        }
        else
        {
            option=option+':'+'0';
        }
    }
    if(rtQuoteOption)
    {
        if(rtQuoteOption.checked)
        {
            option=option+':'+'1';
        }
        else
        {
            option=option+':'+'0';
        }
    }
    
    setMSCNameCookie("TickerTapeOptions",option);
    var newTickerInput=document.getElementById('newTickerInput');
    if(newTickerInput!=null&&newTickerInput.value!='Enter Tickers'&&newTickerInput.value!='')
    {
		SelectTicker(newTickerInput.value);
    }
    tickers=GetTickers();
    GetPrices("AfterSaveOptions");
}



//It will be called by Init()
var InitTaperOptions=function()
{
    var marketOption=document.getElementById("markets");
    var newTickerOption=document.getElementById("newTickers");
    var rtQuoteOption=document.getElementById("rtQuote");
    
    var option=readWSCNameCookie("TickerTapeOptions");
    if(option)
    {
        var arr=option.split(':');
        if(marketOption&&arr[0]=='1')
        {
            marketOption.checked=true;
        }
        else
        {
            marketOption.checked=false;
        }
        if(newTickerOption&&arr[1]=='1')
        {
            newTickerOption.checked=true;
        }
        else
        {
            newTickerOption.checked=false;
        }
        if(rtQuoteOption&&arr[2]=='1')
        {
            rtQuoteOption.checked=true;
        }
        else
        {
            rtQuoteOption.checked=false;            
        }
    }
}

//The following array will be called by many functions
var marketTickers=new Array("COMP","SPX","RUT","$MSTAR","$SRVCS","$INFOS","$INDU","$MFGRS");
var marketTickerNames=new Array("Nasdaq","S&P 500","Russell","Morningstar Mkt Idx","Morningstar Svs Idx","Morningstar Info Idx","DJIA","Morningstar Mfg Idx");
var portfolioTickers=new Array();
var GetTickers=function()
{
    var ret="";
    var option=readWSCNameCookie("TickerTapeOptions");
    
    if(option)
    {
        var allQuotes=new Array();
        var arr=option.split(':');
        if(arr[0]=='1')
        {
            allQuotes=allQuotes.concat(marketTickers);
        }
        
        if(mstarCookie!=null&&portfolioTickers.length>0)
        {
            allQuotes=allQuotes.concat(portfolioTickers);
        }
        
        
         if(arr[1]=='1')
         {
            var newQuotes=readWSCNameCookie("NewQuotes");
            if(newQuotes)
            {
                var newQuotesArr=(newQuotes).split("+");
                allQuotes=allQuotes.concat(newQuotesArr);
            }
         }
        

        if(arr[2]=='1')
        {
            var rtQuotes = readWSCookie("RecentQuotes")
            if(rtQuotes)
            {
                var rtQuotesArr = (rtQuotes).split("+");
                allQuotes=allQuotes.concat(rtQuotesArr);
            }
         }
         
        allQuotes=allQuotes.unique();
        ret=allQuotes.join(",");
      }
      else
      {
          ret=marketTickers.join(",");
      }
      return ret;    
}

var tickers=GetTickers();
var tickerPrices='';  //save all the ticker prices list
var curTickerIndex=0;

//It will be called by a timer to get the newest ticker prices
var GetPrices=function(cb)
{
    if(tickers=='')
    {
        tickerPrices='';
        RenderPriceLayer('tcPrices1');
        RenderPriceLayer('tcPrices2');
        if(cb)
			HideTickerTapeSettingsPanel('pricesPanel','settingsPanel');
        return;
    }
    if(cb==undefined)
    {
        cb="UpdateTickerPrices";
    }
    
    var url="http://quote.morningstar.com/quoteservice/simplequote.ashx?ticker=" + tickers+"&cb="+cb;
    AddJRequest(url);
}


function UpdateTickerAndLayers(obj)
{
    UpdateTickerPrices(obj);
    RenderPriceLayer('tcPrices1');
}

function AfterSaveOptions(obj)
{
    UpdateTickerPrices(obj);
    TweenPrices();
    HideShowTickerTape('pricesPanel','settingsPanel');
}

//It will be called when loading page at first time
function InitPrices()
{ 
    GetPrices('UpdateTickerAndLayers');
}

////////////////////////////////////////////////Portfolio handers///////////////////////////////////////////////////////
//It will be called by Init()
function InitPortfolios()
{
    loginUrl="";
    var url="http://www.morningstar.com/GetPortfolio/GetPortfolio.ashx?op=1&cb=RenderPortfolioDropDownList"; 
    AddJRequest(url);
}

function GetPortfolioTickers()
{
    var NewPortfolios = readWSCNameCookie("NewPortfolios"); 
    var pfSelect=document.getElementById('pfSelect');
    if(NewPortfolios==null||NewPortfolios==''||mstarCookie==null)
    {
        if(pfSelect)
        {
            pfSelect.innerHTML='Select a Portfolio';
        }
        return;
    }
    var newportfolioInfo=NewPortfolios.split('|');
    if(pfSelect)
    {
        pfSelect.innerHTML=newportfolioInfo[1];
    }
    loginUrl="";
    var url=  "http://www.morningstar.com/GetPortfolio/GetPortfolio.ashx?op=2&&pfIds="+newportfolioInfo[0]+"&cb=RenderPortfolioTickers";  
    AddJRequest(url);
}

var count=1;
function AddJRequest(url)
{
    var jsid='JD'+JSONscriptRequest.scriptCounter;
    JSONscriptRequest.scriptCounter++;
    url=url+"&JID="+jsid;
    var Req=new JSONscriptRequest(url,jsid);
    Req.buildScriptTag();
    JRequests[JRequests.length]=Req;
    Req.addScriptTag();
}

function RemoveJRequestTag(jdata)
{
   var Req=null;
   for(var i=0;i<JRequests.length;i++)
   {    
       if(JRequests[i]!=null)
            {
                if(JRequests[i].scriptId==jdata.jsid)
                {Req=JRequests[i];break;}
             }
   }
   if(Req!=null)
       {JRequests.splice(i,1);Req.removeScriptTag();}
}



function RenderPortfolioTickers(obj)
{
            
    if(obj==null)
        return;

    if(obj.Results=="Unlogined")
    {
        loginUrl='http://member.morningstar.com/forbidden/loginrawp.html?vurl='+document.URL;
        return;
    }
    portfolioTickers=obj.Results;
    tickers=GetTickers();
    GetPrices();
    RemoveJRequestTag(obj);
}

//var pfObjCopy;
function RenderPortfolioDropDownList(obj)
{
    if(obj==null)
        return;

    if(obj.Results=="Unlogined")
    {
        loginUrl='http://member.morningstar.com/forbidden/loginrawp.html?vurl='+document.URL;
        return;
    }
    var pfList=document.getElementById('pfDropDownList');
    var html='';
    if(pfList)
    {
        html='<ul class="drop_shad_h"><li><a class="rowlist_h" href="javascript:ClearPortfolioCookie()">Clear portfolio tickers</a></li><br \/>';
        for(i=0;i<obj.Results.length;i++)
        {
            html+='<li><a class="rowlist_h" href="javascript:SelectPortfolio('+obj.Results[i][1]+',\''+obj.Results[i][0]+'\')">'+obj.Results[i][0]+'</a></li><br \/>';       
        }
        html+="</ul>"
        
        pfList.innerHTML=html;
        RemoveJRequestTag(obj);
    }

}

function ClearPortfolioCookie()
{
    var pfdrw=document.getElementById('pfDropDownList');
    if(pfdrw)
    {
        pfdrw.style.display='none';
    }
    portfolioTickers=new Array();
    setMSCNameCookie("NewPortfolios", "");
    var pfSelect=document.getElementById('pfSelect');
    if(pfSelect)
    {
        pfSelect.innerHTML='Select a Portfolio';
    }
}

///////////////////////////////////////////////End Portfolio handers////////////////////////////////////////////////////////////////////////////////////

//Assign values to TickerPrices variable
function UpdateTickerPrices(obj)
{
    if(obj==null)
        return;			
    tickerPrices='';
    var tickerDate, tickerDateStr;
    var i;
    var link;
	for(i=0;i<obj.Results.length;i++)
	{
	    var priceList=obj.Results[i].split('|');
	    var tickerName='';
	    for(var j=0;j<marketTickers.length;j++)
	    {
	        if(priceList[0]=='COMPX')
	        {
	            priceList[0]='COMP';
	        }
	        else if(priceList[0]=='INX')
	        {
	            priceList[0]='SPX';
	        }
	        else if(priceList[0]=='INDU')
	        {
	            priceList[0]='$INDU';
	        }
	        if(priceList[0]==marketTickers[j])
	        {
	            tickerName=marketTickerNames[j];
	            link='http://quote.morningstar.com/switch.html?ticker='+encodeURIComponent(marketTickers[j]);
	            break;
	        }
	    }
	    if(tickerName=='')
	    {
	        tickerName=priceList[0];
	        link='http://quote.morningstar.com/switch.html?ticker='+encodeURIComponent(tickerName);
	    }
	    var upValue='0.00';
	    var upDownPercent='0.00';
	    var up="1";
	    try
	    {
	        //alert (priceList[0] + priceList[13] + marketTickers.contains(priceList[0]) );
	        //ticker, market phase (O,C,etc), isIndex
            //if it's an index, and _zeroOut is true. and the timestamp of index price is 
            //earlier than dt6am, then we should zero it out.            
            tickerDateStr = priceList[15].replace(/-/g,'/');
            tickerDate = new Date(tickerDateStr);
            
	        if (marketTickers.contains(priceList[0]) && (_zeroOut == true) &&  (tickerDate < dt6am))
	        {	            
	            up="0";
	            upValue = "0.00";
	            upDownPercent = "0.00";
	            
	        }
	        else
	        {	    
	            if(Number(priceList[4])>Number(priceList[7]))
	            {
	                up="1";
	            }
	            else if(priceList[4]==priceList[7])
	            {
	                up="0";
	            }
	            else
	            {
	                up="-1";
	            }
	            upValue=formatNumber(priceList[4]-priceList[7],"0.00");
	            upDownPercent=formatNumber((priceList[4]-priceList[7])*100/priceList[7],"0.00");
	        }
	        
	    }
	    catch(e)
	    {
	    }
		if(tickerPrices.length>0)
		{
		    tickerPrices=tickerPrices+","+tickerName+"|"+priceList[4]+"|"+upValue+"|"+upDownPercent+"%"+"|"+up+"|"+link;
		}
		else
		{
		    tickerPrices=tickerName+"|"+priceList[4]+"|"+upValue+"|"+upDownPercent+"%"+"|"+up+"|"+link;			        
		}
    }
    RemoveJRequestTag(obj);
}


////We will render tickerCountEveryLine ticker prices every time
var tickerCountEveryLine=5;
var RenderPrices=function()
{
    if(tickerPrices=="")
        return '';
    var prices=tickerPrices.split(',');
    var html='';

    if(prices.length<=tickerCountEveryLine)
    {
        for(var i=0;i<prices.length;i++)
        {
            if(html.length>0)
                html=html+RendSingleTickerPrice(prices[i]);
            else
                html=RendSingleTickerPrice(prices[i]);
        }
    }
    else
    {
        var endEndIndex;
        var moreIndex=0;
        if(curTickerIndex+tickerCountEveryLine>=prices.length)
        {
            endEndIndex=prices.length;
            moreIndex=curTickerIndex+tickerCountEveryLine-prices.length;
        }
        else
        {
            endEndIndex=curTickerIndex+tickerCountEveryLine;
        }
        for(var i=curTickerIndex;i<endEndIndex;i++)
        {
             if(html.length>0)
                html=html+RendSingleTickerPrice(prices[i]);
            else
                html=RendSingleTickerPrice(prices[i]);
        }
        if(endEndIndex==prices.length)
        {
            curTickerIndex=0;
        }
        else
        {
            curTickerIndex=endEndIndex;
        }
        if(moreIndex>0)
        {
            for(var i=0;i<moreIndex;i++)
            {
                if(html.length>0)
                    html=html+RendSingleTickerPrice(prices[i]);
                else
                    html=RendSingleTickerPrice(prices[i]);
            }
            curTickerIndex=moreIndex;
        }
    }
    return html;
}

var RendSingleTickerPrice=function(input)
{
    var ret='';
    if(input==null||input=='')
    {
        return ret;
    }
    var arr=input.split('|');
    if(arr[4]=="1")
        ret='<div class="TTTWrap"><div class="TTtickers"><a href="'+arr[5]+'">'+arr[0]+'</a></div><div class="TTQuote">'+arr[1]+'&nbsp;<font color="green">'+arr[2]+'('+arr[3]+')</font></div></div>';
    else if(arr[4]=="-1")
        ret='<div class="TTTWrap"><div class="TTtickers"><a href="'+arr[5]+'">'+arr[0]+'</a></div><div class="TTQuote">'+arr[1]+'&nbsp;<font color="red">'+arr[2]+'('+arr[3]+')</font></div></div>';
    else
        ret='<div class="TTTWrap"><div class="TTtickers"><a href="'+arr[5]+'">'+arr[0]+'</a></div><div class="TTQuote">'+arr[1]+'&nbsp;'+arr[2]+'('+arr[3]+')</div></div>';
    return ret;
}


var RenderPriceLayer=function(id)
{
    var html=RenderPrices();
    var price=document.getElementById(id);
    if(price)
    {
        price.innerHTML=html;
    }  
}


var finish=0;
var TweenPrices=function()
{
    var t1;
    var ctrl=document.getElementById('tpc');
    if(ctrl)
    {
        var tcPrices1=document.getElementById('tcPrices1');
        if(tcPrices1)
        {
            tcPrices1.innerHTML='';
        }
        RenderPriceLayer('tcPrices2');
        t1 = new Tween(ctrl.style,'top',Tween.strongEaseOut,0,-24,0.7,'px');
    }       
	t1.start();
}

//UI
//to avoid IE6.0 exception, I need save some html
var htmlbak;
var HideShowTickerTape=function(pricesPanelid,settingsPanelid)
{
    var pricesPanel=document.getElementById(pricesPanelid);
    var settingsPanel=document.getElementById(settingsPanelid);
    if(pricesPanel!=null&&settingsPanel!=null)
    {
        if(pricesPanel.style.display=='')
        {
           pricesPanel.style.display='none';
        }
        else
        {
            pricesPanel.style.display=''; 
        }
            
        if(settingsPanel.style.display=='')
        {
            htmlbak=settingsPanel.innerHTML;
            settingsPanel.innerHTML='';
            var pfdrw=document.getElementById('pfDropDownList');
            if(pfdrw)
                pfdrw.style.display='none';
            settingsPanel.style.display='none';
        }
        else
        {
            if(htmlbak)
                settingsPanel.innerHTML=htmlbak;
            InitTaperOptions();
            settingsPanel.style.display='';
            InitAutoDropDownQuote();
            var newTickerInput=document.getElementById('getElementById');
            if(newTickerInput)
            {
                newTickerInput.value='Enter Tickers';
            }
        }
    }
}

var HideTickerTapeSettingsPanel=function(pricesPanelid,settingsPanelid)
{
	var pricesPanel=document.getElementById(pricesPanelid);
    var settingsPanel=document.getElementById(settingsPanelid);
    if(pricesPanel!=null&&settingsPanel!=null)
    {
        if(settingsPanel.style.display=='')
        {
            htmlbak=settingsPanel.innerHTML;
            settingsPanel.innerHTML='';
            var pfdrw=document.getElementById('pfDropDownList');
            if(pfdrw)
                pfdrw.style.display='none';
            settingsPanel.style.display='none';
            pricesPanel.style.display=''; 
        }
   }
}


var HideTickerButtonClick=function(pricesPanelid,settingsPanelid,expandBtnPanelid)
{
    var pricesPanel=document.getElementById(pricesPanelid);
    var settingsPanel=document.getElementById(settingsPanelid);
    var expandBtnPanel=document.getElementById(expandBtnPanelid);
    if(pricesPanel!=null&&settingsPanel!=null&&expandBtnPanel!=null)
    {
            pricesPanel.style.display='none';
            htmlbak=settingsPanel.innerHTML;
            settingsPanel.innerHTML='';
            var pfdrw=document.getElementById('pfDropDownList');
            if(pfdrw)
                pfdrw.style.display='none';
           settingsPanel.style.display='none';
           expandBtnPanel.style.display='';
    }
    setMSCNameCookie("hiddenTickerTape","1");
}
var ShowTickerButtonClick=function(pricesPanelid,settingsPanelid,expandBtnPanelid)
{
    var pricesPanel=document.getElementById(pricesPanelid);
    var settingsPanel=document.getElementById(settingsPanelid);
    var expandBtnPanel=document.getElementById(expandBtnPanelid);
    if(pricesPanel!=null&&settingsPanel!=null&&expandBtnPanel!=null)
    {
           pricesPanel.style.display='';
           settingsPanel.style.display='none';
           expandBtnPanel.style.display='none';
    }
    setMSCNameCookie("hiddenTickerTape","0");
}

var DropDownPortfolioList=function(e)
{
    if(loginUrl!='')
    {
        window.location.href=loginUrl;
        return;
    }
    var pfdrw=document.getElementById('pfDropDownList');
    if(pfdrw)
    {
        if(pfdrw.style.display=='none')
        {
            if(pfdrw.innerHTML!=null&&pfdrw.innerHTML.length>0)
            {
                var pfSelect=document.getElementById('pfSelect');
                if(pfSelect)
                {
                    pfdrw.style.display='';
                    var ps=FindCtrlPosition(pfSelect);
                    var pfdwrParentps=FindCtrlPosition(pfdrw.offsetParent);
                    pfdrw.style.left=ps.left-pfdwrParentps.left+'px';;
                    pfdrw.style.top=ps.top+pfSelect.clientHeight-pfdwrParentps.top+'px';
                }
            }
        }
        else
        {
            pfdrw.style.display='none';
        }
    }
    e=window.event || e;
	if (window.event)
	{
		e.cancelBubble = true;
	}
	else
	{
		e.stopPropagation();
	}
}



document.onclick=function()
{
	var pfdrw=document.getElementById('pfDropDownList');
    if(pfdrw)
    {
        pfdrw.style.display='none';
    }
}

