var stats_arr = new Array();
stats_arr['overview'] = 'Overview'
stats_arr['summary'] = 'Summary'
stats_arr['combat'] = new Array();
stats_arr['combat']['combat'] = 'Combat';
stats_arr['empires'] = new Array();
stats_arr['empires']['empires'] = 'Empires';
stats_arr['games'] = new Array();
stats_arr['games']['games'] = 'Games';
stats_arr['combat']['ships_destroyed'] = 'Ships destroyed';
stats_arr['combat']['stations_destroyed'] = 'Stations destroyed';
stats_arr['combat']['weapons'] = new Array();
stats_arr['combat']['weapons']['weapons'] = 'Weapons';
stats_arr['combat']['ships_captured'] = 'Pilots bailed';
stats_arr['combat']['ships_claimed'] = 'Ships claimed';
stats_arr['combat']['weapons']['lasers_fired'] = 'Lasers fired';
stats_arr['combat']['weapons']['lasers_firedPH'] = 'Lasers fired per hour';
stats_arr['combat']['weapons']['laser_eff'] = 'Laser hit efficiency';
stats_arr['combat']['weapons']['missiles_fired'] = 'Missiles fired';
stats_arr['combat']['weapons']['missiles_firedPH'] = 'Missiles fired per hour';
stats_arr['combat']['weapons']['missile_eff'] = 'Missile hit efficiency';
stats_arr['empires']['ships_owned'] = 'Ships owned';
stats_arr['empires']['stations_owned'] = 'Stations owned';
stats_arr['empires']['active_satellites'] = 'Active satellites';
stats_arr['empires']['finances'] = new Array();
stats_arr['empires']['finances']['finances'] = 'Finances';
stats_arr['empires']['HQ'] = new Array();
stats_arr['empires']['HQ']['HQ'] = 'Headquarters';
stats_arr['empires']['finances']['cash'] = 'Player cash';
stats_arr['empires']['finances']['station_cash'] = 'Station cash';
stats_arr['empires']['finances']['asset'] = 'Asset value';
stats_arr['empires']['finances']['assetpcash'] = 'Cash & asset value';
stats_arr['empires']['finances']['profitPH'] = 'Theoretical profit per hour';
stats_arr['empires']['HQ']['bpavailable'] = 'Available blueprints';
stats_arr['empires']['HQ']['reversetime'] = 'Time spent reverse engineering';
stats_arr['games']['time_played'] = 'Elapsed time in game';
stats_arr['games']['donated'] = 'Credits donated';
stats_arr['games']['missions'] = new Array();
stats_arr['games']['missions']['missions'] = 'Missions completed';
stats_arr['games']['movement'] = new Array();
stats_arr['games']['movement']['movement'] = 'Movement';
stats_arr['games']['other'] = new Array();
stats_arr['games']['other']['other'] = 'Other achievements';
stats_arr['games']['missions']['missions_comp'] = 'Missions completed';
stats_arr['games']['missions']['missions_compPH'] = 'Missions completed per hour';
stats_arr['games']['missions']['passengers'] = 'Passengers transported';
stats_arr['games']['movement']['distance_travelled'] = 'Distance travelled';
stats_arr['games']['movement']['distance_travelledPH'] = 'Distance travelled per hour';
stats_arr['games']['movement']['jumpgatespassed'] = 'Jumpgates passed';
stats_arr['games']['movement']['jumpgatespassedPH'] = 'Jumpgates passed per hour';
stats_arr['games']['movement']['jumpdriveenergy'] = 'Jumpdrive energy used';
stats_arr['games']['movement']['jumpdriveenergyPH'] = 'Jumpdrive energy used per hour';
stats_arr['games']['other']['stations_hacked'] = 'Stations hacked';
stats_arr['games']['other']['lottery_tickets'] = 'Lottery tickets bought';
stats_arr['games']['other']['blackjack_played'] = 'BlackJack games played';
stats_arr['games']['other']['blackjack_profit'] = 'Credits won by playing BlackJack';

