﻿// JScript File

var ELCODE;
var hdfActiveTaxLevel;
var hdfActiveTaxSelection;
var SpeciesName;
var SpeciesNameSci;
var G_Rank;
var S_Rank;
var S_Rank_Reasons;
var FederalStatus;
var StateStatus;
var StrategySpecies;
var Threats;
var GeneralDesc;
var ReproductionComments;
var Ecology;
var NonMigrant;
var LocallyMigrant; 
var LongDistMigrant; 
var MobilityMigrationCom;  
var TransientMigrants;  
var Breeds; 
var Winters;   
var Habitat;  
var Food;  
var ImagePathThumb;
var ImagePathFull;
var ImageContextURL;
var isRandom;
var ActiveSpecies = "first";
var ImageCounter = 0;
var SelectedSpecies;


google.load('search','1');

function SetHDFforTaxonomy(TaxLevel, TaxSelection)
{
    hdfActiveTaxLevel.value = TaxLevel;
    hdfActiveTaxSelection.value = TaxSelection;
    GetTaxonomy();
}

function GetTaxonomy()
{
    hdfActiveTaxLevel = $get('hdfTaxLvl');
    hdfActiveTaxSelection = $get('hdfTaxSelected');    
    var ParamTaxLevel = {"TaxLevel": hdfActiveTaxLevel.value};
    var ParamTaxSelected = {"TaxSelected": hdfActiveTaxSelection.value};             
    WebServices.SpeciesWebService.GetTaxonomy(ParamTaxLevel.TaxLevel, ParamTaxSelected.TaxSelected, onSucceededTax, OnFailedTax);    
}


