function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

addLoadEvent(prepareLinks);

function prepareLinks() {
	if (!document.getElementById || !document.getElementsByTagName) {
		return;
		}
		if (!document.getElementById("services_list")) {
			return;
		}
		var list = document.getElementById("services_list");
		var links = list.getElementsByTagName("a");
		for (var i=0; i<links.length; i++) {
			links[i].onclick = function() {
				var query = this.getAttribute("href").split("?")[1];
				var url = "services_list.php?"+query;
				return !grabFile(url);
			};
		}
	}	
	
function grabFile(file)	{
	var request = getHTTPObject();
	if (request) {
		request.onreadystatechange = function () {
			parseResponse(request);
		};
		request.open("GET", file, true);
		request.send(null);
		return true;
	} else {
	  return false;
	}
}

function parseResponse(request) {
	if (request.readyState == 4) {
		if (request.status == 200 || request.status == 304) {
			var details = document.getElementById("details");
			details.innerHTML = request.responseText;
			fadeUp(details,235,235,235);
		}
	}
}

function getHTTPObject() {
  var xhr = false;
  if (window.XMLHttpRequest) {
    xhr = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    try {
      xhr = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
      try {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
      } catch(e) {
        xhr = false;
      }
    }
  }
  return xhr;
}
	
//function that fades background color
function fadeUp(element,red,green,blue) {
	if (element.fade) {
		clearTimeout(element.fade);
	}
	element.style.backgroundColor = "rgb("+red+","+green+","+blue+")";
	if (red == 255 && green == 255 && blue == 255) {
		return;
	}
	var newred = red + Math.ceil((255 - red)/10);
	var newgreen = green + Math.ceil((255 - green)/10);
	var newblue = blue + Math.ceil((255 - blue)/10);
	var repeat = function() {
		fadeUp(element,newred,newgreen,newblue)
	};
	element.fade = setTimeout(repeat,150);
}	
