            //create namespace if undefined  
            if (typeof(bambrick) == 'undefined') {
                bambrick = {};
            }
            //add this object to namesapce
            bambrick.vmenu = {
                properties: {
                    select_id: 'vemnu_selectbox',
                    select_hide_class: 'replaced',
                    show_class: "selectOpen",
                    hide_class: "selectReplacement",
                    selected_class: 'selected',
                    hover_class: '',
                    div_id_prefix: 'cdiv',
                    div_class: 'showhide'
                },
                setform: function(){
                    var elements = $$('select[id='+bambrick.vmenu.properties.select_id+']');
                    elements.each(function(element){
                        bambrick.vmenu.selectReplacement(element, $(element).selectedIndex);
                    });
                    return elements;
                    
                },
                selectReplacement: function(obj, selectedindex){
                    $(obj).addClass(bambrick.vmenu.properties.select_hide_class);
                    var ul = document.createElement('ul');
                    ul.className = bambrick.vmenu.properties.hide_class;
                    
                    var opts = obj.options;
                    for (var i = 0; i < opts.length; i++) {
                        var selectedOpt;
                        if (opts[i].selected) {
                            selectedOpt = i;
                            break;
                        }
                        else {
                            selectedOpt = 0;
                        }
                    }
                    for (var i = 0; i < opts.length; i++) {
                        var li = document.createElement('li');
                        var txt = document.createTextNode(opts[i].text);
                        li.appendChild(txt);
                        if (i === selectedindex) {
                            li.className = bambrick.vmenu.properties.selected_class;
                        }
                        ul.appendChild(li);
                        
                    }
                    // add the input and the ul
                    obj.parentNode.appendChild(ul);
                    var id = 0;
                    $(obj).getNext().getChildren('li').each(function(e){
                        $(e).setProperty('data', id);
                        id++;
                    });
                    
                    
                },
                setVal: function(objID, selIndex){
                    var obj = document.getElementById(objID);
                    obj.selectedIndex = selIndex;
                },
                hidedivs: function(){
                    $$('div .' + bambrick.vmenu.properties.div_class).each(function(e){
                        $(e).setStyles({
                            display: 'none'
                        });
                    });
                },
                init: function(options){
                    window.addEvent('domready', function(){
                        var elements = bambrick.vmenu.setform();
                     	elements.getNext().addEvent('click', function(e){
                            //detect if current hide class is selected
                            if (this.hasClass(bambrick.vmenu.properties.show_class)) {
                                var ev = new Event(e);
                                var selected = ev.target;
                                
                                $$(selected).getParent('ul').getChildren('li').each(function(element){
                                    element.removeClass(bambrick.vmenu.properties.selected_class);
                                });
                                
                                selected.addClass(bambrick.vmenu.properties.selected_class);
                                this.removeClass(bambrick.vmenu.properties.show_class);
                                
                                //show the login div
                                bambrick.vmenu.hidedivs();
                                var index = $(selected).getProperty('data');
                                var node = bambrick.vmenu.properties.div_id_prefix + index;
                                $(node).setStyle('display', 'block');
                                
                            }
                            else {
                                this.addClass(bambrick.vmenu.properties.show_class);
                            }
                        });
                        
                        /* Hover elements for later use */
                        $$(elements.parentNode, 'li').addEvent('mouseenter', function(e){
                            //this represents the node
                        });
                        
                        $$(elements.parentNode, 'li').addEvent('mouseleave', function(e){
                        
                        });
                        
                        /*$ES('input[value=password]').addEvent('focus', function(e){
                            $(this).setStyle('display', 'none');
                            $(this).getNext().setStyle('display', 'inline');
                            $(this).getNext().focus();
                        });
                        $ES('input[value=password]').getNext().addEvent('blur', function(e){
                            $(this).setStyle('display', 'none');
                            $(this).getPrevious().setStyle('display', 'inline');
                        });
						*/
                        
                    }); //end of closure
                }
            };
            
            bambrick.vmenu.init();

