// $Date: 2009/01/14 05:17:06 $
// $Name: ukconcept_v1_r78 $
// $Revision: 1.20 $
// $State: Exp $

// Functions for MarketMovers Module
var responceDiv;
var targetAction;
function ajaxCallRequest(url,tDiv,tabId,length) {
        targetAction = url;
        responceDiv  = tDiv;
        for(i=1;i<=length;i++){
                id = 'mkMovertab'+i;
                if( i == tabId ){
                        document.getElementById(id).className= "activeTab";
                } else {
                        document.getElementById(id).className= "inActiveTab";
                }

        }
        makeRequest(targetAction,ajaxResponce);
}

function ajaxResponce (url, response, obj) {
        var strRes = response;
        var divElm = document.getElementById(responceDiv);
        divElm.innerHTML = strRes;
        setTimeout('ajaxCallRequest(targetAction,responceDiv)',50000);
        return;
}

// Functions for Market update charts 

var marketNewsStocks = "$INDU,$COMPX,$INX,(TC10Y,$RUT.X,$DWC,$NYA.X,(TC30Y," ;
var mnSyms = buildString(marketNewsStocks.toUpperCase());
var last = 3;
var first = 1;
var arrMNstocks = mnSyms.split(",");
var tabCount = 1;
var paginationData;
var currentDirection = "";
var lvMNsym;
var lvMNtab;
var pageLoaded = 1;
var chartDay = "1day";
var arrMarketData = new Array();

function buildString(arg0){
    var string = trimAll(arg0);
    var stringArray = string.split(",");
    var newString = '';
    for(var i = 0; i < stringArray.length;i++) {
        if(stringArray[i].indexOf("C:") != 0)
            newString += stringArray[i] + ",";
    }
    return trimAll(newString);
}

function callTab(direction){
    if (pageLoaded == 1){
        currentDirection = direction;
        if(direction=="next")
             ensureUploadScriptIsLoaded('http://portal.pf.aol.com/jsonmfus/ws?service=symslist&exchange=USA&symbols=' + marketNewsStocks + '&callback=mnArrBuildArrayNext');
        else if(direction=="previous")
             ensureUploadScriptIsLoaded('http://portal.pf.aol.com/jsonmfus/ws?service=symslist&exchange=USA&symbols=' + marketNewsStocks + '&callback=mnArrBuildArrayPrevious');
        else
            ensureUploadScriptIsLoaded('http://portal.pf.aol.com/jsonmfus/ws?service=symslist&exchange=USA&symbols=' + marketNewsStocks + '&callback=mnBuildArrayStay');
    } else {
         if(direction=="next")
            buildArrayNext();
         else if(direction=="previous")
            buildArrayPrevious();
        else
            buildArrayStay();
    }
} 
function mnArrBuildArrayNext(obj){
    buildArray(obj);
    if(tabCount < arrMarketData.length) {
        paginationData = ++tabCount + " of " + arrMarketData.length;
        document.getElementById("carouselPagination").innerHTML = paginationData;
        if(first%4==0) {
            first=1;last=tabCount+2;
            mnArrDisplaySymbolData(last);
            select_tabs(1);
        } else if(tabCount < arrMarketData.length+1){
            first++;//alert("last: "+last);
            mnArrDisplaySymbolData(last);
            select_tabs(first);
        }
            lvMNsym = set_lvMNsym(first);
            lvMNtab = set_lvMNtab(first);
            paintButtons();
    }
} // end mnArrBuildArrayNext

function mnArrDisplaySymbolData(last){
    if(last-3<arrMarketData.length)
        document.getElementById("carousel-tab-1").innerHTML = stockLabelsArr[last - 3]+'<div class="tab-data" id="lvMNtab1">' + arrMarketData[last - 3][1] + '<p class="' + arrMarketData[last - 3][4] + '"><span class="amountIncr">'+arrMarketData[last-3][2]+'</span><span class="moneyarrow"> </span><span class="percentIncr">'+arrMarketData[last - 3][3]+'%</span></p></div>'; else document.getElementById("carousel-tab-1").innerHTML="";
    if(last-2<arrMarketData.length)
        document.getElementById("carousel-tab-2").innerHTML = stockLabelsArr[last - 2]+'<div class="tab-data" id="lvMNtab2">' + arrMarketData[last - 2][1] + '<p class="' + arrMarketData[last - 2][4] + '"><span class="amountIncr">'+arrMarketData[last - 2][2]+'</span><span class="moneyarrow"> </span><span class="percentIncr">'+arrMarketData[last - 2][3]+'%</span></p></div>'; else document.getElementById("carousel-tab-2").innerHTML="";
    if(last-1<arrMarketData.length)
        document.getElementById("carousel-tab-3").innerHTML =  stockLabelsArr[last - 1]+'<div class="tab-data" id="lvMNtab3">' + arrMarketData[last - 1][1] + '<p class="' + arrMarketData[last - 1][4] + '"><span class="amountIncr">'+arrMarketData[last - 1][2]+'</span><span class="moneyarrow"> </span><span class="percentIncr">'+arrMarketData[last - 1][3]+'%</span></p></div>'; else document.getElementById("carousel-tab-3").innerHTML="";
    if(last<arrMarketData.length) 
        document.getElementById("carousel-tab-4").innerHTML = stockLabelsArr[last]+'<div class="tab-data" id="lvMNtab" id="lvMNtab4">' + arrMarketData[last][1] + '<p class="' + arrMarketData[last][4] + '"><span class="amountIncr">'+arrMarketData[last][2]+'</span><span class="moneyarrow"> </span><span class="percentIncr">'+arrMarketData[last][3]+'%</span></p></div>'; else document.getElementById("carousel-tab-4").innerHTML="";

}

function buildArray(obj) {
    var arrayString;
    var lastItem = 4;
    var totalItems = obj.ResultSet.symslist.length;
    arrMarketData = new Array();
    var mktAcronym, curPrice, todayDelta, pctDelta,stockDirection, thisUrl;

    // empty the array for fresh data to be pushed into from JSON call.
    
    // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    // + Let's populate the 'multidimensional' array with     +
    // + data culled from the JSON call.                      +
    // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    for (i = 0;i < totalItems; i++) {
        
        mktAcronym = obj.ResultSet.symslist[i].s;
        curPrice = obj.ResultSet.symslist[i].p;
        todayDelta = obj.ResultSet.symslist[i].c;
        pctDelta = obj.ResultSet.symslist[i].pc.replace('+','');
            if(obj.ResultSet.symslist[i].c.indexOf("+") != -1)
                stockDirection = "U"; 
            else if(obj.ResultSet.symslist[i].c.indexOf("-") != -1)
                stockDirection = "D";
        thisUrl = obj.ResultSet.symslist[i].lu;
            mktXch = obj.ResultSet.symslist[i].x;
        arrMarketData.push([mktAcronym, curPrice, todayDelta, pctDelta, stockDirection, thisUrl, mktXch]);
    
    }
}

