//Változók létrehozása
var i = 0;
var question = 1;
var clicked = 0;
var orszagokarray = new Array();
var selectedarray = new Array();
$.each(data, function() {
  $.each(this, function(k, v) {
    var temp = new Array();
	temp[0] = v.orszagnev;
	temp[1] = v.zaszlosrc;
	orszagokarray[i]=temp;
    i++;
  });
});

//Tömb elemeinek megkeverése
function shuffle(array) {
  var currentIndex = array.length, temporaryValue, randomIndex;

  while (0 !== currentIndex) {
    randomIndex = Math.floor(Math.random() * currentIndex);
    currentIndex -= 1;
    temporaryValue = array[currentIndex];
    array[currentIndex] = array[randomIndex];
    array[randomIndex] = temporaryValue;
  }

  return array;
}

//A tömbhöz hozzáad az országok közül egyet, ami még biztos nincs benne
function AddDistinct(array){
	do
	{
		var newitem = orszagokarray[Math.floor(Math.random() * orszagokarray.length)][0];
		var stop = $.inArray(newitem, array);
	}
	while(stop !== -1)

	array[array.length] = newitem;

	return array;
}

//Elemek feltöltése
function Change(){
	$("#image").attr("src","images/" + orszagokarray[question][1]);
	
	$("#hiddenred").find("h3").text(orszagokarray[question][0]);
	$("#hiddengreen").find("h3").text(orszagokarray[question][0]);
	
	var answerarray = new Array();
	answerarray[0] = orszagokarray[question][0];
	answerarray = AddDistinct(AddDistinct(answerarray));
	
	var answerscorearray = new Array();
	answerscorearray[0] = [answerarray[0],1];
	answerscorearray[1] = [answerarray[1],0];
	answerscorearray[2] = [answerarray[2],0];
	
	shuffle(answerscorearray);
	
	$("#ans1").text(answerscorearray[0][0]);
	$("#ans1").attr("point",answerscorearray[0][1]);
	
	$("#ans2").text(answerscorearray[1][0]);
	$("#ans2").attr("point",answerscorearray[1][1]);
	
	$("#ans3").text(answerscorearray[2][0]);
	$("#ans3").attr("point",answerscorearray[2][1]);
	
	if(question < 13)
	{
		$("#gametitle").text((question + 1 ) + ". kérdés");
	}
	else
	{
		$("#gametitle").text("+1 kérdés");
	}

	question = question + 1;
	clicked = 0;
}

//Új játék
function NewGame(){
	shuffle(orszagokarray);
	question = 0;
	selectedarray = new Array();
	Change();
}

function PrepareResults(){
	$("#resultlist").empty();
	
	var point = 0;
	
	for (var i = 1; i < 15; i++)
	{ 
	
	//Változó tartalmak
	point = ((selectedarray[i-1][1] == 0) ? point : point + 1);
	var blockclass = ((i%2 === 0) ? "ui-block-b" : "ui-block-a");
	var collapsiblecolor = ((selectedarray[i-1][1] == 0) ? "f" : "g");
	var titletext = (i < 14) ? i + ". kérdés" : "+1 kérdés";
	var imagesrc = "images/" + orszagokarray[i-1][1];
	var countrys = (orszagokarray[i-1][0] == selectedarray[i-1][0]) ? "Megfejtés: " + orszagokarray[i-1][0] : "Válaszod: " + selectedarray[i-1][0] + "<br />Megfejtés:: " + orszagokarray[i-1][0];
	
	//Title
	var title = $("<h2>");
	title.text(titletext);
	
	//Kép
	var image = $("<img>");
	image.attr("src",imagesrc);
	image.attr("style","max-width:100%; max-height: 12em; display: block; margin-left: auto; margin-right: auto");

	//Összecsukható rész
	var collapsiblediv = $("<div>");
	collapsiblediv.attr("data-role", "collapsible");
	collapsiblediv.attr("data-collapsed", "false");
	collapsiblediv.attr("data-content-theme", "c");
	collapsiblediv.attr("data-theme", collapsiblecolor);
	collapsiblediv.attr("style", "max-width:32em; display: block; margin-left: auto; margin-right: auto");
	collapsiblediv.append(title);
	collapsiblediv.append(image);
	
	//Megfejtés
	var countryname = $("<h4>");
	countryname.text("Megfejtés: " + orszagokarray[i-1][0]);
	collapsiblediv.append(countryname);
	
	//Válasz
	var answercountry = $("<h4>");
	var answertext = (orszagokarray[i-1][0] != selectedarray[i-1][0]) ? "Válaszod: " + selectedarray[i-1][0] : "Helyesen válaszoltál!";
	answercountry.text(answertext);
	collapsiblediv.append(answercountry);
	
	//Grid
	var blockobject = $("<div>");
	blockobject.attr("class",blockclass);
	blockobject.attr("style","padding:0.5em");
	blockobject.append(collapsiblediv)
	
	$("#resultlist").append(blockobject);
	
	}
	
	$("#points").text(point + " pontot szereztél!");
	
	$("#resultlist").trigger("create");
}

//Lista egy elemének kiválasztása
function ListItemSelected(){

	if(clicked < 1){
	
		var temparray = new Array();
		temparray[0] = $(this).find("a").text();
		temparray[1] = $(this).find("a").attr("point");
		selectedarray[question - 1] = temparray;
		
		$("#answers").fadeOut(100);
		if($(this).find("a").attr("point") > 0)
		{
			$("#hiddengreen").delay(200).fadeIn();
		}
		else
		{
			$("#hiddenred").delay(200).fadeIn();
		}

		$("#content").delay(1500).slideUp();
		
		setTimeout(function () {
			$("#hiddenred").fadeOut(0);
			$("#hiddengreen").fadeOut(0);
			$("#answers").fadeIn(0);
			
			if(question > 13){
				PrepareResults();
				$.mobile.changePage('#result');
				$("#content").slideDown();
			}
			else
			{
				Change();
				$("#content").slideDown();
			}
		}, 2500);
		
		clicked = 1;
	
	}
	
}

//Eseménykezelők beállítása
$(document).delegate('#game', 'pageinit', function(){
	$('#answers').on('click', 'li', ListItemSelected);
});
$(document).delegate('#info', 'pageinit', function(){
	$('#start').on('click', 'li', NewGame);
});
$(document).delegate('#result', 'pageinit', function(){
	$('#back').on('click', 'li', NewGame);
});