/* Rev: $Revision: 106030 $ */
// check for cookie containg user's live updates status.
var lvStatusInit = getCookie('AOL_StockQuotesLiveUpdate');
var marketStatus = "";
// lvReady = 0 until hash is built and populated.
var lvReady = 0;

// declare the live stocks object
var lvStocks = new Object();

var symString = ''; // variable for symbol string sent to JSON.
var lvModCtr = 0;
var allSyms = "";
var pageloaded = 0;
var mvList = "";
var liveUpCookieLen = 90;
var watchCookieLen = 90;
var mktXch;


// Body onload functions
function template_init(){
   
    //in older code deletion had potential of leaving comma 
    if(getCookie("AOL_StockQuotesWatchList")=="," )delCookie("AOL_StockQuotesWatchList");

    //checking for modules that use live updates
    var watchlistCheck = document.getElementById("mnc_watchlist");
    var marketNewsCheck = document.getElementById("market-news-mod");
    var lvHotStocksCheck = document.getElementById("lvHotStocks");
    var mnc_marketmoversCheck = document.getElementById("mnc_marketmovers_sub");
    var lvHotStocksAltCheck = document.getElementById("lvHotStocksAlt");

    //number of modules on the page  
    if( lvHotStocksAltCheck + mnc_marketmoversCheck + watchlistCheck + marketNewsCheck + lvHotStocksCheck != 0) {
        lvModCtr++;
    }

    if( lvModCtr > 0 ){
        allSyms = trimAll(allSyms);

        var arrLvSyms = allSyms.split(",");

        // Fill the object keys with stock symbols from the array
        for (i = 0; i < arrLvSyms.length; i++) {
            checkSym(arrLvSyms[i].toUpperCase());
        }

        // Build the string for the JSON call
        for (var stock in lvStocks){
            symString += stock + ",";
        }

        symString = trimAll(symString);

        lvMNsym = set_lvMNsym(first);
       // alert(lvMNsym);//bren
        lvMNtab = set_lvMNtab(first);
        liveUpDatesSwitch();

    }
    
    if(marketNewsCheck){
        tabCount=last-2;
        first=1;
        displaySymbolData(last);
        //select_tabs(first);
        paginationData = tabCount + " of " + arrMNstocks.length;
        document.getElementById("carouselPagination").innerHTML = paginationData;
        
     
    }

}

function liveUpDatesSwitch(){
        // control live updates
        if(shutLiveUpdates == 1) {
	    lvStatus('never');
        } else if(lvStatusInit == 1) {
            lvStatus('on');
        } else if(lvStatusInit == 0) {
            lvStatus('off');
        } else {
            setCookie('AOL_StockQuotesLiveUpdate',1,liveUpCookieLen);
            lvStatus('on');
        }
}

if (window.addEventListener)
    window.addEventListener("DOMContentLoaded",template_init,false);
else
    window.attachEvent("onload",template_init);


// end of body On load functions

function sendLinkEvent()
{
}

// Feed Module Mouse Over Popup Functions - Starts
function createPop()
{
    var popRef = document.createElement("p");
    popRef.className = 'feedPop';
    popRef.setAttribute('id','feedPop');
    document.body.appendChild(popRef);
    popRef.style.display = 'none';
   
}

function showPop(e,trgElement,textPopup)
{
    var elHt = trgElement.offsetHeight;//this is the element height
    var elWt = trgElement.offsetWidth;//this is the element height
    createPop();
	posY = findMousePos(e)
    if(document.getElementById('feedPop').style.display.indexOf('none')==0)
    {
        popRef = document.getElementById('feedPop');
        var txtNode = document.createTextNode(textPopup);
	var arrPos = findPos(trgElement);
	popRef.style.display = "block";
	popRef.style.left = arrPos[0] + "px";
    popRef.style.top = parseInt(posY+elHt/2)+ "px";
       
        try
        {
            popRef.removeChild(popRef.firstChild);
        }
        catch(e){}
        popRef.appendChild(txtNode);
    }
}

function hidePop()
{
    try
    {
        var popRef = document.getElementById('feedPop');
        document.body.removeChild(popRef);
        popRef=null;
    }catch(e){}
}

function findPos(obj)
{
    var curleft = curtop = 0;
    if (obj.offsetParent)
    {
        curleft = obj.offsetLeft;
        curtop = obj.offsetTop;
        while (obj = obj.offsetParent)
        {
            curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
        }
    }
    else if(obj.x)curleft+=obj.x;

    if(document.all)
     	curleft-=document.getElementsByTagName("body")[0].offsetLeft;
    
    if(navigator.userAgent.indexOf('Safari')!=-1)
	curleft-=document.getElementsByTagName("body")[0].offsetLeft;

    return [curleft,curtop];
}

function findMousePos(e) {
	var posY = 0;
	if (!e) var e = window.event;
	if (e.pageX || e.pageY) 	{
		posY = e.pageY;
	}
	else if (e.clientX || e.clientY) 	{
		posY = e.clientY + document.body.scrollTop
			+ document.documentElement.scrollTop;
	}
	return posY;
}
// Feed Module Mouse Over Popup Functions - Ends


function chportfolio(formName,ctrlName,formSubmit) {
	var formName = 'document.'+formName+'.'+ctrlName;
	if (formSubmit == 0) {var ctrlValue = eval(formName).options[eval(formName).selectedIndex].value;}
	window.open(ctrlValue);
}

function nav_focus (formname,fieldname) {
	document.forms[formname].elements[fieldname].focus();
}

function popup_window(url,width,height){
	var features="status=0,menubar=0,location=0,toolbar=0";
	if (!isNaN(parseInt(width))){features+=",width="+width;}
	if (!isNaN(parseInt(height))){features+=",height="+height;}
	if (typeof(window.screenLeft)!="undefined"){
		features+=",left="+window.screenLeft;
		features+=",left="+Math.round(window.screenLeft+((document.body.clientWidth/2)-(width/2)));
	} else if (typeof(window.screenX)!="undefined"){
		features+=",left="+Math.round(window.screenX+((window.outerWidth/2)-(width/2)));
	}
	if (typeof(window.screenTop)!="undefined"){
		features+=",top="+window.screenTop;
		features+=",top="+Math.round(window.screenTop+150);
	} else if (typeof(window.screenY)!="undefined"){
		features+=",top="+Math.round(window.screenY+((window.outerHeight-window.innerHeight)+150));
	}
	var popupWin=window.open(url,"popupWin",features);
	if (popupWin.focus){popupWin.focus();}
}



// for use in the header 

function goQuotes(daform)
{
    if (!validateSym(daform.sym.value)) {
        alert("There are characters in the symbol that are not allowed.");
        return;
    }
   
    var exch = daform.exch.value;
    var sym = whichEncode(daform.sym.value);
    var url = "http://finance.aol.com/usw/quotes/quotesandnews" + "?sym=" + sym + "&exch=" + exch;

    window.location = url;
}

function validateSym(str) {
    var invalids = ":<";

    for (i=0; i<invalids.length; i++) {
        if (str.indexOf(invalids.charAt(i)) >= 0) {
            return false;
        }
    }
    return true;
}

function whichEncode(fld) {
	//if (fld == "") return false;
	var encodedField = "";
	var s = fld;
	if (typeof encodeURIComponent == "function")
	{
		// Use JavaScript built-in function
		// IE 5.5+ and Netscape 6+ and Mozilla
		encodedField = encodeURIComponent(s);
	}
	else 
	{
		// Need to mimic the JavaScript version
		// Netscape 4 and IE 4 and IE 5.0 etc
		encodedField = encodeURIComponentNew(s);
	}
	return encodedField;
}

//Functions for Boxley buttons
function artzOvr(o){
    o.className = o.className.substr(0,15) + " " + o.className.substr(8,15) + "Hov"
}

function artzOff(o){
    o.className = o.className.substr(0,15)
}


function artzClk(o){
    o.className = o.className.substr(0,15) + " " + o.className.substr(8,15) + "Clk"
}