function buildArrayNext() {
    if(tabCount < arrMarketData.length) {
        paginationData = ++tabCount + " of " + arrMarketData.length;
        document.getElementById("carouselPagination").innerHTML = paginationData;
        if(first%4==0) {
            first=1;last=tabCount+2;
            mnArrDisplaySymbolData(last);
            select_tabs(1);
        } else if(tabCount < arrMarketData.length+1){
            first++;//alert("last: "+last);
            mnArrDisplaySymbolData(last);
            select_tabs(first);
        }
        lvMNsym = set_lvMNsym(first);
        lvMNtab = set_lvMNtab(first);
        paintButtons();
    }
        
} // end buildArrayNext

function set_lvMNsym(first) {
    switch(first){
        case 1:
            lvMNsym = arrMNstocks[last-3];
            break;
        case 2:
            lvMNsym = arrMNstocks[last-2];
            break;
        case 3:
            lvMNsym = arrMNstocks[last-1];
            break;
        case 4:
            lvMNsym = arrMNstocks[last];
            break;
    }
    return lvMNsym;
}

function set_lvMNtab(first) {

    switch(first){
        case 1:
            lvMNtab = '1';
            break;
        case 2:
            lvMNtab = '2';
            break;
        case 3:
            lvMNtab = '3';
            break;
        case 4:
            lvMNtab = '4';
            break;
    }
    return lvMNtab;
}



function ensureUploadScriptIsLoaded(jsonCall) {
    var head = document.getElementsByTagName("head")[0];
    script = document.createElement('script');
    script.id = 'uploadScript';
    script.type = 'text/javascript';
    script.src = jsonCall;
    head.appendChild(script);
}

function select_tabs(tabnum){
    reset_carousel_tabs("carousel-tab-", 4, tabnum);
}

function reset_carousel_tabs(idString, num, setLoc){


    for(i=1; i<num+1; i++){
        document.getElementById(idString+i).setAttribute("class", "inActiveTab");
        document.getElementById(idString+i).setAttribute("className", "inActiveTab");
    }

    document.getElementById(idString+setLoc).setAttribute("class", "activeTab");
    document.getElementById(idString+setLoc).setAttribute("className", "activeTab");
      createChartLinks();
} // end reset_tabs function

function createChartLinks(){
    var currentIndex = tabCount-1;var chartLinks;
   
    chartLinks='<ul class="chart-date-selector" id="chartLinks"><li><span class="chart-view">' + chartDay + '</span></li>';

    var chartTimeStr = chartStringsArr[currentIndex];
    chartTimeStr = trimAll(chartTimeStr);

    /* convert the string to an array */
    chartTimeStrArray = chartTimeStr.split(",");
    //for non bonds
    //for non bonds
    if(chartTimeStrArray[0] != "" && arrMNstocks[currentIndex].charAt(0) != "("){
        for(i=0;i<chartTimeStrArray.length;i++){
            timeLabelArray = chartTimeStrArray[i].split(":");
            timeStr = timeLabelArray[0];
            labelStr= timeLabelArray[1]; 
            chartLinks+='<li><a href="'+ arrMarketData[currentIndex][5] +'/charts?dr=' + timeLabelArray[0] + '" class="chart-view" onclick ="s_objectID=s_265.pageName + \' Market News Chart: ' + timeLabelArray[1] + '\';">' + timeLabelArray[1] + '</a></li>';
        } 
    }
    nowtime = new Date(); //so that chart image is not cached
    chartLinks+='</ul><a href="'+ arrMarketData[currentIndex][5]+'/charts?dr=999" class="chart-view" onclick ="s_objectID=s_265.pageName + \' Market News Chart: View More Charts\';">View More Charts</a>';
    chartLinks+='<a href="'+ arrMarketData[currentIndex][5] +'/charts?dr=999" onclick ="s_objectID=s_265.pageName + \' Market News Chart: Main Chart Clicked\';"><img src="http://quote-web.aol.com/?s='+ arrMarketData[currentIndex][0].replace(/.*[:]/ig,"") +'&e='+arrMarketData[currentIndex][6]  +'&dur=999&type=mountain&hgl=1&vgl=1&vol=0&splits=0&div=0&w=432&h=242&scheme=platinum&gran=d&timeStamp=' + nowtime.getTime() + '" width="432" height="242" alt="Market News" border="0" /></a>';

    document.getElementById("selected-tab-area").innerHTML = chartLinks;
}
// this function trims leading and trailing commas
function trimAll(sString) {

    while (sString.substring(0,1) == ',') {
        sString = sString.substring(1, sString.length);
    }

    while (sString.substring(sString.length-1, sString.length) == ',') {
        sString = sString.substring(0,sString.length-1);
    }

    return sString;
}
function paintButtons(){
    if(!(tabCount < arrMNstocks.length)){
    document.getElementById("next-button").setAttribute("class", "carousel-Btn-disabled");
    document.getElementById("next-button").setAttribute("className", "carousel-Btn-disabled");
    }else{
    document.getElementById("next-button").setAttribute("class", "carousel-Btn");
    document.getElementById("next-button").setAttribute("className", "carousel-Btn");
    }

    if(tabCount == 1){
    document.getElementById("previous-button").setAttribute("class", "carousel-Btn-disabled");
    document.getElementById("previous-button").setAttribute("className", "carousel-Btn-disabled");
    }else{
    document.getElementById("previous-button").setAttribute("class", "carousel-Btn");
    document.getElementById("previous-button").setAttribute("className", "carousel-Btn");
    }

    
}

function mnArrBuildArrayPrevious(obj) {
    buildArray(obj);
    if(tabCount > 1) {
        paginationData = --tabCount + " of " + arrMarketData.length;
        document.getElementById("carouselPagination").innerHTML = paginationData;
        if (first > 1) {
            first--;//alert("last: "+last);
            mnArrDisplaySymbolData(last);
            select_tabs(first);
        } else {
            last=tabCount-1;
            mnArrDisplaySymbolData(last);
            select_tabs(4);first=4;
        }
        lvMNsym = set_lvMNsym(first);
        lvMNtab = set_lvMNtab(first);
        paintButtons();
    }
}

