function ref_scroller() {
	//variablen
	this.current		= 0;
	
	this.box_one		= null;
	this.box_two		= null;
	
	this.box_one_pos	= 0;
	this.box_two_pos	= 200;
	
	this.referenz		= 0;
	this.referenzes;
	
	this.onloaded		= false;
	
	//funktionen
	this.init			= init_ref;
	this.fillBox		= fillBox_ref;
}
var ref_box_interval = null;
function init_ref() {
	try {		
		this.box_one = document.getElementById("ref_box_one");
		this.box_two = document.getElementById("ref_box_two");
		
		this.box_one.style.marginTop		= "0px";
		this.box_one.style.marginLeft		= "0px";
		
		this.box_two.style.marginTop		= "-300px";
		this.box_two.style.marginLeft		= "200px";
		//init ajax-request referenzen abfragen
		var ajaxRequest = getAjaxRequest();
		
		//open request
		ajaxRequest.open("GET", "/ajax/referenzen.php", true);
		ajaxRequest.setRequestHeader("Method", "POST /ajax/referenzen.php HTTP/1.1");
		ajaxRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		
		//receving request
		ajaxRequest.onreadystatechange = function() {
			if (ajaxRequest.readyState == 4 ) {
				rf.referenzes = ajaxRequest.responseXML;
				rf.onloaded = true;
				
				//erste referenz in box_one schreiben
				ref_box_interval = window.setInterval(scroll_ref, 2);
				//fillBox_ref();
			}
		}
		ajaxRequest.send(null);
		//referenzen wurden abgefragt
		
		this.box_one.style.display = "block";
		this.box_two.style.display = "block";
	}
	catch(e) {
		write_js_log("getCords_ref", e);
	}
}

function fillBox_ref() {
	if(rf.onloaded != true) {
		return false;
	}
	
	var ergebnisse = rf.referenzes.getElementsByTagName("referenz");
	if(rf.box_one.innerHTML == "") rf.referenz = (ergebnisse.length-1);
	
	for(var j = 0; j < ergebnisse[rf.referenz].childNodes.length; j++) {
		with(ergebnisse[rf.referenz].childNodes[j]) {
			switch(nodeName) {
				case "title":
					var title	= firstChild.nodeValue;
				break;
				case "url":
					var url		= firstChild.nodeValue;
				break;
				case "image":
					var image	= firstChild.nodeValue;
					if(ergebnisse[rf.referenz].childNodes[j].attributes.getNamedItem("border").value > 0) {
						var image_border = 1;
					}
					else {
						var image_border = 0;
					}
				break;
				case "text":
					var txt	= firstChild.nodeValue;
				break;
			}
		}
	}
	
	if(rf.box_one.innerHTML == "") {
		rf.box_one.innerHTML = 
			"<a href=\"/referenzen.html\"><h1>"+title+"</h1>"+
			"<h2>"+url+"</h2>"+
			"<img src=\"/static/images/referenzen/"+image+"\" alt=\""+title+"\" "+
			"style=\"border: "+image_border+"px solid #333;\" />"+
			"<p>"+txt+"</p></a>";
		
		rf.referenz--;
		fillBox_ref();
		return false;
	}
	else if(rf.box_one_pos == 0) { //aktive box = box_one => fill box_two
		
		rf.box_two.innerHTML = 
			"<a href=\"/referenzen.html\"><h1>"+title+"</h1>"+
			"<h2>"+url+"</h2>"+
			"<img src=\"/static/images/referenzen/"+image+"\" alt=\""+title+"\" "+
			"style=\"border: "+image_border+"px solid #333;\" />"+
			"<p>"+txt+"</p></a>";
	}
	else { //aktive box != box_one => fill box_one
		
		rf.box_one.innerHTML = 
			"<a href=\"/referenzen.html\"><h1>"+title+"</h1>"+
			"<h2>"+url+"</h2>"+
			"<img src=\"/static/images/referenzen/"+image+"\" alt=\""+title+"\" "+
			"style=\"border: "+image_border+"px solid #333;\" />"+
			"<p>"+txt+"</p></a>";
	}
	
	rf.referenz--;
	
	if(rf.referenz<0)
		rf.referenz = (ergebnisse.length-1);
}
function scroll_ref() {
	try {
		if(rf.box_one_pos == 0 || rf.box_two_pos == 0 ) {
			if(rf.box_one_pos == 0)		rf.box_two_pos = -200;
			else						rf.box_one_pos = -200;
			
			if(rf.current == 1) rf.fillBox();
			rf.current++;
			if(rf.current < 1600) return false;
			else rf.current	= 0;
		}
		
		rf.box_one_pos -= 1;
		rf.box_two_pos -= 1;
		
		//document.getElementById("debug").innerHTML += "Left Box: "+rf.box_two_pos+" | Right Box: "+rf.box_one_pos+" => "+(rf.box_one_pos-rf.box_two_pos)+"<br />";
		
		if(rf.box_one_pos < -200) rf.box_one_pos = 200;
		if(rf.box_two_pos < -200) rf.box_two_pos = 200;
		
		//document.getElementById("debug").innerHTML += "one: "+rf.box_one_pos+"\ttwo: "+rf.box_two_pos+"<br />";
		
		rf.box_one.style.marginLeft		= rf.box_one_pos+"px";
		rf.box_two.style.marginLeft		= rf.box_two_pos+"px";
	}
	catch(e) {
		ref_box_interval = window.clearInterval(ref_box_interval);
		write_js_log("scroll_ref", e);
	}
}