﻿jQuery.fn.MapView = function(options) {
    var _opts = jQuery.extend({ pid: 1, w: 700 }, options);
    return this.each(function() {
        var _ele = jQuery(this);
        var _para = 'pid=' + _opts.pid + '&w=' + _opts.w;
        jQuery.ajax({
            url: 'AjaxControls/ParcelMapView.aspx',
            data: _opts,
            beforeSend: function() {
                _ele.html('').addClass('ajax-search');
            },success: function(data, textStatus) {
                _ele.html('<img src="AjaxControls/ParcelMapView.aspx?' + _para + '" alt="" />');
            },error: function(XMLHttpRequest, textStatus, errorThrown) {
                _ele.html(errorThrown);
            },complete: function(XMLHttpRequest, textStatus) {
                _ele.removeClass('ajax-search');
            }
        });
    });
}
jQuery.fn.Paging = function(options, _page) {
    var _opts = jQuery.extend({ page: _page }, options);
    var _url = '';
    switch (_opts.type) {
        case 'adv':
            _url = 'AjaxControls/advancedSearch.aspx';
            break;
        case 'basic':
            _url = 'AjaxControls/BasicSearch.aspx';
            break;
        case 'map':
            _url = 'AjaxControls/MapSearch.aspx';
            break;
        case 'map2':
            _url = 'AjaxControls/MapSearch.aspx';
            break;
    }
    return this.click(function() {
        if (jQuery(this.parentNode).hasClass('page-current')) { return false; }
        jQuery.ajax({
            url: _url,
            data: _opts,
            cache: false,
            beforeSend: function() {
                jQuery('#SearchResults').addClass('ajax-search');
                jQuery('#SearchResultContent').html('');
                jQuery('#SearchResultErrorWrapper').hide();
                jQuery('#SearchResultError').html('');
            }, success: function(data, textStatus) {
                jQuery('#SearchResultContent').html(data);
            }, error: function(XMLHttpRequest, textStatus, errorThrown) {
                jQuery('#SearchResultErrorWrapper').show();
                jQuery('#SearchResultError').html(errorThrown);
            }, complete: function(XMLHttpRequest, textStatus) {
                jQuery('#SearchResults').removeClass('ajax-search');
            }

        }); scroll(0, 0); return false;
    });
}
function OrderBy(options, orderCol, orderDir, _page) {
    var _opts = jQuery.extend( options, { page:_page, orderby: orderCol, orderdir: orderDir });
    var _url = '';
    switch (_opts.type) {
        case 'adv':
            _url = 'AjaxControls/advancedSearch.aspx';
            break;
        case 'basic':
            _url = 'AjaxControls/BasicSearch.aspx';
            break;
        case 'map':
            _url = 'AjaxControls/MapSearch.aspx';
            break;
        case 'map2':
            _url = 'AjaxControls/MapSearch.aspx';
            break;
    }
    //this.click(function() {
        jQuery.ajax({
            url: _url,
            data: _opts,
            cache: false,
            beforeSend: function() {
                jQuery('#SearchResults').addClass('ajax-search');
                jQuery('#SearchResultContent').html('');
                jQuery('#SearchResultErrorWrapper').hide();
                jQuery('#SearchResultError').html('');
            }, success: function(data, textStatus) {
                jQuery('#SearchResultContent').html(data);
            }, error: function(XMLHttpRequest, textStatus, errorThrown) {
                jQuery('#SearchResultErrorWrapper').show();
                jQuery('#SearchResultError').html(errorThrown);
            }, complete: function(XMLHttpRequest, textStatus) {
                jQuery('#SearchResults').removeClass('ajax-search');
            }
        }); scroll(0, 0); return false;
    //});
}
// Handles click event and ajax when a row is clicked.
jQuery.fn.ParcelSearch = function(options) {
    var _opts = jQuery.extend({ pid: '', type: '', current: '', url: '' }, options);
    var _index = 3;
    var _ar = this;
    switch (_opts.type) {
        case 'map':
            _index = 2;
            break;
        case 'map2':
            _index = 3;
        default:
            break;
    }
    return this.click(function() {
        if (!this.id) { return false; }
        execQuery(this.id);
        jQuery(_ar).each(function() { jQuery(this).removeClass(_opts.current); });
        jQuery(this).addClass(_opts.current);
        _opts.pid = this.id;
        jQuery('#parcelResultTab .tab-content').html('<img style="float:left;border:none;padding:0;marign:0;" src="Img/ajax-loader.gif" alt=""/>loading...');
        jQuery('#mapResultTab .tab-content').html('<img style="float:left;border:none;padding:0;marign:0;" src="Img/ajax-loader.gif" alt=""/>updating...');
        jQuery.ajax({
            url: 'AjaxControls/ParcelFull.aspx',
            data: _opts,
            cache: false,
            beforeSend: function() {
                jQuery('#ParcelResult').addClass('ajax-search');
                jQuery('#ParcelResultContent').html('');
                jQuery('#ParcelResultErrorWrapper').hide();
                jQuery('#ParcelResultError').html('');
                jQuery('#parcelResultTab').click();
            }, success: function(data, textStatus) {
                jQuery('#ParcelResultContent').html(data);
            }, complete: function(XMLHttpRequest, textStatus) {
                jQuery('#ParcelResult').removeClass('ajax-search');
                jQuery('#parcelResultTab .tab-content').html('Parcel Result');
                jQuery('#mapResultTab .tab-content').html('Map Result');
            }, error: function(XMLHttpRequest, textStatus, errorThrown) {
                jQuery('#ParcelResultErrorWrapper').show();
                jQuery('#ParcelResultError').html(errorThrown);
            }
        }); scroll(0, 0); return true;
    });
}
jQuery.fn.ParcelMapSearch = function(options) {
    var _opts = jQuery.extend({ pin: '' }, options);
    return this.each(function() {
        jQuery.ajax({
            url: 'http://localhost:2578/Osceola/AjaxControls/MapPhoto.aspx',
            data: _opts,
            cache: false,
            beforeSend: function() {
                jQuery('#map-view').addClass('ajax-search');
                jQuery('#map-view').html('');
            }, success: function(data, textStatus) {
                jQuery('#map-view').html(data);
            }, complete: function(XMLHttpRequest, textStatus) {
                jQuery('#map-view').removeClass('ajax-search');
            }, error: function(XMLHttpRequest, textStatus, errorThrown) {
                jQuery('#map-view').html(errorThrown);
            }
        }); 
    });
}

