/*
Утилита для работы с формой простого поиска v0.1
2006 Magic Wand
*/

function simpleSearchUtils(search_input, search_form) {
    var has_string = false;
    var sinput = null;
    var sform = null;
    var search_message = 'Поиск';
    var warn_message = 'Строка поиска должна содержать слова длиной не менее 4-х символов';
    
    construct(search_input, search_form);
    
    function construct(search_input, search_form) {
        sinput = search_input;
        sform = search_form;
        switchMode();
        //sinput.onchange = onChangeString();
        sinput.onblur = onChangeString;
        sinput.onfocus = onFocusString;
        sform.onsubmit = onSubmitString;
    }
    
    function switchMode() {
        if(sinput.value == '') {
            has_string = false;
            setSearchMessage();
        } else {
            has_string = true;
        }
    }
    
    function setSearchMessage() {
        sinput.value = search_message;
        sinput.style.color = 'gray';
    }
    
    function resetSearchMessage() {
        sinput.value = '';
        sinput.style.color = 'black';
    }

    function onChangeString() {
        switchMode();
    }
    
    function onFocusString() {
        if(!has_string) resetSearchMessage();
    }
    
    function maySubmit() {
        if(!has_string) return false;
        if(validateSearchString(sinput.value)) return true;
        alert(warn_message);
        return false;
    }
    
    function onSubmitString() {
        switchMode();
        return maySubmit();
    }
    
    this.submitForm = function() {
        if(maySubmit()) sform.submit();
    }
    
    function validateSearchString(str) {
        var words = str.split(/ /);
        for(var n = 0; n < words.length; n ++) {
            if(words[n].length < 2) return false;
        }
        return true;
    }
    
}
