﻿function liveUpdater(sresp) {

    var ar0 = sresp.split("#");

    // Chek Old Items need for remove 
    //var el = $('lmdiv_1765').getElementsByClassName('InplayGames');
    var el = document.getElementsByClassName('InplayGames');

    var oldArray = new Array();
    for (var k = 0; k < el.length; k++) {

        oldArray.push(el[k].id);
    }

    //

    var newArray = new Array();
    
    for (var sl = 0; sl < ar0.length - 1; sl++) {

        var ar1 = ar0[sl].split("~");
        var ar2; // line 
        var ar3;
        var ar4;
        ar2 = ar1[sl].split("|");
        
       
        for (var a = 0; a < ar1.length -1 ; a++) {

            ar2 = ar1[a].split("|")
            ar3 = ar2[7].split("*");
            
            newArray.push("game_" + ar2[0]);
            
            for (var ka = 0; ka < ar3.length - 1; ka++) {

            try {
                
                var kElement = ar3[ka];
                var kElementArray = kElement.split(":");
                
                var kaDivName = "v_" + kElementArray[1];
                var kaDiv = document.getElementById(kaDivName);

                var kaDivTotulName = "v_" + ar2[0];
                var kaDivTotul = document.getElementById(kaDivTotulName);
                var totul = kElementArray[2].split("$");
                
               
                var prev = kaDiv.innerHTML;
                var newPrice = kElementArray[3];

                ChangesEffect(kaDiv,prev, newPrice);

                    if (newPrice < 1) {

                        kaDiv.innerHTML = '-';
                        
                    }else{

                        kaDiv.innerHTML = newPrice;
                    }

                    if (totul[1] <= 1) {

                        kaDivTotul.innerHTML = "-";

                    } else {

                    if (totul[0] != "") {
                        kaDivTotul.innerHTML = totul[1];
                    }
                    
                    }

                    

                } catch (ex) {

                    //alert(ex.message);
                    continue;
                }
 
            }

        }

    }

////    alert(oldArray.inspect());
////    alert(newArray.inspect());

}


function ChangesEffect(kaDiv,prev, newPrice)

{

      if (parseFloat(prev) > parseFloat(newPrice)) 
                    {
                        fadme(kaDiv, 'down');
                    }

                    if (parseFloat(prev) < parseFloat(newPrice)) {
                        fadme(kaDiv, 'up');
                    }

                    if (parseFloat(prev) == parseFloat(newPrice)) {
                        fadme(kaDiv, 'equal');
                    }

}

//- Add Line Function 
function addLine(ArrOdds)
{

//      var ArrTD = new Array(ar3.length);
//      var ArDiv = new Array(ar3.length);
//                    
//    for (var r = 0; r < 7; r++) 
//    {

//                        ArrTD[r] = document.createElement("td");
//                        ArDiv[r] = document.createElement("div");


//                        if (ArrOdds[2 * r + 1] != "-") 
//                        {

//                            $ac(ArrTD[r], "pr");
//                            $ac(ArDiv[r], "prd");

//                            ArDiv[r].setAttribute("id", "v_" + ArrOdds[2 * r + 1]);
//                            ArDiv[r].onclick = new Function("ts('" + ArrOdds[2 * r + 1] + "','" + gameID + "');");

//                                if (parseFloat(ArrOdds[2 * r]) < 1 && parseFloat(ArrOdds[2 * r]) > 0) 
//                                {
//                                    ArDiv[r].innerHTML = "-";

//                                }else{

//                                    ArDiv[r].setAttribute("isp", 0);
//                                    ArDiv[r].onmouseover = new Function("hov(this);");
//                                    ArDiv[r].onmouseout = new Function("hov1(this);");
//                                    ArDiv[r].innerHTML = ArrOdds[2 * r];
//                                }


//                        }else{

//                            $ac(ArDiv[r], "foraT");
//                            if (ArrOdds[2 * r] > 1) 
//                            {
//                                ArDiv[r].innerHTML = ArrOdds[2 * r];
//                            }

//                        }
                    
}



//----//


function fadme(obj, state) {
    switch (state) {
        case 'up':
            new Effect.Highlight(obj, { startcolor: '#00ff00', duration: 10 });
            break;

        case 'down':
            new Effect.Highlight(obj, { startcolor: '#ff0000', duration: 10 });
            break;

        case 'equal':
            new Effect.Highlight(obj, { keepBackgroundImage: true, duration: 1 });
            break;


    }
}



