﻿/*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
function buildOpenTradeEmptyRow(index) {
    var cls;
    if (isEven(index))
        cls = 'OpenTradeRow';
    else
        cls = 'OpenTradeRowAlt';
    return '<tr class="' + cls + '"><td colspan="9">&nbsp;</td></tr>';
}
/*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
function buildOpenTradeRow(trade, index) {

    var winStatusClass;
    var profit = 0; 
    winStatusClass = "";
        if (trade.G.toLowerCase() == "digital" || trade.G.toLowerCase() == "range") {
        var simultedExpiryResult = simulateExpiry(trade, parseFloat(trade.Spot));
		profit=ProfitCalculate(simultedExpiryResult,trade);
        switch (simultedExpiryResult) {
            case 1:
                 winStatusClass =(parseFloat(profit)!==0)? ' potentialWinTd':'';
                break;
            case -1:
               
                winStatusClass = (parseFloat(profit)!==0)?' potentialLoseTd':'';
                break;
            case 0:
            default:
                 winStatusClass = (parseFloat(profit)!==0)?' potentialWinTd':'';
                break;
        }
    }

    var styleClass = "OpenTradeRow";
    if (!isEven(index))
        styleClass += "Alt";

    var dirImg = "";
    var isUp = true;

    if (trade.Action.endsWith("Call")) { dirImg = BaseSkin + "/media/images/green_arrow.png"; isUp = true; }
    if (trade.Action.endsWith("Put")) { dirImg = BaseSkin + "/media/images/red_arrow.png"; isUp = false; }
    if (trade.Action.endsWith("Up")) { dirImg = BaseSkin + "/media/images/touch_icon.gif"; isUp = true; }
    if (trade.Action.endsWith("Down")) { dirImg = BaseSkin + "/media/images/touch_icon.gif"; isUp = false; }
    if (trade.Action.endsWith("In")) { dirImg = BaseSkin + "/media/images/in_icon.gif"; isUp = true; }
    if (trade.Action.endsWith("Out")) { dirImg = BaseSkin + "/media/images/out_icon.gif"; isUp = false; }
    var title = String.format(GameNameForTitle(trade.G), trade.OrderID);
    var row = '<tr class="' + styleClass + '" id="openTradeRow_' + trade.OrderID + '" title="' + title + '" mkt="' + trade.MKT + '"><td class="openTradesDataTD1"><table><tr><td><img class="OpenTradesDirImg" src="' + dirImg + '" onclick="showOpenTradesChart(\'' + trade.OptionID + '\',\'' + trade.TradeRate + '\',' + isUp + ',\'' + trade.A1 + '\',\'' + trade.A2 + '\',\'' + trade.OrderID + '\',\'' + trade.OptionDesc + '\');"/></td><td>' + trade.OptionDesc + '</td></tr></table></td>';
    row += '<td class="openTradesDataTD2" id="openTradeRow_' + trade.OrderID + '_Expiry">' + getOpenTradeExpiryDisplay(trade) + '</td>';
    var traderate = trade.TradeRate.replace('-', '<br />');

    row += '<td class="openTradesDataTD3" id="openTradeRow_' + trade.OrderID + '_Target">' + traderate + '</td>';
    var spot;
    if (isNaN(trade.Spot))
        spot = trade.Spot;
    else 
        spot = parseFloat(trade.Spot).toPrecision(4);
    
    row += '<td class="openTradesDataTD4" id="openTradeRow_' + trade.OrderID + '_Spot">' + spot + '</td>';
    row += '<td class="openTradesDataTD5">' + m_CurrentCS + trade.Volume + '</td>';
    row += '<td class="openTradesDataTD7 ' + winStatusClass + '"><span id="openTradeRow_' + trade.OrderID + '_Profit">' + m_CurrentCS + profit  + '</span></td>';

    row += '<td class="openTradesDataTD8" ></td>';
    row += '<td class="openTradesDataTD9" id="openTradeBtns_' + trade.OrderID + '">' + buildActionButtons(trade.OrderID, trade.OptionID, trade.G, trade.EXT, trade.STP, trade.OptionDesc, trade.BillingType,trade.MKT) + '</td>';

    var graphImg_up = BaseSkin + "/media/images/graph_up.png";
    var graphImg_over = BaseSkin + "/media/images/graph_over.png";
    var graphCode = "<img src=\"" + graphImg_up + "\" style=\"cursor:pointer;\" onmouseover=\"javascript:this.src='" + graphImg_over + "'\" onmouseout=\"javascript:this.src='" + graphImg_up + "'\" " + 'onclick="showOpenTradesChart(\'' + trade.OptionID + '\',\'' + trade.TradeRate + '\',' + isUp + ',\'' + trade.A1 + '\',\'' + trade.A2 + '\',\'' + trade.OrderID + '\',\'' + trade.OptionDesc + '\');"' + " >";

    row += '<td class="openTradesDataTD10">' + graphCode + '</td></tr>';

    return row;
}

function showOpenTradesChart(optionId, tradeRate, isUp, a1, a2, orderId, OptionDesc) {
    var d = new Date();
    m_activeChartOrderId = orderId;
    if (document.getElementById("openTradesChartDiv")) {
        if (document.getElementById("chatButtonImg")) {
            document.getElementById("chatButtonImg").style.display = "none";
        }
        if (document.getElementById("TraderInsightTable")) {
            document.getElementById("TraderInsightTable").style.display = "none";
        }
        if (document.getElementById("ContactMeMainTable")) {
            document.getElementById("ContactMeMainTable").style.display = "none";
        }
        if (document.getElementById("openTradesChartDiv")) {
            document.getElementById("openTradesChartDiv").style.display = "block";
        }
        if (document.getElementById("openTradesChartDiv")) {
            document.getElementById("openTradesChartDiv").innerHTML = '<table onclick="hideOpenTradesChart();" class="otChartTitleTable" cellpadding="0px" cellspacing="0px"><tr><td class="otChartTitleLeftTd"><img src="' + BaseSkin + '/media/images/otChart_title_left.gif" /></td><td class="otChartTitleCenterTd">' + OptionDesc + '</td><td class="otChartTitleCloseTd">Close</td><td class="otChartTitleRightTd"><img src="' + BaseSkin + '/media/images/open_trades_heder_right.gif" /></td></tr></table><iframe id="openTradesChartFrame" class="openTradesChartFrame" src="chart/flot/flotchart.aspx?o=' + optionId + '&t=' + (d.getTime() + ServerTime.getInstance().GetClientTimeZoneOffset()) + '&mode=ot&tr=' + tradeRate + '&isUp=' + isUp + '&a1=' + a1 + '&a2=' + a2 + '" frameborder="0" scrolling="no"></iframe>';
        }
        
    }
}

function hideOpenTradesChart() {
   
    if (document.getElementById("openTradesChartDiv")) {
        if (document.getElementById("chatButtonImg")) {
            document.getElementById("chatButtonImg").style.display = "block";
        }
        if (document.getElementById("TraderInsightTable")) {
            document.getElementById("TraderInsightTable").style.display = "block";
        }
        if (document.getElementById("ContactMeMainTable")) {
            document.getElementById("ContactMeMainTable").style.display = "block";
        }
        if (document.getElementById("openTradesChartDiv")) {
            document.getElementById("openTradesChartDiv").innerHTML = "";
        }
        if (document.getElementById("openTradesChartDiv")) {
            document.getElementById("openTradesChartDiv").style.display = "none";
        }
        if (document.getElementById("ChartTouchImg"))
        document.getElementById("ChartTouchImg").style.display = "none";
        m_activeChartOrderId = "";
    }
}

/*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
function buildActionButtons(OrderID, OptionID, Game, ExtendEnabled, StopEnabled, OptionDesc, BillingType,MKT) {
   	 var ExtendOn= Skin + "/media/images/extend_on.png";
	 var ExtendOff = Skin + "/media/images/extend_off.png";    
	 var CloseOn= Skin + "/media/images/close_on.png";
	 var CloseOff= Skin + "/media/images/close_off.png";
     var seperatorImg = BaseSkin + "/media/images/grey_separation_line.png"; 
     if((MKT==="Currencies")  &&  Game.toLowerCase()== "digital"){
    return  "<table style=\"float:right;\" ><tr><td><img src=\"" + seperatorImg + "\"</td>"+
	        //-------------------------  Extend button ------------------------------                 
			((ExtendEnabled )?
			
			"<td title=\"Extend\" ><img src=\"" + ExtendOn + "\"  onclick=\"javascript:showOpenTrades_Extend(" + OrderID + ",'" + OptionID + "'," + BillingType + ")\" style='cursor:pointer;' /></td>"  : 
			"<td title=\""+btnTitle+"\" ><img src=\"" + ExtendOff + "\"  style='cursor:default;' /></td>")+
			((StopEnabled )?
			"<td title=\"Close\" ><img src=\"" + CloseOn + "\" onclick=\"javascript:showOpenTrades_Stop(" + OrderID + ",'" + OptionID + "'," + BillingType + ")\" style='cursor:pointer;'  /></td><td><img src=\"" + seperatorImg + "\"</td></tr></table>":
			"<td title=\""+btnTitle+"\"><img src=\"" + CloseOff + "\"  style='cursor:default;'  /></td><td><img src=\"" + seperatorImg + "\"</td></tr></table>"
			);
			}else{
				return "<table style=\"float:right;visibility:hidden\" ><tr><td><img src=\"" + seperatorImg + "\"</td><td ><img src=\"" + ExtendOff + "\"  style='cursor:default;' /></td><td ><img src=\"" + CloseOff + "\"   /></td><td><img src=\"" + seperatorImg + "\"</td></tr></table>";
			
			}
			
}
function fnOnCancel(){
$("[id*=LastActionOrderID]").val("");
}
/*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
function showOpenTrades_Stop(orderID, OptionID, BillingType) {
    hideOpenTradeOptions(true);//hide last trade row
    if (orderID != null) {
        hideOpenTradeOptions();
        m_OpenTradesActiveOptionID = OptionID;
        m_OpenTradesActiveOrderID = orderID;
        m_OpenTradesAction = "stop";
    }
    else {
        OptionID = m_OpenTradesActiveOptionID;
        orderID = m_OpenTradesActiveOrderID;
        BillingType = getOrderFromDic(orderID).BillingType;
    }
    $("[id*=LastActionOrderID]").val("Close-"+m_OpenTradesActiveOrderID);
	
    var order = getOrderFromDic(orderID);
    if (typeof (order) == "undefined"){
        return;}

    var openTradeRow = document.getElementById('openTradeRow_' + orderID);
    var openTradesTable = document.getElementById('openTradesTable');
    var newRow = openTradesTable.insertRow(openTradeRow.rowIndex + 1);

    newRow.id = "OpenTradesOptionsRow";
    newRow.className = openTradeRow.className;

    openTradeRow.className = "OpenTradeRowActive";

    var actionBtns = document.getElementById("openTradeBtns_" + orderID);
    var seperatorImg = BaseSkin + "/media/images/white_separation_line.png";

    if (order.EXT){
        extendVisibility = "";}
    actionBtns.innerHTML = "<table style=\"float:right\"><tr><td><img src=\"" + seperatorImg + "\"</td><td><img src=\"" + Skin + "/media/images/extend_on.png\" onclick=\"javascript:showOpenTrades_Extend(" + orderID + ",'" + OptionID + "'," + BillingType + ")\" style='cursor:pointer;" + extendVisibility + "' /></td><td><img src=\"" + Skin + "/media/images/close_off.png\" onclick=\"javascript:showOpenTrades_Stop(" + orderID + ",'" + OptionID + "'," + BillingType + ")\" style='cursor:pointer;'  /></td><td><img src=\"" + seperatorImg + "\"</td></tr></table>";


       var cell = newRow.insertCell(0);
	   var cell1 = newRow.insertCell(1);
	   var cell2 = newRow.insertCell(2);
	   var cell3 = newRow.insertCell(3);
	     
	   
       $(cell).attr("colspan",4);
	     cell1.innerHTML="&nbsp;";
         cell3.innerHTML="&nbsp;";
		 cell2.innerHTML="<div style='float:right;padding-right:10px'><table><tr valign='middle'><td><img src=\"" + Skin + "/media/images/close_over.png\" onmouseover=\"javascript:this.src='" + Skin + "/media/images/close_over.png'\" onmouseout=\"javascript:this.src='" + Skin + "/media/images/close_over.png'\" onclick=\"SendCloseTrade()\" style='cursor:pointer' /></td><td><a href='#' onclick='hideOpenTradeOptions();fnOnCancel();' style='text-decoration:none;'>Cancel</a></td></tr></table></div>";
		 
    var premiumOffer = TradeServices_GetStopTradeOrderPremium(orderID);
        newRow.setAttribute("offerID",premiumOffer.OfferID);

    var cellContents = new StringBuilder();
    if (BillingType == 2) {
        cellContents.append('<div style="height:36px;line-height:36px; text-align:center;">');
		cellContents.append('<table style="width:50%;float:right"><tr>');
		cellContents.append('<td class="OpenTradesData2Span">'+getServerResource("OpenTrades_Return") +'&nbsp;:&nbsp;'+m_CurrentCS+'<span id="OpenTradeClosePremium">' + premiumOffer.Premium + '</span></td>');
		cellContents.append('</tr></table>');
        cellContents.append('</div>');
		}
    else {
        cellContents.append('<div class="ExtendStopAreaDiv">' + getServerResource("TradeRoom_OnlyForReal") + '</div>');
    }

    cell.innerHTML = cellContents.toString();
   


}
/*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
function SendCloseTrade() {
    TradeServices_StopTradeOrder(m_OpenTradesActiveOrderID, $("#OpenTradesOptionsRow").attr("offerID"), SendCloseTrade_OnComplete);


}
function removeOrderFromDic(OrderID) {
    try {
        delete m_openTradesDic[OrderID];       
    }
    catch (ex) { }
}

function getOrderFromDic(OrderID) {

    return m_openTradesDic[OrderID];
}

function SendCloseTrade_OnComplete(result) {

    if (result != null) {
        var objRes = eval(result);
        ShowMsgbox(stringFormat(getServerResource(objRes.K), objRes.P));
        GetUserBalance();
    }
    removeOrderFromDic(m_OpenTradesActiveOrderID);
    handleOpenTrades();
}
/*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
function showOpenTrades_Extend(orderID, OptionID, BillingType) {
  
     hideOpenTradeOptions(true);//hide last trade row
    if (orderID != null) {
        hideOpenTradeOptions();
        m_OpenTradesActiveOptionID = OptionID;
        m_OpenTradesActiveOrderID = orderID;
        m_OpenTradesAction = "extend";
    }
    else {
        OptionID = m_OpenTradesActiveOptionID;
        orderID = m_OpenTradesActiveOrderID;
        BillingType = getOrderFromDic(orderID).BillingType;
    }
	$("[id*=LastActionOrderID]").val("Extend-"+m_OpenTradesActiveOrderID);
	
    var order = getOrderFromDic(orderID);
    if (typeof (order) == "undefined"){
        return;}
    var openTradeRow = document.getElementById('openTradeRow_' + orderID);
    var openTradesTable = document.getElementById('openTradesTable');
    var newRow = openTradesTable.insertRow(openTradeRow.rowIndex + 1);

    newRow.id = "OpenTradesOptionsRow";
    newRow.className = openTradeRow.className;

    openTradeRow.className = "OpenTradeRowActive";


    var actionBtns = document.getElementById("openTradeBtns_" + orderID);
    var seperatorImg = BaseSkin + "/media/images/white_separation_line.png";   
    var stopVisibility = "visibility:hidden;";
    if (order.STP){
        stopVisibility = "";}


    actionBtns.innerHTML = "<table style=\"float:right\"><tr><td><img src=\"" + seperatorImg + "\"</td><td><img src=\"" + Skin + "/media/images/extend_off.png\" onclick=\"javascript:showOpenTrades_Extend(" + orderID + ",'" + OptionID + "'," + BillingType + ")\" style='cursor:pointer;' /></td><td><img src=\"" + Skin + "/media/images/close_on.png\" onclick=\"javascript:showOpenTrades_Stop(" + orderID + ",'" + OptionID + "'," + BillingType + ")\" style='cursor:pointer;" + stopVisibility + "'  /></td><td><img src=\"" + seperatorImg + "\"</td></tr></table>";


    var cell= newRow.insertCell(0);
	var cell1 = newRow.insertCell(1);
	var cell2 = newRow.insertCell(2);
	var cell3 = newRow.insertCell(3);
    var cellContents = new StringBuilder();
	    cell1.innerHTML="&nbsp;";
        cell3.innerHTML="&nbsp;";
	cell2.innerHTML="<div style='float:right;padding-right:10px'>"+
	"<table><tr valign='middle'><td><img id=\"SendExtendBtn\" src=\"" + Skin + "/media/images/extend_over.png\" onmouseover=\"javascript:this.src='" + Skin + "/media/images/extend_over.png'\" onmouseout=\"javascript:this.src='" + Skin + "/media/images/extend_over.png'\" onclick=\"SendExtendTradeOrder()\" style='cursor:pointer;' alt=\"Extend the option\" /></td><td><a href='#' onclick='hideOpenTradeOptions();fnOnCancel();' style='text-decoration:none;'>Cancel</a></td></tr></table></div>";
	
      $(cell).attr("colspan","4");
    if (BillingType == 2) {
        cellContents.append('<div style="height:36px;line-height:36px; text-align:center;">');
        cellContents.append('<table style="width:70%;float:right"><tr>');
	    cellContents.append('<td class="OpenTradesData2Span">Extend:&nbsp;<select id="OpenTradesExpandSelect" onChange="OpenTradesExpandSelectChanged(this)"></select></td>');
		cellContents.append('<td class="OpenTradesDataSpan">'+ getServerResource("OpenTrades_Cost") +':&nbsp;<span class="OpenTradesData1Span">'+m_CurrentCS+'<span id="OpenTradeReloadPremium">---</span></span></td>');
		cellContents.append('</tr></table>');    
        cellContents.append('</div>');
    }
    else {
        cellContents.append('<div class="ExtendStopAreaDiv">' + getServerResource("TradeRoom_OnlyForReal") + '</div>');
    }

    cell.innerHTML = cellContents.toString();

    if (BillingType == 2) {
        if (FillExtendOptions(orderID, OptionID) == 0) {
            cellContents = new StringBuilder();
            cellContents.append('<div style="height:20px;line-height:20px;" onclick="hideOpenTradeOptions()">');
            cellContents.append(getServerResource('TradeRoom_CantExtend'));
            cellContents.append('</div>');
            cell.innerHTML = cellContents.toString();
        }
    }}
function setOpenTradeReloadOffer(targetOptionID) {
    var OpenTradeReloadPremium = document.getElementById("OpenTradeReloadPremium");

    var result = TradeServices_GetExtandTradeOrderPremium(m_OpenTradesActiveOrderID, targetOptionID);
    if (result != null) {
        OpenTradeReloadPremium.innerHTML = result.Premium;
		$("#OpenTradesOptionsRow").attr("offerID",result.OfferID);
    }
}
/*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
function OpenTradesExpandSelectChanged(control) {
    var selectedValue = control.options[control.selectedIndex].value;
    m_OpenTradesExtendSelectedOption = selectedValue;
    setOpenTradeReloadOffer(selectedValue);
}

/*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
function SendExtendTradeOrder(orderID) {

    var OpenTradesExpandSelect = document.getElementById("OpenTradesExpandSelect");
    if (OpenTradesExpandSelect != null && (OpenTradesExpandSelect.selectedIndex < 0 || OpenTradesExpandSelect.options[OpenTradesExpandSelect.selectedIndex].text == "NA")) {
    }
    else {
        TradeServices_ExtendTradeOrder(m_OpenTradesActiveOrderID, $("#OpenTradesOptionsRow").attr("offerID"), SendExtendTradeOrder_OnComplete);

    }
}

function SendExtendTradeOrder_OnComplete(result) {
    
    if (result != null) {
        ShowMsgbox(stringFormat(getServerResource(result.K), result.P));
        GetUserBalance();
    }
    removeOrderFromDic(m_OpenTradesActiveOrderID);
    handleOpenTrades();
}
/*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
function hideOpenTradeOptions(reDraw) {
    var OpenTradesOptionsRow = document.getElementById("OpenTradesOptionsRow");
   try {
        if (OpenTradesOptionsRow != null && reDraw != false) {
            var OpenTradesActiveRow = document.getElementById("openTradeRow_" + m_OpenTradesActiveOrderID);
			    OpenTradesActiveRow.className = OpenTradesOptionsRow.className; /*resets the color of the row*/
			var mkt=OpenTradesActiveRow.getAttribute("mkt");//get market for build buttons  
            var openTradesTable = document.getElementById('openTradesTable');
                openTradesTable.deleteRow(OpenTradesOptionsRow.rowIndex);
            var actionBtns = document.getElementById("openTradeBtns_" + m_OpenTradesActiveOrderID);
            var order = getOrderFromDic(m_OpenTradesActiveOrderID);
			var option = GetOptionPerID(m_OpenTradesActiveOptionID);
            actionBtns.innerHTML = buildActionButtons(m_OpenTradesActiveOrderID, m_OpenTradesActiveOptionID, order.G, order.EXT, order.STP, order.OptionDesc, getOrderFromDic(m_OpenTradesActiveOrderID).BillingType,mkt);
        } 
    }
    catch (e) { }
    m_OpenTradesExtendSelectedOption = "";
    m_OpenTradesAction = "";
    m_OpenTradesActiveOrderID = "";
   m_OpenTradesActiveOptionID="";
}


function updateOpenTradesClock() {
    try {
        var openTradeClockSpan = document.getElementById('OpenTradesClock');

        if (openTradeClockSpan != null) {
            var clientTime = ServerTime.getInstance().GetLocalServerTime();
            var currentTimeString = clientTime.formatTime("HH:mm");  //+ " local";
            openTradeClockSpan.innerHTML = currentTimeString;
        }
    }
    catch (e) { }

}
