$(document).ready(function(){
	var email_label = "E-mail cím"

	$("div#sidebar").append(
		'<div class="box" id="newsletter_signup">'
			+ '<label>Hírlevél</label>'
			+ '<span id="signup_error" class="error_message">A feliratkozás nem sikerült, kérjük próbálja meg újra.</span>'
			+ '<input class="input_text" type="text" id="email" value="' + email_label + '"/>'
			+ '<span id="email_error0" class="error_message">Kérjük adja meg az e-mail címét.</span>'
			+ '<span id="email_error1" class="error_message">A megadott e-mail cím hibás, kérjük ellenőrizze.</span>'
			+ '<div class="button">'
				+ '<input type="button" value="Feliratkozok" id="signup" class="inp_button"/>'
			+ '</div>'
		+ '</div>'
		+ '<div class="box last" id="newsletter_success">'
			+ '<h4>Hírlevél</h4>'
			+ '<p>Ön sikeresen feliratkozott hírlevelünkre, köszönjük.</p>'
		+ '</div>'
		+ '<div class="box last ajaxload" id="newsletter_ajaxload">'
			+ '<h4>Hírlevél</h4>'
			+ '<p><img src="images/ajaxload.gif" width="32" height="32"/></p>'
		+ '</div>');

	function hide_error_messages()
	{
		$("span#signup_error").hide();
		$("span#email_error0").hide();
		$("span#email_error1").hide();
	}

	function show_form()
	{
		$("div#newsletter_signup").show();
		$("div#newsletter_ajaxload").hide();
		$("div#newsletter_success").hide();
		hide_error_messages();
	}

	function hide_form()
	{
		$("div#newsletter_signup").hide();
		$("div#newsletter_ajaxload").show();
	}

	function show_error()
	{
		show_form();
		$("span#signup_error").show();
	}

	function show_votes()
	{
		$("div#newsletter_ajaxload").hide();
		$("div#newsletter_success").show();
	}

	$("input#email").click(function() {
		if (this.value == email_label) this.value = "";
	}).blur(function() {
		if (this.value == "") this.value = email_label;
	});

	$("input#signup").click(function() {
		hide_error_messages();
		var email = $("input#email").val();
		if (email == "" || email == email_label)
			$("span#email_error0").show()
		else if (! email.match(/^[\w\d.]+@.*?\.\w+$/g))
			$("span#email_error1").show()
		else
		{
			hide_form();
			setTimeout(function() {
				$.get("hirlevel_feliratkozas.php", {email: email},
					function(data){
						if (data == "signed up")
							show_votes();
						else
							show_error();
					});
				}, 200);
		}
	});

	show_form();
});

