﻿// JScript File
function GetPrice()
{
    xPrice = CreateXMLHttpRequest();
    window.clearTimeout(intPrice);
    var url = "Process.aspx?Type=S&Page=" + vpage;
    GetData(xPrice, url, ShowPrice);
}
function ShowPrice()
{
    if (xPrice.readyState == 4)
    {
        if(xPrice.status == 200)
        {
            if (xPrice.responseText.length <= 0) {intPrice = setTimeout('GetPrice()',Time2Refresh); return;}
            var ar = xPrice.responseText.split('^');
            var info = ar[0].split(':');
            var data = ar[1].split('|');

            ShowInfo(info);
            if (data.length <= 0){intPrice = setTimeout('GetPrice()',Time2Refresh); return;}
            else
            {
                ShowFilterList(data);
                ShowData(data);
            }
            counter += 1;
            window.status = "Loaded " + counter + " times.";
            intPrice = setTimeout('GetPrice()',Time2Refresh);
        }
        else
        {
            counter += 1;
            window.status = "Loaded" + counter;
            intPrice = setTimeout('GetPrice()',Time2Refresh);
        }
    }
}
//Hiển trang header trên đầu, VNIndex,...
function ShowInfo(info)
{
        if (info[3] == "" || info[3] == "0")
        {
            document.getElementById("phienGD").innerHTML = "0";
            document.getElementById("VNIndex").innerHTML = "HNX-INDEX : <font color='Blue'>" + info[1] + "</font>";
            document.getElementById("VNIndexChange").innerHTML = "0";
            document.getElementById("VNIndexChangePercent").innerHTML = "0%";   
        }
        else
        {
            var fIndexChange = parseFloat(info[4]);
            document.getElementById("phienGD").innerHTML = info[3];
            document.getElementById("VNIndex").innerHTML = (fIndexChange >= 0 ? "HNX-INDEX : <font color='Blue'>" : "HNX-INDEX : <font color='Red'>") + info[1] + "</font>";
            document.getElementById("VNIndexChange").innerHTML = (fIndexChange >= 0 ? "<font color='Blue'>" : "<font color='Red'>") + info[4] + "</font>";
            document.getElementById("VNIndexChangePercent").innerHTML = (fIndexChange >= 0 ? "<font color='Blue'>▲+" : "<font color='Red'>▼") + info[6] + "</font>";
        }
         
        document.getElementById("TotalShares").innerHTML = info[2]==""?"0":info[2];
        document.getElementById("TotalValues").innerHTML = info[5]==""?"0":info[5];
        document.getElementById("TotalTrade").innerHTML = info[0]==""?"0":info[0];
        createFloatingHeader();
}

function createFloatingHeader()
{
    document.getElementById("divFloatHeader").innerHTML = document.getElementById("divBanner").innerHTML + TableHeader() + "</table>";
}

function showTime()
	{
		var Digital=new Date();
		var year=Digital.getFullYear();
		var month=Digital.getMonth() + 1;
		var day=Digital.getDate();
		var hours=Digital.getHours();
		var minutes=Digital.getMinutes();
		var seconds=Digital.getSeconds();
		var dn = "AM";
		if (hours >= 12)
		{
		    dn = "PM";
		}
		if (hours > 12)
		{
			hours = hours - 12
		}
		if (hours == 0)
			hours = 12
		if (minutes<=9)
			minutes="0"+minutes
		if (seconds<=9)
			seconds="0"+seconds			
		document.getElementById("MarketTime").innerHTML=
		hours+":"+minutes+":"+seconds+" "+dn+" "+year+"-"+month+"-"+day;		
		
		setTimeout("showTime()",1000);
}

function HeaderOnDblClick()
{
    if (ShowAdditionalStockSymbolCol == true)
    {
        ShowAdditionalStockSymbolCol = false;
    }
    else
    {
        ShowAdditionalStockSymbolCol = true;
    }
    document.getElementById("divFloatHeader").style.top = -200;
    createFloatingHeader();
}

