//
// 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="/hr/external/podaci/";
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 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("#E0E0FF", "#E0E0FF", "#E0E0FF", "#EFFFEF", "#FFEFEF", "", "", "", "", "", "", "", "", "");
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
if (trziste[1])
{
klasa="";
promjena=formatnumber(trziste[2],0);
if (promjena != "-") {
trokut="trokutb.gif";
if (parseFloat(trziste[2].replace(" ","").replace("[\.]","").replace(",","."))<0) {
klasa="#FF0000";
trokut="trokutc.gif";
}
if (parseFloat(trziste[2].replace(" ","").replace("[\.]","").replace(",","."))>0) {
klasa="#009900";
trokut="trokutz.gif";
}
}
// Iznos
crobex.cells[0].innerHTML=formatnumber(trziste[1],0);
// Postotak
crobex.cells[1].style.color=klasa;
crobex.cells[1].innerHTML=formatnumber(trziste[2],1)+((promjena == "-") ? "" : " %");
// Trokut
crobex.cells[2].innerHTML='
';
// Promet
promet.innerHTML=formatnumber(trziste[3],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]=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 (zadnjaizmjena) {
mzi.innerHTML=zadnjaizmjena.split(" ")[1];
} else {
mzi.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];
// Crobex i promet
if (trziste[1])
{
klasa="";
promjena=formatnumber(trziste[2],0);
if (promjena != "-") {
trokut="trokutb.gif";
if (parseFloat(trziste[2].replace(" ","").replace("[\.]","").replace(",","."))<0) {
klasa="#FF0000";
trokut="trokutc.gif";
}
if (parseFloat(trziste[2].replace(" ","").replace("[\.]","").replace(",","."))>0) {
klasa="#009900";
trokut="trokutz.gif";
}
}
// Iznos
crobex.cells[0].innerHTML=formatnumber(trziste[1],0);
// Postotak
crobex.cells[1].style.color=klasa;
crobex.cells[1].innerHTML=formatnumber(trziste[2],1)+((promjena == "-") ? "" : " %");
// Trokut
crobex.cells[2].innerHTML='
';
// Promet
promet.innerHTML=formatnumber(trziste[3],0);
}
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 (zadnjaizmjena) {
mzi.innerHTML=zadnjaizmjena.split(" ")[1];
} else {
mzi.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+zadnjaizmjena+".html";
} 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