/* 
	AJAX base (c) 2006 Kimmo Tapala
	Perustuu Mozilla.orgin alkuperäiseen AJAX-sovellusesimerkkiin
	(http://developer.mozilla.org/en/docs/AJAX:Getting_Started)
*/

var http_request = false; // Muuttuja, josta tehdään XMLHTTP-instanssi
var request_url = window.location.protocol + '//' + window.location.hostname + "/banners/banners.html";
var element_id = "banner_container";


/*
	Funktio, joka luo XMLHTTP-instanssin ja lähettää pyynnön palvelimelle.
	Funktio saa parametrinaan seuraavat muuttujat:
		method	:	Metodi, millä pyyntö palvelimelle lähetetään ('GET', 'POST'...)
		url		:	Osoite, mihin pyyntö lähetetään
		send	:	Lähetettävä merkkijono
		
	Mikäli metodiksi valitaan 'POST', funktio vaihtaa pyynnölle oikean MIME-tyypin.
	'POST'-metodia käytettäessä sisällön tulee olla muotoa:
		name=value&anothername=othervalue&so=on

	Funktio ei tarkista saamiensa parametrien oikeellisuutta!
*/

function makeRequest(method, url, send){

	http_request = false;

	if(window.XMLHttpRequest){ // Muut selaimet
		http_request = new XMLHttpRequest();
		
		if(http_request.overrideMimeType){
			http_request.overrideMimeType('text/xml');
		}
		
	} else if(window.ActiveXObject){ // IE
		try{
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e){
			try{
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch(e){
			}
		}
	}

	
	if(!http_request){
		alert("*** AJAX base: ***\n\nCould not create an XMLHTTP instance.");
		return false;
	}
	
	
	
	http_request.onreadystatechange = useContents; // Kutsutaan funktiota, joka käsittelee palvelimelta saadun sisällön, kun pyynnön valmiustila muuttuu
	http_request.open(method, url, true);
	
	if(method == 'POST'){
		http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	}
	
	http_request.send(send);
}





/*
	Funktio, joka vaihtaa valitun lohkon sisällöksi palvelimelta saadun HTML-
	sisällön. HTML-sisältöä ei tarkisteta!
*/

function useContents(){	
	if(http_request.readyState == 4){
		if(http_request.status == 200){
			var element = document.getElementById(element_id);
			var content = http_request.responseText;
			var content_a = content.split("<body>");
			var content_b = content_a[1].split("</body>");
			element.innerHTML = content_b[0];
		}
		else{
			alert('*** AJAX base: ***\n\nHTTP request failed.');
		}
	}
}



/*
	Funktio, joka kutsuu makeRequest() -funktiota oikeilla parametreillä
*/

function loadBanners(){
	makeRequest("GET", request_url, "");
}