var race = new Array();
race[0] = "gnrl";
race[1] = "argon";//1
race[2] = "boron";//2
race[3] = "teladi"; //5
race[4] = "split"; //3
race[5] = "paranid";//4
race[6] = "goner";//9
race[7] = "pirates"; //8
race[8] = "xenon"; //6
race[9] = "khaak"; //7
race[10] = "unknown"; //14

var firstRank = '';
var secondRank = '';
var thirdRank = '';
var startVal = 0;
var highlightUser = 0;
var perPage = 25;
var language = 'fr';
var game = 'X3';

/**
 * In Sajax, we create two functions: the initial event, and the response
 * handler.  In this case, the response handlers only take the output
 * from the server and push it into the "window" element.
 *
 * Notice that two javascript functions call the same php function
 */

// Outputs directly to the "window" div
function to_window(output) {
	document.getElementById("window").innerHTML = output;
}

function display_data(section, output) {

	datadiv = document.getElementById("stats_"+section);
    if (datadiv) {
	    datadiv.innerHTML = output;
	    datadiv.style.display = "block";
    }

	overlay = document.getElementById("stats_"+section+"_loading");
    overlay.style.position = "absolute";
	overlay.style.height = datadiv.offsetHeight+"px";
	overlay.style.width = datadiv.offsetWidth+"px";

    _countTo(section, 0);

    var nextpage = document.getElementById("nextpage").value;
    if (nextpage == "1") {
    	var rightarrow = document.getElementById("nextpagearrow");
        if (rightarrow) {
	        var code = "load_data('" + section +"', "+ (startVal+perPage) + ", " + perPage +", to_"+ section +"_div); startVal += " + perPage + "; createurl();";
	        rightarrow.onclick = new Function(code);
            rightarrow.firstChild.src = "http://www.egosoft.com/img/arrow_right.gif";
        }
    }
    else {
    	var rightarrow = document.getElementById("nextpagearrow");
        if (rightarrow) {
			rightarrow.onclick = "return false;";
            rightarrow.firstChild.src = "http://www.egosoft.com/img/arrow_right_grey.gif";
        }
    }

    if (startVal > 0){
    	var leftarrow = document.getElementById("prevpagearrow");
        if (leftarrow) {
	        var code = "load_data('" + section +"', "+ (startVal-perPage) + ", " + perPage +", to_"+ section +"_div); startVal -= " + perPage + "; createurl();";
	        leftarrow.onclick = new Function(code);
            leftarrow.firstChild.src = "http://www.egosoft.com/img/arrow_left.gif";
        }
    }
    else {
    	var leftarrow = document.getElementById("prevpagearrow");
        if (leftarrow) {
			leftarrow.onclick = "return false;";
            leftarrow.firstChild.src = "http://www.egosoft.com/img/arrow_left_grey.gif";
        }
    }
}

function to_ships_destroyed_div(output) {
	display_data('ships_destroyed', output);
}

function to_stations_destroyed_div(output) {
	display_data('stations_destroyed', output);
}

function to_weapons_div(output) {
	display_data('weapons', output);
}

function to_ships_captured_div(output) {
	display_data('ships_captured', output);
}

function to_ships_claimed_div(output) {
	display_data('ships_claimed', output);
}

function to_lasers_fired_div(output) {
	display_data('lasers_fired', output);
}

function to_lasers_firedPH_div(output) {
	display_data('lasers_firedPH', output);
}

function to_laser_eff_div(output) {
	display_data('laser_eff', output);
}

function to_missiles_fired_div(output) {
	display_data('missiles_fired', output);
}

function to_missiles_firedPH_div(output) {
	display_data('missiles_firedPH', output);
}

function to_missile_eff_div(output) {
	display_data('missile_eff', output);
}

function to_ships_owned_div(output) {
	display_data('ships_owned', output);
}

function to_stations_owned_div(output) {
	display_data('stations_owned', output);
}

function to_active_satellites_div(output) {
	display_data('active_satellites', output);
}

function to_finances_div(output) {
	display_data('finances', output);
}

function to_HQ_div(output) {
	display_data('HQ', output);
}

function to_cash_div(output) {
	display_data('cash', output);
}

function to_station_cash_div(output) {
	display_data('station_cash', output);
}

function to_asset_div(output) {
	display_data('asset', output);
}