// ---- //
function buildInplayHeader(vp, sportID) {
    //-- Begin Live Odds 
    var ar0 = vp.split("#");
    for (var league = 0; league < ar0.length - 1; league++) {

        var ar1 = ar0[league].split("~");
        var ar2; // line 
        var ar3;
        var ar4;
        var leaguename;
        var gdt;
        var prevdate = "";
        var gtime;
        var hteam;
        var ateam;
        var gameID;
        var gtime;

        ar2 = ar1[0].split("|")


        leaguename = ar2[1];
        var leagueID = ar2[6];

        addLeagueName(leagueID, ar2[1]);


        // --  begin try --- 

        try {

            createoddTable(leagueID);  // Create Odd Table 
            addTDToOddTable(leagueID); // ad League To Table 

            for (var i = 0; i < ar1.length - 1; i++) {

                ar2 = ar1[i].split("|")
                ar3 = ar2[7].split("*");
                var len = ar3.length;

                var std = ar2[3].split("-");

                if (std[0] != prevdate) {
                    addDate(std[0], leagueID);
                    prevdate = std[0];
                    addInplayHeader(leagueID, len);
                }


                hteam = ar2[4];
                ateam = ar2[5];


                ar4 = ar3[0].split(":");
                k1 = ar4[3];
                k1Rc = ar4[1];

                ar4 = ar3[1].split(":");
                kx = ar4[3];
                kxRc = ar4[1];

                ar4 = ar3[2].split(":");
                k2 = ar4[3];
                k2Rc = ar4[1];

                // Totul - 17:0200200021700:ტოტ. <$39.50:1,85

                ar4 = ar3[3].split(":");
                arTotul1 = ar4[2].split("$");
                totul1 = roundForInterface(arTotul1[1], 1);
                totul1K = ar4[3];
                totul1RC = ar4[1];

                //  =
                ar4 = ar3[4].split(":");
                arTotul2 = ar4[2].split("$");
                totul2 = arTotul1[1];
                totul2K = ar4[3];
                totul2RC = ar4[1];

                //  >
                ar4 = ar3[5].split(":");
                arTotul2 = ar4[2].split("$");
                totul3 = arTotul1[1];
                totul3K = ar4[3];
                totul3RC = ar4[1];


                teams = hteam + " " + ateam;
                gameID = ar2[0];
                gtime = std[1].split(":");
                
                var gameTime = gtime[0] + ":" + gtime[1];



                //  Build  InPlay  Header 

                var tbl = document.getElementById('price_' + leagueID);
                var tblBody = document.getElementById('priceBody_' + leagueID);

                var rw = document.createElement("tr");
                
                // InplayGames
                rw.setAttribute("class","InplayGames");
                rw.setAttribute("id", "game_" + gameID);

                // Time   		
                var tim = document.createElement("td");
                tim.setAttribute("class", "tm")
                tim.setAttribute("className", "tm");
                tim.innerHTML = gameTime;
                rw.appendChild(tim);

                // teams 
                var tms = document.createElement("td");
                $ac(tms, "gmnLiveOdss");
                var teamDiv = document.createElement("div");

                teamDiv.setAttribute("id", "t" + gameID);
                teamDiv.innerHTML = teams
                tms.appendChild(teamDiv);
                rw.appendChild(tms);

                // End of Build Tennis Header

                // Buid Koefs
                var ArrOdds = null;
                var arOddsCount = 6;

                //ArrOdds = new Array(k1, k1Rc, kx, kxRc, k2, k2Rc,totul1, "-", totul1K, totul1RC, totul2K, totul2RC);
                ArrOdds = new Array(k1, k1Rc, kx, kxRc, k2, k2Rc, totul1, "-", totul1K, totul1RC, totul2K, totul2RC, totul3K, totul3RC);
                arOddsCount = 7;

                var ArrTD = new Array(ar3.length);
                var ArDiv = new Array(ar3.length);

                //0300100012000

                for (var r = 0; r < arOddsCount; r++) {

                    ArrTD[r] = document.createElement("td");
                    ArDiv[r] = document.createElement("div");


                    if (ArrOdds[2 * r + 1] != "-") {

                        $ac(ArrTD[r], "pr");
                        $ac(ArDiv[r], "prd");

                        ArDiv[r].setAttribute("id", "v_" + ArrOdds[2 * r + 1]);
                        ArDiv[r].onclick = new Function("ts('" + ArrOdds[2 * r + 1] + "','" + gameID + "');");

                        if (parseFloat(ArrOdds[2 * r]) < 1 && parseFloat(ArrOdds[2 * r]) > 0) {

                            ArDiv[r].innerHTML = "-";


                        } else {

                            ArDiv[r].setAttribute("isp", 0);

                            ArDiv[r].onmouseover = new Function("hov(this);");
                            ArDiv[r].onmouseout = new Function("hov1(this);");

                            ArDiv[r].innerHTML = ArrOdds[2 * r];
                        }


                    } else {

                        $ac(ArDiv[r], "foraT");
                        ArDiv[r].setAttribute("id", "v_" + gameID);
                    
                        if (ArrOdds[2 * r] > 1) {
                            ArDiv[r].innerHTML = ArrOdds[2 * r];
                        }

                    }



                    ArrTD[r].appendChild(ArDiv[r]);
                    rw.appendChild(ArrTD[r]);

                }

                tblBody.appendChild(rw);
                tbl.appendChild(tblBody);
                tbl.setAttribute("border", "0");
            }


        } catch (ex) {

            alert(ex.message);
            continue;
        }

        // --  end  try --- // 	

    }




}


