var req = getRequestObject();
var loaded = false;

function startSurvey() {
	sendSurvey();
}

function sendSurvey() {
	if(req.readyState == 4 || req.readyState == 0) {
		setFade(0);

		var s = '';
		var r = '';

		if(getObject("sid") != null) {
			var r = '';
			for(i=0;i<document.f.resp.length;i++) {
				if(document.f.resp[i].checked) r = document.f.resp[i].value;
			}

			s = getObject('sid').value;
		}
		var url = "/madmin/survey/survey.php?s="+s+"&r="+r;

		req.open("GET",url,true);
		req.onreadystatechange = receiveSurvey;
		req.send(null);
	}
}

function receiveSurvey() {
		if(req.readyState == 4) {

			var output = '';
      var txt = req.responseText;

			if (req.responseText=='NoSurvey') {
				document.getElementById('survback').style.display='none';
				return;
			}

			var xml = req.responseXML;
			var typ = xml.documentElement.getAttribute('type');
			var sid = xml.documentElement.getAttribute('id');

			var subj = xml.getElementsByTagName('subj')[0].childNodes[0].nodeValue;
			var date = xml.getElementsByTagName('date')[0].childNodes[0].nodeValue;
			var ques = xml.getElementsByTagName('ques')[0].childNodes[0].nodeValue;
			var resps = xml.getElementsByTagName('responses')[0].childNodes;
			var votes = xml.getElementsByTagName('votes')[0].childNodes[0].nodeValue;
			var msg = xml.getElementsByTagName('msg')[0].childNodes[0].nodeValue;

			output += "<div id='surv_main'><div class='subj'><span class='left'>"+subj+"</span><span class='right'>"+date+"</span></div><div class='ques'><div class='q'>"+ques+"</div><div class='a'>";
			if(typ == 1) output += "<form name='f'><input type='hidden' id='sid' value='"+sid+"' />";

			for(i=0;i<resps.length;i++) {
				if(resps[i].nodeType==1) {
					if(typ == 1) {
						// survey
						output += "<span class='ans'><input type='radio' name='resp' value='"+resps[i].getAttribute('id')+"' /> "+resps[i].childNodes[0].nodeValue+"</span>";
					} else {
						// results
						output += "<p style='line-height:5px'>"+resps[i].childNodes[0].nodeValue+"</p><div class='result'><div class='rbar' style='width:"+(Math.round(resps[i].getAttribute('votes')/votes*100))+"%' /></div> <div class='rperc'> "+(Math.round(resps[i].getAttribute('votes')/votes*100))+"%</div></div>";
					}
				}
			}

			if(typ == 1) {
				// survey
				output += "</form></div></div><div class='botm'><span class='left'><button type='button' onClick='sendSurvey()' />Enviar</button></span><span class='right'>[ <a href='javascript:void(0)' onClick='sendSurvey()'>Resultados</a> ]</span></div></div>";
			} else {
				// results
				output += "</div></div><div class='botm'><span class='left'>"+msg+"</span><span class='right'>[  <a href='javascript:void(0)' onClick='sendSurvey()'>Votar</a> ]</span></div></div>";
			}


			getObject("survey").innerHTML = output;
			(loaded)? fade(0):setFade(100);
			loaded = true;
        }
}

function getObject(obj) {
	var o;

	if(document.getElementById) o = document.getElementById(obj);
	else if(document.all) o = document.all[obj];
	else if(document.layers) o = document.layers[obj];

	return o;
}

function getRequestObject() {
	// most browsers
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();

	// IE
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
}

function fade(amt) {
	if(amt <= 100) {
		setFade(amt);
		amt += 20;
		setTimeout("fade("+amt+")", 5);
    }
}

function setFade(amt) {
	var obj = getObject("survey");

	amt = (amt == 100)?99.999:amt;

	// IE
	obj.style.filter = "alpha(opacity:"+amt+")";

	// Safari<1.2, Konqueror
	obj.style.KHTMLOpacity = amt/100;

	// Mozilla and Firefox
	obj.style.MozOpacity = amt/100;

	// Safari 1.2, newer Firefox and Mozilla, CSS3
	obj.style.opacity = amt/100;
}
