/****************************************
 * Autor: Simon Wicki
 * Beschreibung: Umfrage Applikation
 * Version: 1.1.0
 ****************************************/

var root = "http://zsjv.ch";

document.addEvent('domready', function() {
	if ($('survey-voted') != undefined) {
		loadAnswers(0);
	}
	
	if ($('survey-submit') != undefined) {
		$('survey-submit').addEvent('click', function(event){
			var sur = checkChecked();
			if (sur != '') {
				$('survey-submit').set('disabled', true);
				loadAnswers(sur);
			}
		});
		$('survey-ergebnisse').addEvent('click', function(event){
			loadAnswers(0);
		});
	}
});

function loadAnswers(sur) {
	 
	var uri = root + "/r/"+sur;
	
	var request = new Request.JSON({url: uri, 
		method: 'get',
		onSuccess: showResults,
		onRequest: showRequest,
		onFailure: surveyFailure
	}).send();
}

function showRequest(obj) {
	removeChildrenFromNode($('survey'));
	
	var load = document.createElement('img');
	var div = document.createElement('div');
	div.setAttribute('align', 'center');
	
	load.setAttribute('src', root + '/gfx/load.gif');
	load.setAttribute('align', 'center');
	div.appendChild(load);
	$('survey').appendChild(div);
}

function showResults(obj) {
	
	removeChildrenFromNode($('survey'));
	$('survey').setStyle('display', 'none').setStyle('opacity', 0).fade('in').setStyle('display', 'block');
	
	var arr = {0: {'answer': obj.answer1, 'response': obj.response1}, 1: {'answer': obj.answer2, 'response': obj.response2}, 2: {'answer': obj.answer3, 'response': obj.response3}, 3: {'answer': obj.answer4, 'response': obj.response4}, 4: {'answer': obj.answer5, 'response': obj.response5}};
	
	$each(arr, function(val, index) {
		if (val.answer != undefined) {
			$('survey').appendChild(createAnswerText(val.answer));
			$('survey').appendChild(createAnswerImage((val.response/obj.total)*100, val.response));
		}
	});
}

function createAnswerText(text) {
	var span = document.createElement('div');
	span.setAttribute('style', 'margin-top:6px;');
	var txt = document.createTextNode('- '+ text);
	span.appendChild(txt);
	
	return span;
}

function createAnswerImage(percent, response) {
	var span = document.createElement('span');
	var per = (isNaN(percent)) ? 0 : percent;
	
	var imgStart = document.createElement('img');
	imgStart.setAttribute('src', root + '/gfx/surveystart.gif');
	span.appendChild(imgStart);
	
	var imgMid = document.createElement('img');
	imgMid.setAttribute('src', root + '/gfx/surveymiddle.gif');
	imgMid.setAttribute('width', per);
	imgMid.setAttribute('height', 10);
	span.appendChild(imgMid);
	
	var imgEnd = document.createElement('img');
	imgEnd.setAttribute('src', root + '/gfx/surveyend.gif');
	span.appendChild(imgEnd);
	
	var text = document.createTextNode('  ('+ per.toString().substring(0, 4) + '%)');
	span.appendChild(text);
	
	return span;
}

function surveyFailure() {

}

function checkChecked() {
	var x = document.getElementsByName('survey-answer');
	var set = '';
	for (var i = 0; i < x.length; i++) {
		if (x[i].checked) {
			set = x[i].value;
		}
	}
	
	return set;
}

function removeChildrenFromNode(e) {
    if(!e) {
        return false;
    }
    while (e.hasChildNodes()) {
        e.removeChild(e.firstChild);
    }
    return true;
}
