// Scripts permettant les contrôles de formulaires

/************************************/
/* Contrôles pour les interventions */
/************************************/

// Contrôle de la zone N° de facture en fonction du choix de garantie
function verif_gar(valgar)
{
  switch (valgar)
  {
	// non, pas besoin de numéro de facture
	case '0' :
		document.int_maj.fgar.value='';
		break;
	// oui, on ne fait rien
	case '1' :
		if (document.int_maj.fgar.value == '')
		{
			alert ("Il faut impérativement saisir une référence de facture.\nSinon la garantie ne sera pas validée.");
			document.int_maj.fgar.focus();
		}
		break;
	default :
		return '';
		break;
  }
}

// Contrôle de la zone garantie oui/non en fonction de la zone de références facture
function verif_fgar(valfgar)
{
  with (document.int_maj)
  {
	  if (valfgar == "")
	  {
		gar.selectedIndex = '0';
	  }
	  else
	  {
		gar.selectedIndex = '1';
	  }
  }
}

// Contrôle de la zone lieu d'intervention si date de RDV
function warn_rdv()
{
	alert ("Veuillez contrôler le lieu d'intervention.");
	document.int_maj.codelieu.focus();
	return true;
}

// Contrôle du lieu d'intervention pour MAJ de la date de RDV
function warn_lieu()
{
	alert ("Veuillez contrôler la date de rendez-vous (si nécessaire).");
	document.int_maj.daterdvf.focus();
	return true;
}

// Contrôle que la date de traitement et le détail sont remplis, si le technicien est choisi
function verif_tec()
{
	var champok = true;
	var messerr = 'Rappel important :\n\n';
	
	if (document.int_maj.codetec.options[document.int_maj.codetec.selectedIndex].value)
	{
		if (document.int_maj.tect.value == '')
		{
			messerr += "\nPensez à saisir le détail des horaires et techniciens.";
			document.getElementById("f_tect").className = 'rubfrmrelief';
			champok = false;
		}
		else
		{
			document.getElementById("f_tect").className = 'rubfrm';
		}
		if (document.int_maj.fait.value == '')
		{
			messerr += "\nPensez à saisir le détail du travail effectué.";
			document.getElementById("f_fait").className = 'rubfrmrelief';
			champok = false;
		}
		else
		{
			document.getElementById("f_fait").className = 'rubfrm';
		}
	}
	if (champok == false)
	{
		alert (messerr);
	}
	return champok
}

// Contrôle que la date de traitement est remplie et le technicien choisi, si le détail est rempli
function verif_fait()
{
	var champok = true;
	var messerr = 'Erreur de validation du détail du travail effectué :\n\n';
	
	if (document.int_maj.codetec.options[document.int_maj.codetec.selectedIndex].value == '')
	{
		messerr = "Vous devez choisir un technicien.";
		document.getElementById("f_codetec").className = 'rubfrmrelief';
		document.int_maj.codetec.focus();
		champok = false;
	}
	else
	{
		document.getElementById("f_reg").className = 'rubfrm';
	}
	if (document.int_maj.tect.value == '')
	{
		messerr += "\nVous devez saisir un détail horaire et technicien.";
		document.getElementById("f_tect").className = 'rubfrmrelief';
		champok = false;
	}
	else
	{
		document.getElementById("f_tect").className = 'rubfrm';
	}
	if (champok == false)
	{
		alert (messerr);
	}
	return champok
}

// Contrôle que la date de traitement est remplie,le technicien choisi, et le détail remplis, 
// si la date d'appel client est remplie -->
function verif_dprev()
{
	var champok = true;
	var messerr = 'Erreur de validation de la date appel :\n\n';
	
	if (document.int_maj.codetec.options[document.int_maj.codetec.selectedIndex].value == '')
	{
		messerr = "Vous devez choisir un technicien.";
		document.getElementById("f_codetec").className = 'rubfrmrelief';
		document.int_maj.dateprevf.value = '';
		document.int_maj.codetec.focus();
		champok = false;
	}
	else
	{
		document.getElementById("f_reg").className = 'rubfrm';
	}
	if (document.int_maj.tect.value == '')
	{
		messerr += "\nVous devez saisir un détail horaire et technicien.";
		document.getElementById("f_tect").className = 'rubfrmrelief';
		document.int_maj.dateprevf.value = '';
		document.int_maj.tect.focus();
		champok = false;
	}
	else
	{
		document.getElementById("f_tect").className = 'rubfrm';
	}
	if (document.int_maj.fait.value == '')
	{
		messerr += "\nVous devez saisir un détail du travail effectué.";
		document.getElementById("f_fait").className = 'rubfrmrelief';
		document.int_maj.dateprevf.value = '';
		document.int_maj.fait.focus();
		champok = false;
	}
	else
	{
		document.getElementById("f_fait").className = 'rubfrm';
	}
	if (champok == false)
	{
		alert (messerr);
	}
	return champok
}

