String.prototype.trim = function()
{
  return this.replace(/^\s*/, "").replace(/\s*$/, "");
}

// JavaScript Document
function getXmlHttpRequest() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
}

function number_format(number,decimals,dec_point,thousands_sep) {
  var n = number, prec = decimals;
  n = !isFinite(+n) ? 0 : +n;
  prec = !isFinite(+prec) ? 0 : Math.abs(prec);
  var sep = (typeof thousands_sep == "undefined") ? ',' : thousands_sep;
  var dec = (typeof dec_point == "undefined") ? '.' : dec_point;
  var s = (prec > 0) ? n.toFixed(prec) : Math.round(n).toFixed(prec);
  var abs = Math.abs(n).toFixed(prec);
  var _, i;

  if (abs >= 1000) {
    _ = abs.split(/\D/);
    i = _[0].length % 3 || 3;
    _[0] = s.slice(0,i + (n < 0)) + _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
    s = _.join(dec);
  } else {
    s = s.replace('.', dec);
  }
  return s;
}

function actuliza_tots(linhas,colunas){
  var arr_lin = linhas.split(",");
  var arr_col = colunas.split(",");
  var aux = 0;
  var tot = new Array();
  var ptot = new Array();

  //console.log((arr_lin));
  for(var i in arr_lin) {
    tot[aux] = 0;
    ptot[aux] = 0;
    for(var j in arr_col) {
      if ((document.getElementById('ma_p['+arr_lin[i]+']['+arr_col[j]+']')) && (document.getElementById('ma_p['+arr_lin[i]+']['+arr_col[j]+']').value>0)){
        tot[aux] = tot[aux] + parseInt(document.getElementById('ma_p['+arr_lin[i]+']['+arr_col[j]+']').value);
        ptot[aux] = ptot[aux] + (parseInt(document.getElementById('ma_p['+arr_lin[i]+']['+arr_col[j]+']').value)*(parseFloat(document.getElementById('prc['+arr_col[j]+']').value).toFixed(2)));
      }
    }
    aux++;
  }


	  var totg = 0;
	  var ptotg = 0;
	  for (i=0;i<aux;i++){
		document.getElementById('tot['+i+']').innerHTML = tot[i];
		document.getElementById('ptot['+i+']').innerHTML = number_format(ptot[i],2,",",".")+"€";
		totg = totg + tot[i];
		ptotg = ptotg + ptot[i];
	  }
	  
	  document.getElementById('tot_geral').innerHTML = "&nbsp;"+totg+"&nbsp;";
	  document.getElementById('ptot_geral').innerHTML = number_format(ptotg,2,",",".")+"€";
}

function add_carrinho(linhas,colunas,txt_aviso,idlst)
{
  var arr_lin = linhas.split(",");
  var arr_col = colunas.split(",");
  var enc = "";
  for(var i in arr_lin) {
    for(var j in arr_col) {
      if ((document.getElementById('ma_p['+arr_lin[i]+']['+arr_col[j]+']')) && (document.getElementById('ma_p['+arr_lin[i]+']['+arr_col[j]+']').value>0)){
        //enc = enc+'|'+document.getElementById('artigo['+arr_lin[i]+']['+arr_col[j]+']').value+';'+arr_lin[i]+';'+arr_col[j]+';'+document.getElementById('ma_p['+arr_lin[i]+']['+arr_col[j]+']').value+';'+document.getElementById('prc['+arr_col[j]+']').value;
        enc = enc+'|'+document.getElementById('artigo['+arr_lin[i]+']['+arr_col[j]+']').value.trim()+';'+arr_col[j].trim()+';'+document.getElementById('ma_p['+arr_lin[i]+']['+arr_col[j]+']').value.trim();
      }
    }
  }
  
  
  if(enc!=''){
    enc = enc+'|';        
    
    //alert(arr_cor+' - '+arr_tam+'  -> '+enc+'|');
    var url = "add.php";
    var post_data = "idrub="+idlst;
    
        
    post_data = post_data+"&enc="+enc;
             
    
    //alert(url+'?'+post_data);
    
    var cmsajaxhttp = getXmlHttpRequest();
   	cmsajaxhttp.open("GET", url+'?'+post_data, true);
    cmsajaxhttp.onreadystatechange = function(){
  		if (cmsajaxhttp.readyState==4){
  			var resultado = cmsajaxhttp.responseText;
  			//alert(resultado);
  			var rs = resultado.split('||');
  			if (rs[1]=='OK'){
  			 //alert(rs[3]);
  			 //alert(rs[2]);
  			  alert(txt_aviso);
  			  //alert("TESTE => " + rs[3]);
  			  document.getElementById('info_carr').innerHTML = "<a href='index.php?id=120'>encomenda("+rs[2]+")</a>";
  			  document.getElementById('subtotal_carrinho_top').innerHTML = rs[3];
        }
  		}
  	}
   	cmsajaxhttp.send(null);
  }
}

