
var vector = new Array();
var country_details = new Array();
var region_details = new Array();
var region_info = new Array();
var all_regions_conquered = new Array();
var init_country_list = true;

$j(document).ready(function() {
	jQuery.getJSON('/populations', function(data) {
		jQuery.each(data, function(id, info) {
			if(info['country_id'].length) {
				country_details[info['country_id']] = new Array();
				country_details[info['country_id']] = info['population'];
				$j('#country_population_'+info['country_id']).html(info['population']);
			}
		});
	});
});

function selectRegion(region_id) {
	var country = $j('input#country_selected_id').val();
	if(typeof(region_info[country][region_id]) != "undefined"){
		$j('div#region_list a.dropfx').html($j('a#region_'+region_id).html());
		$j('div#region_list a.dropfx div.annexed').hide();
		$j('input#region_selected_id').val(region_id);
		countNextErrors();
		if(region_info[country][region_id]['conquered'] && !(all_regions_conquered[country])) {
			$j('img#flag_model_region').attr({
				alt: region_info[country][region_id]['cname'],
				title: region_info[country][region_id]['cname'],
				src: "/images/flags/XL/" + region_info[country][region_id]['cflag'] + ".gif"
			});
			$j('strong#model_country_region1').text(region_info[country][region_id]['cname']);
			$j('strong#model_country_region2').text(region_info[country][region_id]['cname']);
			$j('strong#model_original_country').text(region_info[country][region_id]['oname']);
			$j('strong#model_currency_region').text(region_info[country][region_id]['ccurrency']);

			$j.blockUI({
				message: $j('#question_region')
			});
		}
	}
}

function populateRegions(country_id) {
	country_id = parseInt(country_id);
	if(vector.length > 0 && vector[country_id])
		populatefromarray(country_id);
	else
		populate(country_id);
}

function populate(country_id){
    var i=1, k=0;
	var country = country_id;
	var region_selected_id = document.getElementById('region_selected_id').value;

	with($j("div#region_list .droparea .scroll ul")) {
		empty();
		$j('div#region_list a.dropfx').html('Select a region');
	}

	if(country!=0){
		$j("div#error_for_country_list").hide();
		jQuery.getJSON('/region-list/'+country, function(data) {

			vector[country] = new Array();
			region_info[country] = new Array();
			region_info[country]['selectable_regions'] = new Array();
			all_regions_conquered[country] = true;
			conqueror_id_check = 0;

			jQuery.each(data, function(idx, region) {
				region_info[country][region["id"]] = new Array();
				if (region["current_owner_id"]!=country && region["current_owner_id"]!=''){
					//current_owner = " (annexed by "+region["current_owner_name"]+")";
					current_owner = '<div class="annexed"><img src="/images/flags/S/' + region['current_owner_flag'] + '.gif" alt="" /></div>';
					region_info[country][region["id"]]["conquered"] = true;
					if(all_regions_conquered[country]) {
						if(conqueror_id_check == 0) {
							conqueror_id_check = region["current_owner_id"];
						} else if(conqueror_id_check != region["current_owner_id"]) {
								all_regions_conquered[country] = false;
						}
					}
				}	else {
					current_owner = "";
					region_info[country][region["id"]]["conquered"] = false;
					all_regions_conquered[country] = false;
					region_info[country]['selectable_regions'][k] = region['id'];
					k++;
					
				}
				if (region["id"] == region_selected_id){
					//$j("select#region_list").append("<option value=\""+region["id"]+"\"SELECTED >"+region["name"]+current_owner+"</option>");
					$j("div#region_list .droparea .scroll ul").append("<li onclick='selectRegion("+region['id']+")'><a href='javascript:;' id='region_"+region['id']+"' title='"+region["name"]+"'>"+region["name"]+ current_owner + "<small>" + region["population"]+"</small></a></li>");
				} else {
					//$j("select#region_list").append("<option value=\""+region["id"]+"\">"+region["name"]+current_owner+"</option>");
					$j("div#region_list .droparea .scroll ul").append("<li onclick='selectRegion("+region['id']+")'><a href='javascript:;' id='region_"+region['id']+"' title='"+region["name"]+"'>"+region["name"]+ current_owner + "<small>" + region["population"]+"</small></a></li>");
				}
				vector[country][i]="<li onclick='selectRegion("+region['id']+")'><a href='javascript:;' id='region_"+region['id']+"' title='"+region["name"]+"'>"+region["name"]+ current_owner + "<small>" + region["population"]+"</small></a></li>";
				region_info[country][region["id"]]["cname"] = region["current_owner_iname"];
				region_info[country][region["id"]]["oname"] = region["original_owner_iname"];
				region_info[country][region["id"]]["cflag"] = region["current_owner_flag"];
				region_info[country][region["id"]]["ccurrency"] = region["current_owner_currency"];
				lastregion = region;
				i++;
			});



			region_info[country][0] = new Array();
			region_info[country][0]["oname"] = lastregion["original_owner_iname"];
			region_info[country][0]["cname"] = lastregion["current_owner_iname"];
			region_info[country][0]["cflag"] = lastregion["current_owner_flag"];
			//region_info[country][0]["ccurrency"] = lastregion["current_owner_currency"];
			vector[country][0] = i;

			$j("div.region_list").fadeIn();

			if(!init_country_list && all_regions_conquered[country]) {
				show_country_model_alert();
			}
			
			if(!all_regions_conquered[country] && typeof(region_info[country]) != "undefined"){
				var rand = Math.floor(Math.random() * region_info[country]['selectable_regions'].length);
				selectRegion(region_info[country]['selectable_regions'][rand]);
			}
			
		});
	}	else {
		$j("div#error_for_country_list").show();
		$j("div.region_list").fadeOut();
	}


};

