//  ================================================================== Presentation Layer
//   Used by Champion Tree search page - called from CTdataEntry.htm
//  ==================================================================

// Handles the div containers and input form boxes

function hideOtherDivs(searchType) {
    //For current searchType, hide all other DIV's  --  works well!
    //Called by onClick of Genus, CN, and Cty
    if (searchType != 'Genus')   { document.getElementById('search_suggest_Genus').style.visibility = 'hidden'  }
    if (searchType != 'Species') { document.getElementById('search_suggest_Species').style.visibility = 'hidden'  }
    if (searchType != 'CN')      { document.getElementById('search_suggest_CN').style.visibility = 'hidden'  }
    if (searchType != 'Cty')     { document.getElementById('search_suggest_Cty').style.visibility = 'hidden'  }
   
    //If user clicks on Genus, we must clear the Species box 
    if (searchType == 'Genus')   { document.getElementById('txtSpecies').value = ''  }

    //While we're here, select the radio button for this box
    if (searchType == 'Genus')   { document.forms['form1'].radSrchType[0].checked = true  }
    if (searchType == 'Species') { document.forms['form1'].radSrchType[0].checked = true  }
    if (searchType == 'CN')      { document.forms['form1'].radSrchType[1].checked = true  }
    if (searchType == 'Cty')     { document.forms['form1'].radSrchType[2].checked = true  }
}  
/*
function hideAllDivs() {
    //When user clicks in <body> hide all DIV's
    // www.thescripts.com/forum/thread161273.html
    obj=(window.external) ? event.srcElement : ev.target;
    // IE is the only browser with window.external
    alert("event.type=" + obj.type);
    
    //alert(obj.nodeName)

    //alert("this.value=" + this.value);
    //alert("event.srcElement=" + event.srcElement);
    //alert("event.srcElement.id=" + obj.srcElement.id);
    alert("event.srcElement.id=" + event.srcElement.id);    //works for IE
    
    document.getElementById('search_suggest_Cty').style.visibility = 'hidden'
    document.getElementById('search_suggest_CN').style.visibility = 'hidden'
    document.getElementById('search_suggest_Genus').style.visibility = 'hidden'
    document.getElementById('search_suggest_Species').style.visibility = 'hidden'
} */

function handleSpeciesBox(evt) { //alert('in handleSpeciesBox()');
    //For Firefox - Pass in event object 'evt' from html form, then pass it on to searchSuggest() below !
    
    if (document.getElementById('txtGenus').value == '') { 
        alert('Please enter the Genus first') ;
        document.getElementById('txtGenus').focus()
        }
    else  {
        hideOtherDivs('Species');
      //searchSuggest(event, 'Species')
        controlId='Species';
      //searchSuggest()
      //searchSuggest(event)
        if (browserIsIE) { 
            searchSuggest(event, 'Species') }
        else { // Mozilla / Firefox
            //alert('hi');  
            //function(event) { searchSuggest(event) };
            //searchSuggest(event)
            //searchSuggest(evt)
            searchSuggest(evt, 'Species')
         }
        //element.onclick = function(event) { doSomething(event); }
        //http://forums.whirlpool.net.au/forum-replies-archive.cfm/573157.html
        }
}

function grabInputBoxes() {
    //This function reads all values entered into the form boxes and puts them into variables
    var searchItem1 = "";
    var searchItem2 = "";
    var searchType = "";

    //with (document.forms[0]) {   NNOOO !!
    with (document.forms['form1']) {  
        for (var i=0; i<radSrchType.length; i++)  {
            if (radSrchType[i].checked)  {
                searchType = radSrchType[i].value;
              //var searchValue = document.forms[0].txtInput
                var searchIndex = i;
                } 
            }
        switch(searchIndex)
            {
            case 0: 
              //ALLOW USER TO ENTER IN EXTRA SPACES + + +
              //REMOVE SPACES -- g means global !
              searchItem1 = txtGenus.value.replace(/ /g, "");
              searchItem2 = txtSpecies.value.replace(/ /g, ""); break
            case 1: 
              searchItem1 = txtCN.value.trim();  break
            case 2:
              //searchItem1 = document.forms[0].txtCity.value;  break       NNNOOOOOO
              //searchItem1 = document.forms[0].elements['txtCity'].value;  break
              //searchItem1 = document.forms['test'].elements['txtCity'].value;  break
              //searchItem1 = elements['txtCty'].value.replace(/ /g, "");  break	BREAKS Fond du Lac, Eau Claire, etc
              searchItem1 = elements['txtCty'].value.trim();  break
            case 3:
              //For displaying all records no search item needed
        }
    } // end with
    //alert("searchType = " + searchType + "searchItem1 = " + searchItem1 + "   searchItem2 = " + searchItem2);
    params = new Array(searchType, searchItem1, searchItem2)
    return params
}

//Trim spaces off of input box contents -- www.delphifaq.com/faq/f1031.shtml
String.prototype.trim = function () { 
    return this.replace(/^\s*/, "").replace(/\s*$/, "")        //THIS ONE WORKS ! and well  -- no, removes inner spaces too
}