function onSucceededTax(result)
{
    var species = result.getElementsByTagName("SNAME");
    var family = result.getElementsByTagName("FAMILY");
    var order = result.getElementsByTagName("TAXORDER");
    var Taxclass = result.getElementsByTagName("TAXCLASS");
    var sText = '<table><tr><td><span class="spanCommonName">Kingdom: Animals </span><span class="spanSciName">-Animalia</span></td></tr>';
    sText += '<tr class="trHover" onclick="SetHDFforTaxonomy(\'class\',\'blank\')"><td class="tdPhylum"><a class="SpeciesHover" href="javascript:void(0)"><table width=300px><tr><td><span class="spanCommonName">Phylum: Vertebrates</span><span class="spanSciName"> -Craniata</span></a></td></tr></table></td></tr>';
    //Process Class
    if (Taxclass.length > 1)
    {
        sText += '<tr><td class="tdClassHeadingSelected">Class</td></tr>';
        for (var i = 0; i < Taxclass.length; i ++)
            {
                var TaxClassArray = Taxclass[i].text.split(/\;/);
                var SciName = TaxClassArray[0];
                var CommonName = TaxClassArray[1];
                var Description = TaxClassArray[2];
                var Icon = TaxClassArray[3];
                sText += '<tr class="trHover" onclick="SetHDFforTaxonomy(\'order\',\''+SciName+'\')"><td class="tdClass"><a class="SpeciesHover" href="javascript:void(0)"><table width=300px><tr><td><span class="spanCommonName">'+CommonName+'</span><span class="spanSciName">'+SciName+'</span><span class="spanDesc">'+Description+'</span></td><td class="tdIcon" align="right"><img src="img/icons/'+Icon+'"/></td></tr></table></a></td></tr>';
            }
    }
    else
    {
        var TaxClassArray = Taxclass[0].text.split(/\;/);
        var SciName = TaxClassArray[0];
        var CommonName = TaxClassArray[1];
        if (order.length > 1)
        {        
        sText += '<tr class="trHover"><td class="tdClassHeading"><a class="SpeciesHover" href="javascript:void(0)"><table width=300px><tr><td><span class="spanCommonName">Class: '+CommonName+'</span><span class="spanSciName"><em> -'+SciName+'</em></span></td></tr></table></a></td></tr>';
        }
        else
        {
        sText += '<tr class="trHover" onclick="SetHDFforTaxonomy(\'order\',\''+SciName+'\')"><td class="tdClassHeading"><a class="SpeciesHover" href="javascript:void(0)"><table width=300px><tr><td><span class="spanCommonName">Class: <a  onclick="SetHDFforTaxonomy(\'order\',\''+SciName+'\')">'+CommonName+'</a></span><span class="spanSciName"><em> -'+SciName+'</em></span></td></tr></table></a></td></tr>';
        }
    }
    //Process Order
     if (order.length > 1)
    {
        sText += '<tr><td class="tdOrderHeadingSelected">Order</td></tr>';
        for (var i = 0; i < order.length; i ++)
            {
                var TaxOrderArray = order[i].text.split(/\;/);
                var SciName = TaxOrderArray[0];
                var CommonName = TaxOrderArray[1];
                var Description = TaxOrderArray[2];
                var Icon = TaxOrderArray[3];       
                
                
                sText += '<tr class="trHover" onclick="SetHDFforTaxonomy(\'family\',\''+SciName+'\')"><td class="tdOrder"><a class="SpeciesHover" href="javascript:void(0)"><table width=330px><tr><td><span class="spanCommonName">'+CommonName+'</span><span class="spanSciName">'+SciName+'</span><span class="spanDesc">'+Description+'</span></td><td class="tdIcon" align="right"><img src="img/icons/'+Icon+'"/></td></tr></table></a></td></tr>';         
            }
    }
    else if (order.length != 0)
    {
        var TaxOrderArray = order[0].text.split(/\;/);
        var SciName = TaxOrderArray[0];
        var CommonName = TaxOrderArray[1];
        if (family.length == 1)
        {
        sText += '<tr class="trHover" onclick="SetHDFforTaxonomy(\'family\',\''+SciName+'\')"><td class="tdOrderHeading"><a class="SpeciesHover" href="javascript:void(0)"><table width=300px><tr><td><span class="spanCommonName">Order: '+CommonName+'</span><span class="spanSciName"><em> -'+SciName+'</em></span></td></tr></table></a></td></tr>';
        }
        else
        {
        sText += '<tr class="trHover"><td class="tdOrderHeading"><a class="SpeciesHover" href="javascript:void(0)"><table width=300px><tr><td><span class="spanCommonName">Order: '+CommonName+'</span><span class="spanSciName"><em> -'+SciName+'</em></span></td></tr></table></a></td></tr>';
        }
    }
    
    //Process Family
     if (family.length >= 1 && species.length == 0)
    {
        sText += '<tr><td class="tdFamilyHeadingSelected">Family</td></tr>';
        for (var i = 0; i < family.length; i ++)
            {
                var TaxFamilyArray = family[i].text.split(/\;/);
                var SciName = TaxFamilyArray[0];
                var CommonName = TaxFamilyArray[1];
                var Description = TaxFamilyArray[2];
                var Icon = TaxFamilyArray[3];                   
                  
                sText += '<tr class="trHover" onclick="SetHDFforTaxonomy(\'species\',\''+SciName+'\')"><td class="tdFamily"><a class="SpeciesHover" href="javascript:void(0)"><table width=300px><tr><td><span class="spanCommonName">'+CommonName+'</span><span class="spanSciName">-'+SciName+'</span><span class="spanDesc">'+Description+'</span></td><td class="tdIcon" align="right"><img src="img/icons/'+Icon+'"/></td></tr></table></a></td></tr>';
                
            }
    }
    else if (family.length != 0)
    {
        var TaxFamilyArray = family[0].text.split(/\;/);
        var SciName = TaxFamilyArray[0];
        var CommonName = TaxFamilyArray[1];        
        sText += '<tr><td class="tdFamilyHeading"><a class="SpeciesHover" href="javascript:void(0)"><table width=300px><tr><td><span class="spanCommonName">Family: '+CommonName+'</span><span class="spanSciName"><em> -'+SciName+'</em></span></td></tr></table></a></td></tr>';        
    }
     //Process Species
     if (species.length != 0)
    {
        sText += '<tr><td class="tdSpeciesHeadingSelected">Species</td></tr>';
        for (var i = 0; i < species.length; i ++)
            {
                var TaxSpeciesArray = species[i].text.split(/\;/);
                var SciName = TaxSpeciesArray[0];
                var CommonName = TaxSpeciesArray[1];
                var SciNameShort = SciName.replace(/\ /,'');
                var backgroundColor = "";
                if ((i == 0 && isQuery == false) || (isQuery == true && SciName == QuerySciName))
                //if (i == 0)
                {
                    backgroundColor = "#D9C3C3";
                    SelectedSpecies = 'div'+SciNameShort;
                    getSpeciesContent(SciName);                   
                }         
                
                sText += '<tr><td class="tdSpecies" colspan=2><a class="SpeciesHover" href="javascript:void(0)"><table width=300px><tr><td><div id="div'+SciNameShort+'" class="divSpeciesNav" style="background-color:'+backgroundColor+'" onclick="getSpeciesContent(\''+SciName+'\');toggleSelectedSpecies(\''+SciNameShort+'\'); toggleTabs(\'species\');"><table><tr><td><span class="spanCommonName">'+CommonName+'</span></td></tr><tr><td><span class="spanSciName">'+SciName+'</span></a></td></tr></table></div></td></tr></table></td></tr>';                
            }
             isQuery = false;
    }
    sText += '</table>';
    
    var divTaxonomy = $get('divTaxonomy');
    divTaxonomy.innerHTML = sText;
}

