﻿// JScript File

var bIsIE = document.all?true:false

var MouseX = 0
var MouseY = 0

var timerID = 0;
var timerID1 = 0;
var interval = 900000;

if (!bIsIE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = MouseXY;

var CoProfileCode = '';
var sIntraDayGraphURL = "http://netassets.hosted.inet.co.za/share/bdfm_test/c/[:code]/x/g/t/area/w/275/h/181/p/15M/s/'" + strDate() + "%2009:00'/e/'" + strDate() + "%2017:30'/z/0.8/D/'15%20minute%20intraday'";
var s3MonthGraphURL = "http://netassets.hosted.inet.co.za/share/bdfm_test/c/[:code]/x/g/t/area/w/275/h/181/p/d/s/-90/z/0.8/D/'3%20Months'";
var s1YearGraphURL = "http://netassets.hosted.inet.co.za/share/bdfm_test/c/[:code]/x/g/t/area/w/275/h/181/p/w/s/-50/z/0.8/D/'1%20Year'";
var s3YearGraphURL = "http://netassets.hosted.inet.co.za/share/bdfm_test/c/[:code]/x/g/t/area/w/275/h/181/p/w/s/-150/z/0.8/D/'3%20Year'";
var s5YearGraphURL = "http://netassets.hosted.inet.co.za/share/bdfm_test/c/[:code]/x/g/t/area/w/275/h/181/p/w/s/-250/z/0.8/D/'5%20Year'";

var sIntraDayGraphURLSmall = "http://netassets.hosted.inet.co.za/share/bdfm_test/c/[:code]/x/g/t/area/w/240/h/140/p/15M/s/'" + strDate() + "%2009:00'/e/'" + strDate() + "%2017:30'/z/0.8/D/'15%20minute%20intraday'";
var s3MonthGraphURLSmall = "http://netassets.hosted.inet.co.za/share/bdfm_test/c/[:code]/x/g/t/area/w/240/h/140/p/d/s/-90/z/0.8/D/'3%20Months'";
var s1YearGraphURLSmall = "http://netassets.hosted.inet.co.za/share/bdfm_test/c/[:code]/x/g/t/area/w/240/h/140/p/w/s/-50/z/0.8/D/'1%20Year'";
var s3YearGraphURLSmall = "http://netassets.hosted.inet.co.za/share/bdfm_test/c/[:code]/x/g/t/area/w/240/h/140/p/w/s/-150/z/0.8/D/'3%20Year'";
var s5YearGraphURLSmall = "http://netassets.hosted.inet.co.za/share/bdfm_test/c/[:code]/x/g/t/area/w/240/h/140/p/w/s/-250/z/0.8/D/'5%20Year'";

function strDate()
{
    var objDate = new Date();
    var sDate = objDate.getFullYear();
    sDate += "-";
    sDate += objDate.getMonth() + 1;
    sDate += "-";
    sDate += objDate.getDate();

    return sDate;
}

function getObjectByID(ID)
{
    var returnObject = document.getElementById?document.getElementById(ID):document.all?document.all[ID]:document.layers[ID];
    return returnObject;
}

function MouseXY(e) 
{
    try
    {
        if (bIsIE)
        {
            MouseX = event.clientX + document.body.scrollLeft;
            MouseY = event.clientY + document.body.scrollTop;
        }
        else
        {
            MouseX= e.pageX
            MouseY = e.pageY
        } 
      
        if (MouseX < 0){tempX = 0}
        if (MouseY < 0){tempY = 0}  
    }
    catch(err)
    {
        //alert(err.message);
    }
    return true
    
}

function toggleMenu(ImgID, Src)
{
    var mnuImg = getObjectByID(ImgID);
    if (mnuImg.src.substring(mnuImg.src.length - 12) == 'selected.gif')
        return;
    mnuImg.src = Src;
}

function UpdatePanel() 
{
    if(timerID1) 
        clearTimeout(timerID1);
    
    RequestCompanyNews('', 'companynews');
    RequestMarketNews('', 'marketnews');
    RequestJSEQuickList('', '');
    RequestCurrencyQL('', '');
    RequestCommoditiesQL('', '');
    RequestWorldQL('', '');
    
    timerID1 = setTimeout("UpdatePanel()", interval);
   
}

function UpdateSENS() 
{
    if(timerID) 
        clearTimeout(timerID);
    
    FindSENS();
    
    timerID = setTimeout("UpdateSENS()", interval);
   
}

function UpdateNews(Context) 
{
    if(timerID) 
        clearTimeout(timerID);
    
    FindNews(Context);
    
    timerID = setTimeout("UpdateNews()", interval);
   
}

function SearchForCompanies(CoStr)
{
    var lblSpan = getObjectByID("ctl00_lblCoLookup");
    lblSpan.style.display = 'block';
    lblSpan.style.visibility = 'visible';
    lblSpan.innerHTML = "<center><img border='0' src='/images/waiting.gif' width='30px' />&nbsp;<font style='font-family: arial; font-weight: bolder;'>Searching ...</font></center>";;
    
    SearchForCompany(CoStr, '');
}

function ReceiveMarketNews(Data)
{
    var lblSpan = getObjectByID("ctl00_lblMarketNews");
    lblSpan.innerHTML = Data;
    
}

function ReceiveCompanyNews(Data)
{
    var lblSpan = getObjectByID("ctl00_lblCompanyNews");
    lblSpan.innerHTML = Data;
       
}

function ReceiveWorldQL(Data)
{

    var lblSpan = getObjectByID("ctl00_lblWorldQLPanel");
    lblSpan.innerHTML = Data;
    
}

function ReceiveCurrencyQL(Data)
{

    var lblSpan = getObjectByID("ctl00_lblCurrencyQLPanel");
    lblSpan.innerHTML = Data;
    
}

function ReceiveCommoditiesQL(Data)
{
    
    var lblSpan = getObjectByID("ctl00_lblCommoditiesQLPanel");
    lblSpan.innerHTML = Data;
    
}

function ReceiveJSEQuickList(Data)
{
    var lblSpan = getObjectByID("ctl00_lblJSEQLPanel");
    lblSpan.innerHTML = Data;
}

function FindSENS()
{
    var Code = getObjectByID('ctl00_ContentPlaceHolder1_txtCode').value;
    var Date = getObjectByID('ctl00_ContentPlaceHolder1_txtSENSDate').value;
    
    if ((Code == '')&&(Date == ''))
    {
        alert('Invalid search criteria.');
    }
    else
    {
        var lblSpan = getObjectByID("ctl00_ContentPlaceHolder1_lblSENS");
        
        if (lblSpan != null)
        {
        
            lblSpan.innerHTML = "<center><img border='0' src='images/waiting.gif' width='30px' />&nbsp;<font style='font-family: arial; font-weight: bolder;'>Fetching SENS data ...</font></center>";
        
            var sParam = "";
            if ((Code != '')&&(Code != null))
                sParam = Code;
            else
                sParam = 'none';
                
            if ((Date != '')&&(Date != null))
                sParam += ':' + Date;
            else
                sParam += ':none';

            RequestSENS(sParam, 'sens');
        
        }
           
    }

}

function FindNews(Context)
{
    //var Code = getObjectByID('ctl00_ContentPlaceHolder1_txtCode').value;
    var Date;
    Date = getObjectByID('ctl00_ContentPlaceHolder1_txtDate').value;
    
    if (Date == '')
    {
        alert('Invalid search criteria.');
    }
    else
    {
        var lblSpan = getObjectByID("ctl00_ContentPlaceHolder1_lblNews");
        
        if (lblSpan != null)
        {
        
            lblSpan.innerHTML = "<center><img border='0' src='/images/waiting.gif' width='30px' />&nbsp;<font style='font-family: arial; font-weight: bolder;'>Fetching news data ...</font></center>";
                    
            RequestNews(Date, Context);
        
        }
           
    }

}

function ReceiveNews(Data)
{
    var lblSpan = getObjectByID("ctl00_ContentPlaceHolder1_lblNews");
    if (Data == '')
        Data = '<center><font style=\'font-family: arial; font-weight: bolder;\'>No matches found.</font></center>';
    
    lblSpan.innerHTML = Data;
    
        
}

function ReceiveSENS(Data)
{
    var lblSpan = getObjectByID("ctl00_ContentPlaceHolder1_lblSENS");

    if (Data == '')
        Data = '<center><font style=\'font-family: arial; font-weight: bolder;\'>No matches found.</font></center>';
    
    lblSpan.innerHTML = Data;
    
        
}

function ReceiveArticle(Data)
{
    var lblSpan = getObjectByID("ctl00_ContentPlaceHolder1_lblArticle");
    
    lblSpan.innerHTML = Data;
}

function UpdateSharePrices(Alpha) 
{
    if(timerID) {
        clearTimeout(timerID);
        clockID  = 0;
    }

    RequestSharePrices(Alpha, ""); 

    timerID = setTimeout("UpdateSharePrices('" + Alpha + "')", interval);
}

function ReceiveSharePrices(Data)
{
    var lblSpan = getObjectByID("ctl00_ContentPlaceHolder1_lblShares");
    lblSpan.innerHTML = Data;
}

function ShowCompanyMatch(Data)
{
    var lblSpan = getObjectByID("ctl00_lblCoLookup");
    lblSpan.innerHTML = Data;
}
function HideCompanyMatch()
{
    var lblSpan = getObjectByID("ctl00_lblCoLookup");
    
    lblSpan.style.display = 'none';
    lblSpan.style.visibility = 'hidden';
}

function FetchCompanyList(BeginsWith, Link)
{
    var lblSpan = getObjectByID("ctl00_ContentPlaceHolder1_pnlFloatData");
    lblSpan.innerHTML = "<center><img border='0' src='/images/waiting.gif' width='30px' />&nbsp;<font style='font-family: arial; font-weight: bolder;'>Fetching company data ...</font></center>";
    RequestList("http://netasset.hosted.inet.co.za/all/shares/search/results/" + BeginsWith, "");
    if (MouseX == 0)
        MouseX = 200;
    lblSpan.style.left = MouseX + "px";
    lblSpan.style.visibility = 'visible';
}

function ReceiveCompanyList(Data)
{

    var lblSpan = getObjectByID("ctl00_ContentPlaceHolder1_pnlFloatData");
    lblSpan.innerHTML = Data;
    
}

function ReceiveCompanyData(Data)
{

    var lblSpan = getObjectByID("ctl00_ContentPlaceHolder1_lblOutput");
    lblSpan.innerHTML = Data;
    lblSpan = getObjectByID("ctl00_ContentPlaceHolder1_pnlFloatData");
    lblSpan.style.visibility = 'hidden';
}

function ReceiveCompanyFinancials(Data)
{
    var lblSpan = getObjectByID("ctl00_ContentPlaceHolder1_lblFinancials");
    lblSpan.innerHTML = Data;
}

function ReceiveEquityData(Data)
{
    var lblSpan = getObjectByID("ctl00_ContentPlaceHolder1_lblData");
    lblSpan.innerHTML = Data;
}

function GetCompanyData(CoCode)
{
    RequestCompanyData(CoCode, "");
    RequestCompanyFinancials('http://netasset.hosted.inet.co.za/share/quickfas/' + CoCode, '');
    
    var imgGraphs = getObjectByID("imgGraphs");
    CoProfileCode = CoCode;
    imgGraphs.src = sIntraDayGraphURLSmall.replace('[:code]', CoProfileCode);
    //alert(imgGraphs.src);
    RequestCompanySENS(CoCode, "");
    RequestCompanyForecast("http://netasset.hosted.inet.co.za/all/shares/form_no_close/forecast/" + CoCode, "");
    
    getObjectByID("tblCoData").style.visibility = 'visible';
}

function ReceiveCompanySENS(Data)
{
    var lblSpan = getObjectByID("ctl00_ContentPlaceHolder1_lblCoSENS");
    lblSpan.innerHTML = Data;
}

function ReceiveCompanyForecast(Data)
{
    var lblSpan = getObjectByID("ctl00_ContentPlaceHolder1_lblForeCast");
    lblSpan.innerHTML = Data;
}

function UpdateCoGraph(URL)
{
    var imgGraphs = getObjectByID("imgGraphs");
    imgGraphs.src = URL.replace('[:code]', CoProfileCode);
}

function DoSearch()
{
    var txtKeywords = getObjectByID('q');
    if (txtKeywords.value == '')
        alert('Please enter valid keywords.');
    else
        location = '/SearchResults.aspx?q=' + txtKeywords.value;
}


var PrevEODMenu = null;
var PrevItem = null;
function Toggle_EOD_Menu(EODMenuID, Item)
{
    var MenuItems = "";

    var EODMenu = getObjectByID(EODMenuID);
    var pnlFloatMenu = getObjectByID("ctl00_ContentPlaceHolder1_pnlFloatMenu");
    
    if (EODMenu.src.substring(EODMenu.src.length - 8) == 'grey.gif')
    {
       EODMenu.src = '/images/' + Item + '_menu.gif';
       pnlFloatMenu.style.visibility = 'hidden';
    }
    else
    {
        ClosePrevEODItem(false);
        
        EODMenu.src = '/images/' + Item + '_menu_grey.gif';
        
        if (Item == 'Movers')
        {
            MenuItems = "<font color=\"#ea1c24\">&#149;</font>&nbsp;<a class=\"menu\" href=\"javascript:RequestEquityData('winners', 'movers'); ClosePrevEODItem(true);\">Winners</a><br />";
            MenuItems += "<font color=\"#ea1c24\">&#149;</font>&nbsp;<a class=\"menu\" href=\"javascript:RequestEquityData('losers', 'movers'); ClosePrevEODItem(true);\">Losers</a>";
        }
        else if (Item == "RankBy")
        {
            MenuItems = "<font color=\"#ea1c24\">&#149;</font>&nbsp;<a class=\"menu\" href=\"javascript:ShowPriceBreakDown();\">Price</a><br />";
            //MenuItems += "<font color=\"#ea1c24\">&#149;</font>&nbsp;<a class=\"menu\" href=\"javascript:RequestEquityData('liquidity', 'rank'); ClosePrevEODItem(true);\">Liquidity</a><br />";
            //MenuItems += "<font color=\"#ea1c24\">&#149;</font>&nbsp;<a class=\"menu\" href=\"javascript:RequestEquityData('capital', 'rank'); ClosePrevEODItem(true);\">Capitalisation</a><br />";
            MenuItems += "<font color=\"#ea1c24\">&#149;</font>&nbsp;<a class=\"menu\" href=\"javascript:RequestEquityData('earnings', 'rank'); ClosePrevEODItem(true);\">Earnings</a><br />";
            MenuItems += "<font color=\"#ea1c24\">&#149;</font>&nbsp;<a class=\"menu\" href=\"javascript:RequestEquityData('dividend', 'rank'); ClosePrevEODItem(true);\">Dividend</a><br />";
        }
        else if (Item == "Activity")
        {
            //MenuItems = "<font color=\"#ea1c24\">&#149;</font>&nbsp;<a class=\"menu\" href=\"javascript:RequestEquityData('overactive', 'activity'); ClosePrevEODItem(true);\">Overactive</a><br />";
            MenuItems = "<font color=\"#ea1c24\">&#149;</font>&nbsp;<a class=\"menu\" href=\"javascript:RequestEquityData('newhilo', 'activity'); ClosePrevEODItem(true);\">New high/low</a><br />";
            MenuItems += "<font color=\"#ea1c24\">&#149;</font>&nbsp;<a class=\"menu\" href=\"javascript:RequestEquityData('spread', 'activity'); ClosePrevEODItem(true);\">Spread</a><br />";
            MenuItems += "<font color=\"#ea1c24\">&#149;</font>&nbsp;<a class=\"menu\" href=\"javascript:RequestEquityData('nobids', 'activity'); ClosePrevEODItem(true);\">Without bids</a><br />";
            MenuItems += "<font color=\"#ea1c24\">&#149;</font>&nbsp;<a class=\"menu\" href=\"javascript:RequestEquityData('nooffer', 'activity'); ClosePrevEODItem(true);\">Without offers</a><br />";
            MenuItems += "<font color=\"#ea1c24\">&#149;</font>&nbsp;<a class=\"menu\" href=\"javascript:RequestEquityData('notrading', 'activity'); ClosePrevEODItem(true);\">Not trading</a><br />";
        }
        
        pnlFloatMenu.innerHTML = MenuItems;
        pnlFloatMenu.style.left = MouseX + "px";
        pnlFloatMenu.style.width = "97px";
        pnlFloatMenu.style.visibility = 'visible';
        
        PrevEODMenu = EODMenu;
        PrevItem = Item;
    }
    
}

function ShowPriceBreakDown()
{
    var sPriceRange = "";
    var pnlFloatMenu = getObjectByID("ctl00_ContentPlaceHolder1_pnlFloatMenu");
    
    sPriceRange = "<table cellpadding=\"2px\" cellspacing=\"0\" border=\"1\" align=\"center\" >";
    
    sPriceRange += "<tr><td><b>Price range</b></td></tr>";
    sPriceRange += "<tr><td><a class=\"menu\" href=\"javascript:RequestEquityData('0to10', 'rank'); ClosePrevEODItem(true);\">0c - 10c</a></td></tr>";
    sPriceRange += "<tr><td><a class=\"menu\" href=\"javascript:RequestEquityData('11to50', 'rank'); ClosePrevEODItem(true);\">11c - 50c</a></td></tr>";
    sPriceRange += "<tr><td><a class=\"menu\" href=\"javascript:RequestEquityData('51to100', 'rank'); ClosePrevEODItem(true);\">51c - 100c</a></td></tr>";
    sPriceRange += "<tr><td><a class=\"menu\" href=\"javascript:RequestEquityData('101to200', 'rank'); ClosePrevEODItem(true);\">101c - 200c</a></td></tr>";
    sPriceRange += "<tr><td><a class=\"menu\" href=\"javascript:RequestEquityData('201to500', 'rank'); ClosePrevEODItem(true);\">201c - 500c</a></td></tr>";
    sPriceRange += "<tr><td><a class=\"menu\" href=\"javascript:RequestEquityData('501to1000', 'rank'); ClosePrevEODItem(true);\">501c - 1000c</a></td></tr>";
    sPriceRange += "<tr><td><a class=\"menu\" href=\"javascript:RequestEquityData('1001to5000', 'rank'); ClosePrevEODItem(true);\">1001c - 5000c</a></td></tr>";
    sPriceRange += "<tr><td><a class=\"menu\" href=\"javascript:RequestEquityData('5001up', 'rank'); ClosePrevEODItem(true);\"> &gt; 5000c</a></td></tr>";
    
    sPriceRange += "</table>";
    
    
    pnlFloatMenu.innerHTML = sPriceRange;
}

function ClosePrevEODItem(HidePanel)
{
    if (PrevEODMenu != null)
        PrevEODMenu.src = '/images/' + PrevItem + '_menu.gif';
    
    if (HidePanel)
        getObjectByID("ctl00_ContentPlaceHolder1_pnlFloatMenu").style.visibility = 'hidden';
    
    PrevEODMenu = null;
    PrevItem = null;
        
}


function ToggleCreateWatchListBox(selectedValue)
{
    var pnlAddNewWatchList = getObjectByID("ctl00_ContentPlaceHolder1_pnlAddNewWatchList");
    if (selectedValue == 0)
    {
        pnlAddNewWatchList.style.visibility = "visible";
        pnlAddNewWatchList.style.display = "block";
    }
    else
    {
        pnlAddNewWatchList.style.visibility = "hidden";
        pnlAddNewWatchList.style.display = "none";
    }
    
    var btnDeleteWatchList = getObjectByID("ctl00_ContentPlaceHolder1_btnDeleteWatchList");
    if (selectedValue != 0)
    {
        btnDeleteWatchList.style.visibility = "visible";
        btnDeleteWatchList.style.display = "block";
    }
    else
    {
        btnDeleteWatchList.style.visibility = "hidden";
        btnDeleteWatchList.style.display = "none";
    }
    var hidWLID = getObjectByID('ctl00_ContentPlaceHolder1_hidWLID');
    hidWLID.value = selectedValue;
    
}

function ReceiveWatchlistItems(Data)
{
    
    var objSpan = getObjectByID('ctl00_ContentPlaceHolder1_lblWatchListItems');
    objSpan.innerHTML = Data;
    //var ddWatchLists = getObjectByID('ctl00_ContentPlaceHolder1_ddWatchLists');
    //alert(ddWatchLists.options[ddWatchLists.selectedIndex].text);
    //getObjectByID('curWatchList').innerHTML = ddWatchLists.options[ddWatchLists.selectedIndex].text;
    
    
}

//function Start() {
//    timerID  = setTimeout("UpdateData()", interval);
//}

function openkeytable(Location)
{
    window.open (Location, "convtbl", "menubar=0,resizable=0,width=600,height=300,scrollbars=1");
}

function Stop() {
   if(timerID) {
      clearTimeout(timerID);
      timerID  = 0;
   }

   tStart = null;
}

function Reset() {
   tStart = null;
}

function addToFavorites() 
{ 
    var urlAddress = document.location;
    var pageName = document.title;
    var bIsSet = false;
    //alert(urlAddress);  
    if (document.all) 
    { 
        window.external.AddFavorite(urlAddress,pageName) 
        bIsSet = true;
    }
    
    if (!bIsSet)
        alert("Sorry! Your browser doesn't support this function."); 
}