////  header  
function addInplayHeader(leagueID, len) {
    var tbl = document.getElementById("price_" + leagueID);
    var tblBody = document.getElementById('priceBody_' + leagueID);

    var rh = document.createElement("tr");
    rh.setAttribute("class", "gth");
    rh.setAttribute("className", "gth");

    var ArrHead;
    ArrHead = new Array(" ", " ", "1", "X", "2", "ტოტ.", "ნაკ.", " ზუსტად ", "მეტი.");

    var ArrTD = new Array(ArrHead.length);

    for (iTD = 0; iTD < ArrTD.length; iTD++) {

        ArrTD[iTD] = document.createElement("td");
        ArrTD[iTD].innerHTML = ArrHead[iTD];
        rh.appendChild(ArrTD[iTD]);

        if (iTD == 1) {
            ArrTD[iTD].setAttribute("class", "gthCouple")
            ArrTD[iTD].setAttribute("className", "gthCouple");
        }

    }

    tblBody.appendChild(rh);
    tbl.appendChild(tblBody);
}

////  end  header 
	






    //----




// -- End of  Styles


var LiveUrl = "";
var pe = null;

var LivegameList = new Array();
// Live  games  function   
function nextLivegames(lid, langID) {

    StopExecuter(pe);
    var ld = "";
   

    $('loadPriceImage').show();

    if (LivegameList.length == 0) {
    
        LivegameList.push(lid);    
        ld = "sp/load_odds.aspx?lang=" + langID + "&lid=" + lid;
        LiveUrl = ld;
        getPrice(ld);

    } else {

        if (arFinder(LivegameList, lid) == true) {

            LivegameList.remove(lid);
            delleagues(lid);
            $('loadPriceImage').hide();

        } else {

            LivegameList.push(lid);
            ld = "sp/load_odds.aspx?lang=" + langID + "&lid=" + lid;
         
            getPrice(ld);

        }

    }

    //StopExecuter(pe);
    
    var UrlItems = "";
    // Perform Unic URL  For periodical Execuers
    for (var k = 0; k < LivegameList.length; k++) {

        if (k != 0) {
            UrlItems += "|";
        } else {
            StopExecuter(pe);
        }
        
        UrlItems +=  LivegameList[k];
    }

    //alert(UrlItems);
    if (UrlItems != "") {
        LiveUrl = "sp/load_odds.aspx?lang=" + langID + "&lid=" + UrlItems;
    } else {

        StopExecuter(pe);
    }
   
    
    if (LivegameList.length != 0) {

        if (pe == null) {
            pe = new PeriodicalExecuter(liverequest, 5);
        }
        
    } else {

       //StopExecuter(pe);
    }
    //


    if (LivegameList.length == 0) {
    
        $("content").show();

    } else {

        $("content").hide();
    }



}


function StopExecuter(obj) {
    if (obj != null) {
        obj.stop();
    }
}


function liverequest() {

    new Ajax.Request(LiveUrl,
	  {
	      method: 'get',
	      onSuccess: function(transport) {
	          var response = transport.responseText || "no response text";

	          liveUpdater(response);
	          crearError();

	      },
	      onFailure: function() { transPortError() }
	  });

}





//  new PeriodicalExecuter(function(pe) {
	