function validate_entrega(thisform) {
  var erro=0;
  for (i=thisform.opc_ent.length-1; i > -1; i--) {
    if (thisform.opc_ent[i].checked) {
      var _t_ent = thisform.opc_ent[i].value;
      break; 
    }
  }

  //alert(_t_ent);
  if(_t_ent==2){
    //ent_nif; ent_tel; ent_local; ent_cp2; ent_cp1; ent_morada; ent_nome
    var nome = document.getElementById('ent_nome');
    var mora = document.getElementById('ent_morada');
    var cp1  = document.getElementById('ent_cp1');
    var cp2  = document.getElementById('ent_cp2');
    var loc  = document.getElementById('ent_local');
    var tel  = document.getElementById('ent_tel');
    var fax  = document.getElementById('ent_fax');
    if(nome.value==''){
      nome.style.border = '1px solid #D20000';
  		nome.style.color  = '#D20000';
  		if(erro == 0) erro = 1;
    } else {
      nome.style.border = '1px solid #CCCCCC';
    	nome.style.color  = '#666666';
    }
    if(mora.value==''){
      mora.style.border = '1px solid #D20000';
  		mora.style.color  = '#D20000';
  		if(erro == 0) erro = 1;
    } else {
      mora.style.border = '1px solid #CCCCCC';
    	mora.style.color  = '#666666';
    }
    if(cp1.value==''){
      cp1.style.border = '1px solid #D20000';
  		cp1.style.color  = '#D20000';
  		if(erro == 0) erro = 1;
    } else {
      cp1.style.border = '1px solid #CCCCCC';
    	cp1.style.color  = '#666666';
    }
    if(cp2.value==''){
      cp2.style.border = '1px solid #D20000';
  		cp2.style.color  = '#D20000';
  		if(erro == 0) erro = 1;
    } else {
      cp2.style.border = '1px solid #CCCCCC';
    	cp2.style.color  = '#666666';
    }
    if(loc.value==''){
      loc.style.border = '1px solid #D20000';
  		loc.style.color  = '#D20000';
  		if(erro == 0) erro = 1;
    } else {
      loc.style.border = '1px solid #CCCCCC';
    	loc.style.color  = '#666666';
    }
    if(tel.value==''){
      tel.style.border = '1px solid #D20000';
  		tel.style.color  = '#D20000';
  		if(erro == 0) erro = 1;
    } else {
      tel.style.border = '1px solid #CCCCCC';
    	tel.style.color  = '#666666';
    }
    if(fax.value==''){
      fax.style.border = '1px solid #D20000';
  		fax.style.color  = '#D20000';
  		if(erro == 0) erro = 1;
    } else {
      fax.style.border = '1px solid #CCCCCC';
    	fax.style.color  = '#666666';
    }
    
  } else {
    erro = 0;
  }
  
  //alert(erro);
  if(erro==0){
    return true;
  } else {
    return false;
  }
}