function to_assetpcash_div(output) {
	display_data('assetpcash', output);
}

function to_profitPH_div(output) {
	display_data('profitPH', output);
}

function to_bpavailable_div(output) {
	display_data('bpavailable', output);
}

function to_reversetime_div(output) {
	display_data('reversetime', output);
}

function to_time_played_div(output) {
	display_data('time_played', output);
}

function to_donated_div(output) {
	display_data('donated', output);
}

function to_missions_div(output) {
	display_data('missions', output);
}

function to_movement_div(output) {
	display_data('movement', output);
}

function to_other_div(output) {
	display_data('other', output);
}

function to_missions_comp_div(output) {
	display_data('missions_comp', output);
}

function to_missions_compPH_div(output) {
	display_data('missions_compPH', output);
}

function to_passengers_div(output) {
	display_data('passengers', output);
}

function to_distance_travelled_div(output) {
	display_data('distance_travelled', output);
}

function to_distance_travelledPH_div(output) {
	display_data('distance_travelledPH', output);
}

function to_jumpgatespassed_div(output) {
	display_data('jumpgatespassed', output);
}

function to_jumpgatespassedPH_div(output) {
	display_data('jumpgatespassedPH', output);
}

function to_jumpdriveenergy_div(output) {
	display_data('jumpdriveenergy', output);
}

function to_jumpdriveenergyPH_div(output) {
	display_data('jumpdriveenergyPH', output);
}

function to_stations_hacked_div(output) {
	display_data('stations_hacked', output);
}

function to_lottery_tickets_div(output) {
	display_data('lottery_tickets', output);
}

function to_blackjack_played_div(output) {
	display_data('blackjack_played', output);
}

function to_blackjack_profit_div(output) {
	display_data('blackjack_profit', output);
}


function to_create_content_div(output){

    var stat;
	if (secondRank) {
	    stat = stats_arr[firstRank][secondRank];
    }
    else {
	    stat = stats_arr[firstRank];
    }

    for(keyVar in stat){
       	var str = eval("/%"+keyVar+"%/g");
        if (typeof stat[keyVar] != "object") {
	        output = output.replace(str, stat[keyVar]);
        }
        else {
	        output = output.replace(str, stat[keyVar][keyVar]);
        }
    }

	document.getElementById("dataframe2").innerHTML = output;

	if(secondRank){
		second_load();
	}
    else if (firstRank) {
    	if (firstRank == '-2') {
	        document.getElementById("dataframe").style.display = "inline";
		    document.getElementById("dataframe2").style.display = "none";
    	}
    	else {
        	first_load();
    	}
    }
}

function to_create_stat_div(output){

    var title = "";
	if (thirdRank) {
	    title = stats_arr[firstRank][secondRank][thirdRank];
    }
    else {
	    title = stats_arr[firstRank][secondRank];
    }

	output = output.replace(/%title%/g, title);

	document.getElementById("dataframe2").innerHTML = output;

	if(thirdRank) {
		third_load();
    }
    else if (secondRank) {
		second_load();
    }
}

function getStatName() {

	var name;
	if (thirdRank) {
	    stat = stats_arr[firstRank][secondRank][thirdRank];
    }
    else {
	    stat = stats_arr[firstRank][secondRank];
    }

    return stat;

}

function showLoadingScreen(section) {
	datadiv = document.getElementById("stats_"+section);
    if (datadiv) {
	    datadiv.style.display = "none";
    }

	overlay = document.getElementById("stats_"+section+"_loading");
    if (overlay) {
	    overlay.style.backgroundColor = "#101010";
	    try{
	        overlay.style.opacity="0.8";
	    } catch(exc){}
	    try{
	        overlay.style.MozOpacity="0.8";
	    } catch(exc){}
	    try{
	        overlay.filters.alpha.opacity = 80;
	    } catch(exc){}
        if (startVal > 0) {
		    overlay.style.position = "absolute";
        }
        else {
		    overlay.style.position = "relative";
        }
	    overlay.style.width = overlay.parentNode.offsetWidth+"px";
	    overlay.style.display = "block";
    }
}

