// autocomplete and related changes
// Copyright 2004 Leslie A. Hensley
// hensleyl@papermountain.org
// you have a license to do what ever you like with this code
// orginally from Avai Bryant
// http://www.cincomsmalltalk.com/userblogs/avi/blogView?entry=3268075684

if (navigator.userAgent.indexOf("Safari") > 0)
{
  isSafari = true;
  isMoz = false;
  isIE = false;
}
else if (navigator.product == "Gecko")
{
  isSafari = false;
  isMoz = true;
  isIE = false;
}
else
{
  isSafari = false;
  isMoz = false;
  isIE = true;

}
  var _popupId="";
function autocomplete(id, id_hidden, type_id, popupId, uri,para,para1)
{

    var inputField = document.getElementById(id);
    var hiddenInputField= document.getElementById(id_hidden);
    var type = document.getElementById(type_id);

   var  popup= document.getElementById(popupId);

    var options = new Array();
    var current = 0;
    var originalPopupTop = popup.offsetTop;


   function constructUri()
    {
        var separator = "?";
        if(uri.indexOf("?") >= 0){
	            separator = "&";
		}
			_popupId=popupId;
	//	document.getElementById(id+"_progress").className = "visible";
		if(inputField.value != ''){

       		return uri + separator + para+"=" + escape(inputField.value)+""+separator+para1+"="+escape(type.value);
		}

    }

    function hidePopup()
    {
      popup.style.display = 'none';
    }

    function handlePopupOver()
    {
      removeListener(inputField, 'blur', hidePopup);
    }

    function handlePopupOut()
    {
      if(popup.style.display == 'block')
      {
        addListener(inputField, 'blur', hidePopup);
      }
    }

    function handleClick(e)
    {
    //  inputField.value = eventElement(e).innerHTML;

//		var myObject = options[current];

	//	var text = getText(myObject);


		var _data;
		if(isIE){

			_data=options[current].innerHTML.replace("<A href=\"javascript:void setData(","");
		}
		else {
				_data=options[current].innerHTML.replace("<a href=\"javascript:void setData(","");
		}
//		var _data = text.replace("javascript:void setData(","");
		_data=_data.replace();

		var _pos=_data.indexOf(")");
		 _data=_data.substring(0,_pos);

		 var _idsymbol=twosplit("','",_data);


      	inputField.value =_idsymbol[1].replace(/'/g,"");
 	    hiddenInputField.value=_idsymbol[0].replace(/'/g,"");

	      popup.style.display = 'none';

    	  inputField.focus();
    }



    function insertXHTML(myXHTML, myObject)
	{

         var parser = new DOMParser();
         var str = "http://www.w3.org/1999/xhtml>" + myXHTML + "</div>";
         var XMLdoc = parser.parseFromString("<div xmlns = '"+str+"', 'application/xhtml+xml'");

         var root = XMLdoc.documentElement;

         for(i = 0; i < root.childNodes.length; i++)
         {
             myObject.appendChild(document.importNode(root.childNodes[i], true));
         }
	}

    function handleOver(e)
    {

      options[current].className = '';
     // current = eventElement(e).index;
     var obj= eventElement(e);
    // alert("value:"+obj.value);
    	if(isIE){

	     	current = getElementsIndex(obj);

	     }
	     else {
			current = obj.index;
	     }
   //  alert(current);

      options[current].className = 'selected';

    }

    function post()
    {
        current = 0;
        options = popup.getElementsByTagName("li");
        if((options.length > 1) || (options.length == 1 && options[0].innerHTML != inputField.value))
        {

          setPopupStyles();
          for(var i = 0; i < options.length; i++)
          {
            options[i].index = i;
            addOptionHandlers(options[i]);
          }
          options[0].className = 'selected';
        }
        else
        {
          popup.style.display = 'none';
        }
    }

    function setPopupStyles()
    {
      var maxHeight = 150;
      if(isIE)
      {
        maxHeight = 150;
       // popup.style.left = '0px';
       // popup.style.top = (originalPopupTop + inputField.offsetHeight) + 'px';
      }
      else
      {
        //maxHeight = window.outerHeight/3;
      }
      if(popup.offsetHeight < maxHeight)
      {
      	popup.style.maxHeight = "150px";
        popup.style.overflow = 'auto';
      }
      else if(isMoz)
      {
        popup.style.maxHeight = maxHeight + 'px';
        popup.style.overflow = '-moz-scrollbars-vertical';
      }
      else
      {
        popup.style.maxHeight = maxHeight + 'px';
        popup.style.overflowY = 'auto';
      }
      popup.scrollTop = 0;
      popup.style.display = 'block';
    }

    function addOptionHandlers(option)
    {
      addListener(option, "click", handleClick);

      addListener(option, "mouseover", handleOver);
    }

    var updater = liveUpdater(constructUri, post);
    var timeout = false;

    function start(e) {
      if (timeout)
        window.clearTimeout(timeout);

      //up arrow
      if(e.keyCode == 38)
      {
        if(current > 0)
        {
          options[current].className = '';
          current--;
          options[current].className = 'selected';
          options[current].scrollIntoView(false);
        }
      }
      //down arrow
      else if(e.keyCode == 40)
      {
        if(current < options.length - 1)
        {
          options[current].className = '';
          current++;
          options[current].className = 'selected';
          options[current].scrollIntoView(false);
        }
      }
      //enter or tab
      else if((e.keyCode == 13 || e.keyCode == 9) && popup.style.display == 'block')
      {
      var _data=options[current].innerHTML.replace("<a href=\"javascript:void setData('","");
		_data=_data.replace();
		var _pos=_data.indexOf(")");
		 _data=_data.substring(0,_pos)

		 var _idsymbol=twosplit("','",_data);


      	inputField.value =_idsymbol[1].replace(/'/g,"");
 	    hiddenInputField.value=_idsymbol[0].replace(/'/g,"");

      	//inputField.value = options[current].innerHTML;
      //	inputField.value =_data;
        popup.style.display = 'none';
        inputField.focus();
        if(isIE)
        {
          event.returnValue = false;
        }
        else
        {
          e.preventDefault();
        }
      }
      else if(e.keyCode == 27){
			popup.style.display = "none";
      }
      else
      {
	      if(inputField.value != ""){
	     	popup.innerHTML="<body><ul><li><img src = \"./images/searching.gif\"/><b> Please wait... </b><li></ul></body>"
	      }
        timeout = window.setTimeout(updater, 300);
      }
    }
  addKeyListener(inputField, start);
 // alert('add key')
  addListener(popup, 'mouseover', handlePopupOver);
 //   alert('add key mouse')
  addListener(popup, 'mouseout', handlePopupOut);
   //   alert('add key mouseout')

}

function autocomplete2(id, popupId, uri,para,para1)
{

    var inputField = document.getElementById(id);
    var  popup= document.getElementById(popupId);
    var options = new Array();
    var current = 0;
    var originalPopupTop = popup.offsetTop;


   function constructUri()
    {
        var separator = "?";
        if(uri.indexOf("?") >= 0){
	            separator = "&";
		}
			_popupId=popupId;
	//	document.getElementById(id+"_progress").className = "visible";
		if(inputField.value != ''){
       		return uri + separator + para+"=" + escape(inputField.value)+""+separator+para1+"="+escape(id);
		}

    }

    function hidePopup()
    {
      popup.style.display = 'none';
    }

    function handlePopupOver()
    {
      removeListener(inputField, 'blur', hidePopup);
    }

    function handlePopupOut()
    {
      if(popup.style.display == 'block')
      {
        addListener(inputField, 'blur', hidePopup);
      }
    }

    function handleClick2(e)
    {
    //  inputField.value = eventElement(e).innerHTML;

//		var myObject = options[current];

	//	var text = getText(myObject);


		var _data;
		if(isIE){
			_data=options[current].innerHTML.replace("<a href=\"javascript:void setData(","");
		}
		else {
				_data=options[current].innerHTML.replace("<a href=\"javascript:void setData(","");
		}
//		var _data = text.replace("javascript:void setData(","");
		_data=_data.replace();

		var _pos=_data.indexOf(")");
		 _data=_data.substring(0,_pos);

		 var _idsymbol=twosplit("','",_data);


      	inputField.value =_idsymbol[1].replace(/'/g,"");
 	   // hiddenInputField.value=_idsymbol[0].replace(/'/g,"");

	      popup.style.display = 'none';

    	  inputField.focus();
    }



    function insertXHTML(myXHTML, myObject)
	{

         var parser = new DOMParser();
         var str = "http://www.w3.org/1999/xhtml>" + myXHTML + "</div>";
         var XMLdoc = parser.parseFromString("<div xmlns = '"+str+"', 'application/xhtml+xml'");

         var root = XMLdoc.documentElement;

         for(i = 0; i < root.childNodes.length; i++)
         {
             myObject.appendChild(document.importNode(root.childNodes[i], true));
         }
	}

    function handleOver(e)
    {

      options[current].className = '';
     // current = eventElement(e).index;
     var obj= eventElement(e);
    // alert("value:"+obj.value);
    	if(isIE){
	     	current = getElementsIndex(obj);

	     }
	     else {
			current = obj.index;
	     }
   //  alert(current);

      options[current].className = 'selected';

    }

    function post()
    {
        current = 0;
        options = popup.getElementsByTagName("li");
        if((options.length > 1) || (options.length == 1 && options[0].innerHTML != inputField.value))
        {

          setPopupStyles();
          for(var i = 0; i < options.length; i++)
          {
            options[i].index = i;
            addOptionHandlers(options[i]);
          }
          options[0].className = 'selected';
        }
        else
        {
          popup.style.display = 'none';
        }
    }

    function setPopupStyles()
    {
      var maxHeight = 150;
      if(isIE)
      {
        maxHeight = 150;
        popup.style.left = '0px';
        popup.style.top = (originalPopupTop + inputField.offsetHeight) + 'px';
      }
      else
      {
        //maxHeight = window.outerHeight/3;

      }
      if(popup.offsetHeight < maxHeight)
      {
		popup.style.maxHeight = "150px";
        popup.style.overflow = 'auto';
      }
      else if(isMoz)
      {
        popup.style.maxHeight = maxHeight + 'px';
        popup.style.overflow = '-moz-scrollbars-vertical';
      }
      else
      {
        popup.style.maxHeight = maxHeight + 'px';
        popup.style.overflowY = 'auto';
      }
      popup.scrollTop = 0;
      popup.style.display = 'block';
    }

    function addOptionHandlers(option)
    {
      addListener(option, "click", handleClick2);

      addListener(option, "mouseover", handleOver);
    }

    var updater = liveUpdater(constructUri, post);
    var timeout = false;

    function start(e) {
      if (timeout)
        window.clearTimeout(timeout);

      //up arrow
      if(e.keyCode == 38)
      {
        if(current > 0)
        {
          options[current].className = '';
          current--;
          options[current].className = 'selected';
          options[current].scrollIntoView(false);
        }
      }
      //down arrow
      else if(e.keyCode == 40)
      {
        if(current < options.length - 1)
        {
          options[current].className = '';
          current++;
          options[current].className = 'selected';
          options[current].scrollIntoView(false);
        }
      }
      //enter or tab
      else if((e.keyCode == 13 || e.keyCode == 9) && popup.style.display == 'block')
      {
      var _data=options[current].innerHTML.replace("<a href=\"javascript:void setData('","");
		_data=_data.replace();
		var _pos=_data.indexOf(")");
		 _data=_data.substring(0,_pos)

		 var _idsymbol=twosplit("','",_data);


      	inputField.value =_idsymbol[1].replace(/'/g,"");
 	 //   hiddenInputField.value=_idsymbol[0].replace(/'/g,"");

      	//inputField.value = options[current].innerHTML;
      //	inputField.value =_data;
        popup.style.display = 'none';
        inputField.focus();
        if(isIE)
        {
          event.returnValue = false;
        }
        else
        {
          e.preventDefault();
        }
      }
       else if(e.keyCode == 27){
			popup.style.display = "none";
      }
      else
      {
        timeout = window.setTimeout(updater, 300);
      }
    }
  addKeyListener(inputField, start);
 // alert('add key')
  addListener(popup, 'mouseover', handlePopupOver);
 //   alert('add key mouse')
  addListener(popup, 'mouseout', handlePopupOut);
   //   alert('add key mouseout')

}




function addKeyListener(element, listener)
{
  if (isSafari)
    element.addEventListener("keydown",listener,false);
  else if (isMoz){
     // alert("key down Moz");
    element.addEventListener("keypress",listener,false);
}  else{
   // alert("key down ie");
    element.attachEvent("onkeydown",listener);
    }


}
function addListener(element, type, listener)
{

  if(element.addEventListener)
  {

    element.addEventListener(type, listener, false);
  }
  else
  {

    element.attachEvent('on' + type, listener);
  }
}
function liveUpdater(uriFunc, postFunc, preFunc)
{

  if(!postFunc) postFunc = function () {};
  if(!preFunc) preFunc = function () {};

  return createLiveUpdaterFunction(uriFunc, postFunc, preFunc);

}

function createLiveUpdaterFunction(uriFunc, postFunc, preFunc)
{

    var request = false;
    if (window.XMLHttpRequest) {
        request = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) { // IE
      request = new ActiveXObject("Microsoft.XMLHTTP");

    }

    function update()
    {

     //   if(request && request.readyState < 4)
            request.abort();
             if (window.XMLHttpRequest) {
       			 request = new XMLHttpRequest();
    		}
    		else if (window.ActiveXObject) { // IE

		      request = new ActiveXObject("Microsoft.XMLHTTP");
		    }
        preFunc();
	if(request){

	if(uriFunc() != undefined){
        request.onreadystatechange = processRequestChange;
        request.open("GET", uriFunc());
        request.send(null);
        return true;
       }
       else{
      	document.getElementById(id).style.display = "none";
      	return true;
      }
      }

    }

function processRequestChange()
    {
	//alert(request.readyState);
	//alert(request.status);

      if(request.readyState == 4)
      {
	 // alert(request.responseText)
        var xmlDoc = request.responseText;
        id=_popupId;



        document.getElementById(id).innerHTML = xmlDoc;


        //alert(xmlDoc);
       /* var body = xmlDoc.getElementsByTagName("body");
        //alert(body.length);
        if(body.length>0)
        {
          var nodes = body[0].childNodes
         // alert(body);
          for(var i=0;i<nodes.length;i++)
          {

            if(nodes[i].nodeType==1 && nodes[i].getAttribute("id")!=null)
            {

              var id = nodes[i].getAttribute("id")
              if(isIE && nodes[i].nodeName == 'option')
              {
                recreateTR(document.getElementById(id), nodes[i]);
              }
              else
              {
                //alert(flattenChildren(nodes[i].childNodes))
                document.getElementById(id).innerHTML = flattenChildren(nodes[i].childNodes)
              }
            }
          }
        }*/

      /*  var scripts = xmlDoc.getElementsByTagName("script");
        for(var i=0;i<scripts.length;i++)
        {
          if(scripts[i].firstChild!=null)
          {
            var script = scripts[i].firstChild.nodeValue
            if(script != null)
            {
              eval(script)
            }
          }
        }*/
        postFunc();
      }
    }

    return update;
}
function flattenChildren(nodes)
{
	var buffer = '';
	if(nodes.length > 0)
	{
		for (var i=0;i<nodes.length;i++)
		{
			buffer += flatten(nodes[i]);
		}
	}
	return buffer;
}
function recreateTR(parentElement, subtree)
{
  for(var i = parentElement.childNodes.length-1; i>=0; i--)
  {
    parentElement.removeChild(parentElement.childNodes[i]);
  }

  for(var i=0; i<subtree.childNodes.length; i++)
  {
    var cell = document.createElement(subtree.childNodes[i].nodeName);
    cell.innerHTML = flattenChildren(subtree.childNodes[i].childNodes)
    parentElement.appendChild(cell);
  }
}
function flatten(node)
{
	if(node.nodeType == 1)
	{
		return '<' + node.nodeName + flattenAttributes(node) + '>' +
		flattenChildren(node.childNodes) + '</' + node.nodeName + '>';
	}
	else if(node.nodeType == 3)
	{
		return node.nodeValue;
	}
}
function flattenAttributes(node)
{
  var buffer = ''
  for(var i=0;i<node.attributes.length;i++)
  {
    var attribute = node.attributes[i]
    buffer += ' '+attribute.name+'="'+attribute.value+'"'
  }
  return buffer;
}
function removeListener(element, type, listener)
{
  if(element.removeEventListener)
  {
    element.removeEventListener(type, listener, false);
  }
  else
  {
    element.detachEvent('on' + type, listener);
  }
}
function eventElement(event)
{
  if(isMoz || isSafari)
  {
    return event.currentTarget;
  }
  else
  {
    return event.srcElement;
  }
}

function twosplit (del, str)
    {
    var ind=0;
    var lastInd=0;
    var count=0;
    var word;
    var array = new Object();

    array.length = 0;
    while( ind< str.length )
        {
        ind = str.indexOf( del, lastInd );
        if (ind == -1 )
            ind = str.length;
        array[count++] = str.substring(lastInd,ind);
        array.length++;
        lastInd = ind+2;
        }
    return array;
 }
 function ndelimetersplit(del, str)
    {
    var ind=0;
    var lastInd=0;
    var count=0;
    var word;
    var del_len=del.length;
    var array = new Object();

    array.length = 0;
    while( ind< str.length )
        {
        ind = str.indexOf( del, lastInd );
        if (ind == -1 )
            ind = str.length;
        array[count++] = str.substring(lastInd,ind);
        array.length++;
        lastInd = ind+del_len;
        }
    return array;
 }


function unisplit (del, str)
    {
    var ind=0;
    var lastInd=0;
    var count=0;
    var word;
    var array = new Object();

    array.length = 0;
    while( ind< str.length )
        {
        ind = str.indexOf( del, lastInd );
        if (ind == -1 )
            ind = str.length;
        array[count++] = str.substring(lastInd,ind);
        array.length++;
        lastInd = ind+1;
        }
    return array;
    }
    function autocompleteEmail(id,id_hidden,type_id, popupId, uri,para,para1,para1_value){

    var inputField = document.getElementById(id);
//    var hiddenInputField= document.getElementById(id_hidden);
    var type =para1_value

    var popup = document.getElementById(popupId);
    var options = new Array();
    var current = 0;
    var originalPopupTop = popup.offsetTop;
   // alert(uri)

   function constructUri()
    {
        var separator = "?";
        if(uri.indexOf("?") >= 0)
            separator = "&";

		_popupId =popupId;


        return uri + separator + para+"=" + escape(inputField.value)+""+separator+para1+"="+escape(type);
    }

    function hidePopup()
    {
      popup.style.display = 'none';
    }

    function handlePopupOver()
    {
      removeListener(inputField, 'blur', hidePopup);
    }

    function handlePopupOut()
    {
      if(popup.style.display == 'block')
      {
        addListener(inputField, 'blur', hidePopup);
      }
    }

    function handleClick(e)
    {
    //  inputField.value = eventElement(e).innerHTML;
   		 var _data;
		if(isIE){
			_data=options[current].innerHTML.replace("<A href=\"javascript:void setDataEmail(","");
		}
		else {
				_data=options[current].innerHTML.replace("<a href=\"javascript:void setDataEmail(","");
		}
//		var _data = text.replace("javascript:void setData(","");
		_data=_data.replace();

		var _pos=_data.indexOf(")");
		 _data=_data.substring(0,_pos);

		// var _idsymbol=twosplit("','",_data);


    //  	inputField.value =_idsymbol[1].replace(/'/g,"");
 	  //  hiddenInputField.value=_idsymbol[0].replace(/'/g,"");






		// var _idsymbol=twosplit("','",_data);

		_data =_data.replace(/'/g,"");

		var _select=document.getElementById(id_hidden);

		AddOptionUnique(_select,_data)


     // 	inputField.value =_idsymbol[1].replace(/'/g,"");
// 	    hiddenInputField.value=_idsymbol[0].replace(/'/g,"");

	      popup.style.display = 'none';
    	//  inputField.focus();
    }

    function handleOver(e)
    {

       options[current].className = '';
     // current = eventElement(e).index;
     var obj= eventElement(e);
    // alert("value:"+obj.value);
    	if(isIE){
	     	current = getElementsIndex2(obj);
	     }
	     else {
			current = obj.index;
	     }
   //  alert(current);

      options[current].className = 'selected';
    }

    function post()
    {
        current = 0;
        options = popup.getElementsByTagName("li");
        if((options.length > 1)
           || (options.length == 1
               && options[0].innerHTML != inputField.value))
        {
          setPopupStyles();
          for(var i = 0; i < options.length; i++)
          {
            options[i].index = i;
            addOptionHandlers(options[i]);
          }
          options[0].className = 'selected';
        }
        else
        {
          popup.style.display = 'none';
        }
    }

    function setPopupStyles()
    {
      var maxHeight
      if(isIE)
      {
        maxHeight = 200;
        popup.style.left = '0px';
        popup.style.top = (originalPopupTop + inputField.offsetHeight) + 'px';
      }
      else
      {
        maxHeight = window.outerHeight/3;
      }
      if(popup.offsetHeight < maxHeight)
      {
        popup.style.overflow = 'hidden';
      }
      else if(isMoz)
      {
        popup.style.maxHeight = maxHeight + 'px';
        popup.style.overflow = '-moz-scrollbars-vertical';
      }
      else
      {
        popup.style.height = maxHeight + 'px';
        popup.style.overflowY = 'auto';
      }
      popup.scrollTop = 0;
      popup.style.display = 'block';
    }

    function addOptionHandlers(option)
    {
      addListener(option, "click", handleClick);
      addListener(option, "mouseover", handleOver);
    }

    var updater = liveUpdater(constructUri, post);
    var timeout = false;

    function start(e) {
      if (timeout)
        window.clearTimeout(timeout);
      //up arrow
      if(e.keyCode == 38)
      {
        if(current > 0)
        {
          options[current].className = '';
          current--;
          options[current].className = 'selected';
          options[current].scrollIntoView(false);
        }
      }
      //down arrow
      else if(e.keyCode == 40)
      {
        if(current < options.length - 1)
        {
          options[current].className = '';
          current++;
          options[current].className = 'selected';
          options[current].scrollIntoView(false);
        }
      }
      //enter or tab
      else if((e.keyCode == 13 || e.keyCode == 9) && popup.style.display == 'block')
      {
      var _data=options[current].innerHTML.replace("<a href=\"javascript:void setDataEmail('","");
		_data=_data.replace();
		var _pos=_data.indexOf(")");
		 _data=_data.substring(0,_pos).replace(/'/g,"");
		inputField.value =_data.replace(/'/g,"");
		var _data=document.getElementById(id_hidden).innerHTML;
		document.getElementById(id_hidden).innerHTML=_html;
		AddOptionUnique(_select,_data)



// 	    hiddenInputField.value=_data;

      	//inputField.value = options[current].innerHTML;
      //	inputField.value =_data;
        popup.style.display = 'none';
        inputField.focus();
        if(isIE)
        {
          event.returnValue = false;
        }
        else
        {
          e.preventDefault();
        }
      }
      else
      {
        timeout = window.setTimeout(updater, 300);
      }
    }
  addKeyListener(inputField, start);
  addListener(popup, 'mouseover', handlePopupOver);
  addListener(popup, 'mouseout', handlePopupOut);
}
function AddOptionUnique(name,option_value){
  var count=name.options.length;
      var found=false;
var option_val_list=ndelimetersplit("<br>",option_value);
for(var j=0;j<option_val_list.length;j++){
		found=false;
	    for(var i=0;i<count;i++){


	      	if(name.options[i].value == option_val_list[j]){

	      	  found=true;
	      	}
	    }
	    if(!found){

	         var newopt=new Option();
	    	  newopt.text=option_val_list[j];
    			newopt.value=option_val_list[j];
	   		 name.options[count]=newopt;
	   		 count++;


	    }
    }

}
function ndelimetersplit(del, str)
    {
    var ind=0;
    var lastInd=0;
    var count=0;
    var word;
    var del_len=del.length;
    var array = new Object();

    array.length = 0;
    while( ind< str.length )
        {
        ind = str.indexOf( del, lastInd );
        if (ind == -1 )
            ind = str.length;
        array[count++] = str.substring(lastInd,ind);
        array.length++;
        lastInd = ind+del_len;
        }
    return array;
 }


function getElementsIndex (srcElm)
{
//alert(srcElm.tagName);
//alert(srcElm.getAttribute("href"));
if(srcElm.tagName == "A"){
 	var _node=document.getElementById("autocomplete-entity");

		var child=_node.childNodes;
		var i=0;
		var listitems= _node.getElementsByTagName("li");
		//alert(listitems[0]);
		//alert("hi");
		while(i<listitems.length){
		 if (getText(listitems[i]) == (srcElm.getAttribute("href"))){
			    return i;
			}
			i++;
		}
	}
	else{
		var _node=document.getElementById("autocomplete-entity");

		var child=_node.childNodes;
		var i=0;
		var listitems= _node.getElementsByTagName("li");
		//alert(listitems[0]);
		//alert("hi");
		while(i<listitems.length){
		 if (getText(listitems[i]) == getText(srcElm)){
			    return i;
			}
			i++;
		}
	}
}

function getElementsIndex2(srcElm)
{
//alert(srcElm.getAttribute("href"));

 	var _node=document.getElementById("autocomplete-entity");

		var child=_node.childNodes;
		var i=0;
		var listitems= _node.getElementsByTagName("li");
		//alert(listitems[0]);
		//alert("hi");
		while(i<listitems.length){
		 if (getText(listitems[i]) == getText(srcElm)){
			    return i;
			}
			i++;
		}
}

function getText(myObject){
		var _node=myObject;
	//	alert(myObject.nodeName+":"+myObject.data);
		var child=_node.childNodes;
	//	alert("hi"+child.length);
	//	alert(child.length+":"+child.nodeName);
		var i=0;
		var text;
		while(i<child.length){
			text = child[i].getAttribute("href");
			i++;
		}
	//	alert(text);
		return text;
	}