var eurPrice = new Array();

var priceCode = new Array('', '', '');

function init_curr() {
	if(document.getElementById('curr') != null) {
		document.getElementById('curr').selectedIndex=start_index;
	}
	if(document.getElementById('priceTable') != null) {
		fillArrEl('priceTable');
		calc_exchange(start_index, 'priceTable');
	}
	if(document.getElementById('rentTable1') != null) {
		fillArrEl('rentTable1');
		calc_exchange(start_index, 'rentTable1');
	}
	if(document.getElementById('rentTable2') != null) {
		fillArrEl('rentTable2');
		calc_exchange(start_index, 'rentTable2');
	}
}

function calc_exchange(selIndex, tableId) {

	var table = document.getElementById(tableId); //'priceTable'
	var trList = table.getElementsByTagName('tr');
	
	for ( var i = 0; i < trList.length; i++ ) {
		var tdList = trList[i].getElementsByTagName('td');
		for ( var j = 0; j < tdList.length; j++ ) {
			if(!isNaN(eurPrice[tableId][i][j])) {
				if(selIndex == 1) {
					tdList[j].innerHTML = number_format(eurPrice[tableId][i][j] * eur_usd, 0, '.', ' ');
				} else if(selIndex == 2) {
					tdList[j].innerHTML = number_format(eurPrice[tableId][i][j] * eur_rur, 0, '.', ' ');
				} else {
					tdList[j].innerHTML = number_format(eurPrice[tableId][i][j], 0, '.', ' ');
				}
			}
		}
	}
}

function fillArrEl(tableId) {
	
	eurPrice[tableId] = new Array();
	
	var table = document.getElementById(tableId); //'priceTable'
	var trList = table.getElementsByTagName('tr');
	
	for ( var i = 0; i < trList.length; i++ ) {
		var tdList = trList[i].getElementsByTagName('td');
		var rowArr = new Array();
		for ( var j = 0; j < tdList.length; j++ ) {
				if(tdList[j].className == 'currEx') {
					rowArr[j] = new Number(tdList[j].innerHTML);
				} else {
					rowArr[j] = NaN;
				}
		}
		eurPrice[tableId][i] = rowArr;
	}
}

function number_format(number, decimals, dec_point, thousands_sep){
	  var exponent = "";
	  var numberstr = number.toString ();
	  var eindex = numberstr.indexOf ("e");
	 var i, z;
	  if(eindex > -1){
	    exponent = numberstr.substring (eindex);
	    number = parseFloat (numberstr.substring (0, eindex));
	  }
	  
	  if(decimals != null){
	    var temp = Math.pow (10, decimals);
	    number = Math.round (number * temp) / temp;
	  }
	  var sign = number < 0 ? "-" : "";
	  var integer = (number > 0 ? 
	      Math.floor (number) : Math.abs (Math.ceil (number))).toString ();
	  
	  var fractional = number.toString ().substring (integer.length + sign.length);
	  dec_point = dec_point != null ? dec_point : ".";
	  fractional = decimals != null && decimals > 0 || fractional.length > 1 ? (dec_point + fractional.substring (1)) : "";
	  if(decimals != null && decimals > 0){
	    for(i = fractional.length - 1, z = decimals; i < z; ++i)
	      fractional += "0";
	  }
	  
	  thousands_sep = (thousands_sep != dec_point || fractional.length == 0) ? 
	                  thousands_sep : null;
	  if(thousands_sep != null && thousands_sep != ""){
	  for (i = integer.length - 3; i > 0; i -= 3)
	   integer = integer.substring (0 , i) + thousands_sep + integer.substring (i);
	  }
	  return sign + integer + fractional + exponent;
	}
