﻿retailerSuggestControl = function() { };

retailerSuggestControl.prototype.AC_SERVICE_URL = '/ajax/retailersuggest.ashx';
retailerSuggestControl.prototype.AC_AUTO_SUBMIT = false;
retailerSuggestControl.prototype.AC_DEFAULT_VALUE = 'Start typing retailer name here...';
retailerSuggestControl.prototype.AC_PRESELECTED_VALUE = null;

retailerSuggestControl.prototype.TXT_AUTOCOMPLETE = null;
retailerSuggestControl.prototype.TXT_C_CODE = null;
retailerSuggestControl.prototype.TXT_P_CODE = null;

retailerSuggestControl.prototype.register = function() {
    this.TXT_AUTOCOMPLETE = arguments[0];
    this.TXT_C_CODE = arguments[1];
    this.TXT_P_CODE = arguments[2];

    if (arguments[3] != '')
        this.AC_PRESELECTED_VALUE = arguments[3];

    this.ac_register();
};

retailerSuggestControl.prototype.ac_register = function() {
    var s = this;
    $('#' + this.TXT_AUTOCOMPLETE).autocomplete({
        serviceUrl: this.AC_SERVICE_URL,
        autoSubmit: false,
        params: { method: 'search' },
        onSelect: function(v, d) {
            s.ac_onSelect(v, d);
        }
    });

    $('#' + this.TXT_AUTOCOMPLETE)
    .val((this.AC_PRESELECTED_VALUE == null ? this.AC_DEFAULT_VALUE : this.AC_PRESELECTED_VALUE))
    .css('color', (this.AC_PRESELECTED_VALUE == null ? '#999' : '#000'))
    .bind('focus', function() {
        if ($(this).val() == s.AC_DEFAULT_VALUE) {
            $(this).css('color', '#000').val('');
        }
    })
    .bind('blur', function() {
        if ($(this).val() == '') {
            $(this).css('color', '#999').val(s.AC_DEFAULT_VALUE);
        }
    });
};

retailerSuggestControl.prototype.ac_onSelect = function(v, d) {
    var dparts = d.split(','), c = dparts[1], p = dparts[0];
    //$('#' + this.TXT_C_CODE).val(c);
    //$('#' + this.TXT_P_CODE).val(p);
    var tmp = v.toString().replace("&", "_and_");
    window.location = '/retailer-directory/retailer.aspx?ret_id=' + new String(d) + '&retailer_name=' + tmp;
    //window.location = '/retailer-directory/default.aspx?auto_search=' + new String(v);
};


(function() {
    $.get('/ajax/retailersuggest.ashx?method=generate_cache');
})();