function load_data(section, start, num, output_div) {
	if (start < 0){
    	startVal = 0;
        start = 0;
    }
	showLoadingScreen(section);
    x_get_stats(section, start, num, highlightUser, output_div);
    // we don't want the click to do anything
    return false;
}

function strpad(str, len, pad) {
	str = String(str);
	while (str.length < len) {
		str = pad + str;
    }
    return str;
}

function strpad2(str, len, pad) {
	str = String(str);
	while (str.length < len) {
		str = str + pad;
    }
    return str;
}


function numberFormat(number, K_separator) {

    if (K_separator == "auto") {

	    if(language == 'de')
        	K_separator = ".";
        else
        	K_separator = ",";
    }
    var decimal_separator;

	if (K_separator == ",") {
    	decimal_separator = ".";
    }else{
    	decimal_separator = ",";
    }

	var str = "";
	var sign = "";
	if(number < 0) {
		sign = "-";
		number = -number;
	}

    var isfloat = String(number).indexOf(".") + 1;
	var decimal = String(number).substr(isfloat);
    number = Math.floor(number);

    while(number >= 1000) {
		str = K_separator + strpad((number % 1000),3,"0") + str;
		number = parseInt(number / 1000);
	}

	str = sign + "" + number + "" + str;
    if (isfloat) {
    	str = str + decimal_separator + strpad2(decimal.toString(),2,"0");
    }

    return str;
}


function timeFormat(number) {

	var str = "";
	var sign = "";
    var s = number % 60;

    str = "" + strpad(s,2,"0");
	if(number >= 60) {
	    var m = Math.floor(number / 60) % 60;
	    str = strpad(m,2,"0") + ":" + str;
    }
    if (Math.floor(number / 60) >= 60) {
	    var h = Math.floor(number / 60 / 60) % 24;
	    str = strpad(h,2,"0") + ":" + str;
    }

    // just days might be better here
    if (Math.floor(number / 60 / 60) >= 24) {
	    var d = Math.floor(number / 60 / 60 / 24);
	    str = d + "d " + str;
    }

    /*
    if (Math.floor(number / 60 / 60) >= 24) {
	    var d = Math.floor(number / 60 / 60 / 24) % 30;
	    str = strpad(d,2,"0") + " " + str;
    }
    if (Math.floor(number / 60 / 60 / 24) >= 30) {
	    var m = Math.floor(number / 60 / 60 / 24 / 30) % 12;
	    str = strpad(m,2,"0") + "-" + str;
    }
    if(Math.floor(number / 60 / 60 / 24 / 30) >= 12) {
	    var y = Math.floor(number / 60 / 60 / 24 / 30 / 12);
	    str = y + "-" + str;
    }
    */

    return str;
}


function _countTo(field, step) {

	var time = 1000;
	var intervall = 100;
	var cont = false;
	var num = 0;
	if(document.getElementById("list_"+field)){
		num = document.getElementById("list_"+field).options.length;
	}

    // animate box height
    var div = document.getElementById("stats_"+field);
    var div2 = document.getElementById("stats_"+field+"_loading");
    if (div && div.firstChild) {
    	var divheight = parseInt(div.style.height);
	    if (divheight < div.firstChild.offsetHeight) {
	        var resizeSteps = time / intervall;
			var diff = div.firstChild.offsetHeight - divheight;
	//      div.style.height = (diff/(resizeSteps-step));
    		div.style.height = (divheight + (diff/(resizeSteps-step))) +"px";
            if(div2) {
	    		div2.style.height = (divheight + (diff/(resizeSteps-step))) +"px";
            }
	    }
    }
	for(i=0; i<num; i++) {
	    // count up the numerical values
	    var steps = time / intervall;
	    var maxValue = document.getElementById("list_"+field).options[i].value;
	    var stepSize = maxValue / steps;
	    var newValue = step * stepSize;
	    if (newValue > maxValue) {
        	newValue = maxValue;
        }
		if (field == 'time_played' || field == 'reversetime' || field == 'setatime' || field == 'realtime'){
        	document.getElementById("val_"+field+"_"+i).innerHTML = timeFormat(Math.round(newValue));
		}
        else {
            if(String(maxValue).indexOf(".") == -1){
            	document.getElementById("val_"+field+"_"+i).innerHTML = numberFormat(Math.round(newValue), "auto");
            }else{
            	document.getElementById("val_"+field+"_"+i).innerHTML = numberFormat((Math.round(newValue*100)/100), "auto");
        	}
        }


	    // animate the bar
	    var maxPercent = Number(document.getElementById("list_"+field).options[i].firstChild.nodeValue);
	    var stepSize = maxPercent / steps;
	    var newPercent = step * stepSize;
	    if (newPercent > maxPercent) {
        	newPercent = maxPercent;
        }

	    document.getElementById("bar_"+field+"_"+i).style.width = Math.round(newPercent) + "%";

	    // if the value has reached its max we want the loop to end
	    if (newValue == maxValue)
		    continue;
/*
	    if (newPercent == maxPercent)
		    continue;
*/

	    // check if we should call this function again
	    cont = true;
	}

	if(cont) {
	    window.setTimeout("_countTo(\""+ field +"\", "+ (++step) +")", intervall);
    }
    else {
	    if (document.getElementById("stats_"+field+"_loading")) {
	        document.getElementById("stats_"+field+"_loading").style.display = "none";
	    }
//		window["lock_"+] = false;
	}
}

