Array.prototype.unique=function(){var c=[];var b=this.length;for(var e=0;e<b;e++){for(var d=e+1;d<b;d++){if(this[e]===this[d]){d=++e}}c.push(this[e])}return c};(function(a){var b=a.c6Presence=function(c){b(c)};b.defaults={statusUrl:"http://api.community.virgilio.it/profile-nick-api-web/resources/check-presence.js?callback=api_community_presence_status",selector:"div.nickname",presenceClasses:{online:"gre",busy:"red",friendOnlyAccepted:"yel",offline:"gry",away:"bla"},ajaxSettings:{timeout:5000,global:false,async:true,processData:true,cache:true,contentType:"application/x-www-form-urlencoded",error:function(c){if(window.console){console.error("Ajax Error while loading: "+this.statusUrl+" - Satus: "+c.status+" "+c.statusText+" on "+new Date())}}},onData:null};a.fn.c6Presence=function(c){var d=this;c=b.settings=a.extend({},b.defaults,c);a.ajaxSetup(c.ajaxSettings);b.loadJsonpData(d)};b.trimAll=function(c){return(c||"").replace(/^[\s\n]+|[\s\n]+$/g,"")};b.loadJsonpData=function(j){if(j.length==0){return}var k=[];for(var g=0;g<j.length;g++){if(a(j.get(g)).text()!=null&&b.trimAll(a(j.get(g)).text())!=""){k.push(a(j.get(g)).text())}}k=k.unique();var d="";for(var g=0;g<k.length;g++){d+="&nick="+k[g]}if(d!=""){var f=document.getElementsByTagName("head")[0];var c=document.createElement("script");c.charset="UTF-8";var h=b;c.src=h.settings.statusUrl+d;f.appendChild(c);var e=function(){setTimeout(function(){f.removeChild(c);c=null},800)};c.onload=e()}};b.buildC6Presence=function(){var h=this.settings;var k=h.presence.status;var o;try{o=h.presence.status.nickPresenceList.nicks}catch(m){if(window.console){console.error("Unexpected JSON from "+h.statusUrl)}return}if(!o||o.length==0){if(window.console){console.debug("No C6Presence entries available!")}return}if(a.isFunction(h.onData)){k=h.onData(k)}var p={};for(var l=0;l<o.length;l++){p[o[l].nick]=l}var n=a(h.selector);var f=h.presenceClasses;for(var l=0;l<n.length;l++){var c=a(n.get(l));if(c.text()!=null&&b.trimAll(c.text())!=""){var j=o[p[b.trimAll(c.text())]];if(j){for(var g in f){c.parent().removeClass(f[g])}if(j.online==true){switch(j.onlineStatus){case"BUSY":c.parent().addClass(f.busy);break;case"FRIENDONLYACCEPTED":c.parent().addClass(f.friendOnlyAccepted);break;case"AWAY":c.parent().addClass(f.away);break;case"AVAILABLE":c.parent().addClass(f.online);break;default:break}}else{c.parent().addClass(f.offline)}}}}h.presence=null}})(jQuery);function api_community_presence_status(b){var a=jQuery.c6Presence;a.settings.presence={status:b};b=null;a.buildC6Presence()};
