var catesecunde = 2;
var corate = [[null, 0, '']];
var rademsaj = 0;
var trdv_msecupd = 5555;


function modifintabel(tbl, simbol, camp, vlr) {
    punenva(damicelula(tbl, simbol, camp), vlr);
    return;
}

function trdv_dahtmul(elem) {
    try {
        if (typeof (elem.innerText) != "undefined") //IE
            return elem.innerText;
        else
            return elem.textContent;
    }
    catch (Error) { }
    return "999";
    // return sim.replace(/^\s*|\s*$/g, '');
}

function daptext(elem) {
    var sir = trdv_dahtmul(elem);
    var i = sir.indexOf('<');
    if (i > 0) return sir.substring(i, sir.length - 1);
    else return sir;
}
function punenfata(a, t) {
    var sir = a.innerHTML;
    var i = sir.indexOf('<');
    if (i > 0) a.innerHTML = t + sir.substring(i, sir.length - 1);
    else a.innerHTML = t;
}

function punenva(a, n) {
    if (a == null) 
        return;
    if (a.childNodes.count == 0)
        return;
        
    a = a.childNodes[0];
    nrsp = n.indexOf('/');
    if (nrsp > 0) {
        np1 = Number(n.substr(0, nrsp));
        np2 = Number(n.substr(nrsp + 1));
        if (np1 == 0 || np2 == 0) return;
        n = (np1 / np2 - 1) * 100; n = n.toFixed(2);
    }
    re = /,/g;
    n1 = Number(String(daptext(a)).replace(re, '').replace('%', ''));
    n2 = Number(String(n).replace(re, ''));
    //if (a.tagName == 'SPAN') aco = a.parentNode; else aco = a;
    dealbit(a, catesecunde);
    //document.getElementById('dedebug').innerHTML = daptext(a) + ' ' + n2;
    if (n1 > n2) a.className = 'fxq_red';
    if (n1 < n2) a.className = 'fxq_green';
    if (n1 > n2 || n2 > n1) a.title = daptext(a);
    if (nrsp > 0) {
        a.innerHTML = n + '%';
        if (n > 0) a.className = "cotUp_home";
        else if (n < 0) a.className = "cotDown_home";
        else if (n = 0) a.className = "cotSame_home";
    }
    else
    {
		var decimals = a.getAttribute("decimals");
		if (decimals != "" && decimals != null)
			punenfata(a, trdv_fnum_decimals(n,decimals));
		else
			punenfata(a, trdv_fnum(n));		
    }
        
}

function trdv_fnum(n) {
    var nn = Number(n);
    var result = "";
    if (Math.abs(nn) < 10)
        result = nn.toFixed(4);
    else if (Math.abs(nn) < 1000)
        result = nn.toFixed(2);
    else
        result = nn.toFixed(0);
    
    if (Math.abs(nn) > 999) 
        result = punevirgula(result);
    
    return result;
}

function trdv_fnum_decimals(n,decimals) {
    var nn = Number(n);
    var result = "";
    result = nn.toFixed(decimals);
    
    if (Math.abs(nn) > 999) 
        result = punevirgula(result);
    
    return result;
}

function punevirgula(s) {
	var i=s.indexOf(".");
	if(i>0) return punevirgula(s.substr(0, i)) + s.substr(i);
    if (s.length > 3) return punevirgula(s.substr(0, s.length - 3)) + ',' + s.substr(s.length - 3, 3);	
    return s;
}

function dealbit(ce, nrsec) {
    var i;
    for (i = 0; i < corate.length; i++) {
        if (corate[i][0] == null || corate[i][0] == ce) break;
    }
    nau = damiacu2() + nrsec;
    //corate[i] = [ce, nau, ce.className];
    corate[i] = [ce, nau, ""];
}

