addEvent(window, 'load', buildAjax);
function addEvent(obj, evType, fn){
 	if (obj.addEventListener){
 		obj.addEventListener(evType, fn, false);
 		return true;
 	}
 	else if (obj.attachEvent){
 		var r = obj.attachEvent("on"+evType, fn);
 		return r;
 	}
	else {
 		return false;
 	}
 }
function getHTTPObject() {
	var xmlHttp;
	try {
	  xmlHttp=new XMLHttpRequest();
	}
	catch (e) {
	  try {
	    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
	  }
	  catch (e) {
	    try {
	      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	    }
	    catch (e) {
	      alert("Your browser does not support AJAX.");
	      return null;
	    }
	  }
	}
	return xmlHttp;
}
function setOutput(ad_id){
	if (ad_id!="none") {
		var loadingBoxID=("load"+ad_id);
		var loadingDiv = document.getElementById(loadingBoxID);
		if (loadingDiv){
			loadingDiv.style.display="block";
			loadingDiv.innerHTML='<img src="images/ajaxloading.gif">';
		}
	}
	if(httpObject.readyState == 4){
		if (ad_id!="none") {
			if (loadingDiv) {
				loadingDiv.style.display="none";
				loadingDiv.innerHTML = "";
			}
		}
		document.getElementById('auctionBox').innerHTML = httpObject.responseText;
	}
}
function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)}
function addToFavorites(ad_id) {
	fadeAuctionBox();
	httpObject = getHTTPObject();
	if (httpObject != null) {
		httpObject.open("GET", "favoritesAjax.php?add=" + ad_id+"&ajax=true", true);
		httpObject.send(null);
		httpObject.onreadystatechange = function(){setOutput(ad_id)};
	}
	var switchAddLink = document.getElementById(ad_id);
	switchAddLink.onclick = function(){removeFromFavorites(this.id)};
	switchAddLink.className = "remove_favorite";
	switchAddLink.innerHTML = "Remove from Auction Box";
}
function removeFromFavorites(ad_id) {
	fadeAuctionBox();
	httpObject = getHTTPObject();
	if (httpObject != null) {
		httpObject.open("GET", "favoritesAjax.php?del=" + ad_id+"&ajax=true", true);
		httpObject.send(null);
		httpObject.onreadystatechange = function(){setOutput(ad_id)};
	}
	var switchAddLink = document.getElementById(ad_id);
	if (switchAddLink) {
		switchAddLink.onclick = function(){addToFavorites(this.id)};
		switchAddLink.className = "add_favorite";
		switchAddLink.innerHTML = "Add to Auction Box";
	}
}
function clearFavorites() {
	var answer = confirm("Are you sure you want to clear your favorites?")
	if (answer){
		fadeAuctionBox();
		httpObject = getHTTPObject();
		if (httpObject != null) {
			httpObject.open("GET", "favoritesAjax.php?clear=y&ajax=true", true);
			httpObject.send(null);
			httpObject.onreadystatechange = function(){setOutput("none")};
		}
		var resetLinks = getElementsByClassName(document.getElementById("leftColumnInside"),"div","remove_favorite");
		if (resetLinks.length>0) {
			for (j in resetLinks) {
				resetLinks[j].onclick = function(){addToFavorites(this.id)};
				resetLinks[j].className = "add_favorite";
				resetLinks[j].innerHTML = "Add to Auction Box";
			}
		}
	}
}
function fadeAuctionBox() {
	$("#auctionBox").animate({ backgroundColor: "#dafda5" }, "fast").animate({backgroundColor: "#ffffff" }, "slow");}
function buildAjax() {
	var httpObject = null;
	disableFormSubmit();
	enableAddFaves();
	enableRemFaves();
	enableClearFaves();
}
function disableFormSubmit() {
	var disableFormSubmit = new Array();
	disableFormSubmit = getElementsByClassName(document.getElementById("content"),"button","hide_input");
	for (i in disableFormSubmit){
		disableFormSubmit[i].style.display="none";
		disableFormSubmit[i].onclick=function() {return false;};
	}
}
function enableAddFaves() {
	var addFavorites=new Array();
	addFavorites = getElementsByClassName(document.getElementById("leftColumnInside"),"div","add_favorite");
	for (var i in addFavorites) {
		addFavorites[i].style.display="block";
		addFavorites[i].onclick = function(){addToFavorites(this.id)};
	}
}
function enableRemFaves() {
	var removeFavorites = new Array();
	removeFavorites = getElementsByClassName(document.getElementById("content"),"div","remove_favorite");
	for (var i in removeFavorites) {
		removeFavorites[i].style.display="block";
		removeFavorites[i].onclick = function(){removeFromFavorites(this.id)};
	}
	var sidebarRemFaves = new Array();
	sidebarRemFaves=getElementsByClassName(document.getElementById("auctionBox"),"span","sidebar_remove_favorite");
	for (var i in sidebarRemFaves) {
		sidebarRemFaves[i].style.display="block";
		var parseThisID = sidebarRemFaves[i].id;
		var getThisIDLength = parseThisID.length;
		var passAdID = parseThisID.substring(1,getThisIDLength);
		sidebarRemFaves[i].onclick = function(){removeFromFavorites(passAdID)};
	}
	}
function enableClearFaves() {
	var clearFavesDiv = document.getElementById('clear_favorites');
	if (clearFavesDiv) {
		clearFavesDiv.style.display ="block";
		clearFavesDiv.onclick = function(){clearFavorites()};
	}
}
