function delegateClick() {
	document.onclick = function(e) {
		var t = getTarget(e);
		// if the showForm link is an image change the line below to: if (t.parentNode.id == 'showForm')
		if (t.parentNode.id == 'showForm') {
			document.getElementById('overlay').style.width = arrayPageSize[0] + 'px';
			document.getElementById('overlay').style.height = arrayPageSize[1] + 'px';
			document.getElementById('overlay').style.display = 'block';
			document.getElementById('form').style.display = 'block';
			grabFile('includes/form.html', 'form');
			return false;
		}
		if (t.id == 'overlay') {
			document.getElementById('overlay').style.display = 'none';
			document.getElementById('form').style.display = 'none';
		}
		if (t.id == 'privacy') {
			window.open("includes/privacy.html", "Staples Contract Privacy Policy", "dependent=1, height=400, width=600, resizable=1, scrollbars=1");
		}
	}
}

function delegateSubmit() {
	document.onsubmit = function(e) {
		var t = getTarget(e);
		if (t.id == 'friends') {
			var data = "";
	    	for (var i=0; i<t.elements.length; i++) {
	      		data += t.elements[i].name;
	      		data += "=";
	      		data += escape(t.elements[i].value);
	      		data += "&";
	    	}	
			return !sendData(data, t);
		}
	}
}

function fadeBg(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() {
    	fadeBg(element,newred,newgreen,newblue)
  	};
  	element.fade = setTimeout(repeat, 150);
}


function sendData(data, t) {
  	var request = getHTTPObject();
  	if (request) {
    	request.onreadystatechange = function() {
      		formResponse(request);
    	};  	
		request.open("POST", t.getAttribute('action'), true);
    	request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    	request.send(data);
    	return true;
  	} else {
    	return false;
  	}
}

function formResponse(request) {
  	if (request.readyState == 4) { 	
		if (request.status == 200 || request.status == 304) {
      		document.getElementById('friends').style.display = "none";
			document.getElementById('ajaxResponse').innerHTML = request.responseText;
			fadeBg(document.getElementById('ajaxResponse'), 255, 255, 153);    		
			delegateSubmit();
    	}
  	}
}

addLoadEvent(delegateClick);
addLoadEvent(delegateSubmit);

