
function autoComplete(fieldName, displayBelowThisObject,value, caractere)
{
	if(navigator.appName == 'Microsoft Internet Explorer')
		return;
	
	var targetField = document.getElementsByName (fieldName).item(0);
	// if we weren't told what node to display the field beneath, just display it
	// beneath the field we're updating
	  if (!displayBelowThisObject)
	    displayBelowThisObject = targetField;
	  var x = displayBelowThisObject.offsetLeft;
	  var y = displayBelowThisObject.offsetTop + displayBelowThisObject.offsetHeight ;
	  
	// deal with elements inside tables and such
	  var parent = displayBelowThisObject;
	  while (parent.offsetParent) 
	  {
	    parent = parent.offsetParent;
	    x += parent.offsetLeft;
	    y += parent.offsetTop ;
	  }
	  drawPicker(fieldName,targetField, x, y,value, caractere);
}

function drawPicker(fieldName,targetField, x, y,value, caractere)
{
	if(document.getElementById('ajaxProcessing') != null)
			return;
		// the picker div will be drawn inside of a <div> with an ID defined by the
		  // global pickerDivID variable. If such a div doesn't yet exist on the HTML
		  // document we're working with, add one.
		if (!document.getElementById(fieldName+"_picker")) 
		{
		    // don't use innerHTML to update the body, because it can cause global variables
		    // that are currently pointing to objects on the page to have bad references
		    var newNode = document.createElement("div");
		    newNode.setAttribute("id", fieldName+"_picker");
		    newNode.setAttribute("class", "popup-menu");
		    newNode.setAttribute("style", "diplay: block;");
		    document.body.appendChild(newNode);
		}
		  
		// move the picker div to the proper x,y coordinate and toggle the visiblity
		  var pickerDiv = document.getElementById(fieldName+"_picker");
		  pickerDiv.style.position = "absolute";
		  pickerDiv.style.left = x + "px";
		  pickerDiv.style.top = y + "px";
		  pickerDiv.style.visibility = "visible";
		  pickerDiv.style.display = "block";
		  pickerDiv.style.zIndex = 10000;
		  
		//Get caractere type by the user.
		var code;
		if(!caractere) var caractere = window.event;
		if(caractere.keyCode) code = caractere.keyCode;
		else if(caractere.which) code = caractere.which;
		//
		//If <> Backspace
		if (code != 8 && code != 38 && code != 37 && code != 39 && code != 40 )
		{
			var letter = String.fromCharCode(code);			
			if (((value + letter).length) >= 3)
			{
				var url = "/autocomplete/index?field="+fieldName+"&div_autocompletion="+pickerDiv+"&c=" + value + letter;					
				ajax.getPage(fieldName+"_picker",url);
			} else
			{
				pickerDiv.style.display =  'none';
				pickerDiv.style.visibility = "hidden";
			}
		}else
		{
			pickerDiv.style.display =  'none';
			pickerDiv.style.visibility = "hidden";
		}
}

function OnSelected(targetfield,value,divPicker)
{
	 document.getElementById(targetfield).value=value;
	 document.getElementById(divPicker).style.display='none';
	 document.getElementById(divPicker).style.visibilty='hidden';
}  
