

var iwsAllCtrls;

var FOCUS_COLOR = "#e2f0f8";
var NORMAL_COLOR = "#FFFFFF";
var MANDATORY_COLOR = "";

var BASE_DIR = "../../";

function iwsControle(aProp) {

if (!aProp[0]) {
return null;
}

this.id = aProp[0];       // identifiant du controle
this.fullId = aProp[0] + aProp[1];     // c'est l'idenfifiant du controle avec le suffixe
this.hiddenId = aProp[0] + "_" + HIDDEN_VALUE;  // identifiant du controle hidden qui contient la valeur des controles connexes
this.otherValueId = aProp[0] + "_" + HIDDEN_OTHERVALUE; // identifiant du controle hidden qui contient la valeur OtherValue des controles connexes
this.parentId = aProp[2];       // identifiant du controle parent

this.ctrlType = aProp[3];       // le type du controle
this.compulsory = aProp[4];       //
this.df_ctrlsLinked = aProp[5];       // tableau des identifiant des controles lies a celui-ci, pour la valeur par defaut.
this.df_controlsToUpdate = aProp[6];       // tableau des identifiant des controles a mettre a jour apres celui-ci, pour la valeur par defaut.
this.dynamicDefaultValue = aProp[7];       // la chaine xml contenant la valeur par defaut est de type dynamique (en opposition a statique).
this.dynamicFilterSql = aProp[8];       // la chaine xml contenant la clause SQL de filtre est de type dynamique (en opposition a statique).
this.alwaysEvaluate = aProp[9];       // indique si le controle doit toujours etre evalue, meme s'il est deja renseigne.
this.checked = aProp[10];       // indique si le filtre sur le controle doit etre valide lorsque celui est modifie.
this.fi_ctrlsLinked = aProp[11];       // tableau des identifiant des controles lies a celui-ci, pour les filtres.
this.fi_controlsToUpdate = aProp[12];       // tableau des identifiant des controles a mettre a jour apres celui-ci, pour les filtres.
this.evaluationDone = false;        // indique que l'evaluation du controle a deja ete effectue cette fois-ci.
this.updaters = new Array();       // collection des controles qui viennent de mettre a jour le controle.
this.evaluationLevel = 0;         // le niveau auquel se trouve un controle dans l'arborescence des controles a mettre a jour.
this.evaluationStandBy = false;        // indique si le controle est en attente pour se faire evaluer.
this.autoCompletion = aProp[13];       // le controle a la completion definit sur "auto"
this.oldValue = aProp[14];       // ancienne valeur, autrement dit, il s'agit de la valeur precedente du controle.
this.datafieldValue = aProp[15];       // datafieldvalue du controle, utilise seulement pour les multilignes
this.datafieldText = aProp[16];                           // datafieldtext du controle, utilise seulement pour les multilignes
this.evaluationOnLoad = aProp[17];                           // indique que la valdef doit etre calculee lors du chargement de l'ecran
this.sValuesAsSerializedString = "";           // liste de valeurs pour une combo.
this.stopPropagation = false;                       // Indique que le controle ne propage pas le calcul des valeurs par defaut. [LBRI] - 2009.04.07 - [DYSF:25046]

this.disable = function(bDisable) {
if (!bDisable) {
bDisable = false;
}

switch (this.ctrlType) {
case CTRL_ISITEXTDATE:
iws_SetDateCtrlValue(this.id, value);
break;

case CTRL_ISICOMBOBOX:
case CTRL_ISICOMBOYESNO:
var cbLabel = document.getElementById(this.id + "_" + LABEL);
var cbText = document.getElementById(this.fullId);
if ((cbLabel) && (cbText)) {
cbLabel.disabled = bDisable;
cbText.disabled = bDisable;
if (bDisable) {
cbText.style.backgroundImage = "url(" + BASE_DIR + "Images/Forms/cmboDownXPdis.gif)";
} else {
cbText.style.backgroundImage = "url(" + BASE_DIR + "Images/Forms/cmboDownXP1.gif)";
}
}
cbLabel = null;
cbText = null;
break;

case CTRL_ISITEXTCONNEXE:
var cbImg = document.getElementById(this.id + "_" + IMAGE_BUTTON);
var cbLink = document.getElementById(this.id + "_" + LINK_BUTTON);
var cbLabel = document.getElementById(this.id + "_" + LABEL);
var cbText = document.getElementById(this.fullId);

if (cbText) { cbText.disabled = bDisable; }
if (cbImg) {
cbImg.disabled = bDisable;
if (bDisable) {
cbImg.src = "../../Images/Forms/RechercherDisable.gif";
cbImg.style.cursor = "default"
} else {
cbImg.src = "../../Images/Forms/Rechercher.gif";
cbImg.style.cursor = "hand"
}
}
if (cbLink) { cbLink.disabled = bDisable; }
if (cbLabel) { cbLabel.disabled = bDisable; }

cbImg = null;
cbLink = null;
cbLabel = null;
cbText = null;
break;

default:
var cbLabel = document.getElementById(this.id + "_" + LABEL);
var cbText = document.getElementById(this.fullId);
if ((cbLabel) && (cbText)) {
cbLabel.disabled = bDisable;
cbText.disabled = bDisable;
}
cbLabel = null;
cbText = null;
break;
}
}

this.value = function() {
var value;

switch (this.ctrlType) {
case CTRL_ISITEXTDATE:
value = iws_GetDateCtrlValue(this.id);
break;

case CTRL_ISICHECKBOX:
var oCtrl = document.getElementById(this.fullId);
if (oCtrl) {
value = oCtrl.checked;
}
oCtrl = null;
break;

case CTRL_ISIATTPREVIEW:
case CTRL_ISITEXTCONNEXE:
case CTRL_ISICOLORPICKER:
case CTRL_ISIQUICKSEARCH:
case CTRL_ISICOMBOBOX:
case CTRL_ISICOMBOYESNO:
var oCtrl = document.getElementById(this.hiddenId);
if (oCtrl) {
value = oCtrl.value;
}
oCtrl = null;
break;

default:
var oCtrl = document.getElementById(this.fullId);
if (oCtrl) {
value = oCtrl.value;
}
oCtrl = null;
break;
}
return value;
}

this.encodedValue = function() {
return encodeURIComponent(this.value());
}

this.setValue = function(value) {

switch (this.ctrlType) {
case CTRL_ISITEXTDATE:
iws_SetDateCtrlValue(this.id, value);
var fBlurEvt = eval(this.id + "_IsiTextDate_Blur")
if (typeof fBlurEvt == "function") {
fBlurEvt(igedit_getById(this.fullId), this.value(), window.event)
}
fBlurEvt = null;
break;

case CTRL_ISICHECKBOX:

var oCtrl = document.getElementById(this.fullId);
if (oCtrl) {
oCtrl.checked = (value == 'on' || value == '-1' ? true : false);
try { oCtrl.onchange(); } catch (e) { }
}
oCtrl = null;
break;

case CTRL_ISICOLORPICKER:
var oCtrl = document.getElementById(this.hiddenId);
var bValueHasChanged = false;

if (oCtrl) {
bValueHasChanged = (oCtrl.value != value);
oCtrl.value = value;
if (bValueHasChanged) {
onchangeState();
}
}
oCtrl = null;
break;

case CTRL_ISITEXTCONNEXE:
case CTRL_ISIQUICKSEARCH:
case CTRL_ISITEXTMULTILIGNE:
case CTRL_ISICOMBOBOX:
case CTRL_ISICOMBOYESNO:
var oCtrl = document.getElementById(this.hiddenId);
var bValueHasChanged = false;

if (oCtrl) {
bValueHasChanged = (oCtrl.value != value);
oCtrl.value = value;
}

if (value && value != "") {
if (bValueHasChanged) {
var oCtrlFull = document.getElementById(this.fullId);
if (oCtrlFull) {
oCtrlFull.propChange = 'VAL';
oCtrlFull.onchange();
}
oCtrlFull = null;
}
} else {
oCtrl = document.getElementById(this.fullId);
if (oCtrl) {
oCtrl.value = "";
if (bValueHasChanged) {
oCtrl.onchange();
}
}
}
oCtrl = null;
break;

default:
var oCtrl = document.getElementById(this.fullId);
if (oCtrl) {
if (oCtrl.value != value) {
oCtrl.value = value;
try { oCtrl.onchange(); } catch (e) { }
}
}
oCtrl = null;
break;
}
}

this.getLinkedCtrlValues = function(page) {
var s = "";
var iTop = this.df_ctrlsLinked.length;

for (var i = 0; i < iTop; ++i) {
var o = page.getCtrl(this.df_ctrlsLinked[i]);
if (o) {
s += o.id + page.SEP_VALUE + o.encodedValue();
s += i < iTop - 1 ? page.SEP_COUPLE : "";
}
}

return s;
}

this.getLinkedCtrlFilter = function(page) {
var s = "";
var iTop = this.fi_ctrlsLinked.length;

for (var i = 0; i < iTop; ++i) {
var o = page.getCtrl(this.fi_ctrlsLinked[i]);
if (o) {
s += o.id + page.SEP_VALUE + o.encodedValue();
s += i < iTop - 1 ? page.SEP_COUPLE : "";
}
}

return s;
}
return this;
}

