
	function getRequest() {
		var request = false;
		try {
			request = new XMLHttpRequest();
		} 
		catch (trymicrosoft) {
			try {
		       request = new ActiveXObject("Msxml2.XMLHTTP");
		    } 
			catch (othermicrosoft) {
		       try {
		         request = new ActiveXObject("Microsoft.XMLHTTP");
		       } 
		       catch (failed) {
		         request = false;
		       }  
		     }
		}
		return request;
	}
	
	function openRequest(request, url, response) {
		var date = new Date();
		request.open("GET", url + "&time=" + date.getTime(), true);
		request.onreadystatechange = response;
		request.send(null);
	}
	
	function refreshPage() {
		location.reload(true);
	}
	
	function basicSetCurrency(currency, url) {
		window.location = url + "?currency=" + currency;
	}
	
	function setCurrency(currency, url) {
		var request = getRequest();
		if (!request) {
			basicSetCurrency(currency, url);
		}
		else {
			openRequest(request, url + "?currency=" + currency, refreshPage);
		}
	}
	
	function changeCurrency(select, url) {
		setCurrency(select.value, url);
	}
	
	function basicChangeCurrency(select, url) {
		basicSetCurrency(select.value, url);
	}