function albire() {
    var i;
    nau = damiacu2();
    cdp = '';
    //debugger
    for (i = 0; i < corate.length; i++) {
        if (corate[i][0] != null) {
            if (corate[i][1] < nau || corate[i][1] > nau + 99) {
                aco = corate[i][0];
                aco.title = '';
                //if (aco.tagName == 'SPAN') aco = aco.parentNode;
                var isChange = aco.getAttribute("isChange");
                if (isChange =="" || isChange== null)
				{
					aco.className = corate[i][2];
					var defaultClass = aco.getAttribute("defaultClass");
					if (defaultClass != "" && defaultClass != null)
						aco.className = defaultClass;
				}
                corate[i][0] = null;
            }
        }
    }
    toutalbire = setTimeout('albire()', 888);
}

function damicelula(tabel, simbol, coloana) {
    var tbl = null;
    try { var test = tabel.childNodes[0]; tbl = tabel;}
    catch (Error) {
        var ata = document.getElementsByTagName('table');
        for (i = 0; i < ata.length; i++) {
            wt = ata[i].getAttribute('whatsup');
            if (wt == tabel) { tbl = ata[i]; break; }
        }
    }
    if (tbl == null) return null;
    var capu = tbl.childNodes[0].childNodes[0];
    tbl = tbl.childNodes[1];
    var rindu = null;
    //alert(tbl.childNodes.length);
    for (i = 0; i < tbl.childNodes.length; i++) {
        row = tbl.childNodes[i];
        if (trdv_dahtmul(row.childNodes[0]) == simbol) { rindu = row; break; }  //return row.childNodes[cln];
    }
    if (rindu == null) return null;
    if (coloana == "") return rindu;
    for (i = 0; i < capu.childNodes.length; i++)
        if (coloana == capu.childNodes[i].innerHTML) return rindu.childNodes[i];
    return null;
}

var ultimulid = 0;
var trdv_ooo=null;
function trdv_verif(ss) {
    var a1, re, i, aa, wt;
    ss = String(ss);
    re = /<br>/gim;
    aa = ss.split(re);
    ata = document.getElementsByTagName('table');
    //trdv_ooo=document.getElementById('gi_mesaje'); if(trdv_ooo!=null) trdv_ooo.innerHTML = ss;
    for (j = 0; j < aa.length; j++) {
        rind = aa[j].split('|');
        if (Number(rind[0]) > ultimulid) {

            for (i = 0; i < ata.length; i++) {
                wt = ata[i].getAttribute('whatsup');
                if (wt == rind[1] && wt == 'XT') { // XTXTXTXT
                    var nr2 = rind[3].split(' ');
                    catesecunde = 2;
                    modifintabel(ata[i], rind[2], 'bid', nr2[0]);
                    modifintabel(ata[i], rind[2], 'ask', nr2[1]);
                    //
                }
                if (wt == rind[1] && wt == 'ID') { // XTXTXTXT
                    var nr2 = rind[3].split(' ');
                    catesecunde = 2;
                    modifintabel(ata[i], rind[2], 'last', nr2[0]);
                    modifintabel(ata[i], rind[2], 'change', nr2[0] + '/' + nr2[1]);
                }
            } // for
        } // sunt noi
    }
    if (aa.length > 0) 
        ultimulid = Number(aa[aa.length - 1].split('|')[0]);
}

function simscurt(simbol) {
    if (simbol.length < 9) return simbol;
    return simbol.substring(0, simbol.length - 5).replace('_RON_', '').replace('_', ' ');
}
function damiacu2() {
    dd = new Date();
    return (dd.getSeconds() + 60 * dd.getMinutes());
}

//************************************************************************************************************/	




creator = new trdv_sack();


creator.onCompletion = function() { trdv_procesare(creator.response); };
creator.requestFile = 'whatsupp.aspx';

//var myFrame;

function trdv_procesare(sst) {
    trdv_verif(sst);
    //trdv_b = setTimeout('trdv_fnload()', trdv_msecupd);
}

function trdv_fnload() {
    
    creator.runAJAX();

	//if (myFrame == null)
	//{
	//    myFrame = document.createElement("iframe");
//		document.body.appendChild(myFrame);
//	}
    
//    myFrame.src = "http://www.tradeville.eu/site/home/whatsupp.aspx";
   
};