function buildArrayPrevious() {
    if(tabCount > 1) {
        paginationData = --tabCount + " of " + arrMarketData.length;
                document.getElementById("carouselPagination").innerHTML = paginationData;
            if (first > 1) {
                first--;//alert("last: "+last);
                mnArrDisplaySymbolData(last);
                select_tabs(first);
            } else {
                last=tabCount-1;
                mnArrDisplaySymbolData(last);
                select_tabs(4);first=4;
            }
            lvMNsym = set_lvMNsym(first);
            lvMNtab = set_lvMNtab(first);
            paintButtons();
    }
}
function mnBuildArrayStay(obj) {
        buildArray(obj);
        mnArrDisplaySymbolData(last);
        select_tabs(first);
        lvMNsym = set_lvMNsym(first);
        lvMNtab = set_lvMNtab(first);

        paginationData = tabCount + " of " + arrMarketData.length;
        document.getElementById("carouselPagination").innerHTML = paginationData;
        paintButtons();
} // end m
function buildArrayStay() {
    mnArrDisplaySymbolData(last);
        select_tabs(first);
        lvMNsym = set_lvMNsym(first);
        lvMNtab = set_lvMNtab(first);

        paginationData = tabCount + " of " + arrMarketData.length;
        document.getElementById("carouselPagination").innerHTML = paginationData;
        paintButtons();
}
/********** Myinvestments module ***************/
var lvStatusInit = getCookie('AOL_StockQuotesLiveUpdate');
var lvReady = 0;
var symString = ''; // variable for symbol string sent to JSON.
var county = 0;
var pageloaded = 0;
var portfolioLive = 0;
var lvStocks = new Object();
function showPortfolio(){
    if(lvStatusInit == 0) {
         ensureUploadScriptIsLoaded('http://portal.pf.aol.com/jsonmfus/ws?service=symslist,markets&symbols=' + symString +'&porttype=2&portmax=100&callback=rebuildLiveHash');
        //previousElemNum = -1;seeSubPort(elemStks);
    } 
    document.getElementById("mnc_watchlist").style.display = "none";
    document.getElementById("mnc_recentquotes").style.display = "none";
    document.getElementById("mnc_portfolios").style.display = "block";
    document.getElementById("portNav").setAttribute("class", "activeTab");
    document.getElementById("watchNav").setAttribute("class", "");
    document.getElementById("recentNav").setAttribute("class", "");
    document.getElementById("portNav").setAttribute("className", "activeTab");
    document.getElementById("watchNav").setAttribute("className", "");
    document.getElementById("recentNav").setAttribute("className", "");
}
//function to display watchlist contents
function mnc_watchlist(obj) {   
    var addportfolioStr;
    moduleString ='';
    moduleString ='<div class="smybolPut"  id="smybolPut"><form name="addWL" action="javascript:addWatchList();">';
    moduleString +='<input class="addwatchlist" id="addwatchlist" type="text" onClick="if(userAdding==0)this.value=\'\';userAdding=1;" value="Enter symbol(s) separated by commas" name="sym" maxlength="80" alt="Enter a symbol here" >';
    moduleString +='<a id= "addwatchlistAdd" class="aolBtn watchlist_button" href="javascript:addWatchList();" title="Add Symbol(s)" type="submit" tabIndex="0">Add</a></form></div>';
    moduleString +='<div class="symbolErr"  id="symbolErr">' + defSymErr + '</div>';
    moduleString += '<div id="marketDataWL"></div>';
    if(document.getElementById('mnc_watchlist').innerHTML.length == 0)
        document.getElementById('mnc_watchlist').innerHTML = moduleString;

    if(lvReady == 0 || lvStatusInit != 1) {
        ensureUploadScriptIsLoaded('http://portal.pf.aol.com/jsonmfus/ws?service=symslist&exchange=USA&symbols=' + wlSyms +'&callback=defWatchList');
    } else {
        wlLive(wlSyms);
        document.getElementById("mnc_portfolios").style.display = "none";
        document.getElementById("mnc_recentquotes").style.display = "none";
        document.getElementById("mnc_watchlist").style.display = "block";
        document.getElementById("watchNav").setAttribute("class", "activeTab");
        document.getElementById("portNav").setAttribute("class", "");
        document.getElementById("recentNav").setAttribute("class", "");
        document.getElementById("watchNav").setAttribute("className", "activeTab");
        document.getElementById("portNav").setAttribute("className", "");
        document.getElementById("recentNav").setAttribute("className", "");
    }
    //remove focus from textfield
    document.getElementById("addwatchlistAdd").focus();window.focus();
    //if a bad symbol was added while this function was adding symbols, display message
    if(goodSymbol==0)
        document.getElementById("symbolErr").innerHTML =symbolErr;

    //max has been set to 100 symbols otherwise error message displays
    if(maxReached==1)
        document.getElementById("symbolErr").innerHTML ="<span class=\"errDiv\">You can only have " + watchlistMAX + " symbols in  your Watchlist.  Please remove some to add more.</span>"; 
}
//add new watchlist symbols
function addWatchList(){

   //start addition clean 
    if(errFlag==1){
        document.getElementById("symbolErr").innerHTML =defSymErr;
        errFlag=0;
    }
    //goodSymbol = 1;
    var additions = document.getElementById('addwatchlist').value.replace(/ /g,',').toLowerCase();
    var ourArray=additions.split(",");
    for (i=0; i<ourArray.length; i++){
        if(ourArray[i].length>0)validateSymbol(ourArray[i]);

    }

    if ( goodSymbol == 0){
        errFlag=0; goodSymbol = 1;document.getElementById("symbolErr").innerHTML = defSymErr;
    }
}
//delete symbol by symbol
function delFromList( sym ){
   //remove error shown if any 
   document.getElementById("symbolErr").innerHTML =defSymErr;
   sym= sym.toUpperCase();
   goodSymbol=1;
   errFlag=0;
   if( AOL_StockQuotesWatchList.indexOf("," + sym + ",") > -1){

        setCookie("AOL_StockQuotesWatchList", AOL_StockQuotesWatchList.replace("," + sym + ",",","), watchCookieLen);
    }
    AOL_StockQuotesWatchList = getCookie("AOL_StockQuotesWatchList");
    //if comma is left delete cookie
    if(getCookie("AOL_StockQuotesWatchList")=="," )
        delCookie("AOL_StockQuotesWatchList");
         
    getWLsyms();
    mnc_watchlist();
    document.getElementById('addwatchlist').value = addText;
    maxReached = 0;
    userAdding = 0;
}
//delete all symbols
function delAllList(){

    //remove error shown if any
    document.getElementById("symbolErr").innerHTML =defSymErr;
    errFlag=0;
    maxReached = 0;
    userAdding = 0;
    maxReached = 0;
    goodSymbol=1;
    delCookie("AOL_StockQuotesWatchList");
    AOL_StockQuotesWatchList="";
    wlSyms = "";
    mnc_watchlist();
    document.getElementById("symbolErr").innerHTML =defSymErr;
}
function defWatchList(obj){
    var moduleString = '';
    //if user has no cookie is set, or cookie has no symbols, display default message

    if(!AOL_StockQuotesWatchList || AOL_StockQuotesWatchList=="" || AOL_StockQuotesWatchList.replace(",","").length==0){
        moduleString +='<center><br /><a href="http://finance.aol.com/usw/portfolios/myportfolios"><b>Track Your Stocks Here!</b></a><br />Find out why more people track their stocks on<br />AOL Money and Finance than anywhere else.<br /><br /></center>'

    }else{

        moduleString +='<table class="marketData" border="0" cellpadding="0" cellspacing="0"><thead>';
        moduleString +='<tr class="header"><th class="th_symbol">Symbol</th><th>&nbsp;</th><th class="th_last">Last</th><th colspan="3" class="th_change">Change</th><th>&nbsp;</th></tr>'
        //looping thru results from json call  
        for(var i=0;i<obj.ResultSet.symslist.length;i++){
            //this stores the direction of increase/decrease of stocks
            var stockDirection = "";

            if(obj.ResultSet.symslist[i].c.indexOf("+") != -1)
                var stockDirection = "positive"; 
            else if(obj.ResultSet.symslist[i].c.indexOf("-") != -1)
                var stockDirection = "negative";
 
                moduleString +='<tr class="' + stockDirection + '"><td class="wl_Symbol"><a title="' + obj.ResultSet.symslist[i].n + ' Quote, News & Summary" href="' + obj.ResultSet.symslist[i].lu + '">' + obj.ResultSet.symslist[i].s.substring(0,5);
                if(obj.ResultSet.symslist[i].s.length > 5)
                    moduleString +='...';
                moduleString +='</a></td><td><a class="wl_delete" href="" onClick="javascript:delFromList(\'' + obj.ResultSet.symslist[i].s + '\');return false;" title="Remove ' + obj.ResultSet.symslist[i].s + ' from Watchlist">&nbsp;&nbsp;</a></td>';
                moduleString +='<td class="last">' + obj.ResultSet.symslist[i].p + '</td>';
                moduleString +='<td class="amountIncr">' + obj.ResultSet.symslist[i].c.replace('+','&nbsp;') + '</td>';
                moduleString +='<td class="moneyarrow">&nbsp;</td>';
                moduleString +='<td class="percentIncr">' + obj.ResultSet.symslist[i].pc.replace('+','').replace('-','') + '%</td>';
                moduleString +='<td><a class="wl_headlines" title="' + obj.ResultSet.symslist[i].s + ': ' + obj.ResultSet.symslist[i].n + ' News & Analysis" href="' + obj.ResultSet.symslist[i].lu.replace('/quotes/','/news/') + '?more=news">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></td></tr>';
        }
    
        //portion of cookie to use to add new portfolio 
        addportfolioStr = AOL_StockQuotesWatchList.substring(1,AOL_StockQuotesWatchList.length - 1);

        moduleString +='<tr><td colspan="3" class="clearall"><a class="aolBtn watchlist_button" href="javascript:delAllList();" title="Clear All"/>Clear All</a></div></td><td colspan="4" class="wl_right"><a href="http://finance.aol.com/usw/portfolios/advancedCreate?symbols=' + addportfolioStr.replace(/,/g,'&exchange=NYS&symbols=') + '&exchange=NYS">Save as New Portfolio</a></td></tr></table>';
           
    }
    //display watchlist
    document.getElementById('marketDataWL').innerHTML = moduleString;
    document.getElementById("mnc_portfolios").style.display = "none";
    document.getElementById("mnc_recentquotes").style.display = "none";
    document.getElementById("mnc_watchlist").style.display = "block";
    document.getElementById("watchNav").setAttribute("class", "activeTab");
    document.getElementById("portNav").setAttribute("class", "");
    document.getElementById("recentNav").setAttribute("class", "");
    document.getElementById("watchNav").setAttribute("className", "activeTab");
    document.getElementById("portNav").setAttribute("className", "");
    document.getElementById("recentNav").setAttribute("className", "");
}