function goTab2(daform,chartform){
	if(!validateSym(daform.sym.value)){
		alert("There are characters in the symbol that are not allowed.");
		return;
	}
	var dist=daform.tabs.options[daform.tabs.selectedIndex].value;
	var sym=makeSym(daform.sym.value).toLowerCase();
	var pid=daform.pid.value;
	var exch=daform.exch.value.toLowerCase();
	var dur="";
	var symbs="";
	var compidx1="";
	var compidx2="";
	var compidx3="";
	var url="";
	if((dist=="charts")&&(chartform!=null)&&(chartform.dr.value)){
		dur=chartform.dr.value;
		symbs=chartform.symbs.value;
		if((chartform.compidx1!=null)&&(chartform.compidx1.checked==true))
			compidx1=chartform.compidx1.value;
		if((chartform.compidx2!=null)&&(chartform.compidx2.checked==true))
			compidx2=chartform.compidx2.value;
		if((chartform.compidx3!=null)&&(chartform.compidx3.checked==true))
			compidx3=chartform.compidx3.value;
	}
	else{
		dur=daform.dr.value;
		symbs=daform.symbs.value;
		compidx1=daform.compidx1.value;
		compidx2=daform.compidx2.value;
		compidx3=daform.compidx3.value;
	}
	if(dist=="quotesandnews"){
		if((sym!=null)&&(sym.length>0)){
			url="http://finance.aol.com/quotes/"+sym+"/"+exch+"?tabs="+dist;
		}
		else{
			url="http://finance.aol.com/quotes/"+exch+"?tabs="+dist;
		}
	}
	else{
		if((sym!=null)&&(sym.length>0)){
			url="http://finance.aol.com/quotes/"+sym+"/"+exch+"/"+dist+"?tabs="+dist;
		}
		else{
			url="http://finance.aol.com/quotes/"+exch+"/"+dist+"?tabs="+dist;
		}
	}
	if((pid!=null)&&(pid!=""))
		url+="&pid="+pid;
	if((symbs!=null)&&(symbs!=""))
		url+="&symbs="+symbs;
	if((dur!=null)&&(dur!=""))
		url+="&dr="+dur;
	if((compidx1!=null)&&(compidx1!=""))
		url+="&compidx1="+compidx1;
	if((compidx2!=null)&&(compidx2!=""))
		url+="&compidx2="+compidx2;
	if((compidx3!=null)&&(compidx3!=""))
		url+="&compidx3="+compidx3;
	if((dist=="charts")&&(chartform!=null)){
		if(chartform.ag.value)
			url+="&ag="+chartform.ag.value;
		if(chartform.index.value)
			url+="&index="+chartform.index.value;
		if(chartform.te.value)
			url+="&te="+chartform.te.value;
		if(chartform.se.value)
			url+="&se="+chartform.se.value;
		if(chartform.vl.checked==true)
			url+="&vl="+chartform.vl.value;
		if(chartform.ss.checked==true)
			url+="&ss="+chartform.ss.value;
		if(chartform.dv.checked==true)
			url+="&dv="+chartform.dv.value;
		if(chartform.hs.checked==true)
			url+="&hs="+chartform.hs.value;
		if(chartform.vs.checked==true)
			url+="&vs="+chartform.vs.value;
		if(chartform.state.value)
			url+="&state="+chartform.state.value;
		if(chartform.settings.value)
			url+="&settings="+chartform.settings.value;
		if(chartform.vl1.value)
			url+="&vl1="+chartform.vl1.value;
		if(chartform.ss1.value)
			url+="&ss1="+chartform.ss1.value;
		if(chartform.dv1.value)
			url+="&dv1="+chartform.dv1.value;
		if(chartform.hs1.value)
			url+="&hs1="+chartform.hs1.value;
		if(chartform.vs1.value)
			url+="&vs1="+chartform.vs1.value;
		if(chartform.scs.value)
			url+="&scs="+chartform.scs.value;
		if(chartform.daysb4.value)
			url+="&daysb4="+chartform.daysb4.value;
		if(chartform.fromdate.value)
			url+="&fromdate="+chartform.fromdate.value;
		if(chartform.todate.value)
			url+="&todate="+chartform.todate.value;
		if(chartform.freq.value)
			url+="&freq="+chartform.freq.value;
		if(chartform.timeframe.value)
			url+="&timeframe="+chartform.timeframe.value;
	}
	window.location=url;
}



/*JSON modules 2007 July ****/

//open individual portfolios
function seeSubPort(elemStks){
      elemStks = elemStks.replace(/#/g,"\134");
      elemStks=elemStks.replace(/#/g, "\\");
      ensureUploadScriptIsLoaded(portURL + elemStks+'&callback=mnc_myportfolio_sub');
}

function mnc_myportfolio_sub(obj) {
    ourElement ="mnc_myportfolio_sub" +elemNum ;
    moduleString ='';

    /* if the the div clicked is the same as the one before AND was not closed before, do not open div again */
    if (previousElemNum == elemNum && previousElemNum != -1){
        previousElemNum = -1;
        elemNum = 0;
        return false;
    }
    //try looping thru symlist results from ajax call
    try{
        moduleString +='<div class="seesub"><p class="seesubhead">Portfolio Holdings</p></div><div id="mnc_myportfolio_sub_stocks"><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<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 +="<tr id=\"MPServerList" + i + "\"";
            moduleString +='class="' + stockDirection + '"><td class="wl_Symbol"><a  title="' + obj.ResultSet.symslist[i].n + '" href="' + obj.ResultSet.symslist[i].lu + '">' + obj.ResultSet.symslist[i].s + '</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>';
        }
    moduleString +='</tbody></table></div>';
    headlines ='';
    headlinesLoop = '';
    headlines = '<div class="seesub2"><p class="seesubhead">Top Headlines</p>';

    //try looping thru news results from ajax call
    try{
        for(var i=0;i<obj.ResultSet.newspress.length && i<newsMAX;i++){
            headlinesLoop +='<div class="headlines"><span class="headsymbol">' + obj.ResultSet.newspress[i].s + '&nbsp;&nbsp;-&nbsp;&nbsp;';
            headlinesLoop +='<a href="' + obj.ResultSet.newspress[i].u + '" >' + obj.ResultSet.newspress[i].h.substr(0,35);
            if(obj.ResultSet.newspress[i].h.length > 35)
                headlinesLoop += '...';
            if(obj.ResultSet.newspress[i].d.indexOf("AM") > -1 || obj.ResultSet.newspress[i].d.indexOf("PM") > -1)
                headlinesLoop +='</a><br /><span class="headlinedate"><b>' + obj.ResultSet.newspress[i].d + '&nbsp;</b></span>';
            else
                headlinesLoop +='</a><br /><span class="headlinedate">' + obj.ResultSet.newspress[i].d + '&nbsp;</span>';
            headlinesLoop +='<span class="headlinesource">|&nbsp;' + obj.ResultSet.newspress[i].i + '</span>';
            headlinesLoop +='</div>';
        }
        headlinesLoop +='<div class="pfeditview"><a class="pfview" href="' + document.getElementById("viewUrl" + elemNum).innerHTML + '">More Headlines</a></div>';
    }catch(err){
        headlinesLoop ='<div class="headlines">No news for these symbols at this time.</div>';
    }
    headlines += headlinesLoop +'<div class="pfeditview"><a class="pfedit" href="' + document.getElementById("viewUrl" + elemNum).innerHTML.replace("view","edit") + '">Edit Portfolio</a><a class="pfview" href="' + document.getElementById("viewUrl" + elemNum).innerHTML + '">View Porfolio</a></div></div>';

    headlines += '<div class="hidesum"><a href="javascript:void(0);" title="Hide Portfolio" onclick="javascript:closePortDiv();elemNum=-1;" >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hide</a></div>';

    moduleString += headlines;

    //portfolio
    document.getElementById(ourElement).innerHTML = moduleString;
    document.getElementById(ourElement).style.display = 'block';
    //flips expand image and changes row background
    document.getElementById("portRow" +elemNum).setAttribute("class", "activePortRow");
    document.getElementById("portRow" +elemNum).setAttribute("className", "activePortRow");
    document.getElementById("openSesame" +elemNum).title = "Hide Portfolio";

    //visible portfolio is now given a border and background
    document.getElementById(ourElement).style.borderBottom = '1px solid #DEDDE2';
    document.getElementById("mnc_myportfolio_sub" +elemNum).style.background = '#F7F7F7';
    document.getElementById("portSubRow" +elemNum).style.background = '#F7F7F7';

    previousElemNum = elemNum;
    }catch(err){
        //alert(err);
    }
}


//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 to close individual portfolios
function closePortDiv(){
    if (elemNum > 0) {
        document.getElementById("portRow" +elemNum).setAttribute("class", "inactivePortRow");
        document.getElementById("portRow" +elemNum).setAttribute("className", "inactivePortRow");
        document.getElementById("mnc_myportfolio_sub" +elemNum).style.display = 'none';
        document.getElementById("portSubRow" +elemNum).style.background = 'none';
        document.getElementById("portRow" +elemNum).style.fontWeight = 'normal';
        document.getElementById("openSesame" +elemNum).title = "Show Portfolio";
    }
    elemNum = -1;
}

//general function to get cookie
function getCookie(NameOfCookie){
    if (document.cookie.length > 0) {              
        begin = document.cookie.indexOf(NameOfCookie+"=");       
        if (begin != -1) {           
            begin += NameOfCookie.length+1;       
            end = document.cookie.indexOf(";", begin);
            if (end == -1) end = document.cookie.length;
                return unescape(document.cookie.substring(begin, end));
        } 
    }
    return null;
}

//general function to set cookie
function setCookie(NameOfCookie, value, expiredays) {
    var ExpireDate = new Date ();
    ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));

    document.cookie = NameOfCookie + "=" + escape(value) + 
    ((expiredays == null) ? "" : "; expires=" + ExpireDate.toGMTString());
}

