function trigger_dimension()
{
  var dim   = getRef('dimension');
  var dalar = getRef('dalarghezza');
  var alar  = getRef('alarghezza');
  var daalt = getRef('daaltezza');
  var aalt  = getRef('aaltezza');
  
  if(dim.checked){
    dalar.readOnly = false;
    alar.readOnly  = false;
    dalar.style.background = '#fff';
    alar.style.background  = '#fff';
    
    daalt.readOnly = false;
    aalt.readOnly  = false;
    daalt.style.background = '#fff';
    aalt.style.background  = '#fff';
    
    // Quando attivo la ricerca per dimensione o tipo articolo, disattivo la ricerca del codice articolo perche' e' incompatibile
    var codart_flag = getRef('codart_flag');
    codart_flag.checked = false;
    trigger_codart();  
    
  }
  else{    
    dalar.readOnly = true;
    alar.readOnly  = true;
    dalar.style.background = '#bbb';
    alar.style.background  = '#bbb';    
    
    daalt.readOnly = true;
    aalt.readOnly  = true;
    daalt.style.background = '#bbb';
    aalt.style.background  = '#bbb';
  }
}








function trigger_model()
{
  var model = getRef('model');
  var tipo  = getRef('tipo');

  if(model.checked){
    tipo.disabled = false;
    // tipo.style.background = '#fff';
    
    // Quando attivo la ricerca per dimensione o tipo articolo, disattivo la ricerca del codice articolo perche' e' incompatibile
    var codart_flag = getRef('codart_flag');
    codart_flag.checked = false;
    trigger_codart();    
  }
  else{
    // darth.style.background = '#bbb';
    tipo.disabled = true;
  }
}








function trigger_codart()
{	  
  var codart_flag = getRef('codart_flag');
  var codart = getRef('codart');
  
  if(codart_flag.checked){
	codart.readOnly = false;
	codart.style.background = '#fff';
	
	// Quando attivo la ricerca per Codice Articolo le altre 2 tipologie di ricerca le rendo inefficaci, e' una semplice scelta progettuale
	var model  = getRef('model');
	model.checked = false;
	trigger_model();
	var dim   = getRef('dimension');
	dim.checked = false;
	trigger_dimension();
  }
  else{
	codart.readOnly = true;  
	codart.style.background = '#bbb';
  }	
}







function alphanumeric_control(string_to_control)
{
	var myregexp = /^[a-zA-Z0-9]+$/;
	
	if (myregexp.test(string_to_control) == false){
		alert("Il formato del codice non e' corretto, e' possibile usare solo caratteri numerici ed alfabetici");
		return false;
	}
	return true;
}








function validation(form)
{
  if((!form.dimension.checked) && (!form.model.checked) && (!form.codart_flag.checked)) {
    alert("Occorre selezionare almeno un tipo di ricerca");
    return false;
  }

  if(form.dimension.checked){      
      if ((form.dalarghezza.value == "") || (form.alarghezza.value == "") ||
          (form.daaltezza.value == "") || (form.aaltezza.value == ""))
      {
        alert("Alcuni campi risultano vuoti");
        return false;
      }

      if(!numberOK(form.dalarghezza.value)){
        alert("Il campo 'Da Larghezza' non risulta compilato correttamente");
        return false;
      }
      else if (!numberOK(form.alarghezza.value)){
        alert("Il campo 'a Larghezza' non risulta compilato correttamente");
        return false;
      }
      else if (!numberOK(form.daaltezza.value)){
        alert("Il campo 'Da altezza' non risulta compilato correttamente");
        return false;
      }
      else if (!numberOK(form.aaltezza.value)){
        alert("Il campo 'a altezza' non risulta compilato correttamente");
        return false;
      }
  }
  
  if(form.codart_flag.checked){
	  if(form.codart.value == ""){
		  alert("Inserire il codice dell'articolo");
		  return false;
	  }
	  else if(!alphanumeric_control(form.codart.value)){
		  return false;
	  } 
  }  
  
  getRef('tipo').disabled=false;
  return true;
}








function numberOK(num)
{
   var i = 0;
   var letter;

   while (i < num.length)
   {
      letter = num.charAt(i);

      if ((letter == '0') || (letter == '1') || (letter == '2') ||
          (letter == '3') || (letter == '4') || (letter == '5') ||
          (letter == '6') || (letter == '7') || (letter == '8') ||
          (letter == '9'))
      {
         i++;
      }
      else
      {
         return false;
      }
   }

   return true;
}
