    jQuery(document).ready(function()
    {
        var productSearch = jQuery(formId);    
            productSearch.submit(function(event)
            {
                var keywordInput  = jQuery('input#keyword');
                var keywordValue  = keywordInput.val();
                var keywordTitle  = keywordInput.attr('title');
                
                var sCategorySlug  = jQuery('select#category_slug');
                var sCountrySlug   = jQuery('select#country_slug');

                // Reset Keyword
                if(keywordValue == keywordTitle)
                {
                    keywordInput.val(new String());
                }
                
                // If Keyword is Empty or in Stop List
                if((keywordValue == "" || keywordValue.length < 3 || keywordValue == keywordTitle) && (sCategorySlug.val() == categorySlug && sCountrySlug.val() == countrySlug)) 
                {
                    alert(searchMinChars);
                }
                else if(inStopList(keywordValue))
                {
                    alert('"' + keywordValue + '" ' + searchBlockedWords);
                }
                else
                {
                    // Prepare Action URL
                    var formData = productSearch.serializeArray();
                    var data = new Array();
                    var _countrySlug  = countrySlug, 
                        _categorySlug = categorySlug;

                    for(var element in formData)
                    {
                        var key     = formData[element].name;
                        var value   = formData[element].value;

                        if(key == 'category_slug')
                        {
                            _categorySlug = value;
                        }
                        else if(key == 'country_slug')
                        {
                            _countrySlug = value;
                        }
                        else
                        {
                            if(key != '' && key != undefined && value != '' && value != undefined)
                                data.push(key + '/' + value);
                        }
                    }

                    var action = formPath + '/' + _categorySlug + '/' + _countrySlug + '/' + offertype + data.join('/');

                    // Reset form Action
                    document.location.href = action;            
                }
                
                return false;
            });
    });
    
    function inStopList(value)
    {
        var stopWordsEs = new Array("a","ante","bajo","con","de","desde","durante","en","entre","excepto","hacia","hasta","mediante","para","por","salvo","segun","según","sin","sobre","y","o","u","tras","el","la","lo","los","las","un","una","unos","unas");
        var stopWordsEn = new Array("a","about","above","above","across","after","afterwards","again","against","all","almost","alone","along","already","also","although","always","am","among","amongst","amoungst","amount","an","and","another","any","anyhow","anyone","anything","anyway","anywhere","are","around","as","at","back","be","became","because","become","becomes","becoming","been","before","beforehand","behind","being","below","beside","besides","between","beyond","bill","both","bottom","but","by","call","can","cannot","cant","co","con","could","couldnt","cry","de","describe","detail","do","done","down","due","during","each","eg","eight","either","eleven","else","elsewhere","empty","enough","etc","even","ever","every","everyone","everything","everywhere","except","few","fifteen","fify","fill","find","fire","first","five","for","former","formerly","forty","found","four","from","front","full","further","get","give","go","had","has","hasnt","have","he","hence","her","here","hereafter","hereby","herein","hereupon","hers","herself","him","himself","his","how","however","hundred","ie","if","in","inc","indeed","interest","into","is","it","its","itself","keep","last","latter","latterly","least","less","ltd","made","many","may","me","meanwhile","might","mill","mine","more","moreover","most","mostly","move","much","must","my","myself","name","namely","neither","never","nevertheless","next","nine","no","nobody","none","noone","nor","not","nothing","now","nowhere","of","off","often","on","once","one","only","onto","or","other","others","otherwise","our","ours","ourselves","out","over","own","part","per","perhaps","please","put","rather","re","same","see","seem","seemed","seeming","seems","serious","several","she","should","show","side","since","sincere","six","sixty","so","some","somehow","someone","something","sometime","sometimes","somewhere","still","such","system","take","ten","than","that","the","their","them","themselves","then","thence","there","thereafter","thereby","therefore","therein","thereupon","these","they","thickv","thin","third","this","those","though","three","through","throughout","thru","thus","to","together","too","top","toward","towards","twelve","twenty","two","un","under","until","up","upon","us","very","via","was","we","well","were","what","whatever","when","whence","whenever","where","whereafter","whereas","whereby","wherein","whereupon","wherever","whether","which","while","whither","who","whoever","whole","whom","whose","why","will","with","within","without","would","yet","you","your","yours","yourself","yourselves","the");
        
        for(var i=0; i < stopWordsEs.length; i++)
        {
            if(stopWordsEs[i] == value)
                return true;
        }
        
        for(var i=0; i < stopWordsEn.length; i++)
        {
            if(stopWordsEn[i] == value)
                return true;
        }

        return false;
    }