function change_data(Rank){

	startVal = 0;

	if (Rank == -2) {
	    document.getElementById("dataframe").style.display = "inline";
    	document.getElementById("dataframe2").innerHTML = ""; // clear content, will be reloaded, the next time this dataset is shown
	    document.getElementById("dataframe2").style.display = "none";
		firstRank = "";
	    secondRank = "";
    }
    else {
	    document.getElementById("dataframe").style.display = "none";
    	document.getElementById("dataframe2").innerHTML = ""; // clear content, will be reloaded, the next time this dataset is shown
	    document.getElementById("dataframe2").style.display = "inline";
	    firstRank = Rank;
	    secondRank = "";
	    x_create_content(Rank, to_create_content_div);
    }
    createurl();
}

function view_data(Rank, mom){

	startVal = mom;

	if (Rank == -2) {
		if (thirdRank) {
	        thirdRank = "";
            view_data(secondRank, mom);
            return;
        }
        else if (secondRank) {
        	secondRank = "";
            change_data(firstRank);
            return;
        }
    }

    document.getElementById("dataframe").style.display = "none";
    document.getElementById("dataframe2").style.display = "inline";

	if (thirdRank) {
	    stat = stats_arr[firstRank][secondRank][thirdRank];
    }
    else {
	    stat = stats_arr[firstRank][secondRank];
    }

    if(typeof stat != "object") {
        x_create_stat(Rank, mom, to_create_stat_div);
    }
    else {
    	x_create_content(Rank, to_create_content_div);
    }
    createurl();
}

function view_data2(Rank, mom){
    secondRank = Rank;
    view_data(Rank, mom);
}

function view_data3(Rank, mom){

	thirdRank = Rank;
    view_data(Rank, mom);
}


function first_load(){

	if(!firstRank)
    	return;

    secondRank = "";
    thirdRank = "";

    switch (firstRank) {

		case 'overview':
			break;
		case 'summary':
			break;
		case 'combat':
			load_data('ships_destroyed', 0, 10, to_ships_destroyed_div);
			load_data('stations_destroyed', 0, 10, to_stations_destroyed_div);
			load_data('ships_captured', 0, 10, to_ships_captured_div);
			load_data('ships_claimed', 0, 10, to_ships_claimed_div);
			break;
		case 'empires':
			load_data('ships_owned', 0, 10, to_ships_owned_div);
			load_data('stations_owned', 0, 10, to_stations_owned_div);
			load_data('active_satellites', 0, 10, to_active_satellites_div);
			break;
		case 'games':
			load_data('time_played', 0, 10, to_time_played_div);
			load_data('donated', 0, 10, to_donated_div);
			break;
	    default:
	        alert("Ne dat war Falsch");
	        break;
	}
}

