﻿/*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
/*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
/*\\\\\\\\\\\\\\VARS\\\\\\\\\\\\\\\\*/
/*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
/*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
/*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
var m_filtersDisabled = false;
var m_OpenTradesActiveOptionID = "";
var pageOptions = { "Options": [] };
/*          using into opentrades.js */

var m_QuotesDic = new Object();
var m_openTradesDic = new Array();
var m_OpenTradesTimer = 0;
var m_OpenTradesActiveOrderID = "";
var m_OpenTradesOfferID = "";
var m_OpenTradesExtendSelectedOption = "";
var m_activeChartOrderId = "";
var m_OpenTradesAction = "";
var btnTitle = getServerResource("OpenTrades_ExtendCloseBtnTitle");
var WaitingMsg = 'waiting for expiry'
var counter = 0;
var m_currentFilter = ({ 'Asset': "", 'Market': "All", 'Order': "NewerFirst" });


/*                    translations                                    */
function GetGameDisplayName(game) {
    switch (game.toLowerCase()) {
        case "digital":
            return getServerResource("GameName_TradeDigital");
            break;
        case "touch":
            return getServerResource("GameName_TradeTouch");
            break;
        case "range":
            return getServerResource("GameName_TradeRange");
            break;
        default:
            return "";
            break;

    }

}

function GameNameForTitle(game) {
    switch (game.toLowerCase()) {
        case "digital":
            return getServerResource("OpenTradesTitle_TradeDigital");
            break;
        case "touch":
            return getServerResource("OpenTradesTitle_TradeTouch");
            break;
        case "range":
            return getServerResource("OpenTradesTitle_TradeRange");
            break;
        default:
            return "";
            break;

    }
}


function CreateNextStartTradingTime(boxID){
        /*
		0-market
		1-game name
		2- start time 
		example english:{0} options for {1} are not available for trading at this moment.{2}
		*/
    var formatTime = (BaseSkin.toLowerCase().indexOf("opshom") > -1) ? "yyyy-MM-dd HH:mm" : "dd MMM yyyy HH:mm";
		
        var market=null;
		if (typeof boxID !== "undefined") {
		    market = TradeBoxManager.TradeBoxes[boxID].CurrentFilter.Market
		}
		else if (typeof m_currentFilter !== "undefined" && typeof m_currentFilter.Market !== "undefined" && m_currentFilter.Market != 'All') {
		    market = m_currentFilter.Market;
        }
		

		var nextStartTimeMsg="";
		var optionsStartTime = (market != null) ? TradeServices_GetFilteredTradeStartTimes(m_Game, market) :
		                                                    TradeServices_GetTradeStartTimes(m_Game);         
		
	
		if (optionsStartTime!==null &&  optionsStartTime.StartTime != null)
                nextStartTimeMsg += '<br />' + String.format(getServerResource("AssetFiltering_TradeWillStartAt") ,
				                                             ServerTime.getInstance().ServerTimeToLocal(optionsStartTime.StartTime).format(formatTime))+'<br />';

		var marketName = (market != null) ? getServerResource("Combobox_" + market) :
		                                            getServerResource("Combobox_"+m_currentFilter.Market);
		var msg = String.format(getServerResource("TradeRoom_OptionsArentAvailable"),
																					marketName,
																					GetGameDisplayName(m_Game),
																					nextStartTimeMsg);
		
		return  msg;
}

function ConvertArrayToOptionsObjs(OptionsAr) {
    pageOptions.Options = [];
    for (var i = 0; i < OptionsAr.length; i++)
        pageOptions.Options.push({ "ID": OptionsAr[i][0],
            "A1": OptionsAr[i][1],
            "A2": OptionsAr[i][2],
            "MKT": OptionsAr[i][3],
            "Expired": OptionsAr[i][4],
            "TTEInS": OptionsAr[i][5],
            "DI": OptionsAr[i][6],
            "NE": OptionsAr[i][7],
            "Price": OptionsAr[i][8],
            "Payout": OptionsAr[i][9],
            "ROL": OptionsAr[i][10],
            "EAt": OptionsAr[i][11],
            "EAtIPad": OptionsAr[i][12],
            "Type": OptionsAr[i][13],
            "Desc": OptionsAr[i][14],
            "NextOptions": OptionsAr[i][15],
            "Name": OptionsAr[i][16]
        });

}

