/**
 * @author bmarzari
 */
$(document).ready(function() {
	umfrage.init();
	feedback.init();
});

var umfrage = {
    init: function() {
    	$('.vote-button').click(function() {
			var selectedValue = "";
			$("input[name='umfrage']").each(function() {
				//alert("value: " + this.value + " checked " + this.checked);
				if (this.checked) {
					selectedValue = this.value;
				}
			});
			if (selectedValue == "") {
				alert("Bitte wählen Sie eine Antwort.");
			} else {
				umfrage.sendAntwort(selectedValue);
			}
			return false;
    	});
    	
    	$('.show-result').click (function() {	 
    		 umfrage.getResults();
    		 return false;	
    	});
			
		 $('.show-vote').click (function() {
			$('#result').slideUp(500, function(){
				$('#voting').slideDown(500);
			});
			return false;
    	});
    	
    	var cookies = document.cookie;
    	var umfrageId = $("#umfrage-id").attr("value");
    	if (cookies.indexOf(umfrageId) > 0) {
    		$(".input-fields").css("display", "none");
    		$(".send-button").css("display", "none");
    	} else {
    		$(".bereits-teilgenommen").css("display", "none");
    	}
         
    },
    
    sendAntwort: function(selectedValue) {
    	url = document.location.toString();
    	url = url.replace("/node/", "/umfrage/");
    	var d = new Date();
    	if (url.indexOf("?") > 0) {
			url = url + "&" + d.getTime();
		} else {
			url = url + "?" + d.getTime();
		} 
    	var data = "umfrage=" + selectedValue;
    	//alert("sende: " + selectedValue + " to url: " + url);
    	
    	$.ajax({
  			type: 'POST',
  			url: url,
  			data: data,
  			success: umfrage.updateResults
		});
		return false;
    },
    
    getResults: function() {
    	url = document.location.toString();
    	url = url.replace("/node/", "/umfrage/");
    	var d = new Date();
    	if (url.indexOf("?") > 0) {
			url = url + "&" + d.getTime();
		} else {
			url = url + "?" + d.getTime();
		} 
    	//alert("rufe url auf: " + url);
    	$.ajax({
    		type: 'GET',
    		url: url,
    		success: umfrage.updateResults
    	});
    	return false;
    },
    
    updateResults: function(xml) {
    	//alert(xml.xml);
    	$("option", xml).each(function() {
    		var optionId = $(this).attr("option-id" );
    		var optionProzent = $(this).attr("option-prozent");
    		var optionPixel = $(this).attr("option-pixel");
			var optionClass = $(this).attr("option-class");
			//alert("id:" + optionId + " prozent:" + optionProzent + " pixel:" + optionPixel + " class:" + optionClass);
			$("#"+optionId).removeClass("colorFirst").removeClass("colorOthers").addClass(optionClass);
			$("#"+optionId).css("width", optionPixel + "px");			
			var text = $("#"+optionId).next(".vote-result-string").contents().filter(".umfrage-prozent");
			if (text.length == 0) {
				text = $("#"+optionId).prev(".vote-result-string").contents().filter(".umfrage-prozent");
			}
			text.text(optionProzent + "%");
		});
		$("cookie", xml).each(function() {
			var ablauf = new Date();
			ablauf.getTime() + (5 * 24 * 60 * 60 * 1000);
			ablauf.setTime(ablauf.getTime() + (360 * 24 * 60 * 60 * 1000));
			var umfrageId = $(this).attr("umfrage-id");
			document.cookie = "umfrage-" + escape(umfrageId) + "=umfrage-" + escape(umfrageId) + "; path=/; expires=" + ablauf.toGMTString();
			$(".input-fields").css("display", "none");
    		$(".send-button").css("display", "none");
    		$(".bereits-teilgenommen").css("display", "block");
		});
		$('#voting').slideUp(500, function() {
			$('#result').slideDown(500);
		});
		return false;
    	
    }
}

var feedback = {

	init: function() {
    	$('#briefkastenSubmit').click(function() {
			var url = $('#briefkastenForm').attr("action");
			feedback.postFeedback(url);
			return false;
    	});    	
    }, 
    
    postFeedback: function(url) {
    	var d = new Date();
    	if (url.indexOf("?") > 0) {
			url = url + "&" + d.getTime();
		} else {
			url = url + "?" + d.getTime();
		} 
    	//alert("rufe url auf: " + url);
    	$.ajax({
    		type: 'POST',
    		url: url,
    		data: $("#briefkastenForm").serialize(),
    		success: feedback.updateGUI
    	});
    	return false;
    },
    
    updateGUI: function(html) {
    	$('#briefkastenForm').children(':not(.bottom, .close)').each(function(index) {
    		$(this).css( "visibility", "hidden" );
  		});
    	$('#briefkastenForm').children('div.close').after(html);
    }
}


