/* ECEDI - Linkbuilder
 * Javascript standard
 */
function bodyOnLoad(erreurFieldId) {
	var erreurField;
	if (erreurFieldId && (erreurField = document.getElementById(erreurFieldId))) {
   if (erreurField.focus)
	    erreurField.focus();
	}
}
/* Formulaires */
function blockSubmit(e) {
  var code;
	if (!e) 
    var e = window.event;
	if (e.keyCode) 
    code = e.keyCode;
	else if (e.which) 
    code = e.which;
	return !(code == 13);
} 
function setFormFieldValue(name, value) {
	formFields = document.getElementsByName(name);
//	alert('formFields['+name+']='+formFields);
	for (ffI in formFields)
		formFields[ffI].value = value;
}
function elkActionSet(name, value) {
  setFormFieldValue(ELK_REQUEST_ACTION_NAME_KEY, name);
  setFormFieldValue(ELK_REQUEST_ACTION_VALUE_KEY, value);
}
function elkOnSubmit(button) {
	return(elkOnSubmitAction(button.name, button.value));
}
function elkOnSubmitAction(name, value) {
	if ((('delete' == name) || ('delAlias' == name) || ('delAf' == name)
  || ('delCo' == name) || ('delBreve' == name) || ('delPf' == name) || ('delAffExtAlias' == name)
  || ('delAffDelAlias' == name) || ('delAffSecAlias' == name)) 
  && !confirm('Voulez-vous vraiment supprimer cet objet?'))
		return(false);
	elkActionSet(name, value);
	return(true);
}
function elkOnSubmitBatchFromList(name, value) {
	setFormFieldValue(ELK_REQUEST_FCT_KEY, name);
	elkActionSet('batchFromList', value);
	return(true);
}
function elkFormSubmit() {
  document.getElementById(ELK_UI_HTML_FORM_ID).submit();
}
function elkFormSubmitWithAnchor(anchor) {
  document.getElementById(ELK_UI_HTML_FORM_ID).action = document.getElementById(ELK_UI_HTML_FORM_ID).action + '#' + anchor;
	elkFormSubmit();
}

/* Listes */
function elkUpdateRowId(rowId, fctId) {
	elkActionSet('update', rowId);
	if (fctId) {
	  setFormFieldValue(ELK_REQUEST_FCT_KEY, fctId);
	  setFormFieldValue(ELK_UI_CMDLISTEDETAIL_EDIT_KEY, 'liste');
	}
	elkFormSubmit();
}
function elkUseRowId(rowId, fctId) {
	elkActionSet('use', rowId);
	if (fctId) {
	  setFormFieldValue(ELK_REQUEST_FCT_KEY, fctId);
	  setFormFieldValue(ELK_UI_CMDLISTEDETAIL_EDIT_KEY, 'liste');
	}
	elkFormSubmit();
}
function elkUpdateRowIdHab(rowId, fctId) {
	elkActionSet('editHabilitation', rowId);
	if (fctId) {
	  setFormFieldValue(ELK_REQUEST_FCT_KEY, fctId);
	  setFormFieldValue(ELK_UI_CMDLISTEDETAIL_EDIT_KEY, 'liste');
	}
	elkFormSubmit();
}
function elkUpdateRowIdMember(rowId, fctId) {
	elkActionSet('editMember', rowId);
	if (fctId) {
	  setFormFieldValue(ELK_REQUEST_FCT_KEY, fctId);
	  setFormFieldValue(ELK_UI_CMDLISTEDETAIL_EDIT_KEY, 'liste');
	}
	elkFormSubmit();
}
function elkUpdateRowIdRep(rowId, fctId) {
	elkActionSet('editRepresentative', rowId);
	if (fctId) {
	  setFormFieldValue(ELK_REQUEST_FCT_KEY, fctId);
	  setFormFieldValue(ELK_UI_CMDLISTEDETAIL_EDIT_KEY, 'liste');
	}
	elkFormSubmit();
}
function elkUpdateRowIdBreve(rowId, fctId) {
	elkActionSet('editBreve', rowId);
	if (fctId) {
	  setFormFieldValue(ELK_REQUEST_FCT_KEY, fctId);
	  setFormFieldValue(ELK_UI_CMDLISTEDETAIL_EDIT_KEY, 'liste');
	}
	elkFormSubmit();
}