/*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
function updatePrices() {

    QuoteServices_GetJoinedPrices(getOptionStrReq(), getQuotesDicReqStr(), onUpdatePrices);

}
/*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
function onUpdatePrices(result) {
    //result 0-OptionPrices,1-QuotesDic,2-F

    if (!(result === null)) {
        onNewActiveOptionsPrices(ConvertArrayToPriceObject(result[0]), result[2]);
        onUpdateQuotesDic(result[1]);
    }
}
/*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
function ConvertArrayToPriceObject(OptionPricesAr) {
    var ResOptionPricesAr = [];
    if (typeof OptionPricesAr[0] == "undefined") {return ResOptionPricesAr;}
    for (var i = 0; i < OptionPricesAr.length; i++) {
        if (typeof OptionPricesAr[i] !== "undefined") {
            var o = new Object();
            o.OptionID = OptionPricesAr[i][0];
            o.OrigPrice = OptionPricesAr[i][1];

            switch (m_Game.toLocaleLowerCase()) {
                case "digital":
                    o.Price = OptionPricesAr[i][2];
                    break;
                case "touch":
                    o.PriceDown = OptionPricesAr[i][2];
                    o.PriceUp = OptionPricesAr[i][3];
                    break;
                case "range":
                    o.RangeDown = OptionPricesAr[i][2];
                    o.RangeUp = OptionPricesAr[i][3];
                    break;
                default:
                    break;
            }

            o.A = OptionPricesAr[i][4];
            o.TS = OptionPricesAr[i][5];
            ResOptionPricesAr.push(o);
        }
    }
    return ResOptionPricesAr;
}



function addToFavoritesAssets(A1, A2) {
    var maxCookies = 6;
    var favoritAssetCookie = Get_Cookie("FavoritAsset");
    var assetsArray = new Array();
    var assetsPair = A1 + "," + A2;
    if ((favoritAssetCookie == null) || (favoritAssetCookie == "") || (favoritAssetCookie == "undefined")) {
        Set_Cookie("FavoritAsset", assetsPair, "365", "/", "", "");
        if (document.getElementById("favoritesTd")) {
            document.getElementById("favoritesTd").style.display = "inline";
        }
    }
    else {
        if (favoritAssetCookie.indexOf(assetsPair) == -1) {
            if (favoritAssetCookie.split("\t").length < maxCookies) {
                favoritAssetCookie = favoritAssetCookie + "\t" + assetsPair;
            }
            else {
                assetsArray = favoritAssetCookie.split("\t");
                assetsArray.shift();
                assetsArray.push(assetsPair);
                favoritAssetCookie = assetsArray.join("\t");
            }
            Set_Cookie("FavoritAsset", favoritAssetCookie, "365", "/", "", "");
        }
    }
}

/*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/

function GetMSTimeToNextQHour() {
    //Set nex refresh time to check
    var dateTime = ServerTime.getInstance().GetServerTime();
    var minute = dateTime.getMinutes();

    if (minute < 1) minute = 1 - minute;
    else if (minute < 16) minute = 16 - minute;
    else if (minute < 31) minute = 31 - minute;
    else if (minute < 46) minute = 46 - minute;
    else if (minute < 60) minute = 60 - minute + 1;

    return minute * 60000;
}
/*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
/*--------------------------------open trades methods--------------------------------*/
function startUpdateQuotesDic() {
    QuoteServices_GetQuotesDic(getQuotesDicReqStr(), endUpdateQuotesDic);
}
function getQuotesDicReqStr() {

    var reqStr = String();
    var currOptions;
    for (i in m_openTradesDic) {
        try {
            currOptions = m_openTradesDic[i].OptionID;
            if (!(reqStr.indexOf(currOptions) >= 0)) {
                reqStr = reqStr + currOptions + ";";
            }
        }
        catch (e) { }
    }
    return reqStr;
}


