var debt_id = 0;
var debt_timeout = .15;

var pop_id = 0;
var pop_timeout = 13;

var share = 0;
var share_timeout = 2;
var share_id = 0;

function update_debt() {
	if(debt_id) {
		clearTimeout(debt_id);
		debt_id = 0;
	}
	debt += 10217.23*debt_timeout;
	document.getElementById('debt').innerHTML = number_to_image(format_number(debt.toFixed(2),'$'));
	debt_id = setTimeout("update_debt()",debt_timeout*1000);
}

function start_debt() {
	document.getElementById('debt').innerHTML = number_to_image(format_number(debt.toFixed(2),'$'));
	debt_id = setTimeout("update_debt()",debt_timeout*1000);
}

function stop_debt() {
	if(debt_id) {
		clearTimeout(debt_id);
		debt_id = 0;
	}
}

function update_share() {
	if(share_id) {
		clearTimeout(share_id);
		share_id = 0;
	}
	share = debt / pop;
	document.getElementById('share').innerHTML = number_to_image(format_number(share.toFixed(4),'$'));
	share_id = setTimeout("update_share()",share_timeout*1000);
}

function start_share() {
	share = debt / pop;
	document.getElementById('share').innerHTML = number_to_image(format_number(share.toFixed(4),'$'));
	share_id = setTimeout("update_share()",share_timeout*1000);
}

function stop_share() {
	if(share_id) {
		clearTimeout(share_id);
		share_id = 0;
	}
}

function update_pop() {
	if(pop_id) {
		clearTimeout(pop_id);
		pop_id = 0;
	}
	pop += 1;
	document.getElementById('pop').innerHTML = number_to_image(format_number(pop));
	pop_id = setTimeout("update_pop()",pop_timeout*1000);
}

function start_pop() {
	document.getElementById('pop').innerHTML = number_to_image(format_number(pop));
	pop_id = setTimeout("update_pop()",pop_timeout*1000);
}

function stop_pop() {
	if(pop_id) {
		clearTimeout(pop_id);
		pop_id = 0;
	}
}

function number_to_image(num) {
	num += '';
	var replace_table = new Array();
	replace_table['0'] = '<img src="/images/0.png" />';
	replace_table['1'] = '<img src="/images/1.png" />';
	replace_table['2'] = '<img src="/images/2.png" />';
	replace_table['3'] = '<img src="/images/3.png" />';
	replace_table['4'] = '<img src="/images/4.png" />';
	replace_table['5'] = '<img src="/images/5.png" />';
	replace_table['6'] = '<img src="/images/6.png" />';
	replace_table['7'] = '<img src="/images/7.png" />';
	replace_table['8'] = '<img src="/images/8.png" />';
	replace_table['9'] = '<img src="/images/9.png" />';
	replace_table['.'] = '<img src="/images/dot.png" />';
	replace_table['$'] = '<img src="/images/_dsign.png" />';
	replace_table[','] = '<img src="/images/_comma.png" />';
	var array = num.split('');
	var string = '';
	for(var x=0;x<array.length;x++) {
		string += replace_table[array[x]];
	}
	return string;
}

var preloaded = new Array();

function preload_images() {
	for(var i = 0; i < arguments.length; i++) {
		preloaded[i] = document.createElement('img');
		preloaded[i].setAttribute('src',arguments[i]);
	}
}

function format_number(nStr,prefix){
    var prefix = prefix || '';
    nStr += '';
    x = nStr.split('.');
    x1 = x[0];
    x2 = x.length > 1 ? '.' + x[1] : '';
    var rgx = /(\d+)(\d{3})/;
    while (rgx.test(x1))
        x1 = x1.replace(rgx, '$1' + ',' + '$2');
    return prefix + x1 + x2;
}

function start_clock_timers() {
	start_debt();
	start_pop();
	start_share();
}

function start_clock() {
	httpObject = getHTTPObject();
	if (httpObject != null) {
		httpObject.open("GET","/cgi-bin/seed_values.pl",true);
		httpObject.send(null);
		httpObject.onreadystatechange = set_values;
	}
}

function set_values() {
	if(httpObject.readyState == 4) {
		var json = eval('('+ httpObject.responseText + ')');
		debt = json.debt;
		pop = json.pop;
		start_clock_timers();
	}
}

// AJAX

function getHTTPObject(){
	if (window.ActiveXObject) 
		return new ActiveXObject("Microsoft.XMLHTTP");
	else if (window.XMLHttpRequest)
		return new XMLHttpRequest();
	else {
		alert("Your browser does not support AJAX.");
		return null;
	}
}


preload_images("/images/0.png","/images/1.png","/images/2.png","/images/3.png","/images/4.png","/images/5.png","/images/6.png","/images/7.png","/images/8.png","/images/9.png","/images/dot.png","/images/_dsign.png","/images/_comma.png");
