Array.prototype.unique=function(){var B=[];var A=this.length;for(var D=0;D<A;D++){for(var C=D+1;C<A;C++){if(this[D]===this[C]){C=++D}}B.push(this[D])}return B};(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,procPost: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(I){if(I.length==0){return }var J=[];for(var G=0;G<I.length;G++){if(A(I.get(G)).text()!=null&&B.trimAll(A(I.get(G)).text())!=""){J.push(A(I.get(G)).text())}}J=J.unique();var D="";for(var G=0;G<J.length;G++){D+="&nick="+J[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 F=this.settings;var H=F.presence.status;var L;try{L=F.presence.status.nickPresenceList.nicks}catch(J){if(window.console){console.error("Unexpected JSON from "+F.statusUrl)}return }if(!L||L.length==0){if(window.console){console.debug("No C6Presence entries available!")}return }if(A.isFunction(F.onData)){H=F.onData(H)}var M={};for(var I=0;I<L.length;I++){M[L[I].nick]=I}var K=A(F.selector);var D=F.presenceClasses;for(var I=0;I<K.length;I++){var C=A(K.get(I));if(C.text()!=null&&B.trimAll(C.text())!=""){var G=L[M[B.trimAll(C.text())]];if(G){for(var E in D){C.parent().removeClass(D[E])}if(G.online==true){switch(G.onlineStatus){case"BUSY":C.parent().addClass(D.busy);break;case"FRIENDS_ONLY":C.parent().addClass(D.friendOnlyAccepted);break;case"AWAY":C.parent().addClass(D.away);break;case"AVAILABLE":C.parent().addClass(D.online);break;default:break}}else{C.parent().addClass(D.offline)}}}}if(A.isFunction(F.procPost)){F.procPost()}F.presence=null}})(jQuery);function api_community_presence_status(B){var A=jQuery.c6Presence;A.settings.presence={status:B};B=null;A.buildC6Presence()};
