/**
* Javascript functions for forms
* @author Sven Süld <sven.syld@cvkeskus.ee>
* @version $Id: forms.js 4551 2005-09-25 17:33:26Z sven $
* @package default
*/

function JsGetSelectType(select) { // {{{
// Tagastab select-junni t��bi -- kas 'dropdown' v�i 'list'
// Vea korral undefined
    // select-multiple on listbox, milles saab valida mitu elementi
    // select-one on dropdown v�i listbox, milles saab valida �he elemendi
    if (!select.type) return undefined;
    if (select.type == 'select-one') {
        return (select.size <= 1 ? 'dropdown' : 'list');
        // size atribuut, kui see on �le 1, m��rab et tegu on listboxiga
        // m��ramata korral on ta -1
    } else if (select.type == 'select-multiple') {
        return 'list'; // listbox
    } else {
        return undefined;
    }
} // }}}

function JsClearSelect(select) {
    select.options.length = 0;
}

function JsAddOption(select,text,value) { 
//    select.options[select.options.length] = new Option(text,value);
    op = new Option(text, value);
  	select.options.add(op);
} 

function JsArray2Select(array,select,clear) {
    if (clear) JsClearSelect(select);
    for (elem in array) {
        JsAddOption(select,array[elem],elem);
    }
}

/**
* Trims all form elements - removes all trailing and leading spaces
*/
function JsTrimFormElements(frm) { // {{{
    var re = new RegExp('^(\\s*)([\\W\\w]*)(\\b\\s*$)'); // regexp for trailing/leading spaces
    re.multiline = true;
    var s = new Array;
    
    for (var i in frm) {
        var elem = frm[i];
        if (elem == undefined) continue;
        if (elem.type == undefined) continue;
        
        switch (elem.type) {
            case 'text':
            case 'textarea':
                if (s = re.exec(elem.value)) {
                    elem.value = s[2];
                }
                break;
        }
    }
} // }}}