/* Cocher tout / décocher tout */
function elkCheckAll(checkAllField) {
	var multiselectedListeName = 'multipleSelection_'+checkAllField.name+'[';
	var checkedToSet = checkAllField.checked;
	/* On lit tous les input */
	var formFields = document.getElementsByTagName('input');
	var formField = false;
//	alert('formFields['+name+']='+formFields);
	for (ffI in formFields) {
	  /* On garde que les checkbox qui n'ont pas déjà la valeur souhaitée et
		 * dont le nom commence bien par multiselectedListeName */
	  if ( ('checkbox' == (formField = formFields[ffI]).type)
	  	&& (checkedToSet != formField.checked)
			&& (multiselectedListeName == formField.name.substr(0, multiselectedListeName.length)))
			formField.checked = checkedToSet;
	}
}
/* En-tête de colonne */
function thOnMouseUpdateDisplay(thname, displayValue) {
	var thButtons = document.getElementsByName(thname);
	for (thButtonI in thButtons) {
		if (thButtons[thButtonI].style)
			thButtons[thButtonI].style.display = displayValue;
	}
}
function thOnMouseOver(thname) {
	thOnMouseUpdateDisplay(thname, 'inline');
}
function thOnMouseOut(thname) {
	thOnMouseUpdateDisplay(thname, 'none');
}
function thSortAOnClick(sortKeyNameFormFieldId, sortKeyName, sortKeySensFormFieldId, sortKeySens) {
  setFormFieldValue(sortKeyNameFormFieldId, sortKeyName);
  setFormFieldValue(sortKeySensFormFieldId, sortKeySens);
	elkFormSubmit();
}
function thFilterAOnClick(filterNameFormFieldId, filterName) {
  setFormFieldValue(filterNameFormFieldId, filterName);
	document.getElementById(ELK_UI_HTML_FORM_ID).submit();
}
/* Recherche */
function searchCondOnChange(formField, spanId) {
	var span = document.getElementById(spanId);
	span.className = (formField.value ? 'searchVisible' : 'searchHidden');
}
/* Changement de fonction */
function elkChgFct() {
	/* Lecture des arguments variables */
	var fieldName = ELK_REQUEST_FCT_KEY;
	var argI=0;
	var argument;
	while ((argI < 10) && (argument = arguments[argI++])) {
	  if (1 == argI%2)
			setFormFieldValue(fieldName, argument);
		else
		  fieldName = argument;
	}
	elkFormSubmit();
}
/* Changement de commande */
function elkChgCmd() {
	/* Lecture des arguments variables */
	var fieldName = ELK_REQUEST_CMD_KEY;
	var argI=0;
	var argument;
	while ((argI < 10) && (argument = arguments[argI++])) {
	  if (1 == argI%2)
			setFormFieldValue(fieldName, argument);
		else
		  fieldName = argument;
	}
	elkFormSubmit();
}
/* Affichage d'une pièce jointe*/
function elkAFShow(afId) {
	elkActionSet('showAF', afId);
	//document.getElementById(ELK_UI_HTML_FORM_ID).target = '_blank';
	elkFormSubmit();
}
/* Affichage d'une pièce jointe de l'affaire*/
function elkAffairAFShow(afId) {
	elkActionSet('showAffairAF', afId);
	//document.getElementById(ELK_UI_HTML_FORM_ID).target = '_blank';
	elkFormSubmit();
}
/* Affichage d'un contact*/
function elkContactShow(coId) {
	elkActionSet('seeCo', coId);
	//document.getElementById(ELK_UI_HTML_FORM_ID).target = '_blank';
	elkFormSubmit();
}
/* Affichage d'un champ personnalisé*/
function elkTaskShow(tskId) {
	elkActionSet('seeTsk', tskId);
	//document.getElementById(ELK_UI_HTML_FORM_ID).target = '_blank';
	elkFormSubmit();
}
/* Affichage d'une tâche*/
function elkPfShow(pfId) {
	elkActionSet('seePf', pfId);
	//document.getElementById(ELK_UI_HTML_FORM_ID).target = '_blank';
	elkFormSubmit();
}
/* Affichage d'un alias*/
function elkAliasShow(alId) {
	elkActionSet('seeAlias', alId);
	//document.getElementById(ELK_UI_HTML_FORM_ID).target = '_blank';
	elkFormSubmit();
}
/* Affichage d'une page d'impression */
function elkPrint(action, id) {
  elkActionSet(action, id);
  /* On passe le target du form à blank pour su'il ouvre la page dans une nouvelle fenêtre... */
	document.getElementById(ELK_UI_HTML_FORM_ID).target = '_blank';
	elkFormSubmit();
	/* ...et on le repasse à '' */
	document.getElementById(ELK_UI_HTML_FORM_ID).target = '';
	return false;
}
/* Affichage des champs alertes et digest*/
function elkRevealAlertAndDigest() {
	document.getElementById('ctc_alert').removeAttribute('disabled');
	document.getElementById('ctc_digest').removeAttribute('disabled');
	document.getElementById('ctc_digest_type').removeAttribute('disabled');
	document.getElementById('ctc_digest_day').removeAttribute('disabled');
	/*document.forms[0].elements[14].removeAttribute('disabled');
	document.forms[0].elements[15].removeAttribute('disabled');
	document.forms[0].elements[16].removeAttribute('disabled');
	document.forms[0].elements[17].removeAttribute('disabled');*/
}
/* On cache les champs alertes et digest*/
function elkHideAlertAndDigest() {
	document.getElementById('ctc_alert').removeAttribute('checked');
	document.getElementById('ctc_digest').removeAttribute('checked');
	document.getElementById('ctc_digest_type').disabled = 'disabled';
	document.getElementById('ctc_digest_day').disabled = 'disabled';
	document.getElementById('ctc_alert').disabled = 'disabled';
	document.getElementById('ctc_digest').disabled = 'disabled';
	document.getElementById('ctc_digest_type').disabled = 'disabled';
	document.getElementById('ctc_digest_day').disabled = 'disabled';
	document.getElementById('ctc_digest_type').value = '';
	document.getElementById('ctc_digest_day').value = '';
	
/*	
  document.forms[0].elements[14].removeAttribute('checked');
	document.forms[0].elements[16].removeAttribute('checked');
	document.forms[0].elements[15].checked = 'checked';
	document.forms[0].elements[17].checked = 'checked';
	document.forms[0].elements[14].disabled = 'disabled';
	document.forms[0].elements[15].disabled = 'disabled';
	document.forms[0].elements[16].disabled = 'disabled';
	document.forms[0].elements[17].disabled = 'disabled';
  */
}
/* Gestion du mode de communication*/
function elkOnChangeFusCommMode(fcm_value) {
	if(fcm_value == 'Plate-forme')
    elkRevealAlertAndDigest();
	else
    elkHideAlertAndDigest();
}
/* Montre ou cache un champ */
function elkShowField(fieldId) {
  field = document.getElementById(fieldId);
  if(field.className == 'hidden')
    field.className = '';
}
/* Cache un champ */
function elkHideField(fieldId) {
  field = document.getElementById(fieldId);
  if(field.className == '')
    field.className = 'hidden';
}
/* Met à jour la variable d'affichage du fieldset */
function elkVisibleFieldBool(name, boolVar){
  field = document.getElementById('show_'+name);
  field.value = boolVar;
}
/* Bascule l'affichage masqué ou non */
function elkToggleDisplayField(fieldId, fieldsetId) {
  field = document.getElementById(fieldId);
  fieldset = document.getElementById(fieldsetId);
  if(field.className == 'hidden'){
    field.className = 'insideFieldset';
    fieldset.className = 'deplie';
    if(field.getAttribute('name') != '')
      elkVisibleFieldBool(field.getAttribute('name'), 'visible')
  }
  else{
    field.className = 'hidden';
    fieldset.className = 'noborder';
    if(field.getAttribute('name') != '')
      elkVisibleFieldBool(field.getAttribute('name'), 'hidden')
  }
  return false;
}
/* Met la valeur d'un champ à '' */
function elkReinitField(fieldId) {
  field = document.getElementById(fieldId);
  field.value = '';
  if(field.selectedIndex)
    field.selectedIndex = -1;
}
/* Cache et met la valeur d'un champ à '' */
function elkHideAndReinitField(fieldId) {
  elkHideField(fieldId);
  elkReinitField(fieldId);
}