function defRecentQuotes (obj) {

    // Max number of Recent Quote symbols. *
    var rqMax = 20;
    var moduleString = '';
    //try looping thru symlist results from ajax call
    try{
        // check ResultSet for exception returned data 
        var exCount = 0;
        for(var rqEx = 0;rqEx<obj.ResultSet.symslist.length;rqEx++) {
            if(obj.ResultSet.symslist[rqEx].e){
               exCount++;
            }
        }

        if (strRecentQuotes=="" || exCount>0) {
            // if the backend string is empty, display a default message.
            moduleString +='<center><br /><b>Track your most recent quotes here!</b><br />Enter a symbol above or <a href="javascript:prntPack(\'http://finance.aol.com/quotes/lookup?from=quote_lookup&pop=y&exch=USA\',703,326);">look up a symbol</a>.<br /><br /></center>'
        } else {
            moduleString +='<table class="marketData" border="0" cellpadding="0" cellspacing="0">';
            moduleString +='<thead><tr class="header"><th class="th_symbol">Symbol</th><th class="th_last">Last</th><th class="th_change" colspan="3">Change</th><th>&nbsp;</th><th>&nbsp;</th></tr></thead><tbody>'
            for(var i = 0;i < rqMax && i < obj.ResultSet.symslist.length;i++){
                var stockDirection = '';
                if(obj.ResultSet.symslist[i].c.indexOf("+") != -1)
                    var stockDirection = "positive";
                else if(obj.ResultSet.symslist[i].c.indexOf("-") != -1)
                    var stockDirection = "negative";

                moduleString +='<tbody><tr class="' + stockDirection + '"><td class="wl_Symbol"><a  title="' + obj.ResultSet.symslist[i].n + '" href="' + obj.ResultSet.symslist[i].lu + '">';
                moduleString += obj.ResultSet.symslist[i].s.substring(0,5);

                if(obj.ResultSet.symslist[i].s.length > 5)
                    moduleString +='...';
                    moduleString +='</a></td>';
                    moduleString +='<td class="last">' + obj.ResultSet.symslist[i].p + '</td>';
                    moduleString +='<td  class="amountIncr">' + obj.ResultSet.symslist[i].c.replace('+','&nbsp;&nbsp;') + '</td>';
                    moduleString +='<td class="moneyarrow">&nbsp;</td>';


                    if (obj.ResultSet.symslist[i].pc.indexOf('N/A') < 0)
                        moduleString +='<td class="percentIncr">' + obj.ResultSet.symslist[i].pc.replace('+','').replace('-','') + '%</td>';
                    else
                        moduleString +='<td class="percentIncr">' + obj.ResultSet.symslist[i].pc + '</td>';
                        moduleString +='<td class="wl_chart" title="See Chart for ' + obj.ResultSet.symslist[i].s + '"><a href="' + obj.ResultSet.symslist[i].lu + '/charts">&nbsp;&nbsp;&nbsp;&nbsp;</a></td>';
                        moduleString +='<td class="wl_headlines" title="See Latest Headlines for ' + obj.ResultSet.symslist[i].s + '"><a href="' + obj.ResultSet.symslist[i].lu.replace("/quotes/","/headlines/") + '">&nbsp;&nbsp;&nbsp;&nbsp;</a></td></tr>';
                    }
                        addportfolioRQ = strRecentQuotes.substring(0,strRecentQuotes.length);
                        moduleString +='<tr><td colspan="2" class="clearall"><a class="aolBtn watchlist_button" href="javascript:delRecentQuotes();" title="ClearAll"/>Clear All</a></td><td colspan="5" class="wl_right">';
                        moduleString += '<a href="http://finance.aol.com/usw/portfolios/advancedCreate?symbols=' + addportfolioRQ.replace(/,/g,'&exchange=NYS&symbols=') + '&exchange=NYS"">Save as new Portfolio</a></td></tr>';
                    moduleString +='</tbody></table>';
    }

            document.getElementById("mnc_recentquotes").innerHTML = moduleString;

    }catch(err){
        //alert(err);
    } 
    document.getElementById("mnc_portfolios").style.display = "none";
    document.getElementById("mnc_watchlist").style.display = "none";
    document.getElementById("mnc_recentquotes").style.display = "block";
    document.getElementById("recentNav").setAttribute("class", "activeTab");
    document.getElementById("watchNav").setAttribute("class", "");
    document.getElementById("portNav").setAttribute("class", "");
    document.getElementById("recentNav").setAttribute("className", "activeTab");
    document.getElementById("watchNav").setAttribute("className", "");
    document.getElementById("portNav").setAttribute("className", "");
}
function rebuildLiveHash(obj) {
    county++;
        symString = ""; 
        lvHashRefresh(obj);

        if(document.getElementById("lvHotStocks")){
            if(county>0)hsLive(hsSyms);
            symString += hsSyms + ",";
        }
        //build the recent quotes table
        if(document.getElementById("mnc_recentquotes")){
            if(county>0)rqLive(rqSyms);
            symString += rqSyms + ",";
        }
        //build the market movers table
        if(document.getElementById("mnc_marketmovers_sub") && mvList.indexOf("E:"+currentMostActX+":") != -1 ){
            var refreshMktMv = mvLive();
            symString += mvList + ",";
        }
        //build the watch list table
        if(document.getElementById("marketDataWL") && wlSyms.length > 0) {
            getWLsyms();
            if(county>0)wlLive(wlSyms);
           symString += wlSyms + ",";
        }

        //build market news tab data
        if(document.getElementById("market-news-mod")) {
            mkCounty++;
            if(county>0)mnLive(lvMNsym,lvMNtab);
            //update the chart after 60 seconds
            if((mkCounty * intervalNum)>60000){createChartLinks();mkCounty=1;}
            symString += mnSyms;
        }

        //if original hot stocks module look
        if(document.getElementById("lvHotStocksAlt")) {
            if(county>0)hsLiveAlt(hsSyms);
            symString += hsSyms + ',';
        }
        //market status
        marketTime(obj);

        //if a portfolio is currently showing
        if(document.getElementById("mnc_myportfolio_sub_stocks") && elemNum > 0 && county>0)
            buildSubPortfolio();

}
// +++++++++++++++ start code related to Recent Quotes tab ++++++++++++++++