function TableHeader()
{
     var s = new StringBuilder();
     s.append("<table id='tb' class='datalist' cellpadding='0' width='100%'>");
     s.append("<tr align='center' nowrap='nowrap' ondblclick='HeaderOnDblClick()'>");
     s.append("<td class='HCol01' rowspan='2' width='2%'>" + langTxt.Txt_TblCol_No + "</td>");
     s.append("<td class='HCol02' rowspan='2' width='4%'>" + langTxt.Txt_TblCol_StockSymbol + "</td>");
     s.append("<td class='HCol03' rowspan='2' width='3%'>" + langTxt.Txt_TblCol_Ref + "</td>");
     s.append("<td class='HCol04' rowspan='2' width='3%'>" + langTxt.Txt_TblCol_Ceil + "</td>");
     s.append("<td class='HCol05' rowspan='2' width='3%'>" + langTxt.Txt_TblCol_Floor + "</td>");
     s.append("<td class='HCol05' rowspan='2' width='5%'>" + langTxt.Txt_TblCol_FRoom + "</td>");
     s.append("<td class='HCol05' rowspan='2' width='4%'>" + langTxt.Txt_TblCol_FRoomDev + "</td>");
     s.append(" <td rowspan='2' class='HCol06' width='4%'>" + langTxt.Txt_TblCol_TotalMatch + "</td>");
     s.append(" <td rowspan='2' class='HCol08' width='3%'>" + langTxt.Txt_TblCol_Lowest + "</td>");
     s.append(" <td rowspan='2' class='HCol09' width='3%'>" + langTxt.Txt_TblCol_Highest + "</td>");
     s.append("<td class='HCol07' colspan='7'>" + langTxt.Txt_TblCol_Bid + "</td>");
     if (ShowAdditionalStockSymbolCol == true)
     {
        s.append("<td class='HCol02' rowspan='2' width='4%' >" + langTxt.Txt_TblCol_StockSymbol + "</td>");
     }          
     s.append(" <td class='HCol10' colspan='3'>" + langTxt.Txt_TblCol_Trade + "</td>");
     s.append("<td class='HCol11' colspan='7'>" + langTxt.Txt_TblCol_Offer + "</td>");
     //Second row
     s.append("<tr align='center' nowrap='nowrap' ondblclick='HeaderOnDblClick()'>");
     //Mua
     s.append("<td class='HCol07S1' width='4%'>" + langTxt.Txt_TblCol_Vol4 + "</td>"); // KL 4+
     s.append("<td class='HCol07S1' width='3%'>" + langTxt.Txt_TblCol_Price3 + "</td>");
     s.append("<td class='HCol07S1' width='3%'>" + langTxt.Txt_TblCol_Vol3 + "</td>");
     s.append("<td class='HCol07S1' width='3%'>" + langTxt.Txt_TblCol_Price2 + "</td>");
     s.append("<td class='HCol07S1' width='3%'>" + langTxt.Txt_TblCol_Vol2 + "</td>");     
     s.append("<td class='HCol07S1' width='3%'>" + langTxt.Txt_TblCol_Price1 + "</td>");
     s.append("<td class='HCol07S1' width='3%'>" + langTxt.Txt_TblCol_Vol1 + "</td>");     
     //Thay doi
     s.append("<td class='HCol10S1' width='3%'>" + langTxt.Txt_TblCol_Price + "</td>");
     s.append("<td class='HCol10S1' width='3%'>" + langTxt.Txt_TblCol_Change + "</td>");
     s.append("<td class='HCol10S1' width='3%'>" + langTxt.Txt_TblCol_Vol + "</td>");
     //Ban
     s.append("<td class='HCol11S1' width='3%'>" + langTxt.Txt_TblCol_Price1 + "</td>");
     s.append("<td class='HCol11S1' width='3%'>" + langTxt.Txt_TblCol_Vol1 + "</td>");
     s.append("<td class='HCol11S1' width='3%'>" + langTxt.Txt_TblCol_Price2 + "</td>");
     s.append("<td class='HCol11S1' width='3%'>" + langTxt.Txt_TblCol_Vol2 + "</td>");     
     s.append("<td class='HCol11S1' width='3%'>" + langTxt.Txt_TblCol_Price3 + "</td>");
     s.append("<td class='HCol11S1' width='3%'>" + langTxt.Txt_TblCol_Vol3 + "</td>");               
     s.append("<td class='HCol11S1' width='4%'>" + langTxt.Txt_TblCol_Vol4 + "</td>"); // KL 4+              

     return s.toString();  
}
function TableFooter()
{
    return "</table>";
}
function ShowData(newdata)
{  
    if (!price )  
    {            
        price = newdata;         
    }    
  
    var view = new StringBuilder();
    var alternate = ""; // odd, even row for alternative color
    var iNo = 1;

    for(var i = 0; i < newdata.length; i++)
    {
        if (newdata[i] != "")
        {       
            var stock = newdata[i].split(":");
            if (isChecked("chkStkSbl_" + stock[0]))
            {
                var old = price[i].split(":");           
                var flStk12 = parseFloat(stock[12]);
                var flStk1_Ref  = parseFloat(stock[1]);
                var flStk2_Ceil = parseFloat(stock[2]);
                var flStk3_Fl   = parseFloat(stock[3]);
                var flRoomDev   = parseFloat(stock[23]);

                //số thứ tự
                view.append("<TR onmousedown='javascript:rowClicked(this)'><TD class='DCol01" + alternate + "'><font class='DVal01'>" + (iNo) + "</font></TD>");
                iNo++;
                //Mã chứng khoán
                view.append("<TD class='DCol02" + alternate + "' width='4%' style='border-right-width: 0px'><a href='http://www.hsc.com.vn/hscportal/corporate/view.do?companyCode=" + stock[0] + "' style='color:Black;' target='_blank'>" + stock[0] + "</a>");
                //Hiển thị mũi tên tướng ứng với giá lên hay xuống                
                if(stock[11] != "")
                {
                    if(flStk12 != 0)
                    {
                        view.append("<font class='" + (flStk12 > 0 ? "Inc2'>▲</font>" : "Dec2'>▼</font>"));
                    }
                    else
                    {
                        view.append("<font class='RefPrice'></font>");
                    }
                }
                else
                {
                    view.append("<font></font>");
                }
                view.append("</TD>");
                
                //Giá tham chiếu, giá trần, giá sàn
                view.append("<TD class='DCol03" + alternate + "' width='3%'><font class='RefPrice'>" + stock[1] + "</font></TD>"); //GTC
                view.append("<TD class='DCol04" + alternate + "' width='3%'><font class='Ceiling'>" + stock[2] + "</font></TD>"); //T
                view.append("<TD class='DCol05" + alternate + "' width='3%'><font class='Floor'>" + stock[3] + "</font></TD>"); //S
                
                // Current Room
                view.append("<TD class='DColFRoom" + alternate + "' width='5%'><font class='DVal01'>" + stock[22] + "</font></TD>"); // Current Room
                if (flRoomDev > 0)
                {
                    view.append("<TD class='DColFRoom" + alternate + "' width='4%'><font class='Dec2'>" + stock[23] + "</font></TD>"); // Room change
                }
                else if (flRoomDev < 0)
                {
                    view.append("<TD class='DColFRoom" + alternate + "' width='4%'><font class='Inc2'>" + stock[23].replace(/-/,"") + "</font></TD>"); // Room change
                }
                else
                {
                    view.append("<TD class='DColFRoom" + alternate + "' width='4%'><font class='RefPrice2'>" + stock[23] + "</font></TD>"); // Room change
                }
              
               //Tổng
                view.append("<TD class='DCol06" + alternate + "' width='4%'><font class='DVal06'>" + stock[4] + "</font></TD>");
                //Thấp nhất
                view.append("<TD class='DCol08S1" + alternate + "' width='3%'><font class='DVal08S1'>" + stock[20] + "</font></TD>");
                //Cao nhất
                 view.append("<TD class='DCol09S1" + alternate + "' width='3%'><font class='DVal09S1'>" + stock[21] + "</font></TD>");
                                  
                //Mua 
                if (stock[24] == " ") stock[24] = old[24];
                view.append(createTdsBidOffer("DCol07S1" + alternate, old[24], stock[24], flStk1_Ref, flStk2_Ceil, flStk3_Fl, stock[5], "Ceiling2")); // KL 4+
                view.append(createTdsBidOffer("DCol07S1" + alternate, old[5], stock[5], flStk1_Ref, flStk2_Ceil, flStk3_Fl, stock[5], "Ceiling2"));
                view.append(createTdsBidOffer("DCol07S1" + alternate, old[6], stock[6], flStk1_Ref, flStk2_Ceil, flStk3_Fl, stock[5], "Ceiling2"));
                view.append(createTdsBidOffer("DCol07S1" + alternate, old[7], stock[7], flStk1_Ref, flStk2_Ceil, flStk3_Fl, stock[7], "Ceiling2"));
                view.append(createTdsBidOffer("DCol07S1" + alternate, old[8], stock[8], flStk1_Ref, flStk2_Ceil, flStk3_Fl, stock[7], "Ceiling2"));
                view.append(createTdsBidOffer("DCol07S1" + alternate, old[9], stock[9], flStk1_Ref, flStk2_Ceil, flStk3_Fl, stock[9], "Ceiling2"));
                view.append(createTdsBidOffer("DCol07S1" + alternate, old[10], stock[10], flStk1_Ref, flStk2_Ceil, flStk3_Fl, stock[9], "Ceiling2"));

                if (ShowAdditionalStockSymbolCol == true)
                {
                    //Mã chứng khoán
                    view.append("<TD class='DCol02" + alternate + "' width='4%' style='border-right-width: 0px; text-align:center;'><font class='DVal02'>" + stock[0] + "</font>");
                    //Hiển thị mũi tên tướng ứng với giá lên hay xuống                
                    if(stock[11] != "")
                    {
                        if(flStk12 != 0)
                        {
                            view.append("<font class='" + (flStk12 > 0 ? "Inc2'>▲</font>" : "Dec2'>▼</font>"));
                        }
                        else
                        {
                            view.append("<font class='RefPrice3'></font>");
                        }
                    }
                    else
                    {
                        view.append("<font></font>");
                    }
                    view.append("</TD>");
                }
                
                //gia thay doi
                if(stock[11] != "" && stock[11] != "0.0" &&  flStk12 != 0)
                {
                        var fontOpenTag = "<font>";
                        if (flStk12 > 0)
                        {
                            if (stock[11] == stock[2])
                            {
                                fontOpenTag = "<font class='Ceiling3'>";
                            }
                            else
                            {
                                fontOpenTag = "<font class='Inc2'>";
                            }
                        }
                        else
                        {
                            if (stock[11] == stock[3])
                            {
                                fontOpenTag = "<font class='Floor3'>";
                            }
                            else
                            {            
                                fontOpenTag = "<font class='Dec2'>";
                            }
                        }
                
                    view.append("<TD class='DCol10S1" + alternate + "' width='3%'>" + fontOpenTag + stock[11] + "</font></TD>");
                    view.append("<TD nowrap class='DCol10S1" + alternate + "' width='3%'>");
                    view.append(fontOpenTag);
                    view.append((flStk12 > 0 ? "▲+":"▼"));
                    view.append(flStk12 != 0 ? stock[12] : 0);
                    view.append("</font></TD>");
                    view.append("<TD class='DCol10S1" + alternate + "' width='3%'>" + fontOpenTag + stock[13] + "</font></TD>");
                }
                else
                {
                    view.append("<TD class='DCol10S1" + alternate + "' width='3%'>" + "<font class='RefPrice3'>" + stock[11] + "</font></TD>");
                    view.append("<TD nowrap class='DCol10S1" + alternate + "' width='3%'>");
                    view.append("<font class='RefPrice3'>");
                    view.append(" ");
                    view.append("</font></TD>");
                    view.append("<TD class='DCol10S1" + alternate + "' width='3%'>" + "<font class='RefPrice3'>" + stock[13] + "</font></TD>");
                }
               
               
                //Bán
                view.append(createTdsBidOffer("DCol11S1" + alternate, old[14], stock[14], flStk1_Ref, flStk2_Ceil, flStk3_Fl, stock[14], "Floor2"));
                view.append(createTdsBidOffer("DCol11S1" + alternate, old[15], stock[15], flStk1_Ref, flStk2_Ceil, flStk3_Fl, stock[14], "Floor2"));                    
                view.append(createTdsBidOffer("DCol11S1" + alternate, old[16], stock[16], flStk1_Ref, flStk2_Ceil, flStk3_Fl, stock[16], "Floor2"));
                view.append(createTdsBidOffer("DCol11S1" + alternate, old[17], stock[17], flStk1_Ref, flStk2_Ceil, flStk3_Fl, stock[16], "Floor2"));
                view.append(createTdsBidOffer("DCol11S1" + alternate, old[18], stock[18], flStk1_Ref, flStk2_Ceil, flStk3_Fl, stock[18], "Floor2"));
                view.append(createTdsBidOffer("DCol11S1" + alternate, old[19], stock[19], flStk1_Ref, flStk2_Ceil, flStk3_Fl, stock[18], "Floor2"));                  
                if (stock[25] == " ") stock[25] = old[25];
                view.append(createTdsBidOffer("DCol11S1" + alternate, old[25], stock[25], flStk1_Ref, flStk2_Ceil, flStk3_Fl, stock[18], "Floor2")); // KL 4+
                view.append("</TR>");
                
                if (alternate == "")
                {
                    alternate = "A";
                }
                else 
                {
                    alternate = "";
                }
            }
        }
    }
    zipBack();
    //Cập nhật price: lưu lại trang trước giá cũ
    for(var k=0;k<newdata.length;k++)
    {
        price[k] = newdata[k];
    } 
    //Tạo bảng giá
    document.getElementById("Content").innerHTML = TableHeader() + view.toString() + TableFooter();
}


function createTdsBidOffer(colStyle, old, stock, ref, ceil, floor, price, styleATOATC)
{
    var view = new StringBuilder();
    if (old != stock)                
    {
        view.append("<TD class='ColChanged'>" + stock + "</TD>");                
    }
    else
    {
        view.append("<TD class='" + colStyle + "'>");
        if ((price == "ATO") || (price == "ATC"))
        {
            view.append("<font class='" + styleATOATC + "'>" + stock + "</font></TD>");
        }
        else
        {
            var flPrice = parseFloat(price);
            if (flPrice > ref)
            {
                if (flPrice == ceil)
                {
                    view.append("<font class='Ceiling2'>" + stock + "</font></TD>");
                }
                else
                {
                    view.append("<font class='Inc'>" + stock + "</font></TD>");
                }
            }
            else if (flPrice < ref)
            {
                if (flPrice == floor)
                {
                    view.append("<font class='Floor2'>" + stock + "</font></TD>");
                }
                else
                {            
                    view.append("<font class='Dec'>" + stock + "</font></TD>");
                }
            }
            else 
            {
                view.append("<font class='RefPrice2'>" + stock + "</font></TD>");
            }
        }
    }
    return view.toString();
}