function iwsPage() {
this.SEP_COUPLE = "#";
this.SEP_VALUE = ";";
this.relatedCalculationInProgress = false;
this.sTabError = new Array();
this.oCtrlHasFocus;


this.add = function(oCtrl) {
if (!this.tableau) {
this.tableau = new Array();
}
if (!this.tableauAssocID) {
this.tableauAssocID = new Array();
}
this.tableau.push(oCtrl);
this.tableauAssocID[oCtrl.id] = oCtrl;

if (oCtrl.compulsory == true) {
if (!this.tabMandatoryAssocID) {
this.tabMandatoryAssocID = new Array();
}
this.tabMandatoryAssocID[oCtrl.id] = oCtrl;
}
}

this.getCtrl = function(sId) {
return this.tableauAssocID[sId];
}

this.getCtrlByFullId = function(sFullId) {
var i = 0;
var bTrouve = false;

if (this.tableau && sFullId) {
while (!bTrouve && i < this.tableau.length) {
if (this.tableau[i].fullId == sFullId) {
bTrouve = true;
o = this.tableau[i];
}
++i;
}
}
if (bTrouve) {
return o;
} else {
return null;
}
}

this.dropUpdaters = function() {
if (this.tableau) {
for (var i = 0; i < this.tableau.length; ++i) {
this.tableau[i].updaters = new Array();
this.tableau[i].evaluationLevel = 0;
this.tableau[i].evaluationStandBy = false;
this.tableau[i].stopPropagation = false; // [LBRI] - 2009.04.07 - [DYSF:25046]
}
}
}

this.sortByLevel = function(a, b) {
if (a.evaluationLevel < b.evaluationLevel) {
return -1;
} else if (a.evaluationLevel > b.evaluationLevel) {
return 1;
} else {
return 0;
}
}

this.iwsAddCompulsoryCtrl = function(sCtrlName) {

var bTrouve = false;
var bExiste = false;
var pCtrl;
if (this.tabMandatoryAssocID) {
if (this.tabMandatoryAssocID[sCtrlName]) {
bExiste = true;
}
}


if (!bExiste) {
if (this.tableauAssocID) {
pCtrl = this.tableauAssocID[sCtrlName];
if (pCtrl)
{ bTrouve = true; }
}

if (bTrouve) {
pCtrl.compulsory = true;
this.tabMandatoryAssocID[pCtrl.id] = pCtrl;
document.getElementById(sCtrlName + '_' + LABEL_COMPULSORY).innerText = "*";

switch (pCtrl.ctrlType) {
case CTRL_ISITEXTDATE:
igedit_getById(pCtrl.fullId).elem.style.backgroundColor = MANDATORY_COLOR;
break;

default:
document.getElementById(pCtrl.fullId).style.backgroundColor = MANDATORY_COLOR;
break;
}
}

} else {
document.getElementById(sCtrlName + '_' + LABEL_COMPULSORY).innerText = "*";
}
}

this.iwsRemoveCompulsoryCtrl = function(sCtrlName) {
var bTrouve = false;
var bExiste = false;
var pCtrl;
if (this.tabMandatoryAssocID) {
if (this.tabMandatoryAssocID[sCtrlName]) {
bExiste = true;
}
}
if (bExiste) {
if (this.tableauAssocID) {
pCtrl = this.tableauAssocID[sCtrlName];
if (pCtrl)
{ bTrouve = true; }
}

if (bTrouve) {
pCtrl.compulsory = false;
delete this.tabMandatoryAssocID[sCtrlName];

document.getElementById(sCtrlName + '_' + LABEL_COMPULSORY).innerText = "";
switch (pCtrl.ctrlType) {
case CTRL_ISITEXTDATE:
igedit_getById(pCtrl.fullId).elem.style.backgroundColor = NORMAL_COLOR;
break;

default:
document.getElementById(pCtrl.fullId).style.backgroundColor = NORMAL_COLOR;
break;
}
}
}
}

this.CheckCompulsoryFields = function() {
var strErrMsg = "";
var bValideForm = true;
this.sTabError = new Array();

strErrMsg = this.MandatoryCtrlColorManagement();

if (strErrMsg != '') {
strErrMsg = strErrMsg.substring(0, strErrMsg.length - 2);
var oMsg;
if (this.sTabError.length > 1) {
oMsg = GetMessagesForJavascript(true).GetMessage("ERR_SEVERAL_FIELDS");
} else {
oMsg = GetMessagesForJavascript(true).GetMessage("ERR_ONE_FIELD");
}

alert(oMsg.BuildSQL(new Array(strErrMsg)));

document.getElementById("ihdItemClick").value = "";

iws_SetFocus(this.sTabError[0].id);
this.sTabError = new Array();

bValideForm = false;
} else {
bValideForm = true;
}
return bValideForm;
}

this.setFocusOnCtrl = function(sId) {
if (this.oCtrlHasFocus) {
if (this.oCtrlHasFocus.id.indexOf("FastId") < 0) {
if (this.oCtrlHasFocus.compulsory) {
if (parent.frames['HiddenFields']) {
var oCursorState = parent.frames['HiddenFields'].document.getElementById('ihdCursorState');
if (oCursorState) {
if (oCursorState.value == CURSOR_STATE_ADD
|| oCursorState.value == CURSOR_STATE_DUPLICATE
|| oCursorState.value == CURSOR_STATE_UPDATE) {
this.MandatoryCtrlColorManagement(this.oCtrlHasFocus.fullId, this.oCtrlHasFocus.id, NORMAL_COLOR, this.oCtrlHasFocus.ctrlType);
}
else if (oCursorState.value != CURSOR_STATE_SEARCH) {
this.MandatoryCtrlColorManagement(this.oCtrlHasFocus.fullId, this.oCtrlHasFocus.id, MANDATORY_COLOR, this.oCtrlHasFocus.ctrlType);
} else {
this.setNormalGroundColor(this.oCtrlHasFocus.fullId, this.oCtrlHasFocus.id, NORMAL_COLOR, this.oCtrlHasFocus.ctrlType);
}
} else {
this.setNormalGroundColor(this.oCtrlHasFocus.fullId, this.oCtrlHasFocus.id, NORMAL_COLOR, this.oCtrlHasFocus.ctrlType);
}
} else {
this.setNormalGroundColor(this.oCtrlHasFocus.fullId, this.oCtrlHasFocus.id, NORMAL_COLOR, this.oCtrlHasFocus.ctrlType);
}
} else {
this.setNormalGroundColor(this.oCtrlHasFocus.fullId, this.oCtrlHasFocus.id, NORMAL_COLOR, this.oCtrlHasFocus.ctrlType);
}
} else {

var id = this.oCtrlHasFocus.id.replace("_" + TEXTBOX_FAST_ID, "");
var fullId = this.oCtrlHasFocus.id;
var ctrlType = CTRL_ISIQUICKSEARCH;
this.setNormalGroundColor(fullId, id, NORMAL_COLOR, ctrlType);
}
}
this.oCtrlHasFocus = this.getCtrlByFullId(sId);

if (this.oCtrlHasFocus) {
this.setBackGroundColor(this.oCtrlHasFocus.fullId, this.oCtrlHasFocus.id, FOCUS_COLOR, this.oCtrlHasFocus.ctrlType);
} else {
if (this.getCtrlByFullId(sId.replace(VIEW_DATE_TIME_SEARCH, VIEW_DATE_TIME))) {
this.oCtrlHasFocus = this.getCtrlByFullId(sId.replace(VIEW_DATE_TIME_SEARCH, VIEW_DATE_TIME));
this.setBackGroundColor(this.oCtrlHasFocus.fullId, this.oCtrlHasFocus.id, FOCUS_COLOR, this.oCtrlHasFocus.ctrlType);
} else if (this.getCtrlByFullId(sId.replace(VIEW_DATE_TIME + "_t", VIEW_DATE_TIME))) {
this.oCtrlHasFocus = this.getCtrlByFullId(sId.replace(VIEW_DATE_TIME + "_t", VIEW_DATE_TIME));
this.setBackGroundColor(this.oCtrlHasFocus.fullId, this.oCtrlHasFocus.id, FOCUS_COLOR, this.oCtrlHasFocus.ctrlType);
} else if (this.getCtrlByFullId(sId.replace("FastId", ""))) {
var id = sId.replace("_" + TEXTBOX_FAST_ID, "");
this.setBackGroundColor(sId, id, FOCUS_COLOR, CTRL_ISITEXTBOX);
this.oCtrlHasFocus = document.getElementById(sId);
} else if (this.getCtrlByFullId(sId.replace(SEP_ENCAPS_GRID + NAME_ISIGRID, "_" + NAME_ISIGRID))) {
this.oCtrlHasFocus = this.getCtrlByFullId(sId.replace(SEP_ENCAPS_GRID + NAME_ISIGRID, "_" + NAME_ISIGRID));
this.setBackGroundColor(this.oCtrlHasFocus.fullId, this.oCtrlHasFocus.id, FOCUS_COLOR, this.oCtrlHasFocus.ctrlType);
} else if (sId == DIV_DETAIL) {
if (this.getCtrlByFullId(GRD_FLAT + "_" + NAME_ISIGRID)) {
this.oCtrlHasFocus = this.getCtrlByFullId(GRD_FLAT + "_" + NAME_ISIGRID);
this.setBackGroundColor(this.oCtrlHasFocus.fullId, this.oCtrlHasFocus.id, FOCUS_COLOR, this.oCtrlHasFocus.ctrlType);
}
} else if (sId == DIV_FORMULAIRE) {
if (this.getCtrlByFullId(GRD_HIER + "_" + NAME_ISIGRID)) {
this.oCtrlHasFocus = this.getCtrlByFullId(GRD_HIER + "_" + NAME_ISIGRID);
this.setBackGroundColor(this.oCtrlHasFocus.fullId, this.oCtrlHasFocus.id, FOCUS_COLOR, this.oCtrlHasFocus.ctrlType);
} else if (this.getCtrlByFullId(GRD_SEARCH + "_" + NAME_ISIGRID)) {
this.oCtrlHasFocus = this.getCtrlByFullId(GRD_SEARCH + "_" + NAME_ISIGRID);
this.setBackGroundColor(this.oCtrlHasFocus.fullId, this.oCtrlHasFocus.id, FOCUS_COLOR, this.oCtrlHasFocus.ctrlType);
} else if (this.getCtrlByFullId(GRD_ECRAN + "_" + NAME_ISIGRID)) {
this.oCtrlHasFocus = this.getCtrlByFullId(GRD_ECRAN + "_" + NAME_ISIGRID);
this.setBackGroundColor(this.oCtrlHasFocus.fullId, this.oCtrlHasFocus.id, FOCUS_COLOR, this.oCtrlHasFocus.ctrlType);
} else if (this.getCtrlByFullId(NAME_ISIEXTGRID + "_" + NAME_ISIGRID)) {
this.oCtrlHasFocus = this.getCtrlByFullId(NAME_ISIEXTGRID + "_" + NAME_ISIGRID);
this.setBackGroundColor(this.oCtrlHasFocus.fullId, this.oCtrlHasFocus.id, FOCUS_COLOR, this.oCtrlHasFocus.ctrlType);
}
}
}
}


this.setBackGroundColor = function(oCtrlFocusFullID, oCtrlFocusID, sColor, sType) {
var mesClassesCSS;
switch (sType) {
case CTRL_ISITEXTDATE:
var oCtrl;

if (GetValueFrame("HiddenFields", "ihdCursorState") != CURSOR_STATE_SEARCH) {
oCtrl = igedit_getById(oCtrlFocusFullID);
if (oCtrl) {
mesClassesCSS = oCtrl.elem.className.replace(" ChampFocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampObligatoire", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggFocus", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggObligatoire", "");

oCtrl.elem.className = mesClassesCSS + " ChampFocus";
}
} else {
oCtrl = document.getElementById(oCtrlFocusID + "_" + VIEW_DATE_TIME_SEARCH);
if (oCtrl) {
mesClassesCSS = oCtrl.className.replace(" ChampFocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampObligatoire", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggFocus", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggObligatoire", "");
oCtrl.className = mesClassesCSS + " ChampFocus";
}
}
oCtrl = null;
break;

case CTRL_ISITEXTBOXFILE:
var oCtrl = document.getElementById(oCtrlFocusID + '_' + TEXTBOX);
if (oCtrl && !oCtrl.readOnly) {
mesClassesCSS = oCtrl.className.replace(" ChampFocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampObligatoire", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggFocus", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggObligatoire", "");
oCtrl.className = mesClassesCSS + " ChampFocus";
}
oCtrl = null;
break;
case CTRL_ISIQUICKSEARCH:
case CTRL_ISICOMBOCRITERE:
case CTRL_ISITEXTCONNEXE:
case CTRL_ISICOMBOBOX:
case CTRL_ISICOMBOYESNO:
var oCtrl = document.getElementById(oCtrlFocusFullID);

if (oCtrl) {
mesClassesCSS = oCtrl.className.replace(" IsiComboBoxDropDownSuggFocus", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggObligatoire", "");
mesClassesCSS = mesClassesCSS.replace(" ChampFocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampObligatoire", "");
if (!oCtrl.disabled) {
oCtrl.className = mesClassesCSS + " IsiComboBoxDropDownSuggFocus";
} else {
oCtrl.className = mesClassesCSS;
}
}
oCtrl = null;
break;

case CTRL_ISISCHEDULEPROPERTIESCTRL:
case CTRL_ISISCHEDULE:
case CTRL_ISICALENDARVIEW:
break;
case CTRL_ISIATTPREVIEW:
var oCtrl = document.getElementById(oCtrlFocusID + "_icbC_DOCOLE_" + TEXTBOX);
if (oCtrl) {
mesClassesCSS = oCtrl.className.replace(" ChampFocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampObligatoire", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggFocus", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggObligatoire", "");
oCtrl.className = mesClassesCSS + " ChampFocus";
}
oCtrl = null;
break;

case CTRL_ULTRAWEBGRID:
iws_FocusOnGrid(oCtrlFocusID, '1');
break;

default:
var oCtrl = document.getElementById(oCtrlFocusFullID);
if (oCtrl && !oCtrl.readOnly) {
mesClassesCSS = oCtrl.className.replace(" ChampFocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampObligatoire", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggFocus", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggObligatoire", "");

oCtrl.className = mesClassesCSS + " ChampFocus";
}
oCtrl = null;
break;
}

}
this.setNormalGroundColor = function(oCtrlFocusFullID, oCtrlFocusID, sColor, sType) {
var mesClassesCSS;

switch (sType) {
case CTRL_ISITEXTDATE:
var oCtrl;

if (GetValueFrame("HiddenFields", "ihdCursorState") != CURSOR_STATE_SEARCH) {
oCtrl = igedit_getById(oCtrlFocusFullID);
if (oCtrl) {
mesClassesCSS = oCtrl.elem.className.replace(" ChampFocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampObligatoire", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggFocus", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggObligatoire", "");

oCtrl.elem.className = mesClassesCSS + " ChampUnfocus";
}
} else {
oCtrl = document.getElementById(oCtrlFocusID + "_" + VIEW_DATE_TIME_SEARCH);
if (oCtrl) {
mesClassesCSS = oCtrl.className.replace(" ChampFocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampObligatoire", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggFocus", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggObligatoire", "");

oCtrl.className = mesClassesCSS + " ChampUnfocus";
}
}
oCtrl = null;
break;

case CTRL_ISITEXTBOXFILE:
var oCtrl = document.getElementById(oCtrlFocusID + '_' + TEXTBOX);
if (oCtrl && !oCtrl.readOnly) {
mesClassesCSS = oCtrl.className.replace(" ChampFocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampObligatoire", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggFocus", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggObligatoire", "");
oCtrl.className = mesClassesCSS + " ChampUnfocus";
}
oCtrl = null;
break;
case CTRL_ISICOMBOCRITERE:
case CTRL_ISITEXTCONNEXE:
case CTRL_ISICOMBOBOX:
case CTRL_ISICOMBOYESNO:
case CTRL_ISIQUICKSEARCH:
var oCtrl = document.getElementById(oCtrlFocusFullID);

if (oCtrl) {
mesClassesCSS = oCtrl.className.replace(" IsiComboBoxDropDownSuggFocus", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggObligatoire", "");
mesClassesCSS = mesClassesCSS.replace(" ChampFocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampObligatoire", "");

oCtrl.className = mesClassesCSS + " IsiComboBoxDropDownSuggUnfocus";
}
oCtrl = null;
break;

case CTRL_ISISCHEDULEPROPERTIESCTRL:
case CTRL_ISISCHEDULE:
case CTRL_ISICALENDARVIEW:
break;
case CTRL_ISIATTPREVIEW:
var oCtrl = document.getElementById(oCtrlFocusID + "_icbC_DOCOLE_" + TEXTBOX);
if (oCtrl) {
mesClassesCSS = oCtrl.className.replace(" ChampFocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampObligatoire", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggFocus", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggObligatoire", "");
oCtrl.className = mesClassesCSS + " ChampUnfocus";
}
oCtrl = null;
break;


case CTRL_ULTRAWEBGRID:
iws_FocusOnGrid(oCtrlFocusID, '2');
break;

default:
var oCtrl = document.getElementById(oCtrlFocusFullID);
if (oCtrl && !oCtrl.readOnly) {
mesClassesCSS = oCtrl.className.replace(" ChampFocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampObligatoire", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggFocus", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggObligatoire", "");
oCtrl.className = mesClassesCSS + " ChampUnfocus";
}
oCtrl = null;
break;
}

}

this.MandatoryCtrlColorManagement = function() {
var strErrMsg = '';
var oCtrlManage;
var mesClassesCSS;
var i;
if (this.tabMandatoryAssocID) {
for (i in this.tabMandatoryAssocID) {
oCtrlManage = this.tabMandatoryAssocID[i];

switch (oCtrlManage.ctrlType) {
case CTRL_ISITEXTDATE:
var oCtrl = document.getElementById(oCtrlManage.fullId);

if (oCtrlManage && oCtrl) {
if (oCtrlManage.value() == "") {
this.sTabError.push(oCtrl);
strErrMsg += '"' + getCtrlCaption(oCtrlManage.id, oCtrlManage.ctrlType) + '", ';
}
mesClassesCSS = igedit_getById(oCtrlManage.fullId).elem.className.replace(" ChampFocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampObligatoire", "");
igedit_getById(oCtrlManage.fullId).elem.className = mesClassesCSS + " ChampObligatoire";
}
break;

case CTRL_ISITEXTBOXFILE:
var oCtrl = document.getElementById(oCtrlManage.id + '_' + TEXTBOX);
if (oCtrl) {
if (oCtrl.value == "") {
this.sTabError.push(oCtrl);
strErrMsg += '"' + getCtrlCaption(oCtrlManage.id, oCtrlManage.ctrlType) + '", ';
}
mesClassesCSS = oCtrl.className.replace(" ChampFocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampObligatoire", "");
oCtrl.className = mesClassesCSS + " ChampObligatoire";
}
break;
case CTRL_ISIRICHTEXT:
var oCtrl = document.getElementById(oCtrlManage.id + '_' + TEXTDIV);
if (oCtrl) {
if (oCtrl.innerText == "") {
this.sTabError.push(oCtrl);
strErrMsg += '"' + getCtrlCaption(oCtrlManage.id, oCtrlManage.ctrlType) + '", ';
}
mesClassesCSS = oCtrl.className.replace(" ChampFocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampObligatoire", "");
oCtrl.className = mesClassesCSS + " ChampObligatoire";
}
break;

case CTRL_ISICOMBOCRITERE:
case CTRL_ISITEXTCONNEXE:
case CTRL_ISICOMBOBOX:
case CTRL_ISICOMBOYESNO:
case CTRL_ISIQUICKSEARCH:
var oCtrl = document.getElementById(oCtrlManage.fullId);

if (oCtrlManage && oCtrl) {
if (oCtrlManage.value() == "") {
this.sTabError.push(oCtrl);
strErrMsg += '"' + getCtrlCaption(oCtrlManage.id, oCtrlManage.ctrlType) + '", ';
}
mesClassesCSS = oCtrl.className.replace(" IsiComboBoxDropDownSuggFocus", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" IsiComboBoxDropDownSuggObligatoire", "");
if (!oCtrl.disabled) {
oCtrl.className = mesClassesCSS + " IsiComboBoxDropDownSuggObligatoire";
} else {
oCtrl.className = mesClassesCSS;
}
}
break;
default:
var oCtrl = document.getElementById(oCtrlManage.fullId);

if (oCtrlManage && oCtrl) {
if (oCtrlManage.value() == "") {
this.sTabError.push(oCtrl);
strErrMsg += '"' + getCtrlCaption(oCtrlManage.id, oCtrlManage.ctrlType) + '", ';
}
mesClassesCSS = oCtrl.className.replace(" ChampFocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampUnfocus", "");
mesClassesCSS = mesClassesCSS.replace(" ChampObligatoire", "");
if (!oCtrl.disabled) {
oCtrl.className = mesClassesCSS + " ChampObligatoire";
} else {
oCtrl.className = mesClassesCSS;
}
}
break;
}
}
}
return strErrMsg;
}

this.tableau = new Array();
this.tableauAssocID = new Array();

this.tabMandatoryAssocID = new Array();

return this;
}


function iws_defCtrlPropr(aProp) {

var iCtrl = new iwsControle(aProp);

if (iCtrl.id) {
iwsAllCtrls.add(iCtrl);
}
}

iwsAllCtrls = new iwsPage();

function getCtrlCaption(sId, sTypeCtrl) {
var value = sId;

switch (sTypeCtrl) {
case CTRL_ISITEXTCONNEXE:
case CTRL_ISIQUICKSEARCH:
case CTRL_ISITEXTMULTILIGNE:
var oCtrl = document.getElementById(sId + '_' + LINK_BUTTON);
if (oCtrl) {
value = oCtrl.innerText;
} else {
var oCtrl = document.getElementById(sId + '_' + LABEL);
if (oCtrl)
value = oCtrl.innerText;
}
break;

default:
var oCtrl = document.getElementById(sId + '_' + LABEL);
if (oCtrl) {
value = oCtrl.innerText;
}
break;
}
return value;
}
