﻿/*
preferences.js controls the capture and request of catalog search preferences
*/

//Search Preferences Class
function Preferences() {

    this.Init = function() {
        $("uxPreferencesResolutionChoice_All").style.visibility = "";
        $("uxPreferencesResolutionChoice_All").style.display = "";
        $("uxPreferencesResolutionChoice_Half").style.visibility = "hidden";
        $("uxPreferencesResolutionChoice_Half").style.display = "none";
        $("uxPreferencesResolutionChoice_One").style.visibility = "hidden";
        $("uxPreferencesResolutionChoice_One").style.display = "none";
        $("uxSourceAll").disabled = "";
        $("uxSourceAll").checked = "checked";
        $("uxSourceGE1").disabled = "disabled";
        $("uxSourceIK2").disabled = "disabled";
        $("uxSourceOV3").disabled = "disabled";
        $("uxdivSourceAll").style.color = "";
        $("uxdivSourceGE1").style.color = "#e8e8e8";
        $("uxdivSourceIK2").style.color = "#e8e8e8";
        $("uxdivSourceOV3").style.color = "#e8e8e8";
    }
    
    
    //this.CloudCover = 0; //0 = Sunny, 1 = Partly Cloudy, 2 = Cloudy
    this.StartDate = '1-OCT-1999'; //Start Date
    this.EndDate = GetTodaysDate();//Default to Today's Date
    //this.Resolution = 0; //0=Any, 1=1 Meter, 2= .5 Meter
    this.Source = 0; // 0 = Any, 1 = GEOEYE-1, 2 = IKONOS-2, 3 = ORBVIEW-3

    this.CreateWhereClause = function()
    {
        //Return a string WHERE clause for use with ArcGIS Server 9.3 REST endpoint
        return GetCloudQueryValue() + //Gets the Range of cloudiness the user has defined
        //_resolutionArr[this.Resolution] + //Gets the resolution the user has defined
        _imgSourceArr[this.Source] + // Gets the collection vehicle long the user has defined (all is excluded)
        " AND " + _dateColumn + " >= date '" + ConvertDisplayDateToQueryFormat(this.StartDate) + "' " + 
        " AND " + _dateColumn + " <= date '" + ConvertDisplayDateToQueryFormat(this.EndDate) + "' ";
    }

    this.CreatePermalinkWhereClause = function()
    {
        return whereClauseArray = new Array(
            $(_maxCloudCover).value,
            _imgSourceListing[this.Source],
            this.GetStartDate(),
            this.GetEndDate()
            );
    }

    // A function to set the currently allowed user defined preferences (used by Permalink)
    this.SetPrefs = function(CLOUD_COVER_PERCENT, COLLECTION_VEHICLE_LONG, COLLECTION_DATE_START, COLLECTION_DATE_END) {
        //set max cloud cover slider and input box on preferences page
    A_SLIDERS[_maxCloudCoverSliderIndex].f_setValue(CLOUD_COVER_PERCENT);
        
        // SET IMAGERY SOURCE
        $('uxSourceAll').checked = false; // Uncheck selections by default
        $('uxSourceGE1').checked = false;
        $('uxSourceIK2').checked = false;
        $('uxSourceOV3').checked = false;
        switch (COLLECTION_VEHICLE_LONG) {
            case 'GEOEYE-1':
                $('uxSourceGE1').checked = true;
                this.Source = 1;
                $("uxPreferencesResolutionChoice_All").style.visibility = "hidden";
                $("uxPreferencesResolutionChoice_All").style.display = "none";
                $("uxPreferencesResolutionChoice_Half").style.visibility = "";
                $("uxPreferencesResolutionChoice_Half").style.display = "";
                $("uxSourceAll").disabled = "disabled";
                $("uxSourceGE1").checked = "checked";
                $("uxSourceGE1").disabled = "";
                $("uxSourceIK2").disabled = "disabled";
                $("uxSourceOV3").disabled = "disabled";
                $("uxdivSourceAll").style.color = "#e8e8e8";
                $("uxdivSourceGE1").style.color = "";
                $("uxdivSourceIK2").style.color = "#e8e8e8";
                $("uxdivSourceOV3").style.color = "#e8e8e8";
                break;
            case 'IKONOS-2':
                $('uxSourceIK2').checked = true;
                this.Source = 2;
                $("uxPreferencesResolutionChoice_All").style.visibility = "hidden";
                $("uxPreferencesResolutionChoice_All").style.display = "none";
                $("uxPreferencesResolutionChoice_One").style.visibility = "";
                $("uxPreferencesResolutionChoice_One").style.display = "";
                $("uxSourceAll").disabled = "";
                $("uxSourceGE1").checked = "checked";
                $("uxSourceGE1").disabled = "";
                $("uxSourceIK2").disabled = "";
                $("uxSourceOV3").disabled = "";
                $("uxdivSourceAll").style.color = "";
                $("uxdivSourceGE1").style.color = "";
                $("uxdivSourceIK2").style.color = "";
                $("uxdivSourceOV3").style.color = "";  
                break;
            case 'ORBVIEW-3':
                $('uxSourceIK2').checked = true;
                this.Source = 3;
                $("uxPreferencesResolutionChoice_All").style.visibility = "hidden";
                $("uxPreferencesResolutionChoice_All").style.display = "none";
                $("uxPreferencesResolutionChoice_One").style.visibility = "";
                $("uxPreferencesResolutionChoice_One").style.display = "";
                $("uxSourceAll").disabled = "";
                $("uxSourceGE1").checked = "checked";
                $("uxSourceGE1").disabled = "";
                $("uxSourceIK2").disabled = "";
                $("uxSourceOV3").disabled = "";
                $("uxdivSourceAll").style.color = "";
                $("uxdivSourceGE1").style.color = "";
                $("uxdivSourceIK2").style.color = "";
                $("uxdivSourceOV3").style.color = "";  
                break;
            default:
                $('uxSourceAll').checked = true;
                this.Source = 0;
                break;

        }
        
        // SET START DATE
        var PermaStartDate = RemoveSpaces(COLLECTION_DATE_START.replace(/['"]/g, ''));  // Remove spaces and quotes
        var aStartDate = PermaStartDate.split('/');     // split it based on slash
        this.StartDate = aStartDate[1] + "-" + _monthArray[parseInt(aStartDate[0]) - 1] + "-" + aStartDate[2]; // Set the Start date in the preferences window.
        $('uxFromDate').value = aStartDate[1] + "-" + _monthArray[parseInt(aStartDate[0]) - 1] + "-" + aStartDate[2]; // Set the Start date in the preferences window.

        // SET END DATE
        PermaEndDate = RemoveSpaces(COLLECTION_DATE_END.replace(/['"]/g, ''));  // Remove spaces and quotes
        var aEndDate = PermaEndDate.split('/');     // split it based on slash
        this.EndDate = aEndDate[1] + "-" + _monthArray[parseInt(aEndDate[0]) - 1] + "-" + aEndDate[2]; // Set the End date in the preferences window.
        $('uxToDate').value = aEndDate[1] + "-" + _monthArray[parseInt(aEndDate[0]) - 1] + "-" + aEndDate[2]; // Set the End date in the preferences window.

        //Set Preferences Text in Footer
        var footer = new Footer();
        // footer.CreateHTML();
        footer.SetPrefsDisplay(_footerPrefsCollected + this.StartDate + " to " + this.EndDate + " • " + this.GetCloudCoverDescription() + " • " + this.GetImagerySourceDescription());
             
    }

//    this.SetPrefs2 = function(whereClause, spatialRank) // For RESTful loads
//    {
//        //var aWhereClause = whereClause.split('AND');
//        //var cloudC = RemoveSpaces(aWhereClause[0].substring(22));   // % Cloud Cover
//        //var reso = RemoveSpaces(aWhereClause[1].substring(7));   // Resolution
//        //var PermaStartDate = aWhereClause[2].substring(25);   // Start Date
//        //var PermaEndDate = aWhereClause[3].substring(25);   // End Date
//        var cloudC = 0;
//        var imgsource = 'GEOEYE-1';
//        var PermaStartDate = '';
//        var PermaEndDate = '';

//        //set max cloud cover slider and input box on preferences page
//        A_SLIDERS[_maxCloudCoverSliderIndex].f_setValue(cloudC);

//        if (spatialRank == "true")
//            $(_spatialRanking).checked = true;
//        else
//            $(_spatialRanking).checked = false;

//        //        // SET CLOUD COVER
//        //        $('uxSunny').checked = false; 
//        //        $('uxPartlyCloudy').checked = false;
//        //        $('uxCloudy').checked = false;
//        //        switch(cloudC) {
//        //            case '20': 
//        //                $('uxSunny').checked = true; 
//        //                this.CloudCover = 0;
//        //                break;
//        //            case '50': 
//        //                $('uxPartlyCloudy').checked = true; 
//        //                this.CloudCover = 1;
//        //                break;
//        //            case '100': 
//        //                $('uxCloudy').checked = true; 
//        //                this.CloudCover = 2;
//        //                break;
//        //        }

//        // SET RESOLUTION
//        //        $('uxAnyResolution').checked = false; 
//        //        $('uxOneMeter').checked = false;
//        //        $('uxHalfMeter').checked = false;
//        //        switch(reso) {
//        //            case '0': 
//        //                $('uxAnyResolution').checked = true; 
//        //                this.Resolution = 0;
//        //                break;
//        //            case '1': 
//        //                $('uxOneMeter').checked = true; 
//        //                this.Resolution = 1;
//        //                break;
//        //            case '0.5': 
//        //                $('uxHalfMeter').checked = true; 
//        //                this.Resolution = 2;
//        //                break;
//        //        }

//        // SET IMAGERY SOURCE
//        $('uxSourceAll').checked = false;
//        $('uxSourceGE1').checked = false;
//        $('uxSourceIK2').checked = false;
//        $('uxSourceOV3').checked = false;
//        switch (imgsource) {
//            case 'GEOEYE-1':
//                $('uxSourceGE1').checked = true;
//                this.Source = 1;
//                break;
//            case 'IKONOS-2':
//                $('uxSourceIK2').checked = true;
//                this.Source = 2;
//                break;
//            case 'ORBVIEW-3':
//                $('uxSourceIK2').checked = true;
//                this.Source = 3;
//                break;
//            default:
//                $('uxSourceAll').checked = true;
//                this.Source = 0;
//                break;

//        }

//        // SET START DATE
//        PermaStartDate = RemoveSpaces(PermaStartDate.replace(/['"]/g, ''));  // Remove spaces and quotes
//        var aStartDate = PermaStartDate.split('/');     // split it based on slash
//        this.StartDate = aStartDate[1] + "-" + _monthArray[parseInt(aStartDate[0]) - 1] + "-" + aStartDate[2]; // Set the Start date in the preferences window.
//        $('uxFromDate').value = aStartDate[1] + "-" + _monthArray[parseInt(aStartDate[0]) - 1] + "-" + aStartDate[2]; // Set the Start date in the preferences window.

//        // SET END DATE
//        PermaEndDate = RemoveSpaces(PermaEndDate.replace(/['"]/g, ''));  // Remove spaces and quotes
//        var aEndDate = PermaEndDate.split('/');     // split it based on slash
//        this.EndDate = aEndDate[1] + "-" + _monthArray[parseInt(aEndDate[0]) - 1] + "-" + aEndDate[2]; // Set the End date in the preferences window.
//        $('uxToDate').value = aEndDate[1] + "-" + _monthArray[parseInt(aEndDate[0]) - 1] + "-" + aEndDate[2]; // Set the End date in the preferences window.

//        //Set Preferences Text in Footer
//        var footer = new Footer();
//        // footer.CreateHTML();
//        footer.SetPrefsDisplay(_footerPrefsCollected + this.StartDate + " to " + this.EndDate + " • " + this.GetCloudCoverDescription() + " • " + this.GetResolutionDescription());
//    }

//    this.SetCloudCover = function(cloudCoverEnum)
//    {
//        this.CloudCover = cloudCoverEnum;
//    }
//    
//    this.GetCloudCover = function()
//    {
//        return this.CloudCover;
//    }
//    
    this.GetCloudCoverDescription = function ()
    {
        return $(_maxCloudCover).value + "% Maximum Cloud Cover";
    }

    this.SetImagerySource = function(imgSourceEnum) {
        this.Source = imgSourceEnum;
    }

    this.GetImagerySourceDescription = function() {
        return _imgSourceDescription[this.Source];
    }

    this.GetImagerySource = function() {
        return this.Source;
    }

//    this.SetResolution = function(resolutionEnum)
//    {
//        this.Resolution = resolutionEnum;
//    }
    
//    this.GetResolution = function()
//    {
//        return this.Resolution;
//    }
    
//    this.GetResolutionDescription = function ()
//    {
//        return _resolutionDescription[this.Resolution];
//    }

//    this.GetSpatialRankingDescription = function()
//    {
//        if($(_spatialRanking).checked)
//            return "Only Returned GeoEye's Top Slice of Imagery";
//        else 
//            return "";
    //    }

    this.SetStartDate = function(dateString)
    {
        this.StartDate = dateString;
    }
    
    this.GetStartDate = function()
    {
         return this.StartDate;
    }
     
    this.SetEndDate = function(dateString)
    {
        this.EndDate = dateString;
    }
    
    this.GetEndDate = function()
    {
        
        return this.EndDate;
    }
    
    this.GetToday = function()
    {
        var now = new Date();
        return now.getDay() + "/" + now.getMonth() + "/" + now.getFullYear();
    }  
    
    this.DisableApplyAndRefreshCheckBox = function()
    {
        if($("uxSaveRefreshPrefs") != null)
        {
            $("uxSaveRefreshPrefs").checked = false;
            $("uxSaveRefreshPrefs").disabled = "disabled";
        }
    }
    
    this.EnableApplyAndRefreshCheckBox = function()
    {
        if($("uxSaveRefreshPrefs") != null)
        {
            $("uxSaveRefreshPrefs").checked = true;
            $("uxSaveRefreshPrefs").disabled = "";
        }
    }
      
    //reset search prefs to those stored in prefs object.
    this.CancelAndRevertSearchPrefs = function() {
        $(_fromDateTxt).value = this.StartDate;
        $(_toDateTxt).value = this.EndDate;
        //        switch (this.CloudCover)
        //        {
        //            case 0:
        //            $(_sunnyButton).checked = true;
        //            $(_partlyCloudyButton).checked = false;
        //            $(_cloudyButton).checked = false;
        //            break;
        //            
        //            case 1:
        //            $(_sunnyButton).checked = false;
        //            $(_partlyCloudyButton).checked = true;
        //            $(_cloudyButton).checked = false;
        //            break;
        //            
        //            case 2:
        //            $(_sunnyButton).checked = false;
        //            $(_partlyCloudyButton).checked = false;
        //            $(_cloudyButton).checked = true;
        //            break;
        //        }

//        switch (this.Resolution) {
//            case 0:
//                $(_anyResButton).checked = true;
//                $(_oneMeterButton).checked = false;
//                $(_halfMeterButton).checked = false;
//                break;

//            case 1:
//                $(_anyResButton).checked = false;
//                $(_oneMeterButton).checked = true;
//                $(_halfMeterButton).checked = false;
//                break;

//            case 2:
//                $(_anyResButton).checked = false;
//                $(_oneMeterButton).checked = false;
//                $(_halfMeterButton).checked = true;
//                break;
//        }

        switch (this.Source) {
            case 0:
                $("uxSourceAll").checked = true;
                $("uxSourceGE1").checked = false;
                $("uxSourceIK2").checked = false;
                $("uxSourceOV3").checked = false;
                break;
            case 1:
                $("uxSourceAll").checked = false;
                $("uxSourceGE1").checked = true;
                $("uxSourceIK2").checked = false;
                $("uxSourceOV3").checked = false;
                break;
            case 2:
                $("uxSourceAll").checked = false;
                $("uxSourceGE1").checked = false;
                $("uxSourceIK2").checked = true;
                $("uxSourceOV3").checked = false;
                break;
            case 3:
                $("uxSourceAll").checked = false;
                $("uxSourceGE1").checked = false;
                $("uxSourceIK2").checked = false;
                $("uxSourceOV3").checked = true;
                break;
            default:
                $("uxSourceAll").checked = true;
                $("uxSourceGE1").checked = false;
                $("uxSourceIK2").checked = false;
                $("uxSourceOV3").checked = false;
                break;
        }

    }
}



/// <summary>
/// Handled when user 'saves & updates' catalog search prefs
/// </summary>
/// <returns>null</returns>
function SaveAndExecutePreferencesUpdate()
{
    UpdateSearchPrefs();
    ClearMapAndResults();
    ExecutePreferencesSearch();
    ClosePrefs();
}

/// <summary>
/// Handled when user 'saves' catalog search prefs
/// </summary>
/// <returns>null</returns>
function SaveSearchPrefs()
{
    UpdateSearchPrefs();
    ClosePrefs();
}

/// <summary>
/// Scrapes the screen to gather search prefs
/// </summary>
/// <returns>null</returns>
function UpdateSearchPrefs()
{
    //Scrape the screen to capture Search Prefs.

//    var cloudCover = GetCloudCover();
    var startDate = (GetStartDate().length > 0) ? (GetStartDate()) : (new Preferences().StartDate);
    var endDate = (GetEndDate().length > 0) ? (GetEndDate()) : (new Preferences().EndDate);
    //var resolution = GetResolution();
    var imgSource = GetImagerySource();
    
//    _searchPrefs.SetCloudCover(cloudCover);
    _searchPrefs.SetStartDate(startDate);
    _searchPrefs.SetEndDate(endDate);
    //_searchPrefs.SetResolution(resolution);
    _searchPrefs.SetImagerySource(imgSource);
    // Update text in footer to match search prefs
    _foot.SetPrefsDisplay(_footerPrefsCollected  + _searchPrefs.GetStartDate() + " to " + _searchPrefs.GetEndDate() + " • " + _searchPrefs.GetCloudCoverDescription() + " • " + _searchPrefs.GetImagerySourceDescription());
}




/// <summary>
/// Decides whether to search with updated preferences based on a previous search geometry, or executes a new search
/// based on user's viewport
/// </summary>
/// <returns>null</returns>
function ExecutePreferencesSearch()
{
    if(_searchGeometryObject != null)
    {
        if(_searchGeometryObject.Geometry != undefined)
        {
            //Re-execute the catalog search with updated preferences, only if a previous search has been run.
            //_searchGeometryObject holds the previous search geometry.
            ExecuteCatalogSearch(_searchGeometryObject.Geometry);
            return;
        }
    }
    
    //Else
        //User hasn't executed a search yet, use the envelope if area check passes.
        if(_extentToolOn)
        {
            //Search by current Extent.
            buildExtent();//Executes the Extent Catalog Search
        }
        else
        {
            //TODO:  What to tell the user?
        }
}

/// <summary>
/// Gets 1 of 3 cloud cover options.
/// </summary>
/// <returns>integer 0 = Sunny, 1 = Partly Cloudy, 2 = Cloudy</returns>
//function GetCloudCover()
//{
//    var rbSunny = $(_sunnyButton);
//    var rbPartlyCloudy = $(_partlyCloudyButton);
//    var rbCloudy = $(_cloudyButton);
//    if(rbSunny.checked == true)
//    {
//        return 0;
//    }
//    else if(rbPartlyCloudy.checked == true)
//    {
//        return 1;
//    }
//    else if(rbCloudy.checked == true)
//    {
//        return 2;
//    }
//    //default
//    return 0; //Sunny
//}


/// <summary>
/// Gets the user-selected start date, if chosen.
/// </summary>
/// <returns>string date mm/dd/yyyy</returns>
function GetStartDate()
{
    var txtFromDate = $(_fromDateTxt);
    if(txtFromDate.value != 'mm/dd/yyyy' && txtFromDate.value != '')
    {
            return txtFromDate.value;
    }
    //default
    return "";
}


/// <summary>
/// Gets the user-selected end date, if chosen.
/// </summary>
/// <returns>string date mm/dd/yyyy</returns>
function GetEndDate()
{
    var txtToDate = $(_toDateTxt);
    if(txtToDate.value != 'mm/dd/yyyy' && txtToDate.value != '')
        {
            return txtToDate.value;
        }
    //default
    return "";
}

function GetTodaysDate()
{
    var now = new Date();
    return now.getDate() + "-" + _monthArray[now.getMonth()] + "-" + now.getFullYear();
} 


/// <summary>
/// Gets 1 of 3 resolution options.
/// </summary>
/// <returns>integer 0 = All Resolutions, 1 = 1 Meter, 2 = Half Meter</returns>
//function GetResolution()
//{
//    var rbAnyResolution = $(_anyResButton);
//    var rbOneMeter = $(_oneMeterButton);
//    var rbHalfMeter = $(_halfMeterButton);
//    if(rbAnyResolution.checked == true)
//    {
//        return 0;
//    }
//    else if(rbOneMeter.checked == true)
//    {
//        return 1;
//    }
//    else if(rbHalfMeter.checked == true)
//    {
//        return 2;
//    }
//    //default
//    return 0; //Any Res
//}


/// <summary>
/// Gets 1 of 4 Imagery Source options from user's criteria selection.
/// </summary>
/// <returns>integer 0 = All Sources, 1 = GeoEye-1, 2 = IKONOS-2, 3 = OrbView-3</returns>
function GetImagerySource() {
    if ($("uxSourceAll").checked)
        return 0;
    else if ($("uxSourceAll").checked)
        return 0;
    else if ($("uxSourceGE1").checked)
        return 1;
    else if ($("uxSourceIK2").checked)
        return 2;
    else if ($("uxSourceOV3").checked)
        return 3;
    else
        return 0;
}

/// <summary>
/// Verifies Date is Valid
/// </summary>
/// <params name="dateValue">value of string to be validated</params>
/// <returns>bool - Is Date Valid?</returns>
function IsDateValid(dateValue)
{
    var RegExPattern = /^(?=\d)(?:(?:(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})|(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))|(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2}))($|\ (?=\d)))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\ [AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$/;
    if (dateValue.match(RegExPattern))
    {
        return true; 
    } 
    else 
    {
        return false;
    } 

}

//function SetCloudCoverButton(rb)
//{
//    //Uncheck radio buttons
//    $(_sunnyButton).checked = false;
//    $(_partlyCloudyButton).checked = false;
//    $(_cloudyButton).checked = false;
//    rb.checked = true;
//}

function SetResolutionButton(rb)
{
    //Uncheck radio buttons
    $(_anyResButton).checked = false;
    $(_oneMeterButton).checked = false;
    $(_halfMeterButton).checked = false;
    rb.checked = true;
}

function SetSourceButton(rb) {
//    if (rb == "GE1") {
//        $("uxcvrb_One_GeoEye1").checked = false;
//        $("uxcvrb_One_IKONOS2").checked = false;
//        $("uxcvrb_One_OrbView3").checked = false;
//        $("uxcvrb_Half_GeoEye1").checked = true;
//        $("uxcvrb_All").checked = false;
//    }
//    else if (rb == "IK2") {
//        $("uxcvrb_One_GeoEye1").checked = false;
//        $("uxcvrb_One_IKONOS2").checked = true;
//        $("uxcvrb_One_OrbView3").checked = false;
//        $("uxcvrb_Half_GeoEye1").checked = false;
//        $("uxcvrb_All").checked = false;
//    }
//    else if (rb == "OV3") {
//        $("uxcvrb_One_GeoEye1").checked = false;
//        $("uxcvrb_One_IKONOS2").checked = false;
//        $("uxcvrb_One_OrbView3").checked = true;
//        $("uxcvrb_Half_GeoEye1").checked = false;
//        $("uxcvrb_All").checked = false;
//    }
//    else {
//        $("uxcvrb_One_GeoEye1").checked = false;
//        $("uxcvrb_One_IKONOS2").checked = false;
//        $("uxcvrb_One_OrbView3").checked = false;
//        $("uxcvrb_Half_GeoEye1").checked = false;
//        $("uxcvrb_All").checked = true;
//    }
    //Uncheck radio buttons
    $("uxSourceAll").checked = false;
    $("uxSourceGE1").checked = false;
    $("uxSourceIK2").checked = false;
    $("uxSourceOV3").checked = false;
    rb.checked = true;
}
    
function CompareDates() {
    // _monthArray
    var aToDate = document.getElementById('uxToDate').value;
    var aFromDate = document.getElementById('uxFromDate').value;
    var refreshStatus = $('uxSaveRefreshPrefs').checked;
    
    if (Date.parse(ConvertDisplayDateToQueryFormat(aFromDate)) > Date.parse(ConvertDisplayDateToQueryFormat(aToDate))) 
    {
        alert("The End Date cannot be earlier than the Start Date.");
        return;
    }
    else
    {
        //dates pass.   Execute search
        if (refreshStatus == false) 
        {
            SaveSearchPrefs();
        }
        else 
        {
            SaveAndExecutePreferencesUpdate();
        }
    }
}


function SearchPrefs() 
{
    //check to see if AOIs are present.  If not, disable save and refresh button.
    if(_searchGeometryObject.AOIExists == false)
    {
        _searchPrefs.DisableApplyAndRefreshCheckBox();
    }
    else
    {
        _searchPrefs.EnableApplyAndRefreshCheckBox();
    }
    $('wrapper-searchPrefs').style.display = "inline";
    $('wrapper-searchPrefs-bg').style.display = "inline";
}
function ClosePrefs() 
{
    $('wrapper-searchPrefs').style.display = "none";
    $('wrapper-searchPrefs-bg').style.display = "none";
}