function GetXmlHttpObject()	{
	var xmlHttp;
	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	} catch (e) {
		// Internet Explorer
		try {
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}
	return xmlHttp;
}
var timerlen = 5;
var slideAniLen = 250;
var timerID, startTime, obj, moving;
var dir = "";
var close = 0;
function slideout(objname){
	if (dir == "out") {
		slidein(objname);
	} else {
		close = 0;
		if (moving) {
			close = 0;
			return;		
		}
		if (document.getElementById(objname).style.width != "50px") return; // cannot slide down something that is already visible
		moving = true;
		dir = "out";
		startslide(objname, 200);
	}
}
function slidein(objname){
	close = 0;
	if (moving) {
		close = 1;
		return;	
	}
	if (document.getElementById(objname).style.width == "50px") return; // cannot slide up something that is already hidden
	moving = true;
	dir = "in";
	startslide(objname, 200);
}
function startslide(objname, target){
	obj = document.getElementById(objname);
	endWidth = target;
	startTime = (new Date()).getTime();
	if (dir == "out") obj.style.width = "51px";
	timerID = setInterval('slidetick(\'' + objname + '\');',timerlen);
}
function slidetick(objname){
	var elapsed = (new Date()).getTime() - startTime;
	if (elapsed > slideAniLen) {
		endSlide(objname);
	} else {
		var d = Math.round(elapsed / slideAniLen * endWidth);
		if (dir == "in") d = endWidth - d;
		obj.style.width = (d+50) + "px";
	}
	return;
}
function endSlide(objname) {
	clearInterval(timerID);
	obj.style.width = (dir == "in") ? "50px" : (endWidth+50) + "px";
	moving = timerID = startTime = endWidth = obj = null;
	if (close != 0) slidein(objname);
	return;
}
function sendajax() {
	var xmlHttp = GetXmlHttpObject();
	if(xmlHttp == null) {
		alert ("Your browser does not support AJAX!");
		return false;
	}
	var url = "hireme.php?sid=" + Math.random();
	var params = "name=" + document.getElementsByTagName('input')[0].value + "&msg=" + (document.getElementsByTagName('textarea')[0].value).replace(/\n/g,"<br>");
	xmlHttp.onreadystatechange = function() {
			if (xmlHttp.readyState == 4) {
				if (xmlHttp.responseText == "1") {
					document.getElementsByTagName('input')[1].value = "Thanks!";
					setTimeout('slideout(\'hireme\');', 2000);
					setTimeout(function() {
						document.getElementsByTagName('input')[0].value = "";
						document.getElementsByTagName('textarea')[0].value = "";
						document.getElementsByTagName('input')[0].disabled = false;
						document.getElementsByTagName('textarea')[0].disabled = false;
						document.getElementsByTagName('input')[1].value = "Contact me";
						}, 2000);
				} else {
					document.getElementsByTagName('input')[0].disabled = false;
					document.getElementsByTagName('textarea')[0].disabled = false;
					document.getElementsByTagName('input')[1].value = "Please try again...";
					setTimeout('document.getElementsByTagName(\'input\')[1].value = "Contact me";',2000);
				}
			}	
		};
	try {
		xmlHttp.open("POST", url, true);
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", params.length);
		xmlHttp.setRequestHeader("Connection", "close");
		xmlHttp.send(params);
		//document.getElementById("isSaved").innerHTML = "<span style=\"color: orange;\">Requesting file...</span>";
		document.getElementsByTagName('input')[1].value = "Contacting...";
		document.getElementsByTagName('input')[0].disabled = true;
		document.getElementsByTagName('textarea')[0].disabled = true;
	} catch (e) {
		document.getElementById("notices").innerHTML = "Couldn't perform request to server.";
		document.getElementsByTagName('input')[0].disabled = false;
		document.getElementsByTagName('textarea')[0].disabled = false;
	}
	return false;
}