function onUpdateQuotesDic(newQuotesDic) {
   
    for (i in newQuotesDic) {
        m_QuotesDic[i] = newQuotesDic[i];
    }
   
    for (i in m_openTradesDic) {
        var targetSpotTD;
        var targetProfitSpan;
        var targetProfitTD;
        var trade;
        var quote;
        try {
            trade = m_openTradesDic[i];
            if (trade != null) {
                quote = m_QuotesDic[trade.TAID];
                var msTimeToExpiry = getTradeOrderExpiry(trade) - ServerTime.getInstance().GetServerTime();

                if (quote != null) {

                    if (msTimeToExpiry > 30 * 1000) { //on the last minuts  show rate and return message
                        drawSpotAndProfit(trade, quote.P);
                        if (m_activeChartOrderId == i) {
                            pushPriceToOpenTradesChart(quote.P, quote.TS);
                        }
                    }
                }
                if (msTimeToExpiry < 31 * 1000) {
                    if (msTimeToExpiry > 0) {//on last 30 seconds ahos progressor image
                        drawSyncing(trade);
                        CloseChangeYourTradeDIV(trade.OrderID);
                    }
                    else {
                        removeSyncing(trade); //should finaly return and Expiry at
                        expiryTD.innerHTML = getOpenTradeExpiryDisplay(trade);
                    }

                }
            }
        }
        catch (ex) {
        }
    }
}
function CloseChangeYourTradeDIV(OrderID){
if($("#ChangeYourTradeDIV").length>0 && OrderID== m_OpenTradesActiveOrderID)
							{
							    $(".ChangeYourTradeDIVAlt").css("display","block");
                                 $(".ChangeYourTradeDIV").css("display", "none");		 
							}
}


function drawSyncing(trade) {
     if($("#openTradeRow_" + trade.OrderID + "_Profit").children("img").length==0){
		$("#openTradeRow_" + trade.OrderID + "_Profit").html("<img src='" + BaseSkin + "/media/images/progress.gif' title='" + WaitingMsg + "' style='padding-left:10px'/>")
		                                                .removeClass("potentialLoseTd potentialWinTd");
		}   
}

function removeSyncing(trade) {
 	if($("#openTradeRow_" + trade.OrderID + "_Profit").children("img").length>0){
	   $("#openTradeRow_" + trade.OrderID + "_Profit").children("img").remove()
	                                                  .addClass("potentialLoseTd");
	}  
}
function updateOrderProfit(targetTD, simulatedExpiryResult, profit) {
targetTD.innerHTML=((isNaN(profit))?profit:m_CurrentCS + parseFloat(profit).toFixed(2));
}
function getTradeQuoteKey(trade) {
    return trade.A1 + "," + trade.A2;
}
function getTradeOrderExpiry(trade) {
    return trade.EAt;
}

 
function handleOpenTrades() {
    if (m_session != '') {
            TradeServices_GetOpenTrades(onGetOpenTradesSuccess)
            // reduced update time from 60 to 45 seconds to reduce posibility for "Offer no longer valid" message
        if (m_OpenTradesTimer == 0){
            m_OpenTradesTimer = setInterval('handleOpenTrades()', 45000);
			}
    }
}
function onGetOpenTradesSuccess(result) {
    if (result == null) {
        return;
    }
    var openTrades = result; ;
    if (openTrades == -1) {
        ShowMsgbox(getServerResource('SaveTradeOrder_NotLoggedIn'), RedirectTradeRoomWithoutSession);
        return;
    }

    for (i in openTrades) {
        if (m_openTradesDic[openTrades[i].OrderID] == undefined) {
            m_openTradesDic[openTrades[i].OrderID] = openTrades[i];
        }
        else {
            updateOpenTradeInfo(m_openTradesDic[openTrades[i].OrderID], openTrades[i]);
        }
    }

    var newArrayContains;
    var isHighLo;
    for (i in m_openTradesDic) {
        newArrayContains = arrayConatinsOrderID(openTrades, m_openTradesDic[i].OrderID);
        isHighLo = m_openTradesDic[i].G == "Digital";
        if (!newArrayContains && (!isHighLo || (isHighLo && m_openTradesDic[i].IsAlive))) {
            removeOrderFromDic(i);
        }
    }
    drawOpenTrades(m_openTradesDic);
	GetUserBalance();
}

function updateOpenTradeInfo(oldTrade, newTrade) {
    oldTrade.IsAlive = newTrade.IsAlive;
    oldTrade.EXT = newTrade.EXT;
    oldTrade.STP = newTrade.STP;
}


function arrayConatinsOrderID(array, orderID) {

    var i = array.length;
    while (i--) {
        if (array[i].OrderID === orderID) {
            return true;
        }
    }
    return false;

}

function removeOrderFromDic(OrderID) {
    try {
        delete m_openTradesDic[OrderID];

    }
    catch (ex) { }
}
function GetTradeOrderRow(OrderID) {
    return document.getElementById('openTradeRow_' + OrderID);
}