function delCookie (NameOfCookie) {
    if (getCookie(NameOfCookie)) {
        document.cookie = NameOfCookie + "=" +
        "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}

//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,obj);

        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>";
}



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", "");
}

//ajax call for one symbol to validate get and pass on to errorcheck 
function validateSymbol(ourSymbol){
   var head = document.getElementsByTagName("body")[0];
   script = document.createElement('script');
   script.id = 'uploadScript';
   script.type = 'text/javascript';

//   ourSymbol = escape(ourSymbol);
//   ourSymbol = ourSymbol.replace(/\//g,"%2F");
   ourSymbol = ourSymbol.replace(/\+/g,"%2b");

   script.src = 'http://portal.pf.aol.com/jsonmfus/ws?service=symslist&exchange=USA&symbols=' + ourSymbol + '&callback=errorCheck';
   head.appendChild(script);
}

//watchlist symbol is added
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(1);
               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; 
    }
	
}

//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.replace(/#/g, "\\");
   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;
}

var mostactivesURL = "http://portal.pf.aol.com/jsonmfus/ws?service=mostactives,&exchange=";

function show_marketmovers(xchnge){
    currentMostActX = xchnge;
    mostActiveStr = "";
    marketGainersStr = "";
    marketLosersStr = "";

    ensureUploadScriptIsLoaded(mostactivesURL + xchnge + '&mosttype=0,3,4&&mostmax=' + symbolMax[0] + '&callback=mnc_marketmovers');
}

var mostActiveStr = "";
var marketGainersStr = "";
var marketLosersStr = "";

function mnc_marketmovers(obj) {
    mvUpdateCnt = 0;
    marketmoversString = "";
    //most actives
    subSection++;
    mostActiveObj = obj.ResultSet.mostactives[0].mostactive0;
    marketmoversString +='<h3>' + catTitle[0]  + '</h3>';
    marketmoversString +='<table class="marketData" border="0" cellpadding="0" cellspacing="0">';
    marketmoversString +='<thead><tr class="header"><th class="th_symbol">' + symLbl + '</th><th class="th_last">' + lastLbl + '</th><th colspan="3" class="th_change">' + changeLbl + '</th><th class="th_volume">' + volumeLbl + '</th></tr></thead><tbody>';

    for(var i=0;i<mostActiveObj.length;i++){
        checkSym("E:" + mostActiveObj[i].x + ":" + mostActiveObj[i].s);
        mostActiveStr += "E:" + mostActiveObj[i].x + ":" + mostActiveObj[i].s + ",";
        var stockDirection = "";
        if(mostActiveObj[i].c.indexOf("+") != -1)
            var stockDirection = "positive"; 
        else if(mostActiveObj[i].c.indexOf("-") != -1)
            var stockDirection = "negative";

        marketmoversString +='<tr class="' + stockDirection + '">';
        marketmoversString +='<td class="wl_Symbol"><a title="' + mostActiveObj[i].n + ' Quote, News & Summary" href="' + mostActiveObj[i].lu + '">'  

        if(mostActiveObj[i].s.length>5)
            marketmoversString +=mostActiveObj[i].s.substr(0,4) + '...</a></td>';
	else
	    marketmoversString +=mostActiveObj[i].s + '</a></td>';

        marketmoversString +='<td class="last">' + mostActiveObj[i].p + '</td>';
        marketmoversString +='<td class="amountIncr">' + mostActiveObj[i].c.replace('+','&nbsp;') + '</td>';
        marketmoversString +='<td class="moneyarrow">&nbsp;</td>';
        marketmoversString +='<td class="percentIncr">' + mostActiveObj[i].pc.replace('+','').replace('-','') + '%</td>';
        marketmoversString +='<td class="mv_volume">' + mostActiveObj[i].v + '</td></tr>';	

    }
    marketmoversString +='</tbody></table><div class="footerLink"><a href="' + catLinksLnk[subSection-1]  + '">' + catLinksLbl[subSection-1]  + '</a></div>';

    //biggest gainers
    subSection++;
    mostActiveObj = obj.ResultSet.mostactives[1].mostactive3;
    marketmoversString +='<h3>' + catTitle[1]  + '</h3>';
    marketmoversString +='<table class="marketData" border="0" cellpadding="0" cellspacing="0">';

    marketmoversString +='<thead><tr class="header"><th class="th_symbol">' + symLbl + '</th><th class="th_last">' + lastLbl + '</th><th colspan="3" class="th_change">' + changeLbl + '</th><th class="th_volume">' + volumeLbl + '</th></tr></thead><tbody>';
    for(var i=0;i<mostActiveObj.length;i++){
        checkSym("E:" + mostActiveObj[i].x + ":" + mostActiveObj[i].s);
        marketGainersStr += "E:" + mostActiveObj[i].x + ":" + mostActiveObj[i].s + ",";
        var stockDirection = "";
        if(mostActiveObj[i].c.indexOf("+") != -1)
            var stockDirection = "positive"; 
        else if(mostActiveObj[i].c.indexOf("-") != -1)
            var stockDirection = "negative";

        marketmoversString +='<tr class="' + stockDirection + '">';
        marketmoversString +='<td class="wl_Symbol"><a title="'  + mostActiveObj[i].n + ' Quote, News & Summary" href="' + mostActiveObj[i].lu + '">'  

        if(mostActiveObj[i].s.length>5)
            marketmoversString +=mostActiveObj[i].s.substr(0,4) + '...</a></td>';
	else
	    marketmoversString +=mostActiveObj[i].s + '</a></td>';

        marketmoversString +='<td class="last">' + mostActiveObj[i].p + '</td>';
        marketmoversString +='<td class="amountIncr">' + mostActiveObj[i].c.replace('+','&nbsp;') + '</td>';
        marketmoversString +='<td class="moneyarrow">&nbsp;</td>';
        marketmoversString +='<td class="percentIncr">' + mostActiveObj[i].pc.replace('+','').replace('-','') + '%</td>';
        marketmoversString +='<td class="mv_volume">' + mostActiveObj[i].v + '</td></tr>';	

    }
    marketmoversString +='</tbody></table><div class="footerLink"><a href="' + catLinksLnk[subSection-1]  + '">' + catLinksLbl[subSection-1]  + '</a></div>';
    
    //biggest losers
    subSection++;
    mostActiveObj = obj.ResultSet.mostactives[2].mostactive4;  
     marketmoversString +='<h3>' + catTitle[2]  + '</h3>';
    marketmoversString +='<table class="marketData" border="0" cellpadding="0" cellspacing="0">';

    marketmoversString +='<thead><tr class="header"><th class="th_symbol">' + symLbl + '</th><th class="th_last">' + lastLbl + '</th><th colspan="3" class="th_change">' + changeLbl + '</th><th class="th_volume">' + volumeLbl + '</th></tr></thead><tbody>';
    for(var i=0;i<mostActiveObj.length;i++){
        checkSym("E:" + mostActiveObj[i].x + ":" + mostActiveObj[i].s);
        marketLosersStr += "E:" + mostActiveObj[i].x + ":" + mostActiveObj[i].s + ",";
        var stockDirection = "";
        if(mostActiveObj[i].c.indexOf("+") != -1)
            var stockDirection = "positive"; 
        else if(mostActiveObj[i].c.indexOf("-") != -1)
            var stockDirection = "negative";

        marketmoversString +='<tr class="' + stockDirection + '">';
        marketmoversString +='<td class="wl_Symbol"><a title="' + mostActiveObj[i].s + ': ' + mostActiveObj[i].n + ' Quote, News & Summary" href="' + mostActiveObj[i].lu + '">'  

        if(mostActiveObj[i].s.length>5)
            marketmoversString +=mostActiveObj[i].s.substr(0,4) + '...</a></td>';
	else
	    marketmoversString +=mostActiveObj[i].s + '</a></td>';

        marketmoversString +='<td class="last">' + mostActiveObj[i].p + '</td>';
        marketmoversString +='<td class="amountIncr">' + mostActiveObj[i].c.replace('+','&nbsp;') + '</td>';
        marketmoversString +='<td class="moneyarrow">&nbsp;</td>';
        marketmoversString +='<td class="percentIncr">' + mostActiveObj[i].pc.replace('+','').replace('-','') + '%</td>';
        marketmoversString +='<td class="mv_volume">' + mostActiveObj[i].v + '</td></tr>';	

    }
    marketmoversString +='</tbody></table><div class="footerLink"><a href="' + catLinksLnk[subSection-1]  + '">' + catLinksLbl[subSection-1]  + '</a></div>';
   
    document.getElementById("mnc_marketmovers_sub").innerHTML = marketmoversString;

    //pass in tab as selected, resets all and sets active tab
    reset_tabs("mkMovertab", 3,marketmoveTB);
    subSection = 0;

    mvList = mostActiveStr + marketGainersStr + marketLosersStr;

    symString += mvList + ",";
}

