/*
 * Answers Ajax Utils
 */
function AnswersUtil() {
}


AnswersUtil.prototype.doAjaxRequest = function(url, params, completeHandler) {
    var req = this.request = getXmlHttpRequest();
    req.onreadystatechange = completeHandler;
	req.open("POST", url, true);
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send(params);
}

AnswersUtil.prototype.releaseXmlRequest = function() {
    this.req = null;
}

AnswersUtil.prototype.renderRating = function(answer, agreeCount, disagreeCount){
	
	document.getElementById('a' + answer).innerHTML = AC_FL_RunContent('codebase','http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0',
					'width','50','height','50',
					'src','/i/answers/pie',
					'quality','high',
					'wmode','transparent',
					'bgcolor','#EFEFEF',
					'pluginspage','http://www.macromedia.com/go/getflashplayer',
					'movie','/i/answers/pie',
					'FlashVars','agree=' + agreeCount + ':' + disagreeCount)	
					+ '<p><strong>' + agreeCount + ' out of ' + (parseInt(agreeCount) + parseInt(disagreeCount)) + ' </strong> <br />people agree <br />with this answer</p>';
					
	document.getElementById('AnswersAgree_' + answer).innerHTML = '<p>You have voted on this answer.</p>';					
}


AnswersUtil.prototype.renderErrorMessage = function(answer, msg) {
    document.getElementById('e' + answer).innerHTML = msg; 
}


AnswersUtil.prototype.rateAnswer = function(answer, cmd, agreeCount, disagreeCount) {
    if (cmd.length > 0) {
        this.doAjaxRequest(
            "/handlers/answers/RateAnswerHandler.ashx", 
            "answer=" + answer + "&cmd=" + cmd + "&agreeCount=" + agreeCount + "&disagreeCount=" + disagreeCount,
            answersAjaxHandler
        );
    }
}

function answersAjaxHandler() {
    var xhr = Answers.request;
    if(xhr.readyState == 4) {
	    try {
			eval(xhr.responseText);
		    Answers.releaseXmlRequest();
		} catch(e) {
		    alert("Something went wrong with the AJAX request \n" + e.message);
		}
	}
}



// global var
var Answers = new AnswersUtil();