$(document).ready(function(){

	$("div#sidebar").append(
		'<div class="box last" id="election_bid_form">'
			+ '<label>Szavazás</label>'
			+ '<p>Kérem, gondoljon a következő parlamenti választásra. '
				+ 'Ha fogadásokat lehetne kötni, akkor hány forintot tenne '
				+ 'fel a következő dolgokra? A maximális tét 100 forint '
				+ 'lehet. Ha biztos valamelyik dologban, akkor tegye fel '
				+ 'rá mind a 100 forintot, ha pedig biztos abban, hogy nem '
				+ 'fog megtörténni, akkor ne tegyen rá pénzt!</p>'
			+ '<span id="election_bid_error" class="error_message">A szavazást nem sikerült rögzíteni, kérjük próbálja meg újra.</span>'
			+ '<table cellpadding="0" cellspacing="0" border="0" class="questions">'
				+ '<tbody>'
					+ '<tr>'
						+ '<th>1. az MSZP nyeri meg a választást</th>'
						+ '<td><input type="text" value="0" id="mszp_nyer"/></td>'
					+ '</tr>'
					+ '<tr>'
						+ '<th>2. a Fidesz nyeri meg a választást</th>'
						+ '<td><input type="text" value="0" id="fidesz_nyer"/></td>'
					+ '</tr>'
					+ '<tr>'
						+ '<th>3. az MDF ismét parlamenti párt lesz<br />(5% fölötti eredmény)</th>'
						+ '<td><input type="text" value="0" id="mdf_bejut"/></td>'
					+ '</tr>'
					+ '<tr>'
						+ '<th>4. az SZDSZ ismét parlamenti párt lesz<br />(5% fölötti eredmény)</th>'
						+ '<td><input type="text" value="0" id="szdsz_bejut"/></td>'
					+ '</tr>'
					+ '<tr>'
						+ '<th>5. előrehozott választás lesz 2010 előtt</th>'
						+ '<td><input type="text" value="0" id="elorehozott_valasztas_lesz"/></td>'
					+ '</tr>'
				+ '</tbody>'
			+ '</table>'
			+ '<div class="button">'
				+ '<a href="#" class="display_vote_state">Szavazás állása</a>'
				+ '<input type="button" value="Szavazok" id="vote" class="inp_button"/>'
			+ '</div>'
		+ '</div>'

		+ '<div class="box last" id="election_bid_state">'
			+ '<h4>Szavazás</h4>'
			+ '<p>A szavazás állása a leadott <span>0</span> szavazat alapján:</p>'
			+ '<table cellpadding="0" cellspacing="0" border="0" class="questions">'
				+ '<tbody>'
					+ '<tr>'
						+ '<th>1. az MSZP nyeri meg a választást</th>'
						+ '<td>0</td>'
					+ '</tr>'
					+ '<tr>'
						+ '<th>2. a Fidesz nyeri meg a választást</th>'
						+ '<td>0</td>'
					+ '</tr>'
					+ '<tr>'
						+ '<th>3. az MDF ismét parlamenti párt lesz<br />(5% fölötti eredmény)</th>'
						+ '<td>0</td>'
					+ '</tr>'
					+ '<tr>'
						+ '<th>4. az SZDSZ ismét parlamenti párt lesz<br />(5% fölötti eredmény)</th>'
						+ '<td>0</td>'
					+ '</tr>'
					+ '<tr>'
						+ '<th>5. előrehozott választás lesz 2010 előtt</th>'
						+ '<td>0</td>'
					+ '</tr>'
				+ '</tbody>'
			+ '</table>'
			+ '<a href="#" class="back_to_election_bid_form">Vissza</a>'
		+ '</div>'
		+ '<div class="box last ajaxload" id="election_bid_ajaxload">'
			+ '<h4>Szavazás</h4>'
			+ '<p><img src="images/ajaxload.gif" width="32" height="32"/></p>'
		+ '</div>');

	function init()
	{
		$("div#election_bid_form").find("a.display_vote_state").click(function() {
			hide_form();
			setTimeout(function() {
				$.get("election_bid_vote.php", {},
					function(data){
						show_votes(data);
					});
				}, 250);
			}).end()
		$("div#sidebar table.questions tr:nth-child(2n)").addClass("even");
		$("div#election_bid_state a.back_to_election_bid_form").click(function() {
				hide_state();
				$("div#election_bid_form table.questions input").each(
					function() {
						this.value = 0
				});
				setTimeout(show_form, 250);
			});
		show_form();
	}

	function hide_error_messages()
	{
		$("div#election_bid_form > span.error_message").hide();
	}

	function show_form()
	{
		$("div#election_bid_form").find("a.display_vote_state").end().show();
		$("div#election_bid_ajaxload").hide();
		$("div#election_bid_state").hide();
		hide_error_messages();
	}

	function hide_form()
	{
		$("div#election_bid_form").hide();
		$("div#election_bid_ajaxload").show();
	}

	function hide_state()
	{
		$("div#election_bid_state").hide();
		$("div#election_bid_ajaxload").show();
	}

	function show_error()
	{
		show_form();
		$("span#election_bid_error").show();
	}

	function show_votes(data)
	{
		$("div#election_bid_ajaxload").hide();
		var values = data.split(":").pop().split(",");
		var i = 1;
		$("div#election_bid_state").find("p span").html(values[0])
			.end().find("td").each(function() {this.innerHTML = values[i ++]})
				.end().show();
	}

	$("div#election_bid_form > table.questions input").blur(function() {
		if (this.value == ""
				|| ! this.value.match(/^\d+$/)) this.value = 0;
		else if (this.value > 100) this.value = 100;
	}).click(function() {
		this.select();
	});

	$("div#election_bid_form input#vote").click(function() {
		hide_error_messages();
		var values = [];
		$("div#election_bid_form > table.questions input").each(function() {
			if (isNaN(this.value)) this.value = 0;
			values.push(this.value);
		})
		values = values.join(",");
		hide_form();
		setTimeout(function() {
			$.get("election_bid_vote.php", {values: values},
				function(data){
					if (data.indexOf("vote succeed") == 0)
						show_votes(data);
					else
						show_error();
				});
			}, 250);
	});

	init();
});
