SurveyCtl = function() {

	this.register = function() {}
	
	this.onload = function() {
	}
	
	this.isAuthed = function(sid) {	
		var cookname = 'atsurvey-' + sid;
		if(this.getCookie(cookname)) {
			var formid = 'survey_form-' + sid;
			$(formid).hide();			
			this.showSurvey(sid);
		}else if(! this.getCookie('atco_session')) {
			var regid = 'register-' + sid;
			var ansbutt = 'answer_button-' + sid;
			$(regid).show();
			$(ansbutt).disabled = true;		
		}		
	}
	this.takeSurvey = function(sid) {
		var errid = 'err-' + sid;
		$(errid).innerHTML = '';
		$(errid).hide();		
		var radio_table_id = 'table-' + sid; 
		var table = $(radio_table_id);
		var value = null;
		var inputs = table.getElementsByTagName("INPUT");
		for(i = 0; i < inputs.length; i++) {
			if( inputs[i].getAttribute('type').toLowerCase() == 'radio' && inputs[i].checked) {			
				value = inputs[i].value;				
			}			
		}
		if(! value) {
			$(errid).innerHTML = 'Please select an answer.';
			$(errid).show();
		} else {
			var params = 'proxy_uri=/Survey&take=true&sid=' + sid + '&answerid=' + value; 
			params += '&atco_session='	+ escape( this.getCookie('atco_session') );				
			var uri = this.c.root_url;
			var sr = function(res) {
				BFInstance.getController('SurveyCtl').takeResults(res, sid);
			}		
			new Ajax.Request(uri, {method:'post', parameters:params, onSuccess:sr, onFailure:this.surveyErr});				
		}
	}
	
	this.takeResults = function(res, sid) {
		var resp_ob = eval('(' + res.responseText + ')');
		if(resp_ob.taken == true) {
			var errid = 'err-' + sid;
			$(errid).innerHTML = 'You have already taken this survey.';
			$(errid).show();			
			var formid = 'survey_form-' + sid;
			$(formid).hide();
			var cookname = 'atsurvey-' + sid;
			this.setCookie(cookname, 'true', this.c.domain);
			this.showSurvey(sid);						
		} else {
			var formid = 'survey_form-' + sid;
			$(formid).hide();
			var successid = 'survey_success-' + sid;
			$(successid).show();
			var cookname = 'atsurvey-' + sid;
			this.setCookie(cookname, 'true', this.c.domain);
			//alert(this.c.domain);
			var sid_id = 'survey_results-' + sid;
			$(sid_id).innerHTML = resp_ob.results; 
			this.showSurvey(sid);
		}				
	}
	
	this.showSurvey = function(sid) {
		var sid_id = 'survey_results-' + sid;
		$(sid_id).show();
	}
	
	
	this.surveyErr = function(res) {
		alert('sorry, we are unable to record your survey results at this time');
	}
}