window.addEvent('domready', function() {
    $('autocompleteForm').getElement('input').wcmtcomplete({url: '/console/products/autocomplete/'});
    //$('autocompleteForm').getElement('input').wcmtcomplete({url: '/ford-esklep_531/console/products/autocomplete/'});
});
var WcMtComplete = new Class ({
    /* Copyrights webcoders.eu Wszelkie prawa zastrzeżone. Kopiowanie i rozpowszechnianie bez zgody autora zabronione */
    Implements: [Options,Events],

    options: {
       min_chars: 3,
       url: 'console/products/autocomplete/',
       limit: 5
    },
    words: '',
    result: [],
    initialize: function(options) {
        this.setOptions(options);
        this.options.target.addEvent('keyup', function(event) {
            this.askAutoComplite();
        }.bind(this))
        /*this.options.target.addEvent('blur', function(event) {
            $('WCpicksearch').set('html', '');
        }.bind(this))*/
        return this;
    },
    askAutoComplite: function()
    {
        this.words = this.options.target.get('value');
        if (this.words.length >= this.options.min_chars) {
            this.sendQueryRequest();
        } else {
            $('WCpicksearch').set('html', '');
        }
    },
    sendQueryRequest: function()
    {
        $('WCpicksearch').set('html', '');
        var jsonRequest = new Request.JSON({
            url: this.options.url, 
            method: 'post',
            data: 'limit='+(this.options.limit+1)+'&search='+this.words,
            onSuccess: function(data){
                this.result = data
                this.parseResult();
            }.bind(this)
        });
        jsonRequest.send();
    },
    parseResult: function()
    {
        $$('.flash_message.success_message').dispose();
        $('WCpicksearch').set('html', '');
        if (!this.result) {
            return;
        }
        results = '';
        if (this.result.length > this.options.limit) {
            results += '<div class="row2"><a href="javascript:void(0);" onclick="$(\''+this.options.target.getParent('form').get('id')+'\').submit();">Pokaż wszystkie znalezione produkty &raquo; </a></div>';
        }
        results += '<div class="row3">Proponowane produkty</div>';
        for (var i = 0; i < this.result.length && i < this.options.limit; i++) {
            results += '<div class="row">';
            results += '<a href="'+this.result[i]['link']+'">';
            results += '<span class="image">';
            results += '<img alt="'+this.result[i]['title']+'" src="'+this.result[i]['image']+'"/>';
            results += '</span>';
            results += '<span class="name">';
            results += this.result[i]['title'];
            results += '</span>';
            results += '</a>';
            results += '<div class="clear"></div>';
            results += '</div>';
        }
        
        $('WCpicksearch').set('html', results);
    }
    
    
})

Element.implement({
        wcmtcomplete: function(options) {
             options = options || {}
             options.target = this; 
             new WcMtComplete(options);
          return this;
        }
});