function HandleOpenTradesTimers() {

    try {
        var trade;
        var msTimeToExpiry;

        for (i in m_openTradesDic) {
            try {
                trade = m_openTradesDic[i];
                var expiryTD = document.getElementById('openTradeRow_' + trade.OrderID + '_Expiry');
                msTimeToExpiry = getTradeOrderExpiry(trade) - ServerTime.getInstance().GetServerTime();
             
                if (msTimeToExpiry < -30 * 1000) {//remove option
                    removeOrderFromDic(i);
                    handleOpenTrades();
					GetUserBalance();
                }
                else if ((trade.G.toLowerCase() == "digital" || trade.G.toLowerCase() == "range") && msTimeToExpiry < 0) //if option expired<-5 * 1000 
                {

                    if (!m_OpenTradesTimer === 0) {
                        clearInterval(m_OpenTradesTimer);
                        m_OpenTradesTimer = 0;
                    }             

                    if (trade['ExpiryRate'] === undefined){
                          TradeServices_CheckOptionsExpiredRate(m_session, trade.OptionID, onCheckOptionsExpiredRate);
						  return;
                         }
                    else {
					     expiryTD.innerHTML =getOpenTradeExpiryDisplay(trade);
						 if($("#openTradeRow_" + trade.OrderID + "_Profit").children("img").length==0 && $("#openTradeRow_" + trade.OrderID + "_Profit").html().length==0){
						     drawSpotAndProfit(trade, trade['ExpiryRate']);
						   }
						}
						
                        if (trade.OrderID == m_activeChartOrderId){
                            pushPriceToOpenTradesChart(trade['ExpiryRate'], getTradeOrderExpiry(trade));
							}
                  }
              
                else {


                    if (!(trade.IsAlive)) {                       
                             expiryTD.innerHTML = getOpenTradeExpiryDisplay(trade);
                          }
                }
            }
            catch (e)
        { }
        }


    }
    catch (ex) { }

    if (typeof TradeBoxManager !== "undefined") {
        for (k in TradeBoxManager.TradeBoxes) {
            if (TradeBoxManager.TradeBoxes[k].TradeTimeLeftTD !== null && typeof TradeBoxManager.TradeBoxes[k].TradeTimeLeftTD !== "undefined"){
                TradeBoxManager.TradeBoxes[k].setTimeLeft();
				}
        }
    }
	
	
	
	
}


function ProfitCalculate(tmpExpiry, trade) {
var profit=0;
    switch (tmpExpiry) {
        case 1:
             profit = (1 + trade.Payout / 100) * trade.Volume;break;
        case -1:
            profit= (trade.ROL / 100) * trade.Volume;break;
        default:
            profit= trade.Volume;break;
    }
	return parseFloat(profit).toFixed(2);
}

function drawSpotAndProfit(trade, quote, isAlert) {

    var targetSpotTD = document.getElementById('openTradeRow_' + trade.OrderID + '_Spot');
    if (!(targetSpotTD === null)) {

        var spot;
        if (isNaN(quote))
            spot = quote;
        else
            spot = parseFloat(quote).toPrecision(4);

        targetSpotTD.innerHTML = spot;  
          }
	  $("#curStrike_"+trade.OrderID).html(quote);
	
    if (trade.G.toLowerCase() == "digital" || trade.G.toLowerCase() == "range") {
        targetProfitSpan = document.getElementById('openTradeRow_' + trade.OrderID + '_Profit');

        if (targetProfitSpan != null) {
            targetProfitTD = targetProfitSpan.parentNode;
           
            $(targetProfitTD).removeClass("potentialLoseTd potentialWinTd");
            var tmpExpiry = simulateExpiry(m_openTradesDic[i], quote);
            var profit = ProfitCalculate(tmpExpiry, trade);

            switch (tmpExpiry) {
                case 1:

                    updateOrderProfit(targetProfitSpan, tmpExpiry, profit);                  
					if(parseFloat(profit) !== 0){
					    $(targetProfitTD).addClass("potentialWinTd");
						}
                    break;
                case -1:

                    updateOrderProfit(targetProfitSpan, tmpExpiry, profit);
                 	if(parseFloat(profit) !== 0){
					    $(targetProfitTD).addClass("potentialLoseTd");}
                    break;
                case 0:
                default:

                    updateOrderProfit(targetProfitSpan, tmpExpiry, profit);
                 
					if(parseFloat(profit) !== 0){
					   $(targetProfitTD).addClass("potentialWinTd");
					   }
                    break;
            }
        }
    }
}