function mvLive() {
    subSection = 0;
    var mostActiveStrArr = trimAll(mostActiveStr).split(",");
    var marketGainersStrArr = trimAll(marketGainersStr).split(",");
    var marketLosersStrArr = trimAll(marketLosersStr).split(",");
    var symTxtReplace = "E:" + currentMostActX + ":";

    marketmoversString = "";
    //most actives
    subSection++;
    marketmoversString +='<h3>' + catTitle[0]  + '</h3>';
    marketmoversString +='<table class="marketData" border="0" cellpadding="0" cellspacing="0">';
    marketmoversString +='<thead><tr class="header"><th class="th_symbol">Symbol</th><th class="th_last">Last</th><th colspan="3" class="th_change">Change</th><th class="th_volume">Volume</th></tr></thead><tbody>';

    for(var i=0;i<mostActiveStrArr.length;i++){
        if(lvStocks[mostActiveStrArr[i]].s=='')
            return false;
        var stockDirection = "";
        if(lvStocks[mostActiveStrArr[i]].c.indexOf("+") != -1)
            var stockDirection = "positive"; 
        else if(lvStocks[mostActiveStrArr[i]].c.indexOf("-") != -1)
            var stockDirection = "negative";

        marketmoversString +='<tr class="' + stockDirection + '">';
        marketmoversString +='<td class="wl_Symbol"><a title="' + lvStocks[mostActiveStrArr[i]].n + ' Quote, News & Summary" href="' + lvStocks[mostActiveStrArr[i]].lu + '">'  
        currentMvSym = lvStocks[mostActiveStrArr[i]].s.replace(symTxtReplace,'');

        if(currentMvSym.length>5)
            marketmoversString +=currentMvSym.substr(0,4) + '...</a></td>';
	else
	    marketmoversString +=currentMvSym + '</a></td>';

        marketmoversString +='<td class="last">' + lvStocks[mostActiveStrArr[i]].p + '</td>';
        marketmoversString +='<td class="amountIncr">' + lvStocks[mostActiveStrArr[i]].c.replace('+','&nbsp;') + '</td>';
        marketmoversString +='<td class="moneyarrow">&nbsp;</td>';
        marketmoversString +='<td class="percentIncr">' + lvStocks[mostActiveStrArr[i]].pc.replace('+','').replace('-','') + '%</td>';
        marketmoversString +='<td class="mv_volume">' + lvStocks[mostActiveStrArr[i]].v + '</td></tr>';	

    }
    marketmoversString +='</tbody></table><div class="footerLink"><a href="' + catLinksLnk[subSection-1]  + '">' + catLinksLbl[subSection-1]  + '</a></div>';

    //biggest gainers
    subSection++;
    marketmoversString +='<h3>' + catTitle[1]  + '</h3>';
    marketmoversString +='<table class="marketData" border="0" cellpadding="0" cellspacing="0">';
    marketmoversString +='<thead><tr class="header"><th class="th_symbol">Symbol</th><th class="th_last">Last</th><th colspan="3" class="th_change">Change</th><th class="th_volume">Volume</th></tr></thead><tbody>';

    for(var i=0;i<marketGainersStrArr.length;i++){
        if(lvStocks[marketGainersStrArr[i]].s=='')
            return false;
        var stockDirection = "";
        if(lvStocks[marketGainersStrArr[i]].c.indexOf("+") != -1)
            var stockDirection = "positive"; 
        else if(lvStocks[marketGainersStrArr[i]].c.indexOf("-") != -1)
            var stockDirection = "negative";

        marketmoversString +='<tr class="' + stockDirection + '">';
        marketmoversString +='<td class="wl_Symbol"><a title="' + lvStocks[marketGainersStrArr[i]].n + ' Quote, News & Summary" href="' + lvStocks[marketGainersStrArr[i]].lu + '">'  

        currentMvSym = lvStocks[marketGainersStrArr[i]].s.replace(symTxtReplace,'');
        if(currentMvSym.length>5)
            marketmoversString +=currentMvSym.substr(0,4) + '...</a></td>';
	else
	    marketmoversString +=currentMvSym + '</a></td>';

        marketmoversString +='<td class="last">' + lvStocks[marketGainersStrArr[i]].p + '</td>';
        marketmoversString +='<td class="amountIncr">' + lvStocks[marketGainersStrArr[i]].c.replace('+','&nbsp;') + '</td>';
        marketmoversString +='<td class="moneyarrow">&nbsp;</td>';
        marketmoversString +='<td class="percentIncr">' + lvStocks[marketGainersStrArr[i]].pc.replace('+','').replace('-','') + '%</td>';
        marketmoversString +='<td class="mv_volume">' + lvStocks[marketGainersStrArr[i]].v + '</td></tr>';	

    }
    marketmoversString +='</tbody></table><div class="footerLink"><a href="' + catLinksLnk[subSection-1]  + '">' + catLinksLbl[subSection-1]  + '</a></div>';
    
    //biggest losers
    subSection++;  
     marketmoversString +='<h3>' + catTitle[2]  + '</h3>';
    marketmoversString +='<table class="marketData" border="0" cellpadding="0" cellspacing="0">';
    marketmoversString +='<thead><tr class="header"><th class="th_symbol">Symbol</th><th class="th_last">Last</th><th colspan="3" class="th_change">Change</th><th class="th_volume">Volume</th></tr></thead><tbody>';

    for(var i=0;i<marketLosersStrArr.length;i++){
        if(lvStocks[marketLosersStrArr[i]].s=='')
            return false;
        var stockDirection = "";
        if(lvStocks[marketLosersStrArr[i]].c.indexOf("+") != -1)
            var stockDirection = "positive"; 
        else if(lvStocks[marketLosersStrArr[i]].c.indexOf("-") != -1)
            var stockDirection = "negative";

        marketmoversString +='<tr class="' + stockDirection + '">';
        marketmoversString +='<td class="wl_Symbol"><a title="' + lvStocks[marketLosersStrArr[i]].n + ' Quote, News & Summary" href="' + lvStocks[marketLosersStrArr[i]].lu + '">'  

        currentMvSym = lvStocks[marketLosersStrArr[i]].s.replace(symTxtReplace,'');
        if(currentMvSym.length>5)
            marketmoversString +=currentMvSym + '...</a></td>';
	else
	    marketmoversString +=currentMvSym + '</a></td>';

        marketmoversString +='<td class="last">' + lvStocks[marketLosersStrArr[i]].p + '</td>';
        marketmoversString +='<td class="amountIncr">' + lvStocks[marketLosersStrArr[i]].c.replace('+','&nbsp;') + '</td>';
        marketmoversString +='<td class="moneyarrow">&nbsp;</td>';
        marketmoversString +='<td class="percentIncr">' + lvStocks[marketLosersStrArr[i]].pc.replace('+','').replace('-','') + '%</td>';
        marketmoversString +='<td class="mv_volume">' + lvStocks[marketLosersStrArr[i]].v + '</td></tr>';	

    }
    marketmoversString +='</tbody></table><div class="footerLink"><a href="' + catLinksLnk[subSection-1]  + '">' + catLinksLbl[subSection-1]  + '</a></div>';
   
    document.getElementById("mnc_marketmovers_sub").innerHTML = marketmoversString;

    subSection = 0;

}