/*Lors de la sélection d'un RD dans la vue d'edition des JA, on remet à zero l'autre liste*/
function elkRDChange(field) {
  if(field=='ja_rd_id'){
    document.getElementById('ja_rd_id_short').value = '';
  }
  if(field=='ja_rd_id_short'){
    document.getElementById('ja_rd_id').value = '';
  }
}

/* On préremplit le titre et le corps du message en fonction du template selectionné */
function elkTemplateChange() {
  tplId = document.getElementById('msg_template').value;
  if (tplId){
    titleTemplateVal = document.getElementById('tpl_title_'+tplId).value;
    bodyTemplateVal = document.getElementById('tpl_body_'+tplId).value;
  }
  else {
    titleTemplateVal = '';
    bodyTemplateVal = '';
  }
    
  document.getElementById('msg_title').value = titleTemplateVal;
  document.getElementById('msg_body'). value = bodyTemplateVal;
}

/* La valeur de la checkbox de l'affaire se repercute sur les checkbox des parties liée.  .*/
function elkMassMessageAffairClick(afId){
  source = document.getElementById(afId+'_aff[]');
  for(i=0;i<document.getElementsByTagName("input").length;i++){
    if(document.getElementsByTagName("input")[i].type == "checkbox" ){
        id = document.getElementsByTagName("input")[i].id;
        if(id.substring(0,id.indexOf('_')) == afId)
          document.getElementsByTagName("input")[i].checked = source.checked;         
    }
  }
}