function trdv_start() {
    trdv_b = setInterval('trdv_fnload()', trdv_msecupd);
    trdv_c = setTimeout('albire()', 1234);   
    
    
}
trdv_start();

//************************************************************************************************************/	
function trdv_sack(file) {
    this.AjaxFailedAlert = "Nu merge autoactualizarea pe browser-ul dvs. ! \n";
    this.requestFile = file;
    this.method = "GET";
    this.URLString = "";
    this.encodeURIString = true;
    this.execute = false;

    this.onLoading = function() { };
    this.onLoaded = function() { };
    this.onInteractive = function() { };
    this.onCompletion = function() { };

    this.createAJAX = function() {
        try {
            this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (err) {
                this.xmlhttp = null;
            }
        }
        if (!this.xmlhttp && typeof XMLHttpRequest != "undefined")
            this.xmlhttp = new XMLHttpRequest();
        if (!this.xmlhttp) {
            this.failed = true;
        }
    };

    this.setVar = function(name, value) {
        if (this.URLString.length < 3) {
            this.URLString = name + "=" + value;
        } else {
            this.URLString += "&" + name + "=" + value;
        }
    }

    this.encVar = function(name, value) {
        var varString = encodeURIComponent(name) + "=" + encodeURIComponent(value);
        return varString;
    }

    this.encodeURLString = function(string) {
        varArray = string.split('&');
        for (i = 0; i < varArray.length; i++) {
            urlVars = varArray[i].split('=');
            if (urlVars[0].indexOf('amp;') != -1) {
                urlVars[0] = urlVars[0].substring(4);
            }
            varArray[i] = this.encVar(urlVars[0], urlVars[1]);
        }
        return varArray.join('&');
    }

    this.runResponse = function() {
        eval(this.response);
    }

    this.runAJAX = function(urlstring) {
        this.responseStatus = new Array(2);
        if (this.failed && this.AjaxFailedAlert) {
            alert(this.AjaxFailedAlert);
        } else {
            if (urlstring) {
                if (this.URLString.length) {
                    this.URLString = this.URLString + "&" + urlstring;
                } else {
                    this.URLString = urlstring;
                }
            }
            if (this.encodeURIString) {
                var timeval = new Date().getTime();
                this.URLString = this.encodeURLString(this.URLString);
                this.setVar("rndval", timeval);
            }
            if (this.element) { this.elementObj = document.getElementById(this.element); }
            if (this.xmlhttp) {
                var self = this;
                if (this.method == "GET") {
                    var totalurlstring = this.requestFile; // + "?" + this.URLString;
                    this.xmlhttp.open(this.method, totalurlstring, true);
                } else {
                    this.xmlhttp.open(this.method, this.requestFile, true);
                }
                if (this.method == "POST") {
                    try {
                        this.xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
                    } catch (e) { }
                }

                this.xmlhttp.send(this.URLString);
                this.xmlhttp.onreadystatechange = function() {
                    switch (self.xmlhttp.readyState) {
                        case 1:
                            self.onLoading();
                            break;
                        case 2:
                            self.onLoaded();
                            break;
                        case 3:
                            self.onInteractive();
                            break;
                        case 4:
                            self.response = self.xmlhttp.responseText;
                            self.responseXML = self.xmlhttp.responseXML;
                            self.responseStatus[0] = self.xmlhttp.status;
                            self.responseStatus[1] = self.xmlhttp.statusText;
                            self.onCompletion();
                            if (self.execute) { self.runResponse(); }
                            if (self.elementObj) {
                                var elemNodeName = self.elementObj.nodeName;
                                elemNodeName.toLowerCase();
                                if (elemNodeName == "input" || elemNodeName == "select" || elemNodeName == "option" || elemNodeName == "textarea") {
                                    self.elementObj.value = self.response;
                                } else {
                                    self.elementObj.innerHTML = self.response;
                                }
                            }
                            self.URLString = "";
                            break;
                    }
                };
            }
        }
    };
    this.createAJAX();
}
