function getHTTPObject()
{
  var xmlhttp = false;

  /* Compilation conditionnelle d'IE */
  /*@cc_on
  @if (@_jscript_version >= 5)
     try
     {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
     }
     catch (e)
     {
        try
        {
           xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (E)
        {
           xmlhttp = false;
        }
     }
  @else
     xmlhttp = false;
  @end @*/

  /* on essaie de cr�er l'objet si ce n'est pas d�j� fait */
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined')
  {
     try
     {
        xmlhttp = new XMLHttpRequest();
     }
     catch (e)
     {
        xmlhttp = false;
     }
  }

  return xmlhttp;
}

function getInstrumentList(iLoFaIdx, sPathVirtuel, sTdId, sFormId)
{
	var oXhr = getHTTPObject(); 
	oXhr.open("GET", "./include/getInstrumentList.php?LoFaIdx=" + iLoFaIdx, true); 
	oXhr.onreadystatechange = function() 
							  { 
								if(oXhr.readyState == 4 )
								{
									var sResultat = oXhr.responseText;
									formatQuantityForForm(sFormId, sTdId, sResultat);
								}
							}
	oXhr.send(null); 
}
//Le but de cette fonction est de formater la liste retourn�e par getInstrumentList.php
//En une liste de champ texte pour saisir la quantit�
function formatQuantityForForm(sFormId, sTdId, sResultat)
{
	oForm = document.getElementById(sFormId);
	var oReg = new RegExp("instru_[0-9]{1,5}", "gi");
	var oFieldArray = new Array();
	for(i = 0; i < oForm.elements.length; i++)
	{
		sFieldName = oForm.elements[i].name;
		if(sFieldName != null)
		{
			if(sFieldName.indexOf("instru_") >= 0)
			{
				iValue = eval("oForm.elements[" + i + "].value");
				//parseInt(iValue);
				if(iValue != "" && iValue != 0)
				{
					oFieldArray[eval("oForm.elements[" + i + "].name")] = new Array();
					oFieldArray[eval("oForm.elements[" + i + "].name")]["value"] = iValue;
					oFieldArray[eval("oForm.elements[" + i + "].name")]["legend"] = eval("oForm.elements[" + i + "].instrumentName");
				}
			}
		}
	}
	oFieldArray = makeArrayFromResult(sResultat, oFieldArray);
	makeFormFields(sTdId, oFieldArray);
}

function makeArrayFromResult(sResultat, oFieldArray)
{
	var oRegSplit = new RegExp("[µ\n]", "gi");
	var oListeArray = sResultat.split(oRegSplit);
	var sAlerte;
	for(i=0; i < oListeArray.length; i++)
	{
		if(oListeArray[i] != "")
		{
			if((i%2) == 0 && typeof(oListeArray[i]) != "undefined")
			{
				oFieldArray["instru_" + oListeArray[i]] = new Array();
			}
			else
			{
				if((i%2) != 0 && typeof(oListeArray[i - 1]) != "undefined")
				{
					oFieldArray["instru_" + oListeArray[i - 1]]["legend"] = oListeArray[i];
					oFieldArray["instru_" + oListeArray[i - 1]]["value"] = 0;
				}
			}
		}
	}
	
	return oFieldArray;
}

function makeFormFields(sTdId, oFieldArray)
{
	oTd = document.getElementById(sTdId);
	oTd.innerHTML = "";
	
	var sKey = "";
	var sInnerHTML = "<table>\n";
	sInnerHTML += "<tr>\n";
	sInnerHTML += "	<td><b>" + g_asLang["Instrument"] + "</b></td>\n";
	sInnerHTML += "	<td><b>" + g_asLang["Quantity"] + "</b></td>\n";
	sInnerHTML += "</tr>\n";	
	for(sKey in oFieldArray)
	{
		sInnerHTML += "<tr>\n";
		sInnerHTML += "<td>" + oFieldArray[sKey]["legend"] + "</td> ";
		sInnerHTML += "<td><input type=\"text\" id=\"" + sKey + "\" name=\"" + sKey + "\" instrumentName=\"" + oFieldArray[sKey]["legend"] + "\" ";
		sInnerHTML += "value=\"" + oFieldArray[sKey]["value"] + "\" size=\"3\" /></td>\n";
		sInnerHTML += "</tr>\n";		
	}
	sInnerHTML += "</table>\n";
	//alert(sInnerHTML);
	oTd.innerHTML = sInnerHTML;
	for(sKey in oFieldArray)
	{
		oField = document.getElementById(sKey).instrumentName = oFieldArray[sKey]["legend"];
	}
}