function onCheckOptionsExpiredRate(resultOrigin) {
if(resultOrigin==null) return;
    if (typeof resultOrigin.e!=="undefined" && resultOrigin.e!==null) {
	     var result = resultOrigin.e;
        if (!(result === null) && result.length > 0) {
            for (index in m_openTradesDic) {
                if (m_openTradesDic[index].OptionID == result[0].OptionID) {
                    m_openTradesDic[index]['ExpiryRate'] = result[0].ExpiryRate;
					var expiryTD = document.getElementById('openTradeRow_' + m_openTradesDic[index].OrderID + '_Expiry');
                        expiryTD.innerHTML =getOpenTradeExpiryDisplay(m_openTradesDic[index]);
                }
            }
        }

        if (resultOrigin.u != null && typeof resultOrigin.u !== "undefined") {
            onSuccessGetUser(resultOrigin.u);
        }
    }
	else {
	if(resultOrigin.K!==undefined){
	   ShowMsgbox(getServerResource(resultOrigin.K));
	   }
	
}
}

function getOpenTradesChart() {
    if (document.getElementById("openTradesChartFrame") != null) {
        var chartFrame = document.getElementById("openTradesChartFrame").contentWindow; //window.frames['ChartFrame'];
        if (typeof (chartFrame.PLOT) != 'undefined')
            return chartFrame;
    } return null;
}
function simulateExpiry(trade, spot) {
    switch (trade.G.toLowerCase()) {
        case 'digital':
            return hiloSimulatedExpiry(trade, spot);
        case 'range':
            return rangeSimulatedExpiry(trade, spot);
    }

}


function rangeSimulatedExpiry(trade, spot) {
    var StrikeHigh = trade.TradeRate.split('-')[0];
    var StrikeLow = trade.TradeRate.split('-')[1];

    if (StrikeHigh == spot || StrikeLow == spot) {
        return 0;
    }
    else if ((StrikeHigh > spot && StrikeLow < spot && trade.IsIn) || ((StrikeHigh < spot || StrikeLow > spot) && !trade.IsIn)) {
        return 1;
    }
    else {
        return -1;
    }
}


function hiloSimulatedExpiry(trade, spot) {

    if (trade.TradeRate == spot) {
        return 0;
    }
    else if ((trade.TradeRate < spot && trade.IsCall) || (trade.TradeRate > spot && !trade.IsCall)) {
        return 1;
    }
    else {
        return -1;
    }
}

function pushPriceToOpenTradesChart(quotePrice, quoteTS) {
    try {
        var chartFrame = getOpenTradesChart();

        if ((!(chartFrame === null))) {
            chartFrame.setNewData(quotePrice, quoteTS);
        }
    }
    catch (ex) { }
}


function getOpenTradeExpiryDisplay(trade) {
    try {

        if (!(trade['ExpiryRate'] === undefined) && (parseFloat(trade['ExpiryRate']) > 0)) {
		        drawSpotAndProfit(trade, trade['ExpiryRate']);
		        return getServerResource("AssetTradeBlock_ExpiredAt") + " " + trade['ExpiryRate'] + "&nbsp;&nbsp;";
            }
		
        var timeDiffMS = getTradeOrderExpiry(trade) - ServerTime.getInstance().GetServerTime();
        if (!trade.IsAlive) {
		  
            if (timeDiffMS > 0) {
                var timeDiff = msToTimeSpan(timeDiffMS);
                return timeDiff.formatTime("m:ss");
            }
            else
                return "<b>" + getServerResource("AssetTradeBlock_Expiring") + "</b>";

        }
        else {
            if (Theme == "Bank") {
                var h = EAt.getHours();
                var min = EAt.getMinutes();
                return ((h < 10) ? "0" + h : h) + ":" + ((min < 10) ? "0" + min : min);
            }
            else
                return optionExpiryTS(trade.EAt, true);
        }
    }
    catch (ex) {
        try { return trade.ExpireAtTime; }
        catch (e) { }
    }
}


function GetOptionTableStyleName() {
    if ($.browser.msie && parseInt($.browser.version, 10) == 7)
        return "openTradesListTable7";
    return "openTradesListTable";

}

