Langguth.Navigation = { CURRENT_ID: 'CURRENT_ID', ID: 'ID', currentId: 0, baseUrl: '/index.php?id=', basePopupUrl: '/index.php?set_template=navigation/template&id=', array: new Array(), initNavigationItem: function(nav_id, nav_free, params) { object = $('navigation_' + nav_id); nav_free = nav_free.evalJSON(); object.setAttribute(Langguth.Navigation.CURRENT_ID, Langguth.Navigation.currentId++); //don't need this...we have a link //object.onclick = Langguth.Navigation.click.bind(object); var elem = new Element('div', { id: 'navigation_' + nav_free.id + '_content', style: 'display: none', 'class': 'sub_navigation_langguth' }); object.insert({ after: elem }); new Ajax.Updater('navigation_' + nav_free.id + '_content', Langguth.Navigation.basePopupUrl + nav_free.id, { onBeforeComplete: function(response) { response.responseText = response.responseText.substring(response.responseText.indexOf('layout_content_inside') + 'layout_content_inside'.length + 2, response.responseText.length - 6); } }); Prototip.Styles.langguth = { className: 'langguth', border: 1, borderColor: '#CCC', radius: 3, hideOn: false, delay: 0.5, hideAfter: 0.1 }; var options = { style: 'langguth', hook: { tip: 'topLeft', target:'bottomLeft', mouse: false }, offset: { x: 10, y: 2 } }; if(!Weazel.Tools.Check.isNull(params)) { Weazel.Tools.JSON.mergeInto(options, params); } if(!Weazel.Tools.Check.isNull(nav_free.width)) { Weazel.Tools.JSON.mergeInto(options, { width: nav_free.width }); } new Tip(object, $('navigation_' + nav_free.id + '_content'), options); }, click: function() { Weazel.Tools.Dispatcher.forwardTo(Langguth.Navigation.baseUrl + nav_free.id); return false; }, setWidth: function(newWidth) { this.setWidth(newWidth); } };