function reset_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");

}



//Market News



function buildArray(obj) {
	
         symobj=obj.ResultSet.symslist[0];
    mktsym = symobj.s;
	    curPrice = symobj.p;
	    todayDelta = symobj.c;
	    pctDelta = symobj.pc.replace('+','');
            
  
             if(symobj['in']== '' || null == symobj['in']|| symobj['in'] == undefined){
               if(symobj.c.indexOf("+") != -1)
	        stockDirection = "U"; 
              else if(symobj.c.indexOf("-") != -1)
	    	stockDirection = "D";
                    
                 
            }else{
              stockDirection = symobj['in'];
             
            }
	    thisUrl = symobj.lu;
            mktXch = symobj.x;
            

}
function buildArrayfutures(obj) {
	
	    symobj=obj.ResultSet.futures[0];
             mktsym = symobj.s;
	    curPrice = symobj.p;
	    todayDelta = symobj.c;
	    pctDelta = symobj.pc.replace('+','');
           
            if(symobj['in']== '' || null == symobj['in']|| symobj['in'] == undefined){
               if(symobj.c.indexOf("+") != -1)
	        stockDirection = "U"; 
              else if(symobj.c.indexOf("-") != -1)
	    	stockDirection = "D";
                    
                 
            }else{
              stockDirection = symobj['in'];
             
            }
            
	    thisUrl = symobj.lu;
            mktXch = symobj.x;
            

}

function buildArrayStay(obj) {
    if( lvStatusInit == 0 ){
        buildArray(obj);
        mnArrDisplaySymbolData(last);
    } else {
        
        mnLive(lvMNsym,lvMNtab);
        displaySymbolData(last);
    }
    select_tabs(first);
    paginationData = tabCount + " of " + arrMNstocks.length;
    document.getElementById("carouselPagination").innerHTML = paginationData;
    paintButtons();
    
    
} // end buildArrayStay

function mnArrDisplaySymbolData(last){

	  if(last-3<arrMNstocks.length)document.getElementById("carousel-tab-1").innerHTML = stockLabelsArr[last - 3]+'<div class="tab-data" id="lvMNtab1">'  + curPrice + '<p class="' + stockDirection + '"><span class="amountIncr">'+todayDelta+'</span><span class="moneyarrow"> </span><span class="percentIncr">'+pctDelta+'%</span></p></div>'; else document.getElementById("carousel-tab-1").innerHTML="";
   
    if(last-2<arrMNstocks.length)document.getElementById("carousel-tab-2").innerHTML = stockLabelsArr[last - 2]+'<div class="tab-data" id="lvMNtab2">'  + curPrice + '<p class="' + stockDirection + '"><span class="amountIncr">'+todayDelta+'</span><span class="moneyarrow"> </span><span class="percentIncr">'+pctDelta+'%</span></p></div>'; else document.getElementById("carousel-tab-2").innerHTML="";
    if(last-1<arrMNstocks.length)document.getElementById("carousel-tab-3").innerHTML =  stockLabelsArr[last - 1]+'<div class="tab-data" id="lvMNtab3">' +  + curPrice + '<p class="' + stockDirection + '"><span class="amountIncr">'+todayDelta+'</span><span class="moneyarrow"> </span><span class="percentIncr">'+pctDelta+'%</span></p></div>'; else document.getElementById("carousel-tab-3").innerHTML="";
        if(last<arrMNstocks.length)document.getElementById("carousel-tab-4").innerHTML = stockLabelsArr[last]+'<div class="tab-data" id="lvMNtab" id="lvMNtab4">' + + curPrice + '<p class="' + stockDirection + '"><span class="amountIncr">'+todayDelta+'</span><span class="moneyarrow"> </span><span class="percentIncr">'+pctDelta+'%</span></p></div>'; else document.getElementById("carousel-tab-4").innerHTML="";
	
}







function buildArrayNext(obj) {
	if(tabCount <= arrMNstocks.length) {
	    paginationData = tabCount + " of " + arrMNstocks.length;
	    document.getElementById("carouselPagination").innerHTML = paginationData;
            mnLive(lvMNsym,lvMNtab);
            displaySymbolData(last);
            select_tabs(first);
            paintButtons();
        }
     
} // end buildArrayNext

function mnArrBuildArrayNext(obj) {

        buildArray(obj);
       
        if(tabCount <= arrMNstocks.length) {
         
            paginationData = tabCount + " of " + arrMNstocks.length;
            document.getElementById("carouselPagination").innerHTML = paginationData;
            mnArrDisplaySymbolData(last);
            select_tabs(first);

           paintButtons();
        }
      
} // end mnArrBuildArrayNext

function buildArrayPrevious(obj) {
	if(tabCount >= 1) {
	    paginationData = tabCount + " of " + arrMNstocks.length;
	    document.getElementById("carouselPagination").innerHTML = paginationData;
	    mnLive(lvMNsym,lvMNtab);
            displaySymbolData(last);
            select_tabs(first);
	   paintButtons();
	}
         
} // end buildArrayPrevious
		
function mnArrBuildArrayPrevious(obj) {
        buildArray(obj);
        if(tabCount >= 1) {
            paginationData = tabCount + " of " + arrMNstocks.length;
            document.getElementById("carouselPagination").innerHTML = paginationData;
            mnArrDisplaySymbolData(last);
            select_tabs(first);
            paintButtons();
        }

} // end mnArrBuildArrayPrevious

function mnBuildArrayStay(obj) {

        buildArray(obj);

        mnArrDisplaySymbolData(last);
        select_tabs(first);
     

        paginationData = tabCount + " of " + arrMNstocks.length;
        document.getElementById("carouselPagination").innerHTML = paginationData;
        paintButtons();
     
} // end mnBuildArrayNext
	
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");
    }

    var s_265=s_gi(clickTrack); 
    s_265.linkTrackVars='prop23'; 
    s_265.linkTrackEvents='None'; 
    s_265.prop23 = s_265.pageName + ' Market News Symbol: ' + arrMNstocks[tabCount - 1];
    s_265.tl(true,'o', s_265.pageName + ' Market News Tab: ' + tabCount); 
}

var last = 3;
var first = 1;
var arrMNstocks = [];
var myDiv, myDiv2;
var selTabInit;
var tabCount = 1;
var paginationData;
var currentDirection = "";
var clickTrack = "aolpf";




function mnArrBuildArrayNextFutBase(obj){
       buildArrayfutures(obj);
        
        if(tabCount <= arrMNstocks.length) {
          paginationData = tabCount + " of " + arrMNstocks.length;
          document.getElementById("carouselPagination").innerHTML = paginationData;
          mnArrDisplaySymbolData(last);
          select_tabs(first);
          paintButtons();
        }
       
}
function mnArrBuildArrayPreviousFutBase(obj){
      buildArrayfutures(obj);
        if(tabCount >= 1) {
            paginationData = tabCount + " of " + arrMNstocks.length;
            document.getElementById("carouselPagination").innerHTML = paginationData;

		 mnArrDisplaySymbolData(last);
		 select_tabs(first);

                mnArrDisplaySymbolData(last);
             
           
            paintButtons();
        }
   
}