function populatefromarray(country){
	$j("div#error_for_country_list").hide();
	with($j("div#region_list .droparea .scroll ul")) {
		empty();
		$j('div#region_list a.dropfx').html('Select a region');
	}
	for(var k=1; k<vector[country][0]; k++){
		$j("div#region_list .droparea .scroll ul").append(vector[country][k]);
	}
	$j("div.region_list").fadeIn();
	if(!init_country_list && all_regions_conquered[country]) {
		show_country_model_alert();
	}
	
	if(!all_regions_conquered[country] && typeof(region_info[country]) != "undefined"){
		var rand = Math.floor(Math.random() * region_info[country]['selectable_regions'].length);
		selectRegion(region_info[country]['selectable_regions'][rand]);
	}
};

function show_country_model_alert() {
	country = $j('input#country_selected_id').val();
	region = $j('input#region_selected_id').val();
	$j('img#flag_model_country').attr({
		alt: region_info[country][0]['cname'],
		title: region_info[country][0]['cname'],
		src: "/images/flags/XL/" + region_info[country][0]['cflag'] + ".gif"
	});
	$j('strong#model_original_country1').text(region_info[country][0]['oname']);
	$j('strong#model_conqueror_country1').text(region_info[country][0]['cname']);
	$j('strong#model_conqueror_country2').text(region_info[country][0]['cname']);
	$j('strong#model_conqueror_currency').text(region_info[country][0]['ccurrency']);
	$j('strong#model_original_country2').text(region_info[country][0]['oname']);
	$j('strong#model_original_country3').text(region_info[country][0]['oname']);

	$j.blockUI({
		message: $j('#question_country')
	});
};

function getRegiondetailsFromJson(region_id) {
    jQuery.getJSON('/region/get-info/'+region_id, function(data) {
        region_details[region_id] = new Array();
        region_details[region_id]['owner_name'] = data['owner_name'];
        region_details[region_id]['capital_city'] = data['capital_city'];
        region_details[region_id]['population'] = data['population'];
        $j('div#region_info').html('Owner : '+data['owner_name']+' ; Capital : '+data['capital_city']+' ; Population : '+data['population']);
    });
}

function getRegionDetailsFromArray(region_id) {
    $j('div#region_info').html('Owner : '+region_details[region_id]['owner_name']+' ; Capital : '+region_details[region_id]['capital_city']+' ; Population : '+region_details[region_id]['population']);
}
