function toggleMenu(){

    var shift = Array.prototype.shift;
    
    var link = shift.apply(arguments);
    var closeStr = shift.apply(arguments);
    var openStr = shift.apply(arguments);

    var l = arguments.length;
    for( var i=0; i< l; i++ ){
        var e = document.getElementById('tree'+arguments[i]);
        if( e.style.display=="none" ){
            e.style.display="";
            link.innerHTML = closeStr;
        }else{
            e.style.display="none";
            link.innerHTML = openStr;
        }
    }
}

function rewirteUrl( form_elem, params, base_uri){
    var base_uri = base_uri || '';
    var rewrite_params = [];
    for( var i=0,l=params.length; i<l; i++ ){
        if( form_elem[params[i].name] != undefined
            && form_elem[params[i].name].value.length > 0){
            var value = params[i].callback != undefined ? params[i].callback(form_elem[params[i].name].value) : form_elem[params[i].name].value;
            rewrite_params.push( value );
        }else{
            rewrite_params.push( params[i].empty );
        }
    }
    location.replace(base_uri+'/'+rewrite_params.join('/'));
    return false;
}
