function XBEvent(target, event, action){
	if(target.attachEvent)
		return target.attachEvent("on" + event, action);
	else if(target.addEventListener)
		return target.addEventListener(event, action, true);
	else
		return false;
}

// Make our own, nicer marquee
var currencyticker = document.getElementById("currencyticker");
var pause = false;

function startmarquee(){
	var newElement = document.createElement('div');
	newElement.appendChild(currencyticker.childNodes[0]);
	newElement.style.whiteSpace = 'nowrap';
	newElement.style.overflow = 'hidden';
	newElement.style.paddingLeft = currencyticker.offsetWidth + 'px';
	newElement.id = 'currencyticker';
	
	var originalWidth = currencyticker.offsetWidth;
	
	currencyticker.parentNode.insertBefore(newElement, currencyticker);
	currencyticker.parentNode.removeChild(currencyticker);
	currencyticker = newElement;
	
	if(newElement.offsetWidth != originalWidth)
		newElement.style.width = 0; // IE 6
	
	XBEvent(currencyticker, "mouseover", function(){ pause = true; });
	XBEvent(currencyticker, "mouseout", function(){ pause = false; });
	XBEvent(window, "resize", doresize);
	
	stepLeft();
	setInterval(stepLeft, 15);
}

function doresize(){
	currencyticker.style.paddingLeft = 0;
	currencyticker.style.paddingLeft = currencyticker.parentNode.offsetWidth + 'px';
}

function stepLeft(){
	if(pause || currencyticker.childNodes[0].nodeType == 3)
		return;
	
	var spanWidth = 0;
	for(var i = 0; i < currencyticker.childNodes.length; i++){
		spanWidth += currencyticker.childNodes[i].offsetWidth;
	}
	
	var marqueeWidth = currencyticker.offsetWidth;
	
	if(currencyticker.scrollLeft+10 >= spanWidth){
		currencyticker.appendChild(currencyticker.childNodes[0].cloneNode(true));
	}
	
	if(currencyticker.scrollLeft >= currencyticker.childNodes[0].offsetWidth + marqueeWidth){
		currencyticker.removeChild(currencyticker.childNodes[0]);
		
		currencyticker.scrollLeft = marqueeWidth;
	}
	
	currencyticker.scrollLeft = currencyticker.scrollLeft+2;
}

function activateCurrencyForm(){
	XBEvent(document.getElementById('currencyselect'), "change", parseCurrencyForm);
	
	document.getElementById('currencybutton').parentNode.removeChild(document.getElementById('currencybutton'));
}

function parseCurrencyForm(event){
	var req;
	if(event.target)
		var value = event.target.value;
	else if(event.srcElement)
		var value = event.srcElement.value;
	else
		return true;
	
	currencyticker.scrollLeft = currencyticker.offsetWidth;
	currencyticker.innerHTML = "Please wait...";
	
	if(window.XMLHttpRequest)
		req = new XMLHttpRequest;
	else if (window.ActiveXObject)
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {}
		}
	
	if(!req){
		location.href = "?basecurrency=" + value;
		return false;
	}
	
	req.onreadystatechange = function(){
		if(req.readyState == 4 && req.status == 200){
			currencyticker.scrollLeft = 0;
			currencyticker.innerHTML = '<span>' + req.responseText + '</span>';
		}
	};
	
	req.open('GET', '?currencydataonly=true&basecurrency=' + value, true);
	req.send('');
	
	return false;
}

activateCurrencyForm();
startmarquee();