function mnc_recentquotes() {
    // Max number of Recent Quote symbols. 
    var rqMax = 20;

    var moduleString ='';

    if (lvReady == 0 || lvStatusInit != 1) {
        ensureUploadScriptIsLoaded('http://portal.pf.aol.com/jsonmfus/ws?service=symslist,markets&exchange=USA&symbols=' + rqSyms +'&callback=defRecentQuotes');
    } else {
        rqLive(rqSyms);

        document.getElementById("mnc_portfolios").style.display = "none";
        document.getElementById("mnc_watchlist").style.display = "none";
        document.getElementById("mnc_recentquotes").style.display = "block";
        document.getElementById("recentNav").setAttribute("class", "activeTab");
        document.getElementById("watchNav").setAttribute("class", "");
        document.getElementById("portNav").setAttribute("class", "");
        document.getElementById("recentNav").setAttribute("className", "activeTab");
        document.getElementById("watchNav").setAttribute("className", "");
        document.getElementById("portNav").setAttribute("className", "");

    }

}
// +++++++++++++++ end code related to Recent Quotes tab ++++++++++++++++
//general default function to use to make json calls
function ensureUploadScriptIsLoaded(jsonCall) {
    var head = document.getElementsByTagName("body")[0];
    script = document.createElement('script');
    script.id = 'uploadScript';
    script.type = 'text/javascript';
    script.src = jsonCall;
    head.appendChild(script);
}
function rqLive(syms) {

    // Max number of Recent Quote symbols. *
    var rqMax = 20;

    syms = trimAll(syms);

    var lvRQSyms = syms.split(",");

    var moduleString = '';
    
    try {
        
    if (lvRQSyms.length == 0 || null == lvRQSyms || rqSyms=='') {
        // if the backend string is empty, display a default message.
        moduleString +='<center><br /><b>Track your most recent quotes here!</b><br />Enter a symbol above or <a href="javascript:prntPack(\'http://finance.aol.com/quotes/lookup?from=quote_lookup&pop=y&exch=USA\',703,326);">look up a symbol</a>.<br /><br /></center>'
               
    } else {

        moduleString +='<table class="marketData" border="0" cellpadding="0" cellspacing="0">';
        moduleString +='<thead><tr class="header"><th class="th_symbol">Symbol</th><th class="th_last">Last</th><th class="th_change" colspan="3">Change</th><th>&nbsp;</th><th>&nbsp;</th></tr></thead><tbody>'
        
        for(var i = 0;i < rqMax && i < lvRQSyms.length;i++) {
            if(lvStocks[lvRQSyms[i]].p != '') {

                var stockDirection = '';
                
                if(lvStocks[lvRQSyms[i]].c.indexOf("+") != -1)
                    var stockDirection = "positive";
        
                else if(lvStocks[lvRQSyms[i]].c.indexOf("-") != -1)
                    var stockDirection = "negative";

                moduleString +='<tbody><tr class="' + stockDirection + '"><td class="wl_Symbol"><a title="' + lvStocks[lvRQSyms[i]].n + '" href="' + lvStocks[lvRQSyms[i]].lu + '">';
                moduleString += lvRQSyms[i].replace(/.*[:]/ig,"").substring(0,5);
                
                if(lvRQSyms[i].replace(/.*[:]/ig,"").length > 5)
                    moduleString +='...';
        
                moduleString +='</a></td>';
                moduleString +='<td class="last">' + lvStocks[lvRQSyms[i]].p + '</td>';
                moduleString +='<td  class="amountIncr">' + lvStocks[lvRQSyms[i]].c.replace('+','&nbsp;&nbsp;') + '</td>';
                moduleString +='<td class="moneyarrow">&nbsp;</td>';
    
                if (lvStocks[lvRQSyms[i]].pc.indexOf('N/A') < 0)
                    moduleString +='<td class="percentIncr">' + lvStocks[lvRQSyms[i]].pc.replace('+','').replace('-','') + '%</td>';
                else
                    moduleString +='<td class="percentIncr">' + lvStocks[lvRQSyms[i]].pc + '</td>';
            
                moduleString +='<td class="wl_chart" title="See Chart for ' + lvRQSyms[i] + '"><a href="' + lvStocks[lvRQSyms[i]].lu + '/charts">&nbsp;&nbsp;&nbsp;&nbsp;</a></td>';
                moduleString +='<td class="wl_headlines" title="See Latest Headlines for ' + lvRQSyms[i] + '"><a href="' + lvStocks[lvRQSyms[i]].lu.replace("/quotes/","/headlines/") + '">&nbsp;&nbsp;&nbsp;&nbsp;</a></td></tr>';
                
            }

        }

        // We need to send only the first 20 symbols in the cookie to the add portfolio.
        var addportfolioRQ = '';
        for(var j = 0;j < rqMax && j < lvRQSyms.length; j++) {
            // Build the addportfolio symbols:exchange string.
            addportfolioRQ +=  'symbols=' + lvRQSyms[j].replace(/.*[:]/ig,"") + '&exchange=' + lvStocks[lvRQSyms[j]].x;
            if(j<(rqMax-1)) {
                addportfolioRQ += '&';
            }
        }

        moduleString +='<tr><td colspan="2" class="clearall"><a class="aolBtn watchlist_button" href="javascript:delRecentQuotes();" title="ClearAll"/>Clear All</a></td><td colspan="5" class="wl_right">';
        moduleString += '<a href="http://finance.aol.com/usw/portfolios/advancedCreate?' + addportfolioRQ + '">Save as new Portfolio</a></td></tr>';
        moduleString +='</tbody></table>';
    }
        document.getElementById("mnc_recentquotes").innerHTML = moduleString;

    }catch(err){
    }

}// end function rqLive
function lvHashRefresh(obj){

    var lvTotalItems = obj.ResultSet.symslist.length;
    
    var lvSym,lvName,lvCurPrice, lvTodayDelta, lvPctDelta, lvUrl, lvMktXch;

    for (var i = 0;i < lvTotalItems; i++) {
        try {
            var lvStockDirection = '';
            lvSym = obj.ResultSet.symslist[i].s;
            checkSym(lvSym);
            lvName = obj.ResultSet.symslist[i].n;
            lvCurPrice = obj.ResultSet.symslist[i].p;
            lvCurVolume = obj.ResultSet.symslist[i].v;
           
            if(obj.ResultSet.symslist[i].c != undefined)
                lvTodayDelta = obj.ResultSet.symslist[i].c;
            else if(obj.ResultSet.symslist[i].c == undefined)
                lvTodayDelta = "";
                
            lvPctDelta = obj.ResultSet.symslist[i].pc.replace('+','');
            
            if(obj.ResultSet.symslist[i].c.indexOf("+") != -1)
                lvStockDirection = "U";
            else if(obj.ResultSet.symslist[i].c.indexOf("-") != -1)
                lvStockDirection = "D";
            
            lvUrl = obj.ResultSet.symslist[i].lu;
            lvMktXch = obj.ResultSet.symslist[i].x;
            
            lvStocks[lvSym] = {"s":lvSym,"n":lvName,"p":lvCurPrice,"c":lvTodayDelta,"pc":lvPctDelta,"ind":lvStockDirection,"lu":lvUrl,"x":lvMktXch,"v":lvCurVolume};
            
            if(checkSym('E:' + lvMktXch + ':' + lvSym)) {
                lvStocks['E:' + lvMktXch + ':' + lvSym] = {"s":'E:' + lvMktXch + ':' + lvSym,"n":lvName,"p":lvCurPrice,"c":lvTodayDelta,"pc":lvPctDelta,"ind":lvStockDirection,"lu":lvUrl,"x":lvMktXch,"v":lvCurVolume};
            }
        } catch(err){
        }
        if(obj.ResultSet.markets[0].close != undefined)
            marketStatus = obj.ResultSet.markets[0].close.mkstr;
        else if(obj.ResultSet.markets[0].open != undefined)
            marketStatus = obj.ResultSet.markets[0].open.mkstr;

    }
    // build market news tab data
    if(document.getElementById("market-news-mod") && pageloaded == 0) {
        mnLive(lvMNsym,lvMNtab);
        createChartLinks();
    }
    if(pageloaded == 0 && document.getElementById("mnc_watchlist") && typeof(initWatchlist) != "undefined" && initWatchlist==1) {
        mnc_watchlist();
    }

    if(portfolioLive > 0){
        for(i = 0; i < portfoliosCount; i++){
            curIndicator = "U"; 
            curPercentChObj = obj.ResultSet.myportfolios[0].p; 
            curPercentCh = curPercentChObj[i].tglpc; 
            if(curPercentCh.indexOf('-') > -1){
                curIndicator = "D";
                curPercentCh += "%"; 
            }else if(curPercentCh == "N/A"){
                curIndicator = "";
            }else{
                curPercentCh += "%";
            }
            document.getElementById("tglpc" + (i + 1)).innerHTML = curPercentCh;
            document.getElementById("nglin" + (i + 1)).setAttribute("class", "miniarrow" + curIndicator); 
            document.getElementById("nglin" + (i + 1)).setAttribute("className", "miniarrow" + curIndicator);
            document.getElementById("tglpc" + (i + 1)).setAttribute("class", "percentCh " + curIndicator);
            document.getElementById("tglpc" + (i + 1)).setAttribute("className", "percentCh " + curIndicator);
        }
    }
    pageloaded = 1; 
    lvReady = 1;
}
function delRecentQuotes(){
    Delete_Cookie("AOL_QUOTE_HISTORY_LIST","/",".aol.com");
    strRecentQuotes = "";
    rqSyms = "";
    rqLive(rqSyms); 
}