function mnBuildArrayStayFutBase(obj){
      buildArrayfutures(obj);

        mnArrDisplaySymbolData(last);
        select_tabs(first);
      

        paginationData = tabCount + " of " + arrMNstocks.length;
        document.getElementById("carouselPagination").innerHTML = paginationData;
        paintButtons();
       
}
function callTab(direction){
    
    

    
  if(direction=="next" && tabCount < arrMNstocks.length ){
      ++tabCount;
       if(first%4==0) {
		 first=1;
                
                 last=tabCount+2;
       }
       else{
           first++;
        
        }    
  }else if(direction=="previous" && tabCount > 1  ){
      
      --tabCount;
          if (first > 1) {
              first--;
	   } else {
		last=tabCount-1;
                first=4;
            }
          
      
  }else{

  }

lvMNsym = set_lvMNsym(first);
       lvMNtab = set_lvMNtab(first);
    
    templvMNsym = lvMNsym;
      


    
   
   if(templvMNsym.indexOf("/") != -1 && templvMNsym.indexOf("\\") == -1){//future base symbol 
       
        
         
       if(direction=="next")
 	ensureUploadScriptIsLoaded('http://portal.pf.aol.com/jsonmfus/ws?service=futures&futurestype=0&futuresmax=1&symbols=' + templvMNsym + '&callback=mnArrBuildArrayNextFutBase');
        else if(direction=="previous")
   	ensureUploadScriptIsLoaded('http://portal.pf.aol.com/jsonmfus/ws?service=futures&futurestype=0&futuresmax=1&symbols=' + templvMNsym + '&callback=mnArrBuildArrayPreviousFutBase');
        else
    	ensureUploadScriptIsLoaded('http://portal.pf.aol.com/jsonmfus/ws?service=futures&futurestype=0&futuresmax=1&symbols=' + templvMNsym + '&callback=mnBuildArrayStayFutBase');
 
   
     
        
}else{//normal symbol
    if( lvReady > 0 && lvStatusInit == 1 ){
        currentDirection = direction;
        if(direction=="next")
            buildArrayNext();
        else if(direction=="previous")
            buildArrayPrevious();
        else
            buildArrayStay();
    } else if( lvStatusInit == 0 && pageloaded==1){
    currentDirection = direction;
    if(direction=="next")
 	ensureUploadScriptIsLoaded('http://portal.pf.aol.com/jsonmfus/ws?service=symslist&exchange=USA&symbols=' + templvMNsym + '&callback=mnArrBuildArrayNext');
    else if(direction=="previous")
   	ensureUploadScriptIsLoaded('http://portal.pf.aol.com/jsonmfus/ws?service=symslist&exchange=USA&symbols=' + templvMNsym + '&callback=mnArrBuildArrayPrevious');
    else
    	ensureUploadScriptIsLoaded('http://portal.pf.aol.com/jsonmfus/ws?service=symslist&exchange=USA&symbols=' + templvMNsym + '&callback=mnBuildArrayStay');
 
    }
}

} 