function second_load(){

   	if(!secondRank)
    	return;

	thirdRank = "";

    switch (secondRank) {

		case 'weapons':
			load_data('lasers_fired', 0, 10, to_lasers_fired_div);
			load_data('lasers_firedPH', 0, 10, to_lasers_firedPH_div);
			load_data('laser_eff', 0, 10, to_laser_eff_div);
			load_data('missiles_fired', 0, 10, to_missiles_fired_div);
			load_data('missiles_firedPH', 0, 10, to_missiles_firedPH_div);
			load_data('missile_eff', 0, 10, to_missile_eff_div);
			break;
		case 'finances':
			load_data('cash', 0, 10, to_cash_div);
			load_data('station_cash', 0, 10, to_station_cash_div);
			load_data('asset', 0, 10, to_asset_div);
			load_data('assetpcash', 0, 10, to_assetpcash_div);
			load_data('profitPH', 0, 10, to_profitPH_div);
			break;
		case 'HQ':
			load_data('bpavailable', 0, 10, to_bpavailable_div);
			load_data('reversetime', 0, 10, to_reversetime_div);
			break;
		case 'missions':
			load_data('missions_comp', 0, 10, to_missions_comp_div);
			load_data('missions_compPH', 0, 10, to_missions_compPH_div);
			load_data('passengers', 0, 10, to_passengers_div);
			break;
		case 'movement':
			load_data('distance_travelled', 0, 10, to_distance_travelled_div);
			load_data('distance_travelledPH', 0, 10, to_distance_travelledPH_div);
			load_data('jumpgatespassed', 0, 10, to_jumpgatespassed_div);
			load_data('jumpgatespassedPH', 0, 10, to_jumpgatespassedPH_div);
			load_data('jumpdriveenergy', 0, 10, to_jumpdriveenergy_div);
			load_data('jumpdriveenergyPH', 0, 10, to_jumpdriveenergyPH_div);
			break;
		case 'other':
			load_data('stations_hacked', 0, 10, to_stations_hacked_div);
			load_data('lottery_tickets', 0, 10, to_lottery_tickets_div);
			load_data('blackjack_played', 0, 10, to_blackjack_played_div);
			load_data('blackjack_profit', 0, 10, to_blackjack_profit_div);
			break;
	    default:
	        load_data(secondRank, startVal, perPage, eval('to_'+secondRank+'_div'));
	        break;
	}
}


function third_load(){

   	if(!thirdRank)
    	return;

    load_data(thirdRank, startVal, perPage, eval('to_'+thirdRank+'_div'));

}


function load_dropdown1() {

	var keyVar = "";
	var drop1 = document.getElementById("dropdown");
	var drop2 = document.getElementById("dropdown2");
	var drop3 = document.getElementById("dropdown3");

    drop2.disabled='disabled';
    drop3.disabled='disabled';
    cleardropdown(drop1, stats_arr['summary']);
	cleardropdown(drop2, stats_arr['overview']);
    cleardropdown(drop3, stats_arr['overview']);

    for(keyVar in stats_arr){
        var stat = stats_arr[keyVar];
        if (typeof stat == "object"){
            drop1.appendChild(createoption(keyVar, stat[keyVar]));
        }
    }
	drop1.disabled='';
	return;
}


function load_dropdown2() {

	var keyVar = "";
	var drop1 = document.getElementById("dropdown");
    var drop2 = document.getElementById('dropdown2');
	var drop3 = document.getElementById("dropdown3");
    var optvar = drop1.options[drop1.options.selectedIndex].value;

    drop3.disabled='disabled';
    cleardropdown(drop3, stats_arr['overview']);
	cleardropdown(drop2, stats_arr['overview']);

    for(keyVar in stats_arr[optvar]){
    	if(keyVar != optvar){
	        var stat = stats_arr[optvar][keyVar];
	        if (typeof stat != "object"){
	            drop2.appendChild(createoption(keyVar, stat));
	        }
	        else {
	            drop2.appendChild(createoption(keyVar, stat[keyVar]));
	        }
        }
    }
	drop2.disabled='';
	return;
}