// Contrôle que les dates traitement et appel, le détail réparation, et le technicien sont remplis, 
//	 si la date de fin est remplie -->
function verif_dfin()
{
	var champok = true;
	var messerr = 'Erreur de validation de la date de fin :\n\n';
	
	if (document.int_maj.codetec.options[document.int_maj.codetec.selectedIndex].value == '')
	{
		messerr = "Vous devez d\'abord choisir un technicien.";
		document.int_maj.datefinf.value = '';
		document.getElementById("f_codetec").className = 'rubfrmrelief';
		document.int_maj.codetec.focus();
		champok = false;
	}
	else
	{
		document.getElementById("f_reg").className = 'rubfrm';
	}
	if (document.int_maj.tect.value == '')
	{
		messerr += "\nVous devez saisir un détail horaire et technicien.";
		document.int_maj.datefinf.value = '';
		document.getElementById("f_tect").className = 'rubfrmrelief';
		document.int_maj.tect.focus();
		champok = false;
	}
	else
	{
		document.getElementById("f_tect").className = 'rubfrm';
	}
	if (document.int_maj.fait.value == '')
	{
		messerr += "\nVous devez d\'abord remplir le descriptif du travail effectué.";
		document.int_maj.datefinf.value = '';
		document.getElementById("f_fait").className = 'rubfrmrelief';
		document.int_maj.fait.focus();
		champok = false;
	}
	else
	{
		document.getElementById("f_fait").className = 'rubfrm';
	}
	if (document.int_maj.dateprevf.value == '')
	{
		messerr += "\nVous devez d\'abord saisir une date d\'appel client.";
		document.int_maj.datefinf.value = '';
		document.getElementById("f_dateprevf").className = 'rubfrmrelief';
		document.int_maj.dateprevf.focus();
		champok = false;
	}
	else
	{
		document.getElementById("f_dateprevf").className = 'rubfrm';
	}
	if (document.int_maj.reg.options[document.int_maj.reg.selectedIndex].value == 'EC')
	{
		messerr += "\nVous devez d\'abord saisir un mode de règlement.";
		document.int_maj.datefinf.value = '';
		document.getElementById("f_reg").className = 'rubfrmrelief';
		document.int_maj.reg.focus();
		champok = false;
	}
	else
	{
		document.getElementById("f_reg").className = 'rubfrm';
	}
	if (champok == false)
	{
		alert (messerr);
	}
	return champok
}

/***************************************/
/* Contrôles pour les contrats clients */
/***************************************/

// Contrôle de la zone N° de facture en fonction du choix de garantie
function verif_renouv(valrenouv)
{
  switch (valrenouv)
  {
	// non, pas besoin de numéro de facture
	case '0' :
		document.cocl_maj.num.value='';
		break;
	// oui, on ne fait rien
	case '1' :
		if (document.int_maj.num.value == '')
		{
			alert ("Il faut impérativement saisir une référence de contrat.\nSinon le renouvellement ne sera pas effectif.");
			document.int_maj.num.focus();
		}
		break;
	default :
		return '';
		break;
  }
}

// Contrôle de la zone renouvelé oui/non en fonction de la zone de numéro de contrat
function verif_num(valnum)
{
  with (document.cocl_maj)
  {
	  if (valnum == "")
	  {
		renouv.selectedIndex = '0';
	  }
	  else
	  {
		renouv.selectedIndex = '1';
	  }
  }
}

// Contrôle que le délai est rempli si la périodicité est à la demande
function verif_delai()
{
	var champok = true;
	var messerr = 'Rappel important :\n\n';

	var txt_sel = document.cocl_maj.cope.options[document.cocl_maj.cope.selectedIndex].text;
	var exist_str = txt_sel.indexOf('demande',0);

	if (exist_str >= 0)
	{
		if ((document.cocl_maj.delai.value == '') || (document.cocl_maj.delai.value == '0'))
		{
			messerr += "\nPensez à choisir un délai d\'intervention.";
			document.getElementById("f_delai").className = 'rubfrmrelief';
			champok = false;
		}
		else
		{
			document.getElementById("f_delai").className = 'rubfrm';
		}
	}
	else
	{
		document.cocl_maj.delai.value = '';
		document.getElementById("f_delai").className = 'rubfrm';
	}

	if (champok == false)
	{
		alert (messerr);
		document.getElementById("delai").focus();
	}
	return champok;
}