function drawOpenTrades(openTrades) {
	
     var sb = new StringBuilder();
    var index = 0;
    $("#openTradesTable>tbody>tr").remove();

    for (var i in openTrades) {
       	$(buildOpenTradeRow(openTrades[i], index)).appendTo("#openTradesTable>tbody");
       	index++;
    }
    for (var i = index; i < 9; i++) {
       $(buildOpenTradeEmptyRow(i)).appendTo("#openTradesTable>tbody");
    }
	
    var openTradeRow = document.getElementById('openTradeRow_' + $("[id*=LastActionOrderID]").val().split("-")[1]); //check if the order still exists
    if(openTradeRow==null) {hideOpenTradeOptions();}
	else{
	   
	    if($("[id*=LastActionOrderID]").length>0){
		   var v=$("[id*=LastActionOrderID]").val();
		   if(v.length>0){	   
				   $("#openTradeBtns_"+$("[id*=LastActionOrderID]").val().split("-")[1]).find("img").each(function(){
				        if( this.getAttribute("onclick")!==null){
						    var last_action=$("[id*=LastActionOrderID]").val().split("-")[0].toLowerCase();							
				          if(this.src.toLowerCase().indexOf(last_action)>-1){
						    	      this.onclick();
						   }
						}
				   });	  
				   
				}
	}
	}	
	if($(".OpenTradeChangeClecked").length>0){//optionxpcheck if the order still exists
   	ShowTradeOptions(null, null, null);
	}
    if ((openTrades.length == 0) || !document.getElementById('openTradeRow_' + m_activeChartOrderId)) {
        hideOpenTradesChart(true);
    }


}

function SendDoubleTrade() {
    var trObj = document.getElementById('openTradeRow_' + m_OpenTradesActiveOrderID + '_Spot').parentElement;
	if(trObj==null || typeof trObj=="undefined"){
	trObj = document.getElementById('openTradeRow_' + m_OpenTradesActiveOrderID + '_Spot').parentNode;
	}

    var spot = document.getElementById('curStrike_' + m_OpenTradesActiveOrderID).innerHTML;
    var amount = document.getElementById('openTradeRow_' + m_OpenTradesActiveOrderID + '_Volume').innerHTML.replace(m_CurrentCS, "");
    var isUp = trObj.getAttribute("isUp");
    var optionId = trObj.getAttribute("optionId");

    TradeServices_AddBinaryTradeOrder(m_session, optionId, isUp, spot, amount, SendDoubleTrade_OnComplete);
}
function SendDoubleTrade_OnComplete(result) {
    if (result == null) {
        ShowMsgbox(getServerResource("Exceptions_LimitationException"));
        return;
    }
    if (result.ERR == "0"){
	    GetUserBalance();//reload balance
        handleOpenTrades();
       }
    ShowMsgbox(stringFormat(getServerResource(result.K), result.P));

}

function ReloadFilter() {
    m_currentFilter = ({ 'Asset': "", 'Market': "All", 'Order': "NewerFirst" });
    m_lastFilter = "";
    reselectMarket();
    reselectAssetFilterCombo();
    showHideMilkMessageOnWholeOperationPanel(false);

}

function reselectAssetFilterCombo() {
    SelectOptionByValue("assetsFilterCombo", String.format("asset_{0}", m_currentFilter.Asset));
}
function reselectMarket() {
    selectMarketBtn(m_currentFilter.Market);
}

function ResetFilters() {
    resetMarketsFilter();
}

function ShowFilteredNoOptionsMsg() {
    var msg;
    if (m_currentFilter.Market != 'All' && m_currentFilter.Asset == "" && m_currentFilter.Market != 'Favorites') {
       
		msg =CreateNextStartTradingTime();
    }
    else {
        msg = getServerResource("AssetFiltering_NoOptions") + '<br /><br />';
    }
    msg += '<a href="#" onclick="restoreFilter()" class="ReturnPrevView">' + getServerResource("AssetFiltering_Return") + '</a>';

    showHideMilkMessageOnWholeOperationPanel(true, msg);

}

function ShowNoOptionsMsg() {
    if (!m_filtersDisabled) {
        m_filtersDisabled = true;
		
        /*var optionsStartTime = TradeServices_GetTradeStartTimes(m_Game);
        var msg = getServerResource("AssetFiltering_CurrentlyNo") + ' ' + GetGameDisplayName(m_Game) + ' ' + getServerResource("AssetFiltering_OptionsAreAvailable");
        if (optionsStartTime.StartTime != null){
            msg += ',<br /> <br />' + getServerResource("AssetFiltering_TradeWillStartAt") + ' ' + ServerTime.getInstance().ServerTimeToLocal(optionsStartTime.StartTime).format("dd MMM yyyy HH:mm");
			}
        //HACK: should be entirly moved to serverside message generation
*/
        showHideMilkMessageOnWholeOperationPanel(true, CreateNextStartTradingTime());
		
    }
}

