﻿///////OP
var numTraderInsights;
var randTraderInsights = new Array();

var TraderInsightLimit = 6;
function UpdateTraderInsight() {
    if (!document.getElementById("TraderInsightTable")) {
        TraderInsightLimit = 0;
        return;
     }


  if(document.getElementById("InsightTitleImg"))
      document.getElementById("InsightTitleImg").src = Skin + '/media/images/trader_insight_title.gif';
  if (document.getElementById("TraderInsightCall")) 
        document.getElementById("TraderInsightCall").innerHTML = getServerResource("TraderInsight_Above");
    if (document.getElementById("TraderInsightPut"))
        document.getElementById("TraderInsightPut").innerHTML = getServerResource("TraderInsight_Below");
  
    var Name, Asset1, Asset2, PutTotalVolume, CallTotalVolume, rand;
    var Total, PcntCall, PcntPut;
    for (var i = 0; i < TraderInsightLimit; i++) {


//        if (typeof (TradersInsights.TradersInsights[i]) != "undefined" && TradersInsights.TradersInsights[i].PutTotalVolume != "0" && TradersInsights.TradersInsights[i].CallTotalVolume != "0") {
          if (typeof (TradersInsights[i]) != "undefined" && TradersInsights[i][1] >0 && TradersInsights[i][2] > 0)
           {
            Name = TradersInsights[i][0]
//            Asset1 = TradersInsights[i][1]
//            Asset2 =TradersInsights[i][2]
            CallTotalVolume = TradersInsights[i][1];
            PutTotalVolume = TradersInsights[i][2];
            Total = CallTotalVolume + PutTotalVolume;
            PcntCall = Math.round(CallTotalVolume * 100 / Total);
            PcntPut = Math.round(PutTotalVolume * 100 / Total);

            if (!isLoggedIn) {
                //Sets to 0 in order for the data to be randomly updated if there is no server data retrieval (not logged in)
                TradersInsights.TradersInsights[i].PutTotalVolume = "0";
            }

        }
        else {  //Random


            if (typeof (randTraderInsights[i]) == "undefined") {
                Name = getNewRandomTraderInsightName();
                rand = RandomNum(35, 65);  //RandomNum(min, max)
                randTraderInsights[i] = rand;
            }
            // Update Random Number within a range
            else {
                Name = getCurrentTraderInsightName(i);
                rand = RandomNum(-10, 10); //RandomNum(min, max)
                randTraderInsights[i] += rand;

                if (randTraderInsights[i] < 0) {
                    randTraderInsights[i] = 1;
                }
                else if (randTraderInsights[i] > 100) {
                    randTraderInsights[i] = 99;
                }
            }

            randCall = randTraderInsights[i];
            randPut = 100 - parseInt(randCall);

            PcntCall = randCall;
            PcntPut = randPut;
        }

        UpdateTraderInsightRow(i, Name, PcntCall, PcntPut);
    }



   TraderInsightLimit=0; //not reload data on reload chart
}

////////UI
function UpdateTraderInsightRow(elementId, OptionName, PcntL, PcntR) {
    $("#TraderInsight").css("display", ""); //Remove Display None

    onScreen = ($("#TraderInsightRow_" + elementId).length > 0);

    if (!onScreen) {

        var newTraderInsight = GetTraderInsightRow();
        newTraderInsight = String.format(newTraderInsight, elementId, OptionName, 49, 49);
        $("#TraderInsightRows").append(newTraderInsight);  //Add new element ( prepend = at beginning, append = at end)
    }

    var oldPcntL = $("#TraderInsightPcntTxtL_" + elementId).css('width').replace("%", "");
    var oldPcntR = $("#TraderInsightPcntTxtR_" + elementId).css('width').replace("%", "");

    if ((oldPcntL != PcntL) && (oldPcntR) != PcntR) {
        $("#TraderInsightName_" + elementId)[0].innerHTML = OptionName;

        PcntL += "%";
        PcntR += "%";

        $("#TraderInsightPcntTxtL_" + elementId)[0].innerHTML = PcntL;
        $("#TraderInsightPcntTxtR_" + elementId)[0].innerHTML = PcntR;

        if (PcntL == 50) {
            PcntL = 49;
            PcntR = 51;
        }

        var animateTime = 2000;

        $('#TraderInsightPcntL_' + elementId).animate({ width: PcntL }, animateTime);
    }
}


function getCurrentTraderInsightName(elementId) {
    var CurrName = $("#TraderInsightName_" + elementId)[0].innerHTML;
    return CurrName;
}
function getNewRandomTraderInsightName() {
    var x = 0, newName = "", isExists = true;
    var RandomAssetList = ["EUR&#92;USD", "EUR&#92;GBP", "AUD&#92;USD", "EUR&#92;JPY", "GBP&#92;USD", "USD&#92;CHF"];
    //rand = RandomNum(0, 5);


    while (isExists == true && x < RandomAssetList.length) {
        newName = RandomAssetList[x];
        isExists = false;
        for (var i = 0; i < TraderInsightLimit; i++) {
            if ((typeof ($(".TraderInsightName")[i]) != "undefined") && (newName.replace("&#92;", "\\") == $(".TraderInsightName")[i].innerHTML)) {
                isExists = true;
                newName = "";
            }
        }
        x++;
    }

    return newName;
}



////////HTML


function GetTraderInsightRow() {
    var TraderInsightHTML = "";

    TraderInsightHTML += '<div id="TraderInsightRow_{0}" class="TraderInsightRow">';
    TraderInsightHTML += '  <div class="TraderInsightPcnt">';
    TraderInsightHTML += '        <div id="TraderInsightPcntL_{0}" class="TraderInsightPcntL" style="width:{2}%;">&nbsp;</div><span class="TraderInsightPcntBorder">&nbsp;</span>';
    TraderInsightHTML += '    </div>';
    TraderInsightHTML += '    <div id="TraderInsightName_{0}" class="TraderInsightName">{1}</div>';
    TraderInsightHTML += '    <div id="TraderInsightPcntTxtL_{0}" class="TraderInsightPcntTxt TraderInsightPcntTxtL">{2}%</div>';
    TraderInsightHTML += '    <div id="TraderInsightPcntTxtR_{0}"  class="TraderInsightPcntTxt TraderInsightPcntTxtR">{3}%</div>';
    TraderInsightHTML += '    <div class="TraderInsightOverlay"><img src="'+BaseSkin+'/Media/Images/trader_insight_row.png" style="display:none" /></div>';
    TraderInsightHTML += '</div>';

    return TraderInsightHTML;
}