/* Affiche un select contenant les valeurs de clôture */
function elkShowClosureReasonType(status) {
  if(status==7)
    elkShowField('closuretype');
  else {
    elkHideField('irrecevable');
    elkReinitField('aff_acr_id_res');
    elkHideField('resolue');
    elkReinitField('aff_acr_id_non');
    elkHideField('nonresolue');
    elkReinitField('aff_acr_id_irr');
    elkHideField('closuretype');
    elkReinitField('aff_closure_type');
  }
}

/* Affiche le select correspondant à la valeur de clôture reçue */
function elkShowClosureReason(closureReasonType) {
  if(closureReasonType=='Irrecevable') {
    elkHideField('resolue');
    elkReinitField('aff_acr_id_res');
    elkHideField('nonresolue');
    elkReinitField('aff_acr_id_non');
    elkShowField('irrecevable');
  }
  if(closureReasonType=='Résolue') {
    elkHideField('irrecevable');
    elkReinitField('aff_acr_id_non');
    elkHideField('nonresolue');
    elkReinitField('aff_acr_id_irr');
    elkShowField('resolue');
  }
  if(closureReasonType=='Non résolue') {
    elkHideField('resolue');
    elkReinitField('aff_acr_id_res');
    elkHideField('irrecevable');
    elkReinitField('aff_acr_id_irr');
    elkShowField('nonresolue');
  }
}
function isdefined(variable)
{
    return (typeof(window[variable]) == "undefined")?  false: true;
}

