var Realtime;
var request=Math.random()*10000000000000000; //startint uniqueRequestID
var refreshrate=500; //milleseconden
var lightupTime=2000; //milleseconden
var ajaxResponse="";
var startDelay;

window.onload=function(){startDelay=setTimeout("startRealTime()",2000);}

// listen("load",window,startRealTime);
function listen(evnt, elem, func) { //buiten gebruik
	if (elem.addEventListener){  // W3C DOM5.        
		Elem.addEventListener(evnt,func,false);
	}else if (elem.attachEvent) { // IE DOM7.         
		var r = elem.attachEvent("on"+evnt, func);
		return r;
	}
	else{
		window.onload=function(){startDelay=setTimeout("startRealTime()",2000);}
	}
}


function startRealTime(){
		if(document.getElementById('koersenAex')){			getJson(7);		}
		else if(document.getElementById('koersenAmx')){			getJson(8);		}
		else if(document.getElementById('koersenAscx')){			getJson(48);		}
		else if(document.getElementById('koersenLokaal')){			getJson(12);		}
}

function getJson(cat){
	var urletje;
	request+=1;
	if(cat==7){urletje="http://www.beursgorilla.nl/streaming/streaming-aex.asp?"+request;}
	else if(cat==8){urletje="http://www.beursgorilla.nl/streaming/streaming-amx.asp?"+request;}
	else if(cat==48){urletje="http://www.beursgorilla.nl/streaming/streaming-ascx.asp?"+request;}
	else if(cat==12){urletje="http://www.beursgorilla.nl/streaming/streaming-lokaal.asp?"+request;}
	ajaxen(urletje,cat);
	if(!(ajaxResponse=="")){
	var alleRijen = verwerkData(ajaxResponse);
		for(var i=0;i<alleRijen.length;i++){
			verwerkRij(alleRijen[i]);
		}
	}
}



function verwerkRij(rij){
	var items = rij.split(";");
	if(items.length==3){ // tis een correct gevulde array
		if(document.getElementById(items[0])){ //als er een rij is met deze issueID
			var cellen = document.getElementById(items[0]).getElementsByTagName('td');
			var color;
					//var datumTijd = items[1].split(" ");var tijd = datumTijd[1];
					//newTime=parseFloat(items[1])
					//oldChange=parseFloat(cellen[4].innerHTML)
					oldLast=parseFloat(cellen[2].innerHTML);
					newLast=parseFloat(items[2]).toFixed(3);
					
			if(!(newLast==oldLast)){//alleen als koers gewijzigd is
				
					oldPerc=parseFloat(cellen[3].innerHTML.replace("%",""));
					oldClose=parseFloat(cellen[5].innerHTML);
					
					newPerc=(newLast/(oldClose/100)-100).toFixed(2);
					newChange=(newLast-oldClose).toFixed(2);
					
					if(oldLast<newLast){color="green";imagestr="licht-groen";}
					else if(oldLast>newLast){color="red";imagestr="licht-rood";}
					else{color="black";imagestr="pixel";}
					if(newPerc>0){color2="green";}else if(newPerc<0){color2="red";}else{color2="black";}
					//cijfers aanpassen
					cellen[2].innerHTML=showZero(newLast,3);
					cellen[3].getElementsByTagName('font')[0].innerHTML=showZero(newPerc,2)+"%";
					cellen[4].innerHTML=showZero(newChange,2);
					
					//evt images wijzigen up-down-gelijk
					if( (oldPerc<0&&newPerc<0) || (oldPerc>0&&newPerc>0) || (oldPerc==0&&newPerc==0) ){ // geen wijziging
					}
					else{
						if(newPerc>0){cellen[1].getElementsByTagName('img')[0].src="../images/layout/koers-up.gif";} // positief
						else if(newPerc<0){cellen[1].getElementsByTagName('img')[0].src="../images/layout/koers-down.gif";}// negatief
						else{cellen[1].getElementsByTagName('img')[0].src="../images/layout/koers-isgelijk.gif";} // gelijk
					}
					
					//timeout op de lightup!
					//oud ,met zwarte tekst||cellen[3].getElementsByTagName('font')[0].style.color="black";
					cellen[2].style.backgroundImage="url(images/"+imagestr+".jpg)";
					cellen[3].style.backgroundImage="url(images/"+imagestr+".jpg)";
					var deze=document.getElementById(items[0]);
					//oud ,met zwarte tekst|| deze = setTimeout("document.getElementById('"+items[0]+"').getElementsByTagName('td')[2].style.backgroundImage='';document.getElementById('"+items[0]+"').getElementsByTagName('td')[3].style.backgroundImage='';document.getElementById('"+items[0]+"').getElementsByTagName('td')[3].getElementsByTagName('font')[0].style.color='"+color2+"';",lightupTime);
					deze = setTimeout("document.getElementById('"+items[0]+"').getElementsByTagName('td')[2].style.backgroundImage='';document.getElementById('"+items[0]+"').getElementsByTagName('td')[3].style.backgroundImage='';",lightupTime);					
			
					cellen[6].innerHTML=items[1].split(" ")[1];
					cellen[6].style.fontWeight='bold';
					var dezeTijd=document.getElementById(items[0]);
					dezeTijd = setTimeout("document.getElementById('"+items[0]+"').getElementsByTagName('td')[6].style.fontWeight='normal'",lightupTime);
			}
			//altijd als er een refresh plaatsvind !!!mits de tijd gewijzigd is!!!
			else if(!(cellen[6].innerHTML==items[1].split(" ")[1])){
					cellen[6].innerHTML=items[1].split(" ")[1];
					cellen[6].style.fontWeight='bold';
					var dezeTijd=document.getElementById(items[0]);
					dezeTijd = setTimeout("document.getElementById('"+items[0]+"').getElementsByTagName('td')[6].style.fontWeight='normal'",lightupTime);
			}
			
			
		}
	}
}
function showZero(waarde,decimalen){
	waardeText=waarde.toString();
	//if(waarde<1&&waarde>=0){waardeText="0."+waardeText;}
	if(waarde==0){waardeText="0.0";}
	if(waardeText.indexOf(".")==-1){waardeText+=".0"}
	var komma=waardeText.indexOf(".");
	var decimalenBijdoen = decimalen-(waardeText.substring(komma).length-1);
	for(var i=0;i<decimalenBijdoen;i++){waardeText+="0";}
	return waardeText;
}

function verwerkData(dataStr){
		var rijen=dataStr.split(";-;");
		return rijen;
}




if (!Number.toFixed) {
	Number.prototype.toFixed=function(x) {
	   var temp=this;
	   temp=Math.round(temp*Math.pow(10,x))/Math.pow(10,x);
	   return temp;
	};
}

function ajaxen(urlajax,cat){
	var xmlHttp;
//-------------------Browser checken-----------------------
	try{
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e){
		// Internet Explorer
		try{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e){
			try{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e){
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}
//---------------Einde Browser checken------------------------
	xmlHttp.onreadystatechange=function(){
			if(xmlHttp.readyState==4){
				ajaxResponse = xmlHttp.responseText;
				Realtime=setTimeout("getJson("+cat+");",refreshrate);
				xmlHttp=null;
				antwoord=null;
			}
	}
	xmlHttp.open("GET",urlajax,true);
	xmlHttp.send(null); 
}
