$(document).ready(function () { $('a.toggle_box_contents').bind('click', toggleContent); $('a.toggle_box_edit_panel').click(function () { $(this.parentNode.parentNode).children(".collapsable_box_editpanel").slideToggle("fast"); return false; }); $('a.toggle_customise_edit_panel').click(function () { $('div#customise_editpanel').slideToggle("fast"); return false; }); $('a.pluginsettings_link').click(function () { $(this.parentNode.parentNode).children(".pluginsettings").slideToggle("fast"); return false; }); $('a.manifest_details').click(function () { $(this.parentNode.parentNode).children(".manifest_file").slideToggle("fast"); return false; }); $('a.collapsibleboxlink').click(function () { $(this.parentNode.parentNode).children(".collapsible_box").slideToggle("fast"); return false; }); }); function outputWidgetList(forElement) { return( $("input[name='handler'], input[name='guid']", forElement ).makeDelimitedList("value") ); } jQuery.fn.makeDelimitedList = function(elementAttribute) { var delimitedListArray = new Array(); var listDelimiter = "::"; this.each(function(e) { var listElement = $(this); delimitedListArray[delimitedListArray.length] = listElement.attr(elementAttribute); } ); return(delimitedListArray.join(listDelimiter)); } function widget_state(forWidget) { var thisWidgetState = $.cookie(forWidget); if (thisWidgetState == 'collapsed') { forWidget = "#" + forWidget; $(forWidget).find("div.collapsable_box_content").hide(); $(forWidget).find("a.toggle_box_contents").html('+'); $(forWidget).find("a.toggle_box_edit_panel").fadeOut('medium'); }; } var toggleContent = function(e) { var targetContent = $('div.collapsable_box_content', this.parentNode.parentNode); if (targetContent.css('display') == 'none') { targetContent.slideDown(400); $(this).html('-'); $(this.parentNode).children(".toggle_box_edit_panel").fadeIn('medium'); var thisWidgetName = $(this.parentNode.parentNode.parentNode).attr('id'); $.cookie(thisWidgetName, 'expanded', { expires: 365 }); } else { targetContent.slideUp(400); $(this).html('+'); $(this.parentNode).children(".toggle_box_edit_panel").fadeOut('medium'); $(this.parentNode.parentNode).children(".collapsable_box_editpanel").hide(); var thisWidgetName = $(this.parentNode.parentNode.parentNode).attr('id'); $.cookie(thisWidgetName, 'collapsed', { expires: 365 }); } return false; }; function widget_moreinfo() { $("img.more_info").hover(function(e) { var widgetdescription = $("input[name='description']", this.parentNode.parentNode.parentNode ).val(); $("body").append("

"+ widgetdescription +"

"); if (e.pageX < 900) { $("#widget_moreinfo").css("top",(e.pageY + 10) + "px").css("left",(e.pageX + 10) + "px").fadeIn("medium"); } else { $("#widget_moreinfo").css("top",(e.pageY + 10) + "px").css("left",(e.pageX - 210) + "px").fadeIn("medium"); } }, function() { $("#widget_moreinfo").remove(); }); $("img.more_info").mousemove(function(e) { // action on mousemove }); }; jQuery.cookie = function(name, value, options) { if (typeof value != 'undefined') { options = options || {}; if (value === null) { value = ''; options.expires = -1; } var expires = ''; if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) { var date; if (typeof options.expires == 'number') { date = new Date(); date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); } else { date = options.expires; } expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE } var path = options.path ? '; path=' + (options.path) : ''; var domain = options.domain ? '; domain=' + (options.domain) : ''; var secure = options.secure ? '; secure' : ''; document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join(''); } else { var cookieValue = null; if (document.cookie && document.cookie != '') { var cookies = document.cookie.split(';'); for (var i = 0; i < cookies.length; i++) { var cookie = jQuery.trim(cookies[i]); if (cookie.substring(0, name.length + 1) == (name + '=')) { cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); break; } } } return cookieValue; } }; $.fn.elgg_topbardropdownmenu = function(options) { options = $.extend({speed: 350}, options || {}); this.each(function() { var root = this, zIndex = 5000; function getSubnav(ele) { if (ele.nodeName.toLowerCase() == 'li') { var subnav = $('> ul', ele); return subnav.length ? subnav[0] : null; } else { return ele; } } function getActuator(ele) { if (ele.nodeName.toLowerCase() == 'ul') { return $(ele).parents('li')[0]; } else { return ele; } } function hide() { var subnav = getSubnav(this); if (!subnav) return; $.data(subnav, 'cancelHide', false); setTimeout(function() { if (!$.data(subnav, 'cancelHide')) { $(subnav).slideUp(100); } }, 250); } function show() { var subnav = getSubnav(this); if (!subnav) return; $.data(subnav, 'cancelHide', true); $(subnav).css({zIndex: zIndex++}).slideDown(options.speed); if (this.nodeName.toLowerCase() == 'ul') { var li = getActuator(this); $(li).addClass('hover'); $('> a', li).addClass('hover'); } } $('ul, li', this).hover(show, hide); $('li', this).hover( function() { $(this).addClass('hover'); $('> a', this).addClass('hover'); }, function() { $(this).removeClass('hover'); $('> a', this).removeClass('hover'); } ); }); };