﻿jQuery(function() {


    //  Handle search form 'search' button
    jQuery('#btnSearch_A').click(function() {
        jQuery('#errorSummary_A').hide();
        if (!validateAdvancedForm()) {
            jQuery('#errorSummary_A').show();
            return false;
        }
        
        ApplicationUtility.formSearch({
            'ParcelID': ApplicationUtility.getVal('#txtParcel_A'),
            'SubdivisionCode': ApplicationUtility.getVal('#selectSubdivisions_A'),
            'StreetName': ApplicationUtility.getVal('#txtStreetName_A'),
            'SaleType': ApplicationUtility.getVal('#txtSalesType_A'),
            'SalePriceLow': ApplicationUtility.getVal('#txtSalePriceLow_A'),
            'SalePriceHigh': ApplicationUtility.getVal('#txtSalePriceHigh_A'),
            'SaleDateLow': ApplicationUtility.getVal('#txtSaleDateLow_A'),
            'SaleDateHigh': ApplicationUtility.getVal('#txtSaleDateHigh_A'),
            'YearBuiltLow': ApplicationUtility.getVal('#txtYearBuiltLow_A'),
            'YearBuiltHigh': ApplicationUtility.getVal('#txtYearBuiltHigh_A'),
            'BuildingValueLow': ApplicationUtility.getVal('#txtBuildingValueLow_A'),
            'BuildingValueHigh': ApplicationUtility.getVal('#txtBuildingValueHigh_A'),
            'HeatedSqFtLow': ApplicationUtility.getVal('#txtHeatedSqFeetLow_A'),
            'HeatedSqFtHigh': ApplicationUtility.getVal('#txtHeatedSqFeetHigh_A'),
            'ActualSqFtLow': ApplicationUtility.getVal('#txtActualSqFeetLow_A'),
            'ActualSqFtHigh': ApplicationUtility.getVal('#txtActualSqFeetHigh_A'),
            'Bedrooms': ApplicationUtility.getVal('#txtBedrooms_A'),
            'LandValueLow': ApplicationUtility.getVal('#txtLandValueLow_A'),
            'LandValueHigh': ApplicationUtility.getVal('#txtLandValueHigh_A'),
            'AcreageValueLow': ApplicationUtility.getVal('#txtAcreageLow_A'),
            'AcreageValueHigh': ApplicationUtility.getVal('#txtAcreageHigh_A'),
            'LandUseCode': ApplicationUtility.getVal('#selectPropertyType'),
            'TaxDistrictCode': ApplicationUtility.getVal('#selectTaxDistrictCode'),
            'orderByColumnIndex': 0,
            'page': 1,
            'returncount': true,
            'advanced': true
        });
        return false;
    });


    //  Handle search form 'clear' button
    jQuery('#btnClear_A').click(function() {
        jQuery('#errorSummary_A').hide();
        jQuery('#advancedSearch input[type=text]').val('').blur();
        jQuery('#advancedSearch select').val('').blur();
        return false;
    });


    //  jQuery UI Autocomplete
    /*
    jQuery('#txtSubdivision_A').autocomplete({
    source: subdivisions,
    select: function(event, ui) {
    jQuery(this).val(ui.item.value.replace(/&amp;/g, '&'));
    return false;
    }
    });
    */


    //  jQuery UI Datepicker
    $("#txtSaleDateLow_A").datepicker({
        showOn: "button",
        buttonImage: "images/icons/calendar.gif",
        buttonImageOnly: true,
        changeMonth: true,
        changeYear: true,
        yearRange: '1900:2011',
        maxDate: new Date(),
        minDate: new Date(1900, 1, 1),
        onSelect: function(dateText, inst) {
            jQuery(this).focus().blur();
        }
    });


    //  jQuery UI Datepicker
    $("#txtSaleDateHigh_A").datepicker({
        showOn: "button",
        buttonImage: "images/icons/calendar.gif",
        buttonImageOnly: true,
        changeMonth: true,
        changeYear: true,
        yearRange: '1900:2011',
        maxDate: new Date(),
        minDate: new Date(1900, 1, 1),
        onSelect: function(dateText, inst) {
            jQuery(this).focus().blur();
        }
    });


});


function validateAdvancedForm(){
    var empty = 0;
    var items = jQuery('#advancedSearch input[type=text], #advancedSearch select');
    items.each(function() {
        var _t = jQuery(this);
        var _a = (undefined === _t.attr('data-title')) ? '' : _t.attr('data-title');
        empty += (_t.val() == _a) ? 1 : 0;
    });
    return (empty < items.length);
}