function mnLive(sym,tab) {
    var lvMNelement = 'lvMNtab' + tab;
    var tabString = '';
    tabString += lvStocks[sym].p + '<p class="' + lvStocks[sym].ind + '">';
    tabString += '<span class="amountIncr">' + lvStocks[sym].c + '</span><span class="moneyarrow"> </span>';
    tabString += '<span class="percentIncr">' + lvStocks[sym].pc + '%</span></p>';
    document.getElementById(lvMNelement).innerHTML = tabString;
}

function validateSymbol(ourSymbol){
   var head = document.getElementsByTagName("body")[0];
   script = document.createElement('script');
   script.id = 'uploadScript';
   script.type = 'text/javascript';
   script.src = 'http://portal.pf.aol.com/jsonmfus/ws?service=symslist&exchange=USA&symbols=' + ourSymbol + '&callback=errorCheck';
   head.appendChild(script);
}

function errorCheck( obj ){
    var previousSym = wlSyms;
    try{
    flagVar = obj.ResultSet.symslist[0].pc.length;
    var sym = obj.ResultSet.symslist[0].s;
        if ( sym && AOL_StockQuotesWatchList.indexOf("," + sym + ",") == -1 ) {
        if(AOL_StockQuotesWatchList.split(",").length > watchlistMAX + 1 || maxReached == 1){
        document.getElementById("symbolErr").innerHTML= "You can only have " + watchlistMAX + " symbols in your Watchlist.  Please remove some to add more.";
            maxReached = 1; 
        }else if(sym.length > 0){
               if (!AOL_StockQuotesWatchList){
                   setCookie("AOL_StockQuotesWatchList", "," + sym + ",", watchCookieLen) ;
               }else{
                   AOL_StockQuotesWatchList = sortString("," + sym + AOL_StockQuotesWatchList);
                   setCookie("AOL_StockQuotesWatchList", AOL_StockQuotesWatchList, watchCookieLen);
               }
               if (lvStocks[sym] == undefined && sym.indexOf("C:") != 0) {
                   var lvStockDirection = '';
                   checkSym(sym);
                   lvName = obj.ResultSet.symslist[0].n;
                   lvCurPrice = obj.ResultSet.symslist[0].p;
                   lvCurVolume = obj.ResultSet.symslist[0].v;

                   if(obj.ResultSet.symslist[0].c != undefined)
                       lvTodayDelta = obj.ResultSet.symslist[0].c;
                   else if(obj.ResultSet.symslist[0].c == undefined)
                       lvTodayDelta = "";

                   lvPctDelta = obj.ResultSet.symslist[0].pc.replace('+','');

                   if(obj.ResultSet.symslist[0].c.indexOf("+") != -1)
                       lvStockDirection = "U";
                   else if(obj.ResultSet.symslist[0].c.indexOf("-") != -1)
                       lvStockDirection = "D";

                   lvUrl = obj.ResultSet.symslist[0].lu;
                   lvMktXch = obj.ResultSet.symslist[0].x;
                   lvStocks[sym] = {"s":sym,"n":lvName,"p":lvCurPrice,"c":lvTodayDelta,"pc":lvPctDelta,"ind":lvStockDirection,"lu":lvUrl,"x":lvMktXch,"v":lvCurVolume};
              }

               AOL_StockQuotesWatchList = getCookie("AOL_StockQuotesWatchList");
               getWLsyms();
               
               mnc_watchlist();
               document.getElementById('addwatchlist').value = addText;
               userAdding=0;//indicates user is no longer in the process of adding
            }
        }
    }catch(err){
    goodSymbol = 0;document.getElementById("symbolErr").innerHTML =symbolErr; 
    }
    
}
function wlLive(syms) {
     
    var addportfolioStr;
     
    syms = trimAll(syms);

    var aSyms = syms.split(",");
   
    // Fill the object keys with stock symbols from the array
    for (i = 0; i < aSyms.length; i++) {
        checkSym(aSyms[i].toUpperCase());
    }
    
    var moduleString = '';
    //if user has no cookie is set, or cookie has no symbols, display default message
    if(null == syms || syms == "" ){
        moduleString +='<center><br /><a href="http://finance.aol.com/usw/portfolios/myportfolios"><b>Track Your Stocks Here!</b></a><br />Find out why more people track their stocks on<br />AOL Money and Finance than anywhere else.<br /><br /></center>'

    } else {

        moduleString +='<table class="marketData" border="0" cellpadding="0" cellspacing="0"><thead>';
        moduleString +='<tr class="header"><th class="th_symbol">Symbol</th><th>&nbsp;</th><th class="th_last">Last</th><th colspan="3" class="th_change">Change</th><th>&nbsp;</th></tr>'
            //looping thru results from json call  
          for(var i=0;i<aSyms.length;i++){
            if(lvStocks[aSyms[i]].p != '') {            
                //this stores the direction of increase/decrease of stocks
                var stockDirection = "";    
                if(lvStocks[aSyms[i]].c.indexOf("+") != -1)
                    var stockDirection = "positive"; 
                else if(lvStocks[aSyms[i]].c.indexOf("-") != -1)
                    var stockDirection = "negative";

                moduleString +='<tr class="' + stockDirection + '"><td class="wl_Symbol"><a title="' + lvStocks[aSyms[i]].n + ' Quote, News & Summary" href="' + lvStocks[aSyms[i]].lu + '">' + aSyms[i].replace(/.*[:]/ig,"").substring(0,5);
                if(aSyms[i].replace(/.*[:]/ig,"").length > 5)
                    moduleString +='...';

                moduleString +='</a></td><td><a class="wl_delete" href="" onClick="javascript:delFromList(\'' + aSyms[i] + '\');return false;" title="Remove ' + aSyms[i] + ' from Watchlist">&nbsp;&nbsp;</a></td>';
                moduleString +='<td class="last">' + lvStocks[aSyms[i]].p + '</td>';
                moduleString +='<td class="amountIncr">' + lvStocks[aSyms[i]].c.replace('+','&nbsp;') + '</td>';
                moduleString +='<td class="moneyarrow">&nbsp;</td>';
                moduleString +='<td class="percentIncr">' + lvStocks[aSyms[i]].pc.replace('+','').replace('-','') + '%</td>';
                moduleString +='<td><a class="wl_headlines" title="' + aSyms[i] + ': ' + lvStocks[aSyms[i]].n + ' News & Analysis" href="' + lvStocks[aSyms[i]].lu.replace('/quotes/','/news/') + '?more=news">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></td></tr>';
            }
        }        
        // We need to send only the first 20 symbols in the cookie to the add portfolio.
        addportfolioStr = '';
        for(var j = 0;j < aSyms.length; j++) {
            // Build the addportfolio symbols/exchange string.
            addportfolioStr +=  'symbols=' + aSyms[j].replace(/.*[:]/ig,"") + '&exchange=' + lvStocks[aSyms[j]].x;
            if(j<(aSyms.length-1)) {
                addportfolioStr += '&';
            }
        }        
        moduleString +='<tr><td colspan="3" class="clearall"><a class="aolBtn watchlist_button" href="javascript:delAllList();" title="Clear All"/>Clear All</a></div></td><td colspan="4" class="wl_right"><a href="http://finance.aol.com/usw/portfolios/advancedCreate?' + addportfolioStr + '">Save as New Portfolio</a></td></tr></table>';
           
    }
    
    //display watchlist
    document.getElementById('marketDataWL').innerHTML = moduleString;

    //if a bad symbol was added while this function was adding symbols, display message
    if(goodSymbol==0)
        document.getElementById("symbolErr").innerHTML =symbolErr;

    //max has been set to 100 symbols otherwise error message displays
    if(maxReached==1)
        document.getElementById("symbolErr").innerHTML ="<span class=\"errDiv\">You can only have " + watchlistMAX + " symbols in  your Watchlist.  Please remove some to add more.</span>"; 

} //end function wlLive
function hsLive(syms) {

    var moduleString = '';
    syms = trimAll(syms);
    var aHSsyms = syms.split(",");
    if(syms == '' || null == syms) {   
        moduleString += '';
    } else {
        for(var i = 0;i < aHSsyms.length;i++) {
            var hsLabel = hsLbls[i];
            //this stores the direction of increase/decrease of stocks
            var stockDirection = '';
            if(lvStocks[aHSsyms[i]].c.indexOf("+") != -1)
            var stockDirection = "positive"; 
            else if(lvStocks[aHSsyms[i]].c.indexOf("-") != -1)
            var stockDirection = "negative";
    
            moduleString += '<div class="volume"><div class="symbol" title="' + lvStocks[aHSsyms[i]].n + '"><a href="' + lvStocks[aHSsyms[i]].lu + '">' + hsLabel + '</a></div>';
            moduleString += '<div class="amount" id="leftnavmarketS1">' + lvStocks[aHSsyms[i]].p + '<span class="charSpace2"></span></div></div>';
            moduleString += '<div class="' + stockDirection + ' direction"><div class="stockRow"><div class="amountIncr" id="leftnavdirS1">' + lvStocks[aHSsyms[i]].c.replace('+','') + '<span class="charSpace2"></span></div><div class="moneyarrow" id="leftnavarrowS1">&nbsp;</div>';
            moduleString += '<div class="percentIncr" id="leftnavprcS1">' + lvStocks[aHSsyms[i]].pc.replace('+','').replace('-','') + '%</div></div></div><div class="clear"></div>';
        }
    }
    document.getElementById("lvHotStocks").innerHTML = moduleString;
    document.getElementById("mrktStatus").innerHTML =  "U.S. " + marketStatus;
}

