function spin(obj)
{
  var spinner = document.getElementById(obj);
  var spinner_content = document.getElementById(obj+"_body");
  var spinner_file = document.getElementById(obj+"_file");
  var spinner_ads = document.getElementById(obj+"_ads");
  
  if ( spinner_content.style.visibility == 'visible' )
  {
    //hiding
    spinner.innerHTML = "<img src='./images/arrow.gif' border='0' alt='show' title='show'/>";

	spinner_content.style.display = "none";
    spinner_content.style.visibility = 'hidden';
  }
  else
  {
  	// new stuff
	makeRequest(spinner_content,spinner_file);
  
	// showing content
	spinner_content.style.display = "inline";
    spinner_content.style.visibility = 'visible';
	
    // changing button
	spinner.innerHTML = "<img src='./images/arrow-hide.gif' border='0' alt='hide' title='hide'/>";
	
	// displaying ads
	/*
	spinner_ads.src = "<script type='text/javascript'>" + 
		"<!--" +
		"google_ad_client = 'pub-6705676067134757';" +
		"google_ad_width = 234;" +
		"google_ad_height = 60;" +
		"google_ad_format = '234x60_as';" +
		"google_ad_type = 'text';" +
		"google_ad_channel = '9791489438';" +
		"//-->" +
		"</script><script type='text/javascript' src='http://pagead2.googlesyndication.com/pagead/show_ads.js'></script>";
	*/
		
	spinner
	}
}

function makeRequest(spinner_content,spinner_file) {
	var url = "./query.php?file=" + spinner_file.value;
	var http_request = false;

	try { // Mozilla, Safari, ...
		http_request = new XMLHttpRequest();
		
		//if (http_request.overrideMimeType) {
		//    http_request.overrideMimeType('text/xml');
		//    See note below about this line
		//}
	} catch (trymicrosoft) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (othermicrosoft) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (failed) {
				http_request = false;
			}
		}
	}
	
	if (!http_request) {
		alert('Sorry, your browser is not supported.');
		return false;
	}

	http_request.onreadystatechange = function() { alertContents(http_request,spinner_content); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

function alertContents(http_request,spinner_content) {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			// HTTP RESPONSE
			spinner_content.innerHTML = http_request.responseText;
		} else {
			alert('Try again, there was a problem with the request.');
		}
	}
}