function SetSpeciesQuery(SciName)
{
    isQuery = true;
    QuerySciName= SciName;    
    //GetTaxonomy();
    toggleTabs('species');
}


function OnFailedTax(result)
{
}

function getSpeciesContent(species)
{    
    var ParamSpecies = {"Species": species};        
    WebServices.SpeciesWebService.GetSpeciesContent(ParamSpecies.Species, onSucceededSpeciesContent, OnFailedSpeciesContent);     
}

function toggleSelectedSpecies(species)
{   
    NewActiveSpecies = 'div'+species;        
    if (SelectedSpecies != NewActiveSpecies && SelectedSpecies != undefined)
        {            
            //Deselect old selection;
            SelectedSpecies = $get(SelectedSpecies);
            var OldSelectedSpecies = SelectedSpecies;
            if (OldSelectedSpecies != null)
            {
            OldSelectedSpecies.style.backgroundColor = "";
            }
        }        
            NewActiveSpecies = $get(NewActiveSpecies);
            SelectedSpecies = NewActiveSpecies;                   
            NewActiveSpecies.style.backgroundColor = '#D9C3C3';     
            SelectedSpecies = 'div'+species;         
}

function onSucceededSpeciesContent(result)
{
   ELCODE = result.getElementsByTagName("ELCODE_BCD")[0].text;
   SpeciesName = result.getElementsByTagName("S_PRIMARY_COMMON_NAME")[0].text;
   SpeciesNameSci = result.getElementsByTagName("SNAME")[0].text;    
   G_Rank = result.getElementsByTagName("G_RANK")[0].text;
   S_Rank = result.getElementsByTagName("S_RANK")[0].text;
   S_Rank_Reasons = result.getElementsByTagName("S_RANK_REASONS")[0].text;
   FederalStatus = result.getElementsByTagName("FederalStatusDescription")[0].text;
   StateStatus = result.getElementsByTagName("StateStatusDescription")[0].text;
   StrategySpecies = result.getElementsByTagName("STRATEGY_SPECIES")[0].text;
   Threats = result.getElementsByTagName("S_THREAT_COM")[0].text;    
   GeneralDesc = result.getElementsByTagName("S_ID_COM")[0].text;   
   ReproductionComments = result.getElementsByTagName("S_REPRODUCTION_COM")[0].text;
   Ecology = result.getElementsByTagName("S_ECOLOGY_COM")[0].text;
   NonMigrant = result.getElementsByTagName("S_NON_MIGRANT_IND")[0].text;  
   LocallyMigrant = result.getElementsByTagName("S_LOCAL_MIGRANT_IND")[0].text;  
   LongDistMigrant = result.getElementsByTagName("S_DISTANT_MIGRANT_IND")[0].text;  
   MobilityMigrationCom = result.getElementsByTagName("S_MIGRATION_MOBILITY_COM")[0].text;  
   TransientMigrants = result.getElementsByTagName("SMIGTRANS_BCD")[0].text;  
   Breeds = result.getElementsByTagName("SBREED_BCD")[0].text;  
   Winters = result.getElementsByTagName("SWINTER_BCD")[0].text;   
   Habitat = result.getElementsByTagName("S_HABITAT_COM")[0].text;   
   Food = result.getElementsByTagName("S_FOOD_HABITS_COM")[0].text;        
   
   loadSpeciesContent(); 
   //toggleSelectedSpecies(SpeciesNameSci);   
           
}