var lvUpdates; //for control of the live update setInterval in function lvStatus
var currentMostActX = ""; //tracking most actives current market 
var intervalNum = 30000;
var portfoliosCount = 0;
var portfolioLive = 0;
var shutLiveUpdates = 0;

function lvStatus(status) {
    switch(status.toLowerCase()) {
        case "never":
            lvStatusInit = 0;
            ensureUploadScriptIsLoaded('http://portal.pf.aol.com/jsonmfus/ws?service=symslist,markets&symbols=' + symString +'&porttype=2&portmax=100&callback=lvHashRefresh');
            break;

        case "off":
            setCookie('AOL_StockQuotesLiveUpdate',0,liveUpCookieLen);
            clearInterval(lvUpdates);

            ensureUploadScriptIsLoaded('http://portal.pf.aol.com/jsonmfus/ws?service=symslist,markets&symbols=' + symString +'&porttype=2&portmax=100&callback=lvHashRefresh');

            if(lvModCtr > 0)
                var luText = 'Live Updates: <a href="javascript:lvStatus(\'on\')">On</a> | Off';

            document.getElementById("lvSelect").innerHTML = luText;
            lvStatusInit = 0;
            break;
            
        case "on":
            setCookie('AOL_StockQuotesLiveUpdate',1,liveUpCookieLen);
            if(intervalNum > 2000) { 
                ensureUploadScriptIsLoaded('http://portal.pf.aol.com/jsonmfus/ws?service=symslist,markets&symbols=' + symString +'&porttype=2&portmax=100&callback=rebuildLiveHash');
            }
            lvUpdates = setInterval("ensureUploadScriptIsLoaded('http://portal.pf.aol.com/jsonmfus/ws?service=symslist,markets&symbols=' + symString +'&porttype=2&portmax=100&callback=rebuildLiveHash')",intervalNum);
           if(lvModCtr > 0)
                var luText = 'Live Updates: On | <a href="javascript:lvStatus(\'off\')">Off</a>';
            document.getElementById("lvSelect").innerHTML = luText;
            lvStatusInit = 1; 
            break;
    }
}
prntPackPop=null;
function prntPack(args,width,height) {
    if(prntPackPop&&(!prntPackPop.closed)) {
        prntPackPop.close();
    }
    prntPackPop=window.open(args,"prntPackRef","width="+width+",height="+height+",toolbar=no,menubar=no,scrollbars=no,resizable=yes,location=no,directories=no");
    prntPackPop.focus();
}
/*************** End of Myinvestments module *****************/

/*SFR Footer search starts*/

  function sfrTab(){
	document.getElementById('search_tab_sfr').className ='dsTbOn';                        
       document.getElementById('search_tab_web').className ='dsTbOff';                    
       document.getElementById('panel-1').style.display='block';                   
       document.getElementById('panel-0').style.display='none';              
   }  
   function webTab(){    
       document.getElementById('search_tab_web').className ='dsTbOn';                        
       document.getElementById('panel-0').style.display='block';                        
       document.getElementById('search_tab_sfr').className ='dsTbOff';                        
       document.getElementById('panel-1').style.display='none';                
  }    
/*SFR Footer search ends*/
