1 function equalWidths ( secondEl, firstEl) {
2 secondEl.css('width',firstEl.outerWidth() );
7 $(document).ready(function(){
13 var PROFILE_URL = "https://accounts.cloud.grnet.gr";
15 // cookie plugin https://raw.github.com/carhartl/jquery-cookie/master/jquery.cookie.js
16 // * Copyright (c) 2010 Klaus Hartl, @carhartl
17 // * Dual licensed under the MIT and GPL licenses
18 var cookie=function(key,value,options){if(arguments.length>1&&(!/Object/.test(Object.prototype.toString.call(value))||value===null||value===undefined)){options=$.extend({},options);if(value===null||value===undefined){options.expires=-1}if(typeof options.expires==='number'){var days=options.expires,t=options.expires=new Date();t.setDate(t.getDate()+days)}value=String(value);return(document.cookie=[encodeURIComponent(key),'=',options.raw?value:encodeURIComponent(value),options.expires?'; expires='+options.expires.toUTCString():'',options.path?'; path='+options.path:'',options.domain?'; domain='+options.domain:'',options.secure?'; secure':''].join(''))}options=value||{};var decode=options.raw?function(s){return s}:decodeURIComponent;var pairs=document.cookie.split('; ');for(var i=0,pair;pair=pairs[i]&&pairs[i].split('=');i++){if(decode(pair[0])===key)return decode(pair[1]||'')}return null};
20 var ACTIVE_MENU = window.CLOUDBAR_ACTIVE_SERVICE || 'cloud';
21 var USER_DATA = window.CLOUDBAR_USER_DATA || {'user': 'Not logged in', 'logged_in': false};
22 var COOKIE_NAME = window.CLOUDBAR_COOKIE_NAME || '_pithos2_a';
24 var cssloc = window.CLOUDBAR_LOCATION || "http://127.0.0.1:8989/";
27 var css = $("<link />");
28 css.attr({rel:'stylesheet', type:'text/css', href:cssloc + 'cloudbar.css'});
29 $("head").append(css);
31 // load service specific css
32 var SKIP_ADDITIONAL_CSS = window.SKIP_ADDITIONAL_CSS == undefined ? false : window.SKIP_ADDITIONAL_CSS;
34 if (!SKIP_ADDITIONAL_CSS) {
35 var css = $("<link />");
36 css.attr({rel:'stylesheet', type:'text/css', href:cssloc + 'service_' + ACTIVE_MENU + '.css'});
37 $("head").append(css);
41 var bar = $('<div class="cloudbar clearfix"></div>');
42 var services = $('<ul class="services"></ul>');
43 var profile = $('<div class="profile"></div>');
45 var get_services_url = window.GET_SERVICES_URL || window.CLOUDBAR_SERVICES;
47 // create services links and set the active class to the current service
48 $.getJSON(get_services_url + "?callback=?", function(data) {
49 $.each(data, function(i, el){
53 slink.append($('<img src="'+cssloc+el.icon+'"/>'));
54 slink.addClass("with-icon");
58 slink.attr('href', el.url);
59 slink.attr('title', el.name);
62 if (el.id == ACTIVE_MENU || el.name == ACTIVE_MENU) {
63 sli.addClass("active");
68 // create profile links
69 var user = $('<div class="user"></div>');
70 if (ACTIVE_MENU == "accounts") { user.addClass("hover active")}
71 var username = $('<a href="#"></a>');
72 var usermenu = $("<ul>");
73 var get_menu_url = (window.GET_MENU_URL || window.CLOUDBAR_MENU) + '?callback=?&location=' + window.location.toString();
75 $.getJSON(get_menu_url, function(data) {
76 $.each(data, function(i,el) {
78 username.html('<span>'+el.name+'</span>');
79 username.attr('href', el.url);
80 user.removeClass('full');
82 var link = $("<a />");
84 link.attr({href:el.url});
88 user.addClass('full');
93 //profile.filter(".user a").attr("href",
94 //profile.find("li a").get(0).attr("href"))
96 user.append(username);
97 user.append(usermenu);
99 bar.append(profile).append(services);
103 var firstlink = profile.find("ul li:first-child a").attr("href");
104 profile.find(".user > a").attr("href", firstlink);
107 user.hover(function(){$(this).addClass("hover")}, function(){$(this).removeClass("hover")});
109 /*$('.cloudbar .profile ul').mouseover(function(){
110 $(this).parents('.profile').css('backgroundColor','#000');
113 $('.cloudbar .profile ul').mouseout(function(){
114 $(this).parents('.profile').css('backgroundColor','#01A1AE');
117 $('.cloudbar .profile .full>a').live('click', function(e){
119 equalWidths ( $('.cloudbar .profile ul'), $('.cloudbar .profile'));
120 $(this).siblings('ul').toggle();
121 $(this).toggleClass('open');
128 $(window).resize(function() {
129 equalWidths ( $('.cloudbar .profile ul'), $('.cloudbar .profile'));