function OnFailedSpeciesContent(result)
{
}
function loadSpeciesContent()
{    
    getGoogleImage(SpeciesNameSci, 'random');    
}

 
function populateContent()
{
    var divSpeciesContent = $get('divSpeciesContent');
    var htmlText = '<table width=600px><tr><td colspan=2><span class="tdSpeciesName">'+SpeciesName+'- <span><span class="tdSpeciesNameSci"> '+SpeciesNameSci+'</span></td></tr>';    
    //Commented section below has link to google image source -- turned off by request 2/6/08
    //htmlText += '<tr><td width=200px><a href="'+ImageContextURL+'" target=blank><img src="'+ImagePathFull+'"/ width=200px onerror="getGoogleImage(\''+SpeciesNameSci+'\',\'nonrandom\');"></a>';
    htmlText += '<tr><td width=200px><img src="'+ImagePathFull+'"/ width=200px onerror="getGoogleImage(\''+SpeciesNameSci+'\',\'nonrandom\');">';
//    htmlText += '<tr><td width=200px><a href="'+ImageContextURL+'" target=blank><img src="'+ImagePathThumb+'"/width=200px></a>';
    htmlText += '</ br><a style="font-size: 10px; color:#3B7EC2;" class=aLink onclick="getGoogleImage(\''+SpeciesNameSci+'\',\'nonrandom\');"> \>\>  See next image</a>';
    htmlText += '<span class=PoweredByGoogle><a href="http://images.google.com/images?q='+SpeciesNameSci+'" target=\'blank\'><img class="google" src="http://www.google.com/uds/css/small-logo.png"/></a></span></td>';
    htmlText += '<td class="tdStatus"><div><table><tr><td style="font-size: 11px; font-weight: bold">Status</td></tr>';
    if (FederalStatus != "")
    {
    htmlText += '<tr><td class="tdStatusTd"><b>Federal:</b> '+FederalStatus+'</td></tr>';
    }
    if (StateStatus != "")
    {
    htmlText += '<tr><td class="tdStatusTd"><b>ODFW:</b> '+StateStatus+'</td></tr>';
    }
    if (StrategySpecies == "Y")
    {
     htmlText += '<tr><td class="tdStatusTd"><b>ODFW Strategy Species</b></td></tr>';
    }
    if (G_Rank != "")
    {
    htmlText += '<tr><td class="tdStatusTd"><b>NatureServe Global Status:</b><a href="http://www.natureserve.org/explorer/ranking.htm" target="_blank" style="color:#3B7EC2; text-decoration:none;"> '+G_Rank+'</a></td></tr>';
    }
    if (S_Rank != "")
    {
    htmlText += '<tr><td class="tdStatusTd"><b><a href="http://oregonstate.edu/ornhic/" target="_blank" style="color:#3B7EC2; text-decoration:none;">ORNHIC</a> State Status: </b>'+S_Rank+' Reason: '+S_Rank_Reasons+'</td></tr>';
    }    
    htmlText += '<tr><td><a href="http://www.natureserve.org/explorer/servlet/NatureServe?searchName='+SpeciesNameSci+'" target="_blank" style="color:#3B7EC2; text-decoration:none;"><img src="img/NatureServeLogo.gif"/></a></td></tr>';
    htmlText += '</table></div></td></tr>';
    htmlText += '<tr><td colspan=2 style="border-bottom:solid 1px #a7a7a7">&nbsp;</td></tr>';
    //Lower Panel
    htmlText += '<tr><td colspan=2><div><table><tr><td style="border-right:solid 1px #a7a7a7;" vAlign=top><div><table width=350px>';
    if (GeneralDesc != "")
    {
    htmlText += '<tr><td class="tdDescriptionTd"><b>General Description: </b>'+GeneralDesc+'</td></tr>';
    }
    if (Habitat != "")
    {
    htmlText += '<tr><td class="tdDescriptionTd"><b>Habitat: </b>'+Habitat+'</td></tr>';
    }
    if (Food != "")
    {
    htmlText += '<tr><td class="tdDescriptionTd"><b>Food: </b>'+Food+'</td></tr>';
    }
    if (Ecology != "")
    {
    htmlText += '<tr><td class="tdDescriptionTd"><b>Ecology: </b>'+Ecology+'</td></tr>';
    }
    if (Breeds != "")
    {
    htmlText += '<tr><td class="tdDescriptionTd"><b>Breeds in Oregon: </b>'+Breeds+'</td></tr>';
    }
    if (Winters != "")
    {
    htmlText += '<tr><td class="tdDescriptionTd"><b>Winters in Oregon: </b>'+Winters+'</td></tr>';
    }
    if (ReproductionComments != "")
    {
    htmlText += '<tr><td class="tdDescriptionTd"><b>Reproduction: </b>'+ReproductionComments+'</td></tr>';
    }    
    if (Threats != "")
    {
    htmlText += '<tr><td class="tdDescriptionTd"><b>Threats: </b>'+Threats+'</td></tr>';
    }    
    if (MobilityMigrationCom != "")
    {
    htmlText += '<tr><td class="tdDescriptionTd"><b>Migration Comments: </b>'+MobilityMigrationCom+'</td></tr>';
    }
    if (LocallyMigrant != "")
    {
    htmlText += '<tr><td class="tdDescriptionTd"><b>Locally Migrant: </b>'+LocallyMigrant+'</td></tr>';
    }
    if (LongDistMigrant != "")
    {
    htmlText += '<tr><td class="tdDescriptionTd"><b>Long Distance Migrant: </b>'+LongDistMigrant+'</td></tr>';
    }
    if (TransientMigrants != "")
    {
    htmlText += '<tr><td class="tdDescriptionTd"><b>Transient Migrant: </b>'+TransientMigrants+'</td></tr>';
    }
    if (NonMigrant != "")
    {
    htmlText += '<tr><td class="tdDescriptionTd"><b>Non-Migrant: </b>'+NonMigrant+'</td></tr>';
    }    
    htmlText += '</table></div></td>';
    htmlText += '<td valign="top" align="center"><a href="http://www.oregonexplorer.info/Wildlife/ExternalContent/SpeciesDistributionMaps/'+ELCODE+'.jpg" target="_blank" style="color:#3B7EC2; text-decoration:none";><span style="display:block"><b>Habitat Map</b></span><span><img width="250px" src="img/maps/thumbnails/'+ELCODE+'.jpg"/></span></a><a href="http://www.oregonexplorer.info/Wildlife/ExternalContent/SpeciesDistributionMaps_Historic/'+ELCODE+'.jpg" target="_blank" style="color:#3B7EC2; text-decoration:none";><span style="display:block"><b>Historic Habitat Map</b></span><span><img width="250px" src="img/maps/thumbnails_historic/'+ELCODE+'.jpg"/></span></a></td></tr></table></div></td></tr></table>';
    divSpeciesContent.innerHTML = htmlText;
    divSpeciesContent.style.display = 'block';
}