function load_dropdown3() {

	var keyVar = "";
    var drop1 = document.getElementById("dropdown");
    var drop2 = document.getElementById("dropdown2");
    var drop3 = document.getElementById("dropdown3");
    var drop1value = drop1.options[drop1.options.selectedIndex].value;
    var drop2value = drop2.options[drop2.options.selectedIndex].value;

	var droppoints = stats_arr[drop1value][drop2value];

    if(typeof droppoints == "object"){
       	 drop3.disabled='';
    }
    else {
    	drop3.disabled='disabled';
	    cleardropdown(drop3, stats_arr['overview']);
   		return;
    }

    cleardropdown(drop3, stats_arr['overview']);

    for ( keyVar in stats_arr[drop1value][drop2value] ) {
    	if(keyVar != drop2value){
              drop3.appendChild(createoption( keyVar, stats_arr[drop1value][drop2value][keyVar]));
	    }
    }
    return;
}


function createoption(value, optiontxt ) {

    var option = document.createElement("option");
    var attrib = document.createAttribute("value");
    var text = document.createTextNode(optiontxt);
    attrib.nodeValue = value;
	option.setAttributeNode(attrib);
    option.appendChild(text);

return option;
}

function cleardropdown(drop, title){

    while (drop.childNodes.length > 0){
		drop.removeChild(drop.firstChild);
    }

    drop.appendChild(createoption( "-2",  title));
    drop.appendChild(createoption( "-1",  "-----------------"));

};


// Michael Testcode

function updateInfoBox(section, num_original, num_modified) {
    var piechart = document.getElementById("pie");
    if(piechart)
	    piechart.src = "/img/pie.php?pct=" + Math.round((num_modified / (num_original + num_modified)) * 100);

    var infotext1 = document.getElementById("infotext1");
    var infotext2 = document.getElementById("infotext2");
    var infoheader = document.getElementById("infoheader");

    if(infotext1)
		infotext1.innerHTML = "Original: " + Math.round((num_original / (num_original + num_modified)) * 1000)/10 + "%";
    if(infotext2)
		infotext2.innerHTML = "Modified: " + Math.round((num_modified / (num_original + num_modified)) * 1000)/10 + "%"
    if(infoheader)
	    infoheader.innerHTML = section;

	return;
}

function createurl(){

    
    if (firstRank != "" && secondRank == "" && thirdRank == ""){
   		var compURL = "http://www.egosoft.com/games/"+game+"/statistics_"+language+".php?st="+firstRank+"&start="+startVal;
    }
    else if (firstRank != "" && secondRank != "" && thirdRank == ""){
    	var compURL = "http://www.egosoft.com/games/"+game+"/statistics_"+language+".php?st="+firstRank+"&nd="+secondRank+"&start="+startVal;
	}
    else if (firstRank != "" && secondRank != "" && thirdRank != ""){
    	var compURL = "http://www.egosoft.com/games/"+game+"/statistics_"+language+".php?st="+firstRank+"&nd="+secondRank+"&rd="+thirdRank+"&start="+startVal;
    }

	var link = document.getElementById("getURL");
    link.setAttribute("href", compURL);

    return compURL;

};


function goToStats() {

	load_dropdown1();

	if (!firstRank)
    	return;

    var drop1 = document.getElementById("dropdown");
    var drop2 = document.getElementById("dropdown2");
    var drop3 = document.getElementById("dropdown3");

    if (thirdRank) {
        drop1.selectedIndex = findDropOptionByName(drop1, firstRank);
		load_dropdown2();
        drop2.selectedIndex = findDropOptionByName(drop2, secondRank);
		load_dropdown3();
        drop3.selectedIndex = findDropOptionByName(drop3, thirdRank);
		view_data3(thirdRank, startVal);
    }
    else if (secondRank) {
        drop1.selectedIndex = findDropOptionByName(drop1, firstRank);
		load_dropdown2();
        drop2.selectedIndex = findDropOptionByName(drop2, secondRank);
		load_dropdown3();
        drop3.selectedIndex = 0;
		view_data2(secondRank, startVal);
    }
    else if (firstRank) {
        drop1.selectedIndex = findDropOptionByName(drop1, firstRank);
		load_dropdown2();
        drop2.selectedIndex = 0;
		change_data(firstRank);
    }
}

function findDropOptionByName(drop, name) {
	var i = 0;
	for (i=0; i<drop.options.length; i++) {
		if (drop.options[i].value == name) {
        	return i;
        }
    }
    return -1;
}

