// // Burzovni monitor // // Copyright © 2006 Rast d.o.o. All rights reserved. Sva prava pridržana. // Javascript by Dario Carev // Podaci var brojdionica=0; var zadnjaizmjena=""; var stanje=""; var trebareset=""; var req; var url="/ernt/podaci.php"; var timeout = new Array (20000, 10000, 1000, 1000, 1000, 1000, 1000, 5000); var podaci = new Array(); var dionice = new Array(); var trziste = new Array(); var zute = new Array(); var dubina = 10; var zutih = 0; // Timer var uctimer; // stanja var muc=document.getElementById("ucitavanje"); var mzi=document.getElementById("zadnjaizmjena"); var mst=document.getElementById("stanje"); //var crobex=document.getElementById("crobex"); //var promet=document.getElementById("promet"); // Boje var boje = new Array(); boje["tablica"]= "#EFEFEF" boje["zuta"] = new Array ("#FFFF00", "#FFFF33", "#FFFF66", "#FFFF99", "#FFFFAA", "#FFFFBB", "#FFFFCC"); boje["red"] = new Array ("#EFEFEF", "#D0D0F2"); boje["kolone"] = new Array("", "", "", "", "", "", "", "", "", "", "", "", "", ""); boje["closed"] = "#C0C0C0"; boje["preopen"] = "#C0C0C0"; boje["suspend"] = "#FF9090"; // Slike if (document.images) { var trokut= new Image(9,9); var trokutb= new Image(9,9); var trokutc= new Image(9,9); var trokutz= new Image(9,9); var p1 = new Image(82,19); var p2 = new Image(82,19); var p3 = new Image(82,19); var p4 = new Image(82,19); var p1s = new Image(82,19); var p2s = new Image(82,19); var p3s = new Image(82,19); var p4s = new Image(82,19); trokut.src="/slike/005/hr/monitor/trokut.gif"; trokutb.src="/slike/005/hr/monitor/trokutb.gif"; trokutc.src="/slike/005/hr/monitor/trokutc.gif"; trokutz.src="/slike/005/hr/monitor/trokutz.gif"; p1.src="/slike/005/hr/monitor/p1.gif"; p2.src="/slike/005/hr/monitor/p2.gif"; p3.src="/slike/005/hr/monitor/p3.gif"; p1s.src="/slike/005/hr/monitor/p1s.gif"; p2s.src="/slike/005/hr/monitor/p2s.gif"; p3s.src="/slike/005/hr/monitor/p3s.gif"; } function Dummy() { } function mod(div,base) { return Math.round(div - (Math.floor(div/base)*base)); } function formatnumber (num, predznak) { var str=num.replace(" ",""); num = num.replace(" ",""); num = num.replace("[\.]",""); num = num.replace(",","."); num = parseFloat(num); if (isNaN(num)) { return "-"; } else { if ((num>0) && (predznak==1)) str="+" + str; return str; } } if (!Array.prototype.indexOf) { Array.prototype.indexOf = function(elt /*, from*/) { var len = this.length; var from = Number(arguments[1]) || 0; from = (from < 0) ? Math.ceil(from) : Math.floor(from); if (from < 0) from += len; for (; from < len; from++) { if (from in this && this[from] === elt) return from; } return -1; }; } function processReqChangeA(req) { var dionica = new Array(); broj = 0; response = req.responseText.split("\r\n"); broj = response[3]; zutih = 0; if (broj>0) { zadnjaizmjena = response[0]; stanje = response[2]; dionice = new Array(); podaci = new Array(); trziste = response[1].split(";"); trebareset = trziste[0]; // Crobex i promet // !!! brisano !!! for (var i=4; i<(broj+3); i++) { if (response[i]) { linija=response[i]; dionica=linija.split(";"); if (dionica[35]) { dionica[35]=dionica[35].split(" ")[1].split(":"); } else { dionica[35]=["","",""]; } dionica[33]=0; if (dionica[36] && (dionica[36] != "")) { dionica[36]=dionica[36].split("|"); for (var j=0; j0) { klasa="#009900"; trokut="trokutz.gif"; } } vrijemetekst = dionica[35][0]+":"+dionica[35][1]; vrijemeboja = ""; switch (dionica[31]) { case "PO": vrijemeboja = boje["preopen"]; break; case "OP": vrijemeboja = boje["kolone"][2]; break; case "SU": vrijemetekst = 'STOP'; vrijemeboja = boje["suspend"]; break; default: vrijemetekst = tekststanja = 'X'; vrijemeboja = boje["closed"]; break; } // Vrijeme zute[j].cells[2].innerHTML=vrijemetekst; zute[j].cells[2].bgColor=vrijemeboja; // Kupnja zute[j].cells[3].innerHTML=formatnumber(dionica[3],0); // Prodaja zute[j].cells[4].innerHTML=formatnumber(dionica[11],0); // Početna zute[j].cells[5].innerHTML=formatnumber(dionica[22],0); // Najviša zute[j].cells[6].innerHTML=formatnumber(dionica[23],0); // Najniža zute[j].cells[7].innerHTML=formatnumber(dionica[24],0); // Zadnja zute[j].cells[8].innerHTML=formatnumber(dionica[25],0); // Promjena zute[j].cells[9].style.color=klasa; zute[j].cells[9].innerHTML=formatnumber(dionica[26],1); // Postotak zute[j].cells[10].style.color=klasa; zute[j].cells[10].innerHTML=formatnumber(dionica[27],1)+((promjena == "-") ? "" : " %"); // Trokut zute[j].cells[11].innerHTML=''; // Količina zute[j].cells[12].innerHTML=formatnumber(dionica[28],0); // Promet zute[j].cells[13].innerHTML=formatnumber(dionica[29],0); dionice[dionice.length]=red; podaci[red]=dionica; } } } uctimer = setTimeout("Ucitavanje()",timeout[0]); muc.innerHTML=" "; if (stanje) { mst.innerHTML=stanje; } else { mst.innerHTML='-'; } } function processReqChangeB(req) { var dionica = new Array(); var praznired = document.getElementById("praznired"); broj = 0; response = req.responseText.split("\r\n"); broj = response[3]; zutih = 0; trziste = response[1].split(";"); zadnjaizmjena = response[0]; trebareset = trziste[0]; if ((response[2]+"") != "") stanje = response[2]; // Crobex i promet // !!! brisano !!! if (broj>0) { if (!zadnjaizmjena) { uctimer = setTimeout("PrvoUcitavanje()",5000); return; } if (stanje.split(" ")[0] != response[2].split(" ")[0]) { uctimer = setTimeout("PrvoUcitavanje()",5000); return; } if ((response[2]+"") != "") stanje = response[2]; if (trebareset == 1) { uctimer = setTimeout("PrvoUcitavanje()",5000); return; } var j = 0; for (var i=4; i<(broj+3); i++) { if (response[i]) { linija=response[i]; dionica=linija.split(";"); if (dionica[35]) { dionica[35]=dionica[35].split(" ")[1].split(":"); } else { dionica[35]=["","",""]; } dionica[33]=1; if (dionica[36] && (dionica[36] != "")) { dionica[36]=dionica[36].split("|"); for (var k=0; k0) { klasa="#009900"; trokut="trokutz.gif"; } } for (var k=0; kX'; vrijemeboja = boje["closed"]; break; } // Vrijeme zute[j].cells[2].innerHTML=vrijemetekst; zute[j].cells[2].bgColor=vrijemeboja; // Kupnja if (podaci[red][3] != dionica[3]) zute[j].cells[3].bgColor=boje["zuta"][0]; zute[j].cells[3].innerHTML=formatnumber(dionica[3],0); // Prodaja if (podaci[red][11] != dionica[11]) zute[j].cells[4].bgColor=boje["zuta"][0]; zute[j].cells[4].innerHTML=formatnumber(dionica[11],0); // Početna if (podaci[red][22] != dionica[22]) zute[j].cells[5].bgColor.bgColor=boje["zuta"][0]; zute[j].cells[5].innerHTML=formatnumber(dionica[22],0); // Najviša if (podaci[red][23] != dionica[23]) zute[j].cells[6].bgColor.bgColor=boje["zuta"][0]; zute[j].cells[6].innerHTML=formatnumber(dionica[23],0); // Najniža if (podaci[red][24] != dionica[24]) zute[j].cells[7].bgColor=boje["zuta"][0]; zute[j].cells[7].innerHTML=formatnumber(dionica[24],0); // Zadnja if (podaci[red][25] != dionica[25]) zute[j].cells[8].bgColor=boje["zuta"][0]; zute[j].cells[8].innerHTML=formatnumber(dionica[25],0); // Promjena if (podaci[red][26] != dionica[26]) zute[j].cells[9].bgColor=boje["zuta"][0]; zute[j].cells[9].style.color=klasa; zute[j].cells[9].innerHTML=formatnumber(dionica[26],1); // Postotak if (podaci[red][27] != dionica[27]) zute[j].cells[10].bgColor=boje["zuta"][0]; zute[j].cells[10].style.color=klasa; zute[j].cells[10].innerHTML=formatnumber(dionica[27],1)+((promjena == "-") ? "" : " %"); // Trokut zute[j].cells[11].innerHTML=''; // Količina if (podaci[red][28] != dionica[28]) zute[j].cells[12].bgColor=boje["zuta"][0]; zute[j].cells[12].innerHTML=formatnumber(dionica[28],0); // Promet if (podaci[red][29] != dionica[29]) zute[j].cells[13].bgColor=boje["zuta"][0]; zute[j].cells[13].innerHTML=formatnumber(dionica[29],0); podaci[red]=dionica; j++; } zutih = j; } } muc.innerHTML=" "; if (stanje) { mst.innerHTML=stanje; } else { mst.innerHTML='-'; } uctimer = setTimeout("Zuto1()",timeout[1]); } function PrvoUcitavanje() { clearTimeout(uctimer); muc.innerHTML=''; AjaxRequest.get( { 'url' : url, 'onSuccess' : processReqChangeA, 'timeout':15000, 'onTimeout':PrvoUcitavanjeTimeout } ); } function PrvoUcitavanjeTimeout(req) { clearTimeout(uctimer); muc.innerHTML=''; if (zadnjaizmjena) { mzi.innerHTML=zadnjaizmjena.split(" ")[1]; } else { mzi.innerHTML='-'; } uctimer = setTimeout("PrvoUcitavanje()",15000); } function Ucitavanje() { clearTimeout(uctimer); muc.innerHTML=''; var requesturi; var strodabrane = ""; if (zadnjaizmjena) { requesturi = url+"?f[vrijeme]="+zadnjaizmjena; } else { requesturi = url; } AjaxRequest.post( { 'url' : requesturi, 'parameters':{'f[odabrane]':strodabrane}, 'onSuccess' : processReqChangeB, 'timeout' : 15000, 'onTimeout' : UcitavanjeTimeout } ); } function UcitavanjeTimeout(req) { clearTimeout(uctimer); mzi.bgColor="#8989E0"; if (zadnjaizmjena) { mzi.innerHTML=zadnjaizmjena.split(" ")[1]; } else { mzi.innerHTML='-'; } uctimer = setTimeout("Ucitavanje()",15000); } function Zuto1() { clearTimeout(uctimer); for (var i=0; i