function toggleWatershedCheckBoxes(cbNumber)
{
    var cb6 = $get('cb6th');
    var cb5 = $get('cb5th');
    var cb4 = $get('cb4th');
    var div6 = $get('divDDL6thWatershed');
    var div5 = $get('divDDL5thWatershed');
    var div4 = $get('divDDL4thWatershed');
    var divWatershedLabel = $get('divWatershedlabel');
    switch (cbNumber)
    {
    case '6':
    divWatershedLabel.innerHTML = 'Watersheds (6th)';
    div6.style.display = "block";
    div5.style.display = "none";
    div4.style.display = "none";
    cb6.checked = true;
    cb5.checked = false;
    cb4.checked = false;
    break;
    case '5':
    divWatershedLabel.innerHTML = 'Watersheds (5th)';
    div6.style.display = "none";
    div5.style.display = "block";
    div4.style.display = "none";
    cb6.checked = false;
    cb5.checked = true;
    cb4.checked = false;
    break;
    case '4':
    divWatershedLabel.innerHTML = 'Watersheds (4th)';
    div6.style.display = "none";
    div5.style.display = "none";
    div4.style.display = "block";
    cb6.checked = false;
    cb5.checked = false;
    cb4.checked = true;
    break;
    default:
    break;
    }    
}

