  function SetLookUpResultOld()
            {
                var dropDown = document.getElementById('SelectOptions');
                
                var textBox = document.getElementById('Search');
                
                textBox.value = dropDown.options[dropDown.selectedIndex].text;
                
                var itemGuid = dropDown.options[dropDown.selectedIndex].value;
                
                dropDown.options.length = 0;
                
                dropDown.style.display = "none";
                
                dropDown.style.visibility = "hidden";
                
                dropDown.style.zIndex = -10;
                
                //highlight the item selected, this method is implemented by different type of input control
                var nodePathList = new Array();
                
                nodePathList.push(itemGuid);
                
                HighLight(nodePathList);
            }
            
            function SelectItem()
            {
                var dropDown = document.getElementById('SelectOptions');
                
                var textBox = document.getElementById('Search');
                
                textBox.value = "";
                
                selectionList = new Array();
                
                for(var i=0; i<dropDown.options.length; i++)
                {
                    if ( dropDown.options[i].selected )
                    {
                        selectionList.push(dropDown.options[i].value);
                        //textBox.value += dropDown.options[i].text + ',';
                    }
                }
                
                
                
            }
            
            
            var hide = true;
            
            function setHide(result)
            {
               // alert(result);
                hide = result;
            }
            
            
            
            function hideDropDown()
            {
                //alert('change ' + hide);
                
                
               if ( !hide )
               {
                //alert('not hide');
                 return;
               }
                
                //alert('hide');
                 var dropDown = document.getElementById('SelectOptions');
                
                //var textBox = document.getElementById('Search');
                
                //textBox.value = dropDown.options[dropDown.selectedIndex].text ;
                
                //var itemGuid = dropDown.options[dropDown.selectedIndex].value;
                
               
                dropDown.options.length = 0;
                
                dropDown.style.display = "none";
                
                dropDown.style.visibility = "hidden";
                
                dropDown.style.zIndex = -10;
                //alert('hide');
                
                //hide = false;
            }
            
            
              function SetLookUpResult()
            {
            //alert('update button hit');
            //alert(document.getElementById('SelectOptions'));
                var dropDown = document.getElementById('SelectOptions');
                
                //var textBox = document.getElementById('Search');
                
                //textBox.value = dropDown.options[dropDown.selectedIndex].text ;
                
                //var itemGuid = dropDown.options[dropDown.selectedIndex].value;
                
                dropDown.options.length = 0;
                
                dropDown.style.display = "none";
                
                dropDown.style.visibility = "hidden";
                
                dropDown.style.zIndex = -10;
                
                //alert(selectionList);
                //highlight the item selected, this method is implemented by different type of input control
                var nodePathList = new Array();
                
                //nodePathList.push(itemGuid);
                
                nodePathList = selectionList;
                //alert('before call highlight');
                //alert(document.getElementById("hCurrentInputType").value);
                HighLightAutoZhuang(nodePathList);
            }
            
            
            var selectionList = new Array();
            
            
            
            
            
            function HighLightAutoZhuang(nodeList)
            {
            //alert('highlight being hit');
                var inputType = document.getElementById("hCurrentInputType").value;
                
                //alert(inputType);
                
                 ShowDialog('Updating Count','Please wait whilst your count is updated...');
                if ( inputType == "Treeview")
                {
                                 //AddCriterianWithNoBuild(document.getElementById('hCurrentCountGUID').value, document.getElementById('hCurrentMarketFileID').value, document.getElementById('hCurrentStage').value,document.getElementById('hCurrentCriterian').value, GetCheckedNew(), 'treeview');
                    
                    HighLightTreeViewItem(nodeList);
                }
                
                if ( inputType == "List")
                {
                    HighLightListBoxItem(nodeList);
                    
                        //AddCriterianWithNoBuild(document.getElementById('hCurrentCountGUID').value,document.getElementById('hCurrentMarketFileID').value,document.getElementById('hCurrentStage').value,document.getElementById('hCurrentCriterian').value, _attributes,'list');

                }
                
                //AddCriterian(document.getElementById('hCurrentCountGUID').value, document.getElementById('hCurrentMarketFileID').value, document.getElementById('hCurrentStage').value,document.getElementById('hCurrentCriterian').value, GetCheckedNew(), 'treeview');

                
            }
             //this is real pain
            function HighLightTreeViewItem(nodeList)
            {
                //alert('HighLightTreeViewItem');
                //passTreeNodePathList(nodePathList);
                var selectedNodeList = new Array();
                
                var pathArray = new Array();
                
                              
               
                
                 for(var i=0; i<nodeList.length; i++)
                {
                               
                    pathArray = restorePathArrayFromString(nodeList[i]);
                    selectedNodeList.push(pathArray[pathArray.length-1]);
                }
                
                
                 var checked;
    
                 if ( isNotCheckBox() )
                 {
                    checked = document.getElementById('chkNotCriteria').checked;
                 }
                 else
                 {
                    checked = false;
                 }
                 
                 //alert('before getchecked');
                 var selected = GetChecked();
                 
                 //var selected = new Array();
                 
                 var alreadyIn;
                 
                 //alert('after getchecked ' + selected.length);
                 for(var i=0; i<selected.length;i++)
                 {
                    alreadyIn = false;
                        
                        for(var j=0;j<selectedNodeList.length;j++)
                        {
                            if ( selectedNodeList[j]== selected[i])
                            {
                                alreadyIn = true;
                                
                                break;
                            }
                        }
                        
                        if ( !alreadyIn)
                        {
                            selectedNodeList.push(selected[i]);
                        }
                 }
                                
                                
               //alert('call wsAutoComplete passTreeNodePathList');
                ListbuilderAJAX.WebServices.wsAutoComplete.passTreeNodePathList(document.getElementById('hCurrentCountGUID').value, document.getElementById('hCurrentMarketFileID').value, document.getElementById('hCurrentStage').value,document.getElementById('hCurrentCriterian').value,selectedNodeList,'treeview',checked,OnSucceeded, OnFailed);

                //ListbuilderAJAX.WebServices.wsAutoComplete.passTreeNodePathList(selectedNodeList,OnSucceeded, OnFailed);
            }
            
           
            
            function HighLightListBoxItem(nodeList)
            {
            //alert('HighLightListBoxItem');
                  //loop through to highlight
                   var selectedNodeList = new Array();
                 var lbSelected = document.getElementById('lbList'); 
            
                var pathArray = new Array();
                //alert(nodeList.length);
                
                for(var i=0; i<nodeList.length; i++)
                {
                    pathArray = restorePathArrayFromString(nodeList[i]);
                    
                    //alert(i);
                    
                    //alert(lbSelected.options.length);
                    selectedNodeList.push(pathArray[pathArray.length-1]);

                    
                    //alert(lbSelected.options.length);
                
                    for (var j = 0; j < lbSelected.options.length; j++) 
                    {
                        if(lbSelected.options[j].value == pathArray[pathArray.length-1])
                        {
                            lbSelected.options[j].selected = true;
                            
                            //lbSelected.options[i].style.backgroundColor = 'red';
                            
                            break;
                        }
                    }
                }
                
                 var checked;
    
                 if ( isNotCheckBox() )
                 {
                    checked = document.getElementById('chkNotCriteria').checked;
                 }
                 else
                 {
                    checked = false;
                 }
                 
                 
                 //get selected from front end as well
                 var lbSelected = document.getElementById('lbList'); 
                
                var alreadyIn;
                for (var i = 0; i < lbSelected.options.length; i++) 
                {
                    if(lbSelected.options[i].selected)
                    {   
                        alreadyIn = false;
                        
                        for(var j=0;j<selectedNodeList.length;j++)
                        {
                            if ( selectedNodeList[j]== lbSelected.options[i].value)
                            {
                                alreadyIn = true;
                                
                                break;
                            }
                        }
                        
                        if ( !alreadyIn)
                        {
                            selectedNodeList.push(lbSelected.options[i].value);
                        }
                    }
                }
    
    //alert('call wsAutoComplete add Criteria for list');
    
                ListbuilderAJAX.WebServices.wsAutoComplete.addCriterianForList(document.getElementById('hCurrentCountGUID').value, document.getElementById('hCurrentMarketFileID').value, document.getElementById('hCurrentStage').value,document.getElementById('hCurrentCriterian').value,selectedNodeList,'list',checked,OnSucceeded, OnFailed);

            }
            
            
  
            
            
            function GetLookUp(keyword)
            {
                //alert('on key up');
                if ( keyword == null )
                    return;
                 
                 var inputType = document.getElementById("hCurrentInputType").value;
                    
                    var isListBox;
                    if ( inputType == "List")
                    {
                        isListBox = true;
                    }
                    else 
                    {
                        isListBox = false;
                    }
                        
                    
                if(keyword.length >= 2 )

                {  

                    ListbuilderAJAX.WebServices.wsAutoComplete.GetLookUp(document.getElementById('hCurrentMarketFileID').value, document.getElementById('hCurrentStage').value,document.getElementById('hCurrentCountGUID').value,document.getElementById('hCurrentCriterian').value, keyword, isListBox,OnSucceeded, OnFailed);
                    //ListbuilderAJAX.WebServices.wsAutoComplete.GetLookUp(1, 'MarketData_Company', '0000' ,'sic2', 'hunting', OnSucceeded, OnFailed);
                }

                else

                {

                    document.all.SelectOptions.options.length = 0;
                     var dropDown = document.getElementById('SelectOptions');
                    dropDown.options.length = 0;
                
                dropDown.style.display = "none";
                
                dropDown.style.visibility = "hidden";
                
                dropDown.style.zIndex = -10;
                    

                }

            }

 function showLookupResult(result)
    {
        var dropDown = document.getElementById('SelectOptions');
        
          
        
        if ( result.length > 0 )
        {
            dropDown.style.visibility = "visible";
        
            dropDown.style.display = "block";
            
            dropDown.style.zIndex = 25;
        }
        
        
        
        dropDown.options.length = 0;

                var counter;

 
                //each element of result is TreeNode object
                for(var i=0;i<result.length;i++)

                {

                    counter = dropDown.options.length;

                    dropDown.options[counter] = new Option(result[i].Text, getPathFromArray(result[i].Path));

                }   


    }
    
    function getPathFromArray(treeNodePath)
    {
        var path = "";
        
        for( var i=0; i<treeNodePath.length;i++)
        {
            if ( i < treeNodePath.length - 1 )
            {
                path = path + treeNodePath[i] + ',';
            }
            else
            {
                path = path + treeNodePath[i];
            }
        }
        
        return path;
        
        
    }
    
    function restorePathArrayFromString(path)
    {
        var pathArray = new Array();
        
        pathArray = path.split(',');
        
        return pathArray;
    }
    
    
         
            
            
   
               
               
     function AddCriterianWithNoBuild(_countGuid, _marketFileId, _stage, _criteria, _attributes, inputtype)
    {
         //modified by zhuang, this constraints does not apply to contact tab, since user may just change the mustExist check box

       
        
        if(_countGuid == '' || _marketFileId == '' || _stage == '' || _criteria == '' )
        {
            alert('Please select a criterian to add.')
        }
        else
        {
            //ShowDialog('Updating Count','Please wait whilst your count is updated...');
            alert(_attributes.length);
            if(_attributes.length < 1)
            {
                RemoveCriterian(_countGuid,_marketFileId,_stage,_criteria);
                
                unSaved = false;
            }
            else
            {
                var checked;
    
                 if ( isNotCheckBox() )
                 {
                    checked = document.getElementById('chkNotCriteria').checked;
                 }
                 else
                 {
                    checked = false;
                 }
                ListbuilderAJAX.WebServices.wsCountFunctions.AddCriterianWithNoBuild(_countGuid, _marketFileId, _stage, _criteria, _attributes, inputtype, checked, OnSucceeded, OnFailed);
            }
        }
    }