function global_view_parcel(options) {
    var _opts = jQuery.extend({ pid:'' }, options);
    jQuery('#parcelResultTab .tab-content').html('<img style="float:left;border:none;padding:0;marign:0;" src="Img/ajax-loader.gif" alt=""/>loading...');
    jQuery('#mapResultTab .tab-content').html('<img style="float:left;border:none;padding:0;marign:0;" src="Img/ajax-loader.gif" alt=""/>updating...');
    jQuery.ajax({
        url: 'AjaxControls/ParcelFull.aspx',
        data: _opts,
        cache: false,
        beforeSend: function() {
            jQuery('#ParcelResult').addClass('ajax-search');
            jQuery('#ParcelResultContent').html('');
            jQuery('#ParcelResultErrorWrapper').hide();
            jQuery('#ParcelResultError').html('');
            jQuery('#parcelResultTab').click();
        }, success: function(data, textStatus) {
            jQuery('#ParcelResultContent').html(data);
        }, complete: function(XMLHttpRequest, textStatus) {
            jQuery('#ParcelResult').removeClass('ajax-search');
            jQuery('#parcelResultTab .tab-content').html('Parcel Result');
            jQuery('#mapResultTab .tab-content').html('Map Result');
        }, error: function(XMLHttpRequest, textStatus, errorThrown) {
            jQuery('#ParcelResultErrorWrapper').show();
            jQuery('#ParcelResultError').html(errorThrown);
        }
    }); scroll(0, 0); return true;
}