function getSpeciesListbyPlace(geotype)
{
    var place = "";
    switch(geotype)
    {
        case "Counties":
        place = $get('ddlCounties').value;
        $get('ddlEcoregions').selectedIndex = '0';
        $get('ddlBasins').selectedIndex = '0';
        $get('ddlWatersheds6th').selectedIndex = '0';
        $get('ddlWatersheds5th').selectedIndex = '0'; 
        $get('ddlWatersheds4th').selectedIndex = '0'; 
        break;
        case "Ecoregions":
        place = $get('ddlEcoregions').value;
        $get('ddlCounties').selectedIndex = '0';
        $get('ddlBasins').selectedIndex = '0';
        $get('ddlWatersheds6th').selectedIndex = '0';
        $get('ddlWatersheds5th').selectedIndex = '0'; 
        $get('ddlWatersheds4th').selectedIndex = '0'; 
        break;
        case "Basins":
        place = $get('ddlBasins').value;
        $get('ddlCounties').selectedIndex = '0';
        $get('ddlEcoregions').selectedIndex = '0';        
        $get('ddlWatersheds6th').selectedIndex = '0';
        $get('ddlWatersheds5th').selectedIndex = '0'; 
        $get('ddlWatersheds4th').selectedIndex = '0'; 
        break;
        case "Watersheds6th":
        place = $get('ddlWatersheds6th').value+'%';   
        $get('ddlWatersheds5th').selectedIndex = '0'; 
        $get('ddlWatersheds4th').selectedIndex = '0';      
        $get('ddlCounties').selectedIndex = '0';
        $get('ddlEcoregions').selectedIndex = '0';    
        $get('ddlBasins').selectedIndex = '0'; 
        break;
        case "Watersheds5th":
        place = $get('ddlWatersheds5th').value+'%'; 
        $get('ddlWatersheds4th').selectedIndex = '0'; 
        $get('ddlWatersheds6th').selectedIndex = '0';        
        $get('ddlCounties').selectedIndex = '0';
        $get('ddlEcoregions').selectedIndex = '0';    
        $get('ddlBasins').selectedIndex = '0'; 
        break;
        case "Watersheds4th":
        place = $get('ddlWatersheds4th').value+'%';  
        $get('ddlWatersheds5th').selectedIndex = '0'; 
        $get('ddlWatersheds6th').selectedIndex = '0';       
        $get('ddlCounties').selectedIndex = '0';
        $get('ddlEcoregions').selectedIndex = '0';    
        $get('ddlBasins').selectedIndex = '0';        
        break;
        default:
        break;
    }
    getSpeciesList(place,geotype);
}

function getSpeciesList(Place, geotype)
{
    $get('SpeciesListByPlace').innerHTML = '<table width=300px style="margin-left:auto; margin-right:auto; font-size:14px;"><tr><td style="padding-right:10px;"><img src="img/indicator_mozilla_blu.gif"/></td><td><b>Loading species list...</b></td></tr></table>';
    if (isMapLoaded)
    {
    map.HideInfoBox();
    }
    var ParamPlace = {"Place": Place};
    var ParamGeoType = {"GeoType": geotype};           
    WebServices.SpeciesWebService.GetSpeciesList(ParamPlace.Place, ParamGeoType.GeoType, onSucceededPlace, OnFailedPlace);  
}

function onSucceededPlace(result)
{
     var TaxCLASSES = result.getElementsByTagName("TAXCLASS");
     var Place = result.getElementsByTagName("Place")[0].text.replace(/\%/,"");     
     var GeoType = result.getElementsByTagName("GeoType")[0].text;
     var searchPlace = result.getElementsByTagName("SearchPlace")[0].text;
     var sText = '<table width=1000px style="margin-left:auto; margin-right:auto; border-right:solid 1px #a7a7a7; border-left:solid 1px #a7a7a7;">';
     sText += '<tr><td align=right colspan=4 style="padding-right:20px;"><span style="margin-top:-20px"><span style="display:block; text-align:center; width:100px; padding-bottom:3px"><img src="img/download.gif"/></span><span style="display:block"><a class="aDownload" href="DownloadSpeciesList.aspx?Place='+searchPlace+'&GeoType='+GeoType+'&DataType=csv" target=_blank>.csv</a><a class="aDownload" href="DownloadSpeciesList.aspx?Place='+searchPlace+'&GeoType='+GeoType+'&DataType=xml" target=_blank>.xml</a><a class="aDownload" href="DownloadSpeciesList.aspx?Place='+searchPlace+'&GeoType='+GeoType+'&DataType=xls" target=_blank>.xls</a><a class="aDownload" href="DownloadSpeciesList.aspx?Place='+searchPlace+'&GeoType='+GeoType+'&DataType=txt" target=_blank>.txt</a></span></span></td></tr>';
     sText += '<tr><td colspan =4 align=center class="tdSLPlaceHeading">Wildlife list for '+ Place+'</td></tr><tr>';
     for (var i = 0; i < TaxCLASSES.length; i++)
     {  
        var Class = TaxCLASSES[i];        
        var ClassHeading = Class.attributes[0].value;
        sText += '<td valign="top" width=249 style="padding-left:20px;"><span class="spanSLClassHeading">'+ClassHeading+'</span><div><table>'
        for (var j = 0; j < Class.childNodes.length; j++)
        {
            var Species = Class.childNodes[j].text;
            var SpeciesArray = Species.split(/\;/);            
            var CommonName = SpeciesArray[0].replace(/\'/,"");
            var SciName = SpeciesArray[1];
            var Family = SpeciesArray[2];
           // sText += '<tr><td class="tdSpeciesList"><div class="SpeciesListSpeciesDiv" onclick="isQuery=true; QuerySciName ='+SciName+';getSpeciesContent(\''+SciName+'\');toggleTabs(\'species\');SetHDFforTaxonomy(\'species\',\''+Family+'\');"><table><tr><td><a class="aLink" onclick="getSpeciesContent(\''+SciName+'\');toggleTabs(\'species\');SetHDFforTaxonomy(\'species\',\''+Family+'\');"><span class="spanCommonName">'+CommonName+'</span></td></tr><tr><td><span class="spanSciNameSL">'+SciName+'</span></a></td></tr></table></div></td></tr>';
            sText += '<tr><td class="tdSpeciesList"><div class="SpeciesListSpeciesDiv" onclick="SetforQuery(\''+SciName+'\');toggleTabs(\'species\');SetHDFforTaxonomy(\'species\',\''+Family+'\');"><table><tr><td><a class="aLink" onclick="SetforQuery(\''+SciName+'\');toggleTabs(\'species\');SetHDFforTaxonomy(\'species\',\''+Family+'\');"><span class="spanCommonName">'+CommonName+'</span></td></tr><tr><td><span class="spanSciNameSL">'+SciName+'</span></a></td></tr></table></div></td></tr>';
        }
        sText += '</table></div></td>';              
     }
     sText += '</tr></table>';
     var divSpeciesListParent = $get('DivSpeciesListParent');
     var divSpeciesList = $get('SpeciesListByPlace');
     divSpeciesList.innerHTML = sText;
     divSpeciesListParent.style.display = 'block';
}

function SetforQuery(SciNameforQuery)
{
 isQuery = true;
 QuerySciName = SciNameforQuery;
}

function OnFailedPlace(result)
{
}


function getGoogleImage(queryString, random){
 isRandom = random;
 var g=google.search;
 //g.getBranding($get("branding"));
 var s=new g.ImageSearch;
 s.setResultSetSize(g.Search.LARGE_RESULTSET);
 s.setSearchCompleteCallback(s,parseResults,[]);
 s.execute(queryString);
}

function parseResults(){
 var imageResults=this.results; 
 if (isRandom == "random")
 {
 ImageCounter=Math.floor(Math.random()*8);
 }
 else
 {
 if (ActiveSpecies != SpeciesNameSci || ImageCounter == 7)
 { 
 ImageCounter = 0;
 }
 else
 {
 ImageCounter++; 
 }
 ActiveSpecies = SpeciesNameSci;
 }
 ImagePathThumb = imageResults[ImageCounter].tbUrl;
 ImagePathFull = imageResults[ImageCounter].unescapedUrl;
 ImageContextURL = imageResults[ImageCounter].originalContextUrl;
 populateContent();
}