
WebApp.Util = function(){
	var _class = ["remove", "add"];
  var i = -1;
  var _precImg = null;
  var _isClick = false;

	function onLoadinComplete() {
  	var countObj = document.getElementById("numeroProdottiCarrello");
    var num = parseInt(countObj.innerHTML);
		if (i == 0)
    	num++;
    else
    	num--;
  	countObj.innerHTML = num;  
  	document.getElementById("addToCart").className = _class[i];
    i = (i + 1) % 2;
    _isClick = false;
  }

  function validaNumeroArticoli() {
  	var art = document.getElementById("frmCarrello").getElementsByTagName("input");
    for (var i = 0; i < art.length; i++) {
    	if (art[i].name.charAt(0) == '_') {
      	if (parseInt(art[i].value) <= 0) {
        	alert("Selezionare una quantią per ogni articolo.")
        	return false;
        }
      }
    }
    return true;
  }
  
  function validaDatiUtenteCarrello() {
  	var objForm = document.getElementById("frmCarrello");
    if (objForm.elements["nome"].value == "" ||
    		objForm.elements["cognome"].value == "" ||
        objForm.elements["mail"].value == "" ||
        objForm.elements["telefono"].value == "" ||
        objForm.elements["citta"].value == "") {
      alert("Tutti i campo con * sono obbligatori");
    	return false;    
    }
    if (objForm.elements["autorizzo"].checked)
    	return true;
    else {
      alert("Accettare l'autorizzazione al trattamendo dei dati personali per procedere");
    	return false;    
    }
  }
  
  function validaDatiUtenteCarrelloPersonalizzato() {
  	var objForm = document.getElementById("frmCarrello");
    if (objForm.elements["ragioneSociale"].value == "" ||
        objForm.elements["nome"].value == "" ||
    		objForm.elements["cognome"].value == "" ||
        objForm.elements["indirizzo"].value == "" ||
				objForm.elements["localita"].value == "" ||
				objForm.elements["provincia"].value == "" ||
				objForm.elements["telefono"].value == "" ||
				objForm.elements["cap"].value == "" ||
				objForm.elements["mail"].value == "") {
      alert("Tutti i campo con * sono obbligatori");
    	return false;    
    }
    if (objForm.elements["codiceFiscaleFattura"].value == "" && objForm.elements["pivaFattura"].value == "") {
      alert("Inserire il Codice Fiscale o la Partiva IVA");
    	return false;    
    }
    if (objForm.elements["autorizzo"].checked)
    	return true;
    else {
      alert("Accettare l'autorizzazione al trattamendo dei dati personali per procedere");
    	return false;    
    }
  }  
  
	return {
  	cartNext1 : function(url) {
    	if (validaNumeroArticoli()) {
      	var obj = document.getElementById("frmCarrello");
        obj.action = WebApp.baseUrl + "/datiCheckout.do";
        obj.submit();
      }
    },
  	cartNext2 : function(url) {
    	if (validaDatiUtenteCarrelloPersonalizzato()) {
      	var obj = document.getElementById("frmCarrello");
        obj.action = WebApp.baseUrl + "/fineCheckout.do";
        obj.submit();
      }
    },    
  	cartNextPrezzi : function(url) {
    	if (validaDatiUtenteCarrello()) {
      	var obj = document.getElementById("frmCarrello");
        obj.action = WebApp.baseUrl + "/fineRichiestaPrezzi.do";
        obj.submit();
      }
    },    
  	removeFromCart : function(id) {
    	var obj = document.getElementById("frmCarrello");
      document.getElementById("artRemove").value = id;
      obj.action = WebApp.baseUrl + "/removeFromCart.do";
      obj.submit();
    },
  	addToCart : function(id, s) {
    	if (_isClick) 
      	return;
      _isClick = true;
    	if (i < 0)
      	i = s;
      var request = new HttpRequest();    
      request.setFunctionOperationComplete(onLoadinComplete);
			if (WebApp.baseUrl.indexOf("http://") < 0)
				 WebApp.baseUrl = "http://" + WebApp.baseUrl;
      
      request.send(WebApp.baseUrl + "/addToCart.do","id="+id);     	
    },
    visualizzaImmagine : function(urlImmagine) {
    	var objImg = document.getElementById(urlImmagine);
    	objImg.style.display = "none";
      if (_precImg != null) {
      	_precImg.style.display = "inline";
      }
      _precImg = objImg;
      document.getElementById("immagineBig").innerHTML = '<img src="' + urlImmagine + '" />'
    },
    setImgBase : function(id) {
    	_precImg = document.getElementById(id);
    }
  }
}();