
/**
 * Modified version of the standard form, for using with external autocomplete script
 */
var PrediggoSearchFormExternalAc = Class.create();
PrediggoSearchFormExternalAc.prototype = {

    initialize : function(form, field, emptyText,minCharForAutoComplete,frequency, displayIndicatorField, profileId, sessionId){
        this.form   = $(form);
        this.field  = $(field);
        this.minCharForAutoComplete = minCharForAutoComplete;
        this.frequency= frequency;
        this.emptyText = emptyText;
        this.displayIndicatorField = displayIndicatorField;
        this.profileId = profileId;
        this.sessionId = sessionId;
        this.obj=null;

        Event.observe(this.form,  'submit', this.submit.bind(this));
        Event.observe(this.field, 'focus', this.focus.bind(this));
        Event.observe(this.field, 'blur', this.blur.bind(this));
        this.blur();
    },

    submit : function(event){
        if (this.field.value == this.emptyText || this.field.value == '')
        {

            Event.stop(event);
            return false;
        }
        //make sure the autocomplete query is not send when hitting return; it's a dirty hack!!!
        this.obj.options.minChars=1000;
        return true;
    },

    focus : function(event){
        if(this.field.value==this.emptyText){
            this.field.value='';
        }

    },

    blur : function(event){
        if(this.field.value==''){
            this.field.value=this.emptyText;
        }
    },


    initAutocomplete : function(url, destinationElement)
    {

        this.obj = new Ajax.Autocompleter(
            this.field,
            destinationElement,
            url,
            {
                paramName: this.field.name,
                method: 'get',
                minChars: this.minCharForAutoComplete,
                frequency : this.frequency,
                updateElement: this._selectAutocompleteItem.bind(this),
                indicator: this.displayIndicatorField,
                parameters : 'profileId=' + this.profileId + '&sessionId=' + this.sessionId,
                onShow : function(element, update) {

                    update.style.position = 'absolute';
                    Effect.Appear(update,{duration:0});
                }

            }
        );


    },


    _selectAutocompleteItem : function(element)
    {
        if(element.title)
        {
            this.field.value = element.title;
        }

        this.form.submit();
    }
}


/**
 * Modified version of the standard varien form
 */
/*
var PrediggoSearchForm = Class.create();
PrediggoSearchForm.prototype = {

    initialize : function(form, field, emptyText,minCharForAutoComplete,frequency,displayIndicator){
        this.form   = $(form);
        this.field  = $(field);
        this.css='5';
        this.minCharForAutoComplete=minCharForAutoComplete;
        this.frequency=frequency;
        this.emptyText = emptyText;
        this.displayIndicator=displayIndicator;
        this.obj=null;
        
        Event.observe(this.form,  'submit', this.submit.bind(this));
        Event.observe(this.field, 'focus', this.focus.bind(this));
        Event.observe(this.field, 'blur', this.blur.bind(this));
        this.blur();
    },

    submit : function(event){
        if (this.field.value == this.emptyText || this.field.value == '')
        {
            
            Event.stop(event);
            return false;
        }
        //make sure the autocomplete query is not send when hitting return; it's a dirty hack!!!
        this.obj.options.minChars=1000;
        return true;
    },

    focus : function(event){
        if(this.field.value==this.emptyText){
            this.field.value='';
        }

    },

    blur : function(event){
        if(this.field.value==''){
            this.field.value=this.emptyText;
        }
    },

   
    initAutocomplete : function(url, destinationElement)
    {
        if (this.displayIndicator!='')
            {
                this.obj = new Ajax.Autocompleter(
                    this.field,
                    destinationElement,
                    url,
                    {
                        paramName: this.field.name,
                        method: 'get',
                        minChars: this.minCharForAutoComplete,
                        frequency : this.frequency,
                        updateElement: this._selectAutocompleteItem.bind(this),
                        indicator: 'indicator1',
                        parameters : 'cssversion='+this.form.cssver.value,///this.getCheckedValue(this.cssversion,this.cssversion1,this.cssversion2,this.cssver),
                        //callback:this._getCSSVersion().bind(this),//this._getCSSVersion.bind(this),
//                        callback:this._hideColdStartBox().bind(this),
                        onShow : function(element, update) {
                            update.style.width = element.form.boxwidth.value;
                            update.style.position = 'absolute';
                            Effect.Appear(update,{duration:0});
                        }

                    }
                );
            }
            else
            {
                 this.obj = new Ajax.Autocompleter(
                    this.field,
                    destinationElement,
                    url,
                    {
                        paramName: this.field.name,
                        method: 'get',
                        minChars: this.minCharForAutoComplete,
                        frequency : this.frequency,
                        updateElement: this._selectAutocompleteItem.bind(this),
                        parameters : 'cssversion='+this.form.cssver.value,///this.getCheckedValue(this.cssversion,this.cssversion1,this.cssversion2,this.cssver),
                        //callback:this._getCSSVersion().bind(this),//this._getCSSVersion.bind(this),
                        onShow : function(element, update) {
                            update.style.position = 'absolute';
                            Effect.Appear(update,{duration:0});
                        }

                    }
                );
            }
       
    },


    _selectAutocompleteItem : function(element)
    {
        if(element.title)
        {
            this.field.value = element.title;
        }
        this.css=this.form.cssver.value;
        this.form.submit();
    }



};
*/

