// Alle markieren / Markierungen aufheben
function switchCheckboxes(formname, status)
{
  var x = document.forms[formname].elements;
  for (var i=0; i<x.length; i++)
  {
    x[i].checked = status;
  }
}

function calculate(secs, num1, num2) {
  s = ((Math.floor(secs/num1))%num2).toString();
  if (s.length < 2) {
  s = "0" + s; }
  return s;
}

function formatTime(msec, name)
{
  sec = Math.floor(msec/1000);

  sDay = calculate(sec, 86400, 100000);
  sHour = calculate(sec, 3600, 24);
  sMinute = calculate(sec, 60, 60);
  sSec = calculate(sec, 1, 60);

  if (sDay != '00') { time = sDay+'d&nbsp;'+sHour+'h'; }
  else if(sHour != '00') { time = sHour+'h&nbsp;'+sMinute+'m'; }
  else { time = sMinute+'m&nbsp;'+sSec+'s'; }

  if (msec > 0)
  {
    $(name).innerHTML = time;
  }
  else
  {
    $(name).innerHTML = '-';
  }
}

function countdown2(msec, name)
{
  formatTime(msec, name);
  if (msec>0)
  {
    setTimeout("countdown2(" + (msec-1000) + ", '" + name + "')", 1000);
  }
  else 
  {
    location.reload(true);
  }
}

function showLang()
{
  if ($('selectLang').style.display == 'none') {
    Effect.SlideDown('selectLang', { duration: 0.7 }); }
  else {
    $('selectLang').style.display = 'none'; }

  return false;
}


function slide(element, type)
{
	if(type == 'down' && $(element).style.display == 'none')
	{
		Effect.SlideDown(element);
		return true;
	}
	if(type == 'up' && $(element).style.display == '')
	{
		Effect.SlideUp(element);
		return true;
	}
	return false;
}


function validateBuyFactor(iValue)
{
  if (Object.isNumber(iValue) && iValue > 0 && iValue <= 1000) {
    return true; }

  return false;
}

/* imported: adds commas and points to a number returning a formatted string */
function addCommas(nStr)
{
  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 x1 + x2;
}

function changeBuyFactor(sWare, bIncrease)
{
  if (bIncrease && $('buy_factor_' + sWare).value < 1000) $('buy_factor_' + sWare).value++;
  if (!bIncrease && $('buy_factor_' + sWare).value > 1) $('buy_factor_' + sWare).value--;

  $('buy_factor_display_' + sWare).value = $('buy_factor_' + sWare).value;

  // check if production is above the minimum
  var bf = parseInt($('buy_factor_' + sWare).value, 10);
  var bc = parseInt($('buy_costs_once_' + sWare).value, 10);
  var pr = parseInt($('production_' + sWare).value, 10);    
  var buyCosts = parseInt(Math.round(bf * bc), 10);
  var buyTotal = parseInt(Math.round(bf * pr), 10);
  buyCosts = buyTotal > buyMinWares ? buyCosts : bc; 
  buyTotal = buyTotal > buyMinWares ? buyTotal : buyMinWares;

  $('buy_costs_' + sWare).innerHTML = addCommas(buyCosts);
  $('buy_total_' + sWare).innerHTML = addCommas(buyTotal);
}

function adjustBuyFactor(sWare)
{
  iNewValue = parseInt($('buy_factor_display_' + sWare).value);
  if (validateBuyFactor(iNewValue))
  {
    $('buy_factor_' + sWare).value = iNewValue;
    $('buy_factor_display_' + sWare).value = iNewValue;
    
    // check if production is above the minimum
    var bf = parseInt($('buy_factor_' + sWare).value, 10);
    var bc = parseInt($('buy_costs_once_' + sWare).value, 10);
    var pr = parseInt($('production_' + sWare).value, 10); 
    var buyCosts = Math.round(iNewValue * bc);
    var buyTotal = Math.round(iNewValue * pr);
    buyCosts = buyTotal > buyMinWares ? buyCosts : bc; 
    buyTotal = buyTotal > buyMinWares ? buyTotal : buyMinWares;
    
    $('buy_costs_' + sWare).innerHTML = addCommas(buyCosts);
    $('buy_total_' + sWare).innerHTML = addCommas(buyTotal);
    return true;
  }
  else
  {
    $('buy_factor_display_' + sWare).value = $('buy_factor_' + sWare).value;
    alert("Bitte nur Zahlen zwichen 1 und 1000 eingeben!");
    return false;
  }
}

