/* Library - General Purpose Functions */





function money_format(num) {



	num = num.toString().replace(/\$|\,/g,'');



	if(isNaN(num)) {

		num = "0";

	}



	sign = (num == (num = Math.abs(num)));



	num = Math.floor(num+0.50000000001);



	cents = num%100;



	num = Math.floor(num/100).toString();



	if(cents<10)



	cents = "0" + cents;



	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)



	num = num.substring(0,num.length-(4*i+3))+','+



	num.substring(num.length-(4*i+3));



	return (((sign)?'':'-') + '$' + num + '.' + cents);



}



/*

function money_format(num) {



	var dollars = '';

	var cents = '';

	var l = 0;

	

	num = num + ''; // force a string

	

	l = num.length;

	

	dollars = num.substring(0, (l - 2));

	cents = num.substring((l - 2),(l));

	

	if (dollars == '') { dollars = '0'; }



	if (cents.length == 1) { cents = '0' + cents; }

	

	//return '$' + dollars + '.' + cents;



	return '$' + comma_formatted(dollars + '.' + cents);



}



function comma_formatted(amount) {

	var delimiter = ','; // replace comma if desired

	var a = amount.split('.',2)

	var d = a[1];

	var i = parseInt(a[0]);

	if(isNaN(i)) { return ''; }

	var minus = '';

	if(i < 0) { minus = '-'; }

	i = Math.abs(i);

	var n = new String(i);

	var a = [];

	while(n.length > 3)

	{

		var nn = n.substr(n.length-3);

		a.unshift(nn);

		n = n.substr(0,n.length-3);

	}

	//if(n.length > 0) { a.unshift(n); }

	n = a.join(delimiter);

	if(d.length < 1) { amount = n; }

	else { amount = n + '.' + d; }

	amount = minus + amount;

	return amount;

}

*/



function swap_image(element_id, new_src) {



	var this_element = document.getElementById(element_id);

	this_element.src = new_src;



}



function write_to_element(element_id, content) {

	//alert(element_id);

	document.getElementById(element_id).innerHTML = content;

}





function array_search(needle, haystack) {

	if (haystack.length == 0) { return false; }

	for (var i = 0; i < haystack.length; i++) {

		if (needle == haystack[i]) { return true; }

	}

	return false;

}



function random_number(min, max) {

	

	// this function returns a random number in the range from min to max

	var range = Math.abs(max - min) + 1;

	var number = Math.floor(range*Math.random());

	if (number == range) { number = number - 1; }

	return number + Math.min(max,min);

	

}



function random_element(this_array) {



	// this function returns a random element from an array

	var n = random_number(0, (this_array.length - 1));

	return this_array[n];



}



function set_element_style(element_id, style_name, style_value) {

	document.getElementById(element_id).style[style_name] = style_value;

}



function get_field_value_by_name(element_name) {



	// warning... if result is an integer, you'll need to cast it as such

	var these_values = new Array();

	var element_list = document.getElementsByTagName('input');

	for (var i = 0; i < element_list.length; i++) {

		if (element_list[i].name == element_name && element_list[i].checked==1) {

			these_values[these_values.length] = element_list[i].value;

		}

	}

	return these_values.join(',');



}



function get_field_value_by_id(element_id) {

	return document.getElementById(element_id).value;

}



function int_compare(a, b) {

	// this function is used to sort an array by numerical value

	return a - b;

}



function object_position_property_sort(a, b) {



	if (a.position < b.position) {

		return -1;

	} else {

		if (a.position == b.position) {

			return 0

		} else {

			return 1;

		}

	}



}



function object_event_date_property_sort(a, b) {



	if (a.event_dates < b.event_dates) {

		return -1;

	} else {

		if (a.event_dates == b.event_dates) {

			return 0

		} else {

			return 1;

		}

	}



}



function break_md_array(md_array, md_index) {

	

	// multi dimensional array, multi dimensional index

	// break the $index of the multidimensional array into its own array



	var i;



	new_array = new Array();

	

	for (i = 0; i < md_array.length; i++) {

	

		new_array[i] = md_array[i][md_index];

	

	}

	

	return new_array;



}





function array_similarity(array_1, array_2) {



	// returns the number of equal (value and position) items in two arrays



	var i;

	var s = 0;

			

	if (array_1.length != array_2.length) {

		// arrays are not the same length

		return -1;

	}

	

	for (i = 0; i < array_1.length; i++) {

		if (array_1[i] == array_2[i]) {

			s++;

		}

	}

	

	return s;



}



function preload_images(images) {

	for (i = 0; i < images.length; i++) {

		game_images[i] = new Image();

		game_images[i].src=images[i];

	}

}





