/*Definizione dello spazio dei nomi (namespace) per le funzioni comuni a tutti i moduli*/
var Common = {};

/*Metodo per la cancellazione degli spazi all'inizio di una stringa
 * objId = ID di un controllo nella pagina 
 */
Common.cancSpazio = function (objId)
					{
						var obj = document.getElementById(objId);
						if(obj.value.indexOf(" ")===0)
						{
							obj.value = obj.value.substring(1);
						}
					};
/*Metodo per contare e limitare i caratteri inseribili in una text box
 * obj = controllo nella pagina (es. la textArea da controllare)
 * counter = Numero di caratteri attuale
 * limit = Numero massimo di caratteri inseribili
 */
Common.countAreaChars = function (obj,counter,limit){
	if (obj.value.length>limit)
		{obj.value = obj.value.substring(0,limit);}
	else
		{counter.value = obj.value.length;}
};

/*Metodo per selezionare tutte le checkbox di un form (esclude quelle con disabled=true)
 * nomeForm = nome del form dove sono contenute la checkbox
 * stato = valore dell'attributo checked della checkbox
 * nomeNo = name della/e checkbox da non selezionare
 * nomeSi = name della/e checkbox da selezionare (solo quelle)
 */
Common.selectAllCheckbox = function (nomeForm, stato) {
							var e=document.forms[nomeForm].elements;
							for (var i=0; i<e.length; i++){
							if (e[i].disabled===false) if (e[i].type=="checkbox") e[i].checked=stato;}
						};

Common.selectAllCheckboxFilter = function (nomeForm, stato, nomeNo, nomeSi) {
									var e=document.forms[nomeForm].elements;
									for (var i=0; i<e.length; i++){
									if (e[i].disabled==false) if (e[i].type=="checkbox" && e[i].name.substring(0,6)!=nomeNo && e[i].name.substring(0,6)==nomeSi) e[i].checked=stato;}
								};

/*Metodo per la generazione dell'account lato client
 */
Common.getAccount = function()
{
	var objN = document.getElementById('nome');
	var objC = document.getElementById('cognome');
	var account=objN.value.substring(0,1)+objC.value;
	(document.getElementById('checkaccount')).value = Common.replaceAll(account,' ','').toLowerCase();
};

Common.replaceAll = function (oldStr,findStr,repStr) {
  var srchNdx = 0; 
  var newStr = "";  
  while (oldStr.indexOf(findStr,srchNdx) != -1)  
  {
    newStr += oldStr.substring(srchNdx,oldStr.indexOf(findStr,srchNdx));
    newStr += repStr;
    srchNdx = (oldStr.indexOf(findStr,srchNdx) + findStr.length);       
  }
  newStr += oldStr.substring(srchNdx,oldStr.length);          
  return newStr;
}

Common.backRicerca = function (nomeAction,valAction,form) {
						(document.all(nomeAction)).value=valAction;
						document.forms[form].submit();
					};

/* Permette l'input per soli numeri
*  onkeypress="return onlynum(event)"> 
*/
Common.onlynum = function (e)
   {
   if (e.which)
      {
      if(e.which!=46 && e.which!=8 && (e.which<48 || e.which>57))
      return false;
      }
   else if(e.keyCode)
      {
      if(e.keyCode!=46 && e.keyCode!=8 && (e.keyCode<48 || e.keyCode>57))
      return false;
      }
   return true;
   }
   
/* Ottiene la data corrente */
Common.getDate = function ()
   {
		var ThisDate=new Date();
		(document.getElementById("mData")).innerHTML = ThisDate.toLocaleString();
	}
   
	
/*Metodo che permette l'inserimento di soli numeri e del punto nelle text
 * objId = ID di un controllo nella pagina
 * addPunto = se true permette l'inserimento del punto
 
 * caratteri inseribili:
 * 190 - 110  = . (tastiera e num pad), inseribile una sola volta
 * 37 = freccia sx
 * 39 = freccia dx
 * 8 = backspace
 * 46 = canc
 * 48 -> 57 = numeri 0 -> 9 (tastiera)
 * 96 -> 105 = numeri 0 -> 9 (num pad)
 */
Common.CheckKeyCode = function (objId, addPunto){

	var obj = document.getElementById(objId);
	
	//numeri + punto
	if(addPunto==true){			
		if( (event.keyCode == 190 || event.keyCode == 110) || (event.keyCode == 37 ) || 
			(event.keyCode == 39 ) || (event.keyCode == 8 ) || (event.keyCode == 46 ) ||
			(event.keyCode >= 48 && event.keyCode <= 57) || 
			(event.keyCode >= 96 && event.keyCode <= 105) ) {
				if(obj.value.indexOf(".")>-1){
		     		if( (event.keyCode == 190 || event.keyCode == 110)){
		     			return false;
		     		}
		     	}
			return true;
		}else{
	    	return false;
		}
		
	//solo numeri
	}else{
		if( (event.keyCode == 37 ) || 
			(event.keyCode == 39 ) || (event.keyCode == 8 ) || (event.keyCode == 46 ) ||
			(event.keyCode >= 48 && event.keyCode <= 57) || 
			(event.keyCode >= 96 && event.keyCode <= 105) ) {
				
			return true;
		}else{
	    	return false;
		}
	}
};


