function confirm_hero_deletion(localized_question, incomplete_url)
{
	if ( confirm(localized_question) )
	{
		var complete_url = incomplete_url;
		complete_url = complete_url + '&action=delete';
		document.location = complete_url;
	}
}

function update_hero_information(xmlDoc)
{
	var oRoot = xmlDoc.documentElement;
	var ChildNodeName = "";
	var GrandChildNodeName = "";
	var GrandChildData = "";
	var IdValue = "";
	var oHeroPieceOfInformation = null;
	var UnusedValuesArray = new Array();
	for (i=0; i < oRoot.childNodes.length; i++)
	{
		var child = oRoot.childNodes[i];
		ChildNodeName = child.nodeName;
		for (j=0; j < child.childNodes.length; j++)
		{
			var grandchild = child.childNodes[j];
			GrandChildNodeName = grandchild.nodeName;
			GrandChildData = grandchild.firstChild.data;
			IdValue = 'id_hero_info_' + GrandChildNodeName;
			oHeroPieceOfInformation = document.getElementById(IdValue);
			if (oHeroPieceOfInformation!=null)
			{
				oHeroPieceOfInformation.firstChild.data = GrandChildData;
			}
			else
			{
				UnusedValuesArray[GrandChildNodeName] = GrandChildData;
			}
		}
	}

	if (UnusedValuesArray['played_time'] == "-")
	{
		formatted_played_time = "-";
	}
	else
	{
		formatted_played_time = UnusedValuesArray['played_hours'] + 'h ' + UnusedValuesArray['played_minutes'] + 'm ' + UnusedValuesArray['played_seconds'] + 's';
	}
	document.getElementById('id_hero_info_played_time').firstChild.data = formatted_played_time;
/*
	var oHeroInfoName = document.getElementById('id_hero_info_name');
	if (oHeroInfoName!=null)
	{
		register_text( oHeroInfoName.firstChild.data );
		var obj= create_Aflax_Object();
		// next line of code does NOT work
		//document.getElementById('id_td_hero_name').firstChild.data = obj.insertFlash(200, 30, "#666666", "draw_text", true);
		// -> how to insert flash via javascript ?
		var bla = obj.insertFlash(200, 30, "#666666", "draw_text", true);
		if (bla!=null)
		{
			alert("bla not null");
			alert("bla.firstChild.data " + bla.firstChild.data );
			alert("bla.innerHTML " + bla.innerHTML );
			alert("bla.name " + bla.name );
			alert("bla.value " + bla.value );
		}
		else
		alert("bla is null");
	}*/
}

function update_stats(XMLHttpReq)
{
	var oDivHeroInfo = document.getElementById('id_div_hero_info');
	oDivHeroInfo.style.visibility="hidden";

	var oDivRetrievingData = document.getElementById('id_div_retrieving_data');

	if (4==XMLHttpReq.readyState)
	{
		if (200==XMLHttpReq.status)
		{
			// Hide div "Retrieving Data"
			oDivRetrievingData.style.visibility="hidden";

			var xmlDoc = XMLHttpReq.responseXML;

			// Update hero information
			update_hero_information(xmlDoc);

			// Show hero information
			oDivHeroInfo.style.visibility="visible";
		}
		else
		{
			// Show div "Error retrieving Data"
			var oDivErrorRetrievingData = document.getElementById('id_div_error_retrieving_data');
			oDivErrorRetrievingData.style.display="";
		}
	}
	else
	{
		// Show div "Retrieving Data"
		oDivRetrievingData.style.visibility="visible";
	}
}

function display_stats(url)
{
	// Hide hero information
	var oDivHeroInfo = document.getElementById('id_div_hero_info');

	// Hide "error retrieving data"
	var oDivErrorRetrievingData = document.getElementById('id_div_error_retrieving_data');
	oDivErrorRetrievingData.style.display="none";

	// Hide "objects not supported by browser"
	var oDivNotSupported = document.getElementById('id_div_error_xmlrequest_not_supported');
	oDivNotSupported.style.display="none";

	if (oDivHeroInfo!=null)
		oDivHeroInfo.style.visibility="hidden";

	var req = createXMLHttp();

	if (req != null)
	{
		req.onreadystatechange = function() { update_stats(req); };
		req.open("GET", url, true);
		req.send(null);
	}
	else
	{
		oDivNotSupported.style.display="";
	}
}

var aflax_objects_array = new Array();
var index = 0;

var hidden_hero_name_index = 0;

var texts_array = new Array();
var texts_array = new Array();

function register_text(text)
{
	texts_array[texts_array.length] = text;
}

function retrieve_hero_name()
{
	var id_to_retrieve = "id_hero_name_" + hidden_hero_name_index;
	hidden_hero_name_index++;
	var obj = document.getElementById(id_to_retrieve);
	if (obj!=null)
		return obj.value;
	else
		return "";
}


function create_Aflax_Object()
{
	aflax_objects_array[aflax_objects_array.length] = new AFLAX("/lib/javascript/AFLAX/aflax.swf");
	return aflax_objects_array[aflax_objects_array.length - 1];
}

function draw_text()
{
	var myMC = new AFLAX.MovieClip(aflax_objects_array[index]);

	var myText = new AFLAX.TextField( aflax_objects_array[index], myMC.createTextField(0,5,500,300) );
	// var myText = new AFLAX.FlashObject(aflax, "TextField", myMC.createTextField(10,10,300,300) );
	myText.exposeProperty("text");
	myText.exposeProperty("filters");
	myMC.createTextField( myText );
	myText.setText( texts_array[index] );
	// var myFilters = new AFLAX.FlashObject(aflax, "Array");
	// myFilters.exposeFunction("push");
	// var myFilter = new AFLAX.FlashObject(aflax, "flash.filters.BlurFilter");
	var myFilter = new AFLAX.FlashObject(aflax_objects_array[index], "flash.filters.GlowFilter", Array( 0x000000, 50, 3, 3, 5, 1, false, false ) );
	// myFilters.push( myFilter );
	myText.applyFilter( myFilter );

	var myFormat = new AFLAX.FlashObject( aflax_objects_array[index], "TextFormat" );
	myFormat.exposeProperty("size");
	myFormat.setSize(20);
	myFormat.exposeProperty("color");
	myFormat.setColor(0xffffff);
	myText.callFunction( "setTextFormat", myFormat );

	index++;
	// myMC.filters = myFilters;
	// myText.setFilters( myFilters );
}	

function draw_text2()
{
	var myMC = new AFLAX.MovieClip(aflax2);

	var myText = new AFLAX.TextField( aflax2, myMC.createTextField(10,10,300,300) );
	// var myText = new AFLAX.FlashObject(aflax2, "TextField", myMC.createTextField(10,10,300,300) );
	myText.exposeProperty("text");
	myText.exposeProperty("filters");
	myMC.createTextField( myText );
	myText.setText("bla");
	// var myFilters = new AFLAX.FlashObject(aflax2, "Array");
	// myFilters.exposeFunction("push");
	// var myFilter = new AFLAX.FlashObject(aflax2, "flash.filters.BlurFilter");
	var myFilter = new AFLAX.FlashObject(aflax2, "flash.filters.GlowFilter", Array( 0x000000, 50, 3, 3, 5, 1, false, false ) );
	// myFilters.push( myFilter );
	myText.applyFilter( myFilter );

	var myFormat = new AFLAX.FlashObject( aflax2, "TextFormat" );
	myFormat.exposeProperty("size");
	myFormat.setSize(50);
	myFormat.exposeProperty("color");
	myFormat.setColor(0xffffff);
	myText.callFunction( "setTextFormat", myFormat );

	// myMC.filters = myFilters;
	// myText.setFilters( myFilters );
}	