function displaySymbolData(last){
    



    if(lvMNsym == '' || null == lvMNsym || lvMNsym == undefined){
        lvMNsym = arrMNstocks[last-3][0];
    }
    if(lvMNtab == '' || null == lvMNtab || lvMNtab == undefined){
        lvMNtab = "lvMNtab1";
    }

    if(lvReady==0){
       if(last-3<arrMNstocks.length)document.getElementById("carousel-tab-1").innerHTML = stockLabelsArr[last - 3]+'<div class="tab-data" id="lvMNtab1"></div>'; else document.getElementById("carousel-tab-1").innerHTML="";
    }else{

        if(last-3<arrMNstocks.length)document.getElementById("carousel-tab-1").innerHTML = stockLabelsArr[last - 3]+'<div class="tab-data" id="lvMNtab1">' + lvStocks[arrMNstocks[last-3]].p + '<p class="' + lvStocks[arrMNstocks[last-3]].ind + '"><span class="amountIncr">'+lvStocks[arrMNstocks[last-3]].c+'</span><span class="moneyarrow"> </span><span class="percentIncr">'+lvStocks[arrMNstocks[last-3]].pc+'%</span></p></div>'; else document.getElementById("carousel-tab-1").innerHTML="";

   } 

    if(last-2<arrMNstocks.length)document.getElementById("carousel-tab-2").innerHTML = stockLabelsArr[last - 2]+'<div class="tab-data" id="lvMNtab2">' + lvStocks[arrMNstocks[last - 2]].p + '<p class="' + lvStocks[arrMNstocks[last - 2]].ind + '"><span class="amountIncr">'+lvStocks[arrMNstocks[last - 2]].c+'</span><span class="moneyarrow"> </span><span class="percentIncr">'+lvStocks[arrMNstocks[last - 2]].pc+'%</span></p></div>'; else document.getElementById("carousel-tab-2").innerHTML="";
    if(last-1<arrMNstocks.length)document.getElementById("carousel-tab-3").innerHTML =  stockLabelsArr[last - 1]+'<div class="tab-data" id="lvMNtab3">' + lvStocks[arrMNstocks[last - 1]].p + '<p class="' + lvStocks[arrMNstocks[last - 1]].ind + '"><span class="amountIncr">'+ lvStocks[arrMNstocks[last - 1]].c+'</span><span class="moneyarrow"> </span><span class="percentIncr">'+ lvStocks[arrMNstocks[last - 1]].pc +'%</span></p></div>'; else document.getElementById("carousel-tab-3").innerHTML="";
    if(last<arrMNstocks.length) document.getElementById("carousel-tab-4").innerHTML = stockLabelsArr[last]+'<div class="tab-data" id="lvMNtab4">' + lvStocks[arrMNstocks[last]].p + '<p class="' + lvStocks[arrMNstocks[last]].ind + '"><span class="amountIncr">'+lvStocks[arrMNstocks[last]].c+'</span><span class="moneyarrow"> </span><span class="percentIncr">'+lvStocks[arrMNstocks[last]].pc+'%</span></p></div>'; else document.getElementById("carousel-tab-4").innerHTML="";

    
}

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
    if(chartTimeStrArray[0] != "" && arrMNstocks[currentIndex].charAt(0) != "("){
        for(i=0;i<chartTimeStrArray.length;i++){
            timeLabelArray = chartTimeStrArray[i].split(":");
            timeStr = timeLabelArray[0];
            labelStr= timeLabelArray[1]; 
            var chartsbaseurltemp;
            if( mktXch == undefined){//if  not futures or when live updates off for normal stock
                
		 chartsbaseurltemp=lvStocks[arrMNstocks[currentIndex]].lu;
                 
            }else{
                 
                 chartsbaseurltemp=thisUrl;
            }
		var chartsbaseurl=chartsbaseurltemp.replace(/quotes/, "charts");
            chartLinks+='<li><a href="'+ chartsbaseurl +'/classic-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="'+ chartsbaseurl +'/classic-charts?dr=999" class="chart-view" onclick ="s_objectID=s_265.pageName + \' Market News Chart: View More Charts\';">View More Charts</a>';



    if( mktXch == undefined){ 
   
    chartLinks+='<a href="'+ chartsbaseurl +'/classic-charts?dr=999" onclick ="s_objectID=s_265.pageName + \' Market News Chart: Main Chart Clicked\';"><img src="http://quote-web.aol.com/?s='+ arrMNstocks[currentIndex].replace(/.*[:]/ig,"") +'&e='+ lvStocks[arrMNstocks[currentIndex]].x +'&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>';
  }else{
    
     chartLinks+='<a href="'+ chartsbaseurl +'/classic-charts?dr=999" onclick ="s_objectID=s_265.pageName + \' Market News Chart: Main Chart Clicked\';"><img src="http://quote-web.aol.com/?s='+ mktsym +'&e='+ mktXch +'&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;
}

function select_tabs(tabnum){
    reset_carousel_tabs("carousel-tab-", 4, tabnum);
}

function setPagination( tabCount){
    if(tabCount < arrMNstocks.length) {
	paginationData = ++tabCount + " of " + arrMNstocks.length;
          document.getElementById("carouselPagination").innerHTML = paginationData;
    }
}

// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + reset_carousel_tabs function                                  +
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//pass in tab as selected, resets all and sets active tab
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


// Start:  SHARE THIS WIDGET JS
var sharePopFlag = true;                             //variable for onclick popup
  
function showShareThisPop(topDivId, botDivId)        //function to call the popup onclick
{
    if (sharePopFlag)
    {
        document.getElementById('shareLeftIDBB').style.borderBottom = "1px solid #000";
        document.getElementById(botDivId).style.display = "block";
        document.getElementById(topDivId).className = "share_right_on";
    }
    else 
    {
        document.getElementById('shareLeftIDBB').style.borderBottom = "none";
        document.getElementById(botDivId).style.display = "none";
        document.getElementById(topDivId).className = "share_right";
    }
    sharePopFlag = !sharePopFlag;
}

function shareOperation(iOperation, strUrl, strTitle)
{
    var staf_obj = new staf_SE();
    staf_obj.setLang("en-US");
    if (strUrl != "")
    {
        staf_obj.setURL(strUrl);
    }
    if (strTitle != "")
    {
        staf_obj.setTitle(strTitle);        
    }
    if (iOperation == 1) // IM This
    {
        staf_obj.sendIM();
    }
    else
    {
        staf_obj.sendEmail();
    }
}
// End: SHARE THIS WIDGET JS

// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + function sortString                                      +
// + A generic function to sort comma delimeted strings       +
// + through conversion to array and then back to string      +
// + after sorting.                                           +
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function sortString(string) {

    string = trimAll(string);

    var strSortString;
    var arrSortStringArray;

    /* convert the string to an array */
    arrSortStringArray = string.split(",");
    
    /* sort the array */
    arrSortStringArray.sort();

    /* convert the sorted array back into a string */
    strSortString = arrSortStringArray.join(",");
    strSortString = "," + strSortString  + ",";

    /* return the string so we can use it. */
    return strSortString;

}

/* function from jslib used by symbol lookup */
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: func from jslib */


/*  this deletes the cookie when called */
function Delete_Cookie( name, path, domain ) {
if ( getCookie( name ) ) document.cookie = name + "=" +
( ( path ) ? ";path=" + path : "") +
( ( domain ) ? ";domain=" + domain : "" ) +
";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

function delRecentQuotes(){

    Delete_Cookie("AOL_QUOTE_HISTORY_LIST","/",".aol.com");
    strRecentQuotes = "";
    rqSyms = "";
    //ensureUploadScriptIsLoaded(recentqURL + rqSyms + '&callback=mnc_recentquotes');
    rqLive(rqSyms); 
}

// +++++++++++++++ start code related to Recent Quotes tab ++++++++++++++++
function mnc_recentquotes(g) {
    // 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,g);

        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 ++++++++++++++++

// 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 checkSym(arg0) {
    if (lvStocks[arg0] == undefined && arg0.indexOf("C:") != 0) {
        lvStocks[arg0] = {"s":'',"n":'',"p":'',"c":'',"pc":'',"ind":'',"lu":'',"x":'',"v":''};
        return false;
 }
    return true;
}

function buildString(arg0){
    arg0=arg0.replace(/#/g, "\\");
    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);
}

// *** getWLsyms ***
function getWLsyms() {

    //Call this function for live update display of new watchlist symbols
    if(null == getCookie("AOL_StockQuotesWatchList")) {
        wlSyms = "";
    } else {
        wlSyms = getCookie("AOL_StockQuotesWatchList");
    }
    wlSyms = trimAll(wlSyms);
    // split string into an array for building the 'hash'
    var aWLSyms = wlSyms.split(",");

    // Fill the object keys with stock symbols from the array
    for (var i = 0; i < aWLSyms.length; i++) {
        checkSym(aWLSyms[i].toUpperCase());
    }
    
    return wlSyms;
}

/*  created following global var for returning time left until close/open of markets */
var timeLeft;

var subSection = 0;
var marketmoveTB = 1;
var county = 0;
var mkCounty = 0;
// ****************************
// * rebuildLiveHash function *
// ****************************
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();

}


//build a single portfolio
function buildSubPortfolio(){
    refreshPortDiv = "mnc_myportfolio_sub" + elemNum;
    var origContent = document.getElementById(refreshPortDiv).innerHTML;
    var subStrIndex = origContent.indexOf("</TABLE>") + 8;
    if( subStrIndex < 8 )subStrIndex = origContent.indexOf("</table>") + 8;
    var beginStr = "<div class=\"seesub\"><p class=\"seesubhead\">Portfolio Holdings</p></div><div id=\"mnc_myportfolio_sub_stocks\">";
    var endStr = origContent.substring(subStrIndex);
    var stockString = '';

    if(document.getElementById("mnc_myportfolio_sub_stocks") && elemNum > 0){

        var portElemStocks = "";
        //for inside update debug
        //portElemStocks = county;
        var currentPortStocks = elemStks.split(",");
        portElemStocks +='<table class="marketData" border="0" cellpadding="0" cellspacing="0">';
        portElemStocks +='<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<currentPortStocks.length;i++){
            if(lvStocks[currentPortStocks[i]].s.length > 0){
                var stockDirection = "";
                var modifiedSymIndex = lvStocks[currentPortStocks[i]].s.lastIndexOf(":") + 1;
                if(lvStocks[currentPortStocks[i]].c.indexOf("+") != -1)
                    var stockDirection = "positive";
                else if(lvStocks[currentPortStocks[i]].c.indexOf("-") != -1)
                    var stockDirection = "negative";
                stockString = '';
                stockString = "<tr id=\"MPServerList" + i + "\" ";
                stockString +='class="' + stockDirection + '"><td class="wl_Symbol"><a  title="' + lvStocks[currentPortStocks[i]].n + '" href="' + lvStocks[currentPortStocks[i]].lu + '">' + lvStocks[currentPortStocks[i]].s.substring(modifiedSymIndex) + '</a></td>';
                stockString +='<td class="last">' + lvStocks[currentPortStocks[i]].p + '</td>';
                stockString +='<td  class="amountIncr">' + lvStocks[currentPortStocks[i]].c.replace('+','&nbsp;&nbsp;') + '</td>';
                stockString +='<td class="moneyarrow">&nbsp;</td>';

                if (lvStocks[currentPortStocks[i]].pc.indexOf('N/A') < 0)
                    stockString +='<td class="percentIncr">' + lvStocks[currentPortStocks[i]].pc.replace('+','').replace('-','') + '%</td>';
                else
                    stockString +='<td class="percentIncr">' + lvStocks[currentPortStocks[i]].pc + '</td>';

                stockString +='<td class="wl_chart" title="See Chart for ' + lvStocks[currentPortStocks[i]].s + '"><a href="' + lvStocks[currentPortStocks[i]].lu + '/charts">&nbsp;&nbsp;&nbsp;&nbsp;</a></td>';
                stockString +='<td class="wl_headlines" title="See Latest Headlines for ' + lvStocks[currentPortStocks[i]].s + '"><a href="' + lvStocks[currentPortStocks[i]].lu.replace("/quotes/","/headlines/") + '">&nbsp;&nbsp;&nbsp;&nbsp;</a></td></tr>';


                if ( ( lvStocks[currentPortStocks[i]].x.indexOf("NYM") == -1) || ( lvStocks[currentPortStocks[i]].x.indexOf("CMX") == -1) ) {
                     portElemStocks +=stockString;
                 } else {
                     portElemStocks += "<tr id=\"MPServerList" + i + "\" " + "class=\"" + stockDirection + "\">" + document.getElementById("MPServerList" + i).innerHTML + "</tr>";
                 }

            }

        }
        portElemStocks +='</tbody></table></div>';

        document.getElementById(refreshPortDiv).innerHTML = beginStr + portElemStocks + endStr;;
    }

}



function rqLive(syms,irr) {

    // Max number of Recent Quote symbols. *
    var rqMax = 20;

    syms = trimAll(syms);

    var lvRQSyms = syms.split(",");

    var moduleString = '';

    var stockString = '';

    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 ( typeof lvStocks[lvRQSyms[i]].c == 'undefined' ) lvStocks[lvRQSyms[i]].c='0.00';
                if ( lvStocks[lvRQSyms[i]].c.indexOf("+") != -1) stockDirection = "positive";
                else if(lvStocks[lvRQSyms[i]].c.indexOf("-") != -1) stockDirection = "negative";

                stockString = '';
                stockString = "<tbody><tr id=\"RQServerList" + i + "\" ";
                stockString +='class="' + stockDirection + '"><td class="wl_Symbol"><a title="' + lvStocks[lvRQSyms[i]].n + '" href="' + lvStocks[lvRQSyms[i]].lu + '">';

                stockString += lvRQSyms[i].replace(/.*[:]/ig,"").substring(0,9);

                if(lvRQSyms[i].replace(/.*[:]/ig,"").length > 9)
                    moduleString +='...';

                stockString +='</a></td>';
                stockString +='<td class="last">' + lvStocks[lvRQSyms[i]].p + '</td>';
                stockString +='<td  class="amountIncr">' + lvStocks[lvRQSyms[i]].c.replace('+','&nbsp;&nbsp;') + '</td>';
                stockString +='<td class="moneyarrow">&nbsp;</td>';
                         
                if ( typeof lvStocks[lvRQSyms[i]].pc == 'undefined' ) lvStocks[lvRQSyms[i]].pc = 'N/A';

                if (lvStocks[lvRQSyms[i]].pc.indexOf('N/A') < 0)
                    stockString +='<td class="percentIncr">' + lvStocks[lvRQSyms[i]].pc.replace('+','').replace('-','') + '%</td>';
                else
                    stockString +='<td class="percentIncr">' + lvStocks[lvRQSyms[i]].pc + '</td>';

                stockString +='<td class="wl_chart" title="See Chart for ' + lvRQSyms[i] + '"><a href="' + lvStocks[lvRQSyms[i]].lu + '/charts">&nbsp;&nbsp;&nbsp;&nbsp;</a></td>';
                stockString +='<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>';

                if ( ( irr == 1 ) || (( lvStocks[lvRQSyms[i]].x.indexOf("NYM") == -1) && ( lvStocks[lvRQSyms[i]].x.indexOf("CMX") == -1)) ) {
                      moduleString +=stockString;
                } else {
                      moduleString += "<tbody><tr id=\"RQServerList" + i + "\" " + "class=\"" + stockDirection + "\">" + document.getElementById("RQServerList" + i).innerHTML + "</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){
    //alert(err);
    }

}/*  end function rqLive  */



function wlLive(syms,irr) {
    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 = '';
    var stockString = '';
    var stockDirection = '';

    /* 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  */
                if(lvStocks[aSyms[i]].c.indexOf("+") != -1)
                    stockDirection = "positive";
                else if(lvStocks[aSyms[i]].c.indexOf("-") != -1)
                    stockDirection = "negative";

                stockString = "";
                stockString ="<tr id=\"WLServerList" + i + "\" ";
                stockString += '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)
                      stockString +='...';
                stockString +='</a></td><td><a class="wl_delete" href="" onClick="javascript:delFromList(\'' + aSyms[i].replace(/\134/g,"#") + '\');return false;" title="Remove ' + aSyms[i] + ' from Watchlist">&nbsp;&nbsp;</a></td>';
                 stockString +='<td class="last">' + lvStocks[aSyms[i]].p + '</td>';
                 stockString +='<td class="amountIncr">' + lvStocks[aSyms[i]].c.replace('+','&nbsp;') + '</td>';
                 stockString +='<td class="moneyarrow">&nbsp;</td>';
                 stockString +='<td class="percentIncr">' + lvStocks[aSyms[i]].pc.replace('+','').replace('-','') + '%</td>';

                 stockString +='<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>';
                 if ( ( irr == 1 ) || (( lvStocks[aSyms[i]].x.indexOf("NYM") == -1) && ( lvStocks[aSyms[i]].x.indexOf("CMX") == -1)) ) {
                     moduleString +=stockString;
                 } else {
                     moduleString +="<tr id=\"WLServerList" + i + "\" ";
                     moduleString += ' class="' + stockDirection + '">';
                     moduleString += document.getElementById("WLServerList" + i).innerHTML + "</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) {
/* changed by brendan February 2009  */

    var moduleString = '';

    syms = trimAll(syms);
    var aHSsyms = syms.split(",");
    if(syms == '' || null == syms) {   
        moduleString += '';
    } else {

        for(var i = 0;i < aHSsyms.length;i++) {
		moduleString = '';
            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>';
       
		if(aHSsyms[i].indexOf("NYM") == -1 && aHSsyms[i].indexOf("CMX") == -1){
			document.getElementById("HotStocksSym"+i).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;
    }
}

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 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 + "\">";
                    moduleString +='<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>';
                }
                //moduleString +="</tbody></table>";

        //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></tbody></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 ( typeof obj.ResultSet.symslist[i].c == 'undefined' )
                    obj.ResultSet.symslist[i].c='0.00';
                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 id=\"RQServerList" + i + "\"";
                moduleString +="class=\"" + stockDirection + "\">";
                moduleString +='<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,9);

                if(obj.ResultSet.symslist[i].s.length > 9)
                    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 ( typeof obj.ResultSet.symslist[i].pc == 'undefined' )
                    obj.ResultSet.symslist[i].pc = 'N/A';
                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 mnLive(sym,tab) {
//alert(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">';
    if(lvStocks[sym].pc == undefined ||lvStocks[sym].pc.length == 0 || null == lvStocks[sym].pc || lvStocks[sym].pc=='')
       tabString +=   '</span></p>';
     else
         tabString +=  lvStocks[sym].pc + '%</span></p>';
       

    document.getElementById(lvMNelement).innerHTML = tabString;
}

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 for live update of alternate hot stocks mod.
function hsLiveAlt(syms) {
        
    var moduleString = '';
 
    syms = trimAll(syms);
    
    var aHSsyms = syms.split(",");
 
    if(syms == '' || null == syms) {
        moduleString += '';
    } else {
        // Need to completely rebuild the table code to avoid any IE idiosyncrasies associated with giving <table> an id.
        moduleString += '<table><tbody><tr><th class="itemLeft">Symbol</th><th class="itemRight">Last Trade</th><th class="itemRight">Change</th><th class="itemRight">% Change</th></tr>';
 
        for(var i = 0;i < aHSsyms.length;i++) {
 
            if (i%2 == 1) {
                var bgClass = 'alternateBg';
            } else {
                var bgClass = 'firstBg';
            }
     
            var hsLabel = hsLbls[i];
 
            //this stores the direction of increase/decrease of stocks
            var stockDirection = '';
            
            if(lvStocks[aHSsyms[i]].c.indexOf("+") != -1) {
                var stockDirection = "up";
                var stockDirection2 = "marketUp";
            
            } else if(lvStocks[aHSsyms[i]].c.indexOf("-") != -1) {
                var stockDirection = "down";
                var stockDirection2 = "marketDown";
            }
            
            
            moduleString += '<tr class="' + bgClass + '">';
            moduleString += '<td class="marketSymbol ' + stockDirection + '"><a href="' + lvStocks[aHSsyms[i]].lu + '">' + hsLabel + '</a></td>';
            moduleString += '<td class="marketValue">' + lvStocks[aHSsyms[i]].p + '</td><td class="' + stockDirection2 + '">' + lvStocks[aHSsyms[i]].c + '</td>';
            moduleString += '<td class="' + stockDirection2 + '">' + lvStocks[aHSsyms[i]].pc + '</td></tr>';
        }
            moduleString += '</tbody></table><div class="clear"></div><div class="feedTimestamp" id="lvHSfeedTimestamp"></div>';
    }
    
    if(document.getElementById("lvHotStocksAlt"))
        document.getElementById('lvHotStocksAlt').innerHTML = moduleString;

}
 
 
// function to grab the time remaining until markets close/open
function marketTime(obj) {
        
    if (obj.ResultSet.markets[0].close) {
        timeLeft = 'U.S Markets ' + obj.ResultSet.markets[0].close.mkstr;
    } else if (obj.ResultSet.markets[0].open) {
        timeLeft = 'U.S Markets ' + obj.ResultSet.markets[0].open.mkstr;
    }
    lvHSfeedTimestampCheck = document.getElementById("lvHSfeedTimestamp");

    if(lvHSfeedTimestampCheck){
       lvHSfeedTimestampCheck.innerHTML = timeLeft + ' (' + htDisclaimer + ')';
    }
}
// function to Highlight the Header Navigation
function highlightHdrNav() {
    var category,ob,h=document.location.href;
    var locArray=new Array(15);
    var categoryElements=new Array();
    var highlight=1;
    locArray=h.split('/');
    var headerNav=locArray[3];
    if(headerNav!=null) {
        ob=document.getElementById('btmNav');
        if(ob){
            categoryElements=ob.getElementsByTagName('a');
			headerNav=headerNav.toLowerCase();
			if(headerNav=='article' || headerNav=='rtn'){
			    headerNav="news";
		    }
            var currCat = headerNav + "Nav";
            for (i=0;i<categoryElements.length;i++) {
                if(categoryElements[i].id==currCat){
                    highlight=0;     
                    document.getElementById(categoryElements[i].id).className="selected";
                }
            }
        }
    } 
    if(headerNav==null || highlight==1) {
        document.getElementById('defaultNav').className="selected";
    }
}
var myimages=new Array();
function preloadimages(){
    for (i=0;i<preloadimages.arguments.length;i++){
        myimages[i]=new Image();
        myimages[i].src=preloadimages.arguments[i]
    }
}
//Enter path of images to be preloaded inside parenthesis. Extend list as desired.
preloadimages("http://o.aolcdn.com/art/webwidgets/sfsw_v1_3/images/sprite_buttons.gif");


