
function SDRecommend() {
	var listeners = new Array();
	this.addListener = function(func) {
		listeners.push(func);
	}
	this.sendRecommendation = function(form) {
		var post = new recommendPost(form,listeners);
		return post.Go();
	}
}

function recommendPost(form,listeners) {
	var request;
	var recommendForm = form;
	this.Go = function() {
		request = getXHR();
		if (!request) {
			return true;
		} else {
			//Show progress								
			document.getElementById('recommendProgress').style.display = 'inline';
			//document.getElementById('recResult').style.display = 'none';
			
			//Get and send data
			var recommendData = formData(recommendForm);
			request.onreadystatechange = completeRequest;
			request.open("POST", "/ajax/recommend.aspx", true);
			request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
			request.send(recommendData);
			return false;	
		}
	};
	
	var completeRequest = function() {
		if (request.readyState == 4) {				
			document.getElementById('recommendProgress').style.display = 'none';						
			var el = document.getElementById('recResult');
			el.style.display = 'inline';
			if (request.status == 200 || request.status == 304) {						
				var resCol = colHLInfo;
				el.innerHTML = request.responseText;												
				for(i=0;i<listeners.length;i++) {
					listeners[i]();
				}
				resetRecForm();
			} else {
				var resCol = colHLError;
			}
			el.innerHTML = request.responseText;
			Fat.fade_element('recResult', 30, 1000, resCol);
		}	
	};
}
