var m_total = 0;
var pEls = Array();

function pEl_QueryPush(ptotal){
  for(var i=0;i<pEls.length;++i){
    if(ptotal==pEls[i]) return;
  }
  
  pEls.push(ptotal);
}

function numberFormat(val){
    var rtotal = Math.round(val*100)/100;
    var total_parts = (rtotal+'').split('.');
  
    var total_display = '';
    if(1*total_parts[0]>0){
      total_display = total_parts[0];
    }else{
      total_display = '0';    
    }
    
    if(1*total_parts[1]>0){
//window.alert(total_parts[1]);
      total_display += ',' + total_parts[1];
      if(total_parts[1].length<2) total_display += '0';
    }else{
      total_display += ',' + '00';    
    }

    return total_display;
}

function getMultiplier(val, baseunit){
  var iVal = 1*val;
  var iBaseunit = 1*baseunit;

  if(iVal==0.0) return 0;
  if(iBaseunit==0.0) return 0;

  var i = 1;
  while(i*iBaseunit<iVal) ++i;
  return i;
}

function _basic_ReCalc(){
  var total = 0;
  for(var i=0;i<pEls.length;++i){
    var pid = pEls[i];
 
    var kEl = document.getElementById('kolicina'+pid);
    var pval = kEl.value;
    var pbase = document.pCalcForm['pubase'+pid].value;
    var pprice = document.pCalcForm['pprice'+pid].value;
    _basic_zaokruzi(pid, pval, pbase, pprice);
    total += 1*document.pCalcForm['ptotal'+pEls[i]].value;
  }
  
  var ttEl = document.getElementById('totalTotal');
  ttEl.innerHTML = numberFormat(total);
  
  return total;
}

function ReCalc(){
/*
  var total = 0;
  for(var i=0;i<pEls.length;++i){
    var pid = pEls[i];
 
    var kEl = document.getElementById('kolicina'+pid);
    var pval = kEl.value;
    var pbase = document.pCalcForm['pubase'+pid].value;
    var pprice = document.pCalcForm['pprice'+pid].value;
    _basic_zaokruzi(pid, pval, pbase, pprice);
    total += 1*document.pCalcForm['ptotal'+pEls[i]].value;
  }
*/
  total = _basic_ReCalc();  
  _basic_mzaokruzi();
  total += m_total;
  
  var ttEl = document.getElementById('totalTotal');
  ttEl.innerHTML = numberFormat(total);
}

function _basic_zaokruzi(pid, val, baseunit, price){
  var divEl = document.getElementById('zaok'+pid);
  var divTEl = document.getElementById('tot'+pid);
    
  var multiplier = getMultiplier(val, baseunit);

  if(multiplier==0){
    divEl.innerHTML = '';
    divTEl.innerHTML = '';
    document.pCalcForm['ptotal'+pid].value=0.0;
  }else{
    var total = multiplier*baseunit*price;
    document.pCalcForm['ptotal'+pid].value=total;
  
    divEl.innerHTML = (multiplier*baseunit);
    divTEl.innerHTML = numberFormat(total);
  }
}

function zaokruzi(pid){
  pEl_QueryPush(pid);
  ReCalc();
}

function cart_zaokruzi(pid){
  pEl_QueryPush(pid);
  _basic_ReCalc();
}

function _basic_mzaokruzi(){
  var val = document.pCalcForm['mkolicina'].value;
  var baseunit = document.pCalcForm['mubase'].value;
  var price = document.pCalcForm['mprice'].value;
  
  var divEl = document.getElementById('mzaokruzeno');
  var divTEl = document.getElementById('mtotal');

  var multiplier = getMultiplier(val, baseunit);

  if(multiplier==0){
    divEl.innerHTML = '';
    divTEl.innerHTML = '';
    m_total = 0.0;
  }else{
    var total = multiplier*baseunit*price;
    m_total = total;
    
    var rtotal = Math.round(total*100)/100;
    var total_parts = (rtotal+'').split('.');
  
    divEl.innerHTML = multiplier*baseunit;
    divTEl.innerHTML = numberFormat(total);
  }
}

function mzaokruzi(){
  ReCalc();
}
