var SNAILSTREAM=function(){var B={debug:false,pollingDelay:2000,pollingDelayNotifications:10000,backoffDelay:10000,timeout:6000,animationSpeed:500,timelineLength:15},g=null,u=false,l=false,m=false,i=false;transmission_errors=0,locale="fr",friends_only=false,posting=false;var y=function(){$.ajax({dataType:"json",cache:false,timeout:B.timeout,url:(friends_only?"/statuses/friends_timeline.jsonf":"/statuses/home_timeline.jsonf"),success:function(E){transmission_errors=0;C(E)},error:function(E,G,F){if(G=="notmodified"){transmission_errors=0;q()}else{a(E,G,F);transmission_errors+=1;setTimeout(q,B.backoffDelay)}}})},D=function(){i=true;if(u){return}$.ajax({dataType:"json",timeout:B.timeout,ifModified:true,url:(friends_only?"/statuses/friends_timeline.jsonf":"/statuses/friends_timeline/"+user_id+".jsonf"),success:function(F,G,E){i=false;transmission_errors=0;c(F)},error:function(E,G,F){i=false;if(G=="notmodified"){transmission_errors=0;e()}else{a(E,G,F);transmission_errors+=1;setTimeout(e,B.backoffDelay)}}})},C=function(E){if(E){r(E)}q();if(!l){j()}},q=function(){if(transmission_errors>2){s("Too many Ajax errors. Stop.");return}setTimeout(y,B.pollingDelay)},c=function(E){if(E){s(E);r(E)}e();if(!l){j()}},e=function(E){if(transmission_errors>2){return}if(i){setTimeout(e,B.pollingDelay);return}setTimeout(D,B.pollingDelay)},h=function(){},v=function(G){var E=$(".items");var F=$("#status");F.val(k("Your comment"));F.blur();$(".chars_left_notice").html(140);$("#f-checkin").val("0");posting=false},p=function(E){$("#post-contrib").hide();$("#contrib-text").text(E);$("#contrib-edit").val(E);$("#contrib-content").show()},o=function(E){return true},r=function(G,H){G.statuses.reverse();var F;for(var E=0;E<G.statuses.length;E++){F=G.statuses[E].status;if(parseInt(F.id,10)<=parseInt(g,10)){continue}if(friends_only&&typeof user_screen_name!="undefined"){if(F.room==user_screen_name){t(F)}}else{t(F)}g=F.id}if(typeof G.admin!="undefined"){if(typeof G.admin.current_program!="undefined"&&G.admin.current_program!=""&&$("#current-program-title").text()!=G.admin.current_program){$("#current-program-title").fadeOut("slow",function(){$("#current-program-title").html('<a href="'+G.admin.current_program_permalink+'">'+G.admin.current_program+"</a>").fadeIn("slow")});$("#rating-form").stars("select",0)}ui=$("#rating-form").data("stars");if(typeof G.admin.vote!="undefined"&&parseInt(G.admin.vote)!==0&&Math.floor(parseInt(G.admin.vote))!==parseInt(ui.options.value)){ui.select(Math.floor(G.admin.vote))}if(typeof G.admin.current_program_time!="undefined"&&$("#current-program-time").text()!=G.admin.current_program_time){$("#current-program-time").fadeOut("slow",function(){$("#current-program-time").text(G.admin.current_program_time).fadeIn("slow")})}if(typeof G.admin.current_program_tags!="undefined"&&$("#contrib-text").text()!=G.admin.current_program_tags){$("#contrib-text").fadeOut("slow",function(){$("#contrib-text").text(G.admin.current_program_tags).fadeIn("slow")})}}},t=function(F){var E=$(A(F));E.hide().prependTo($("#pending_items"))},j=function(){l=false;if($("#pending_items").children().length==0){return}if(m){return}var E=$("#pending_items").children().last();if($(".items").children().length>=B.timelineLength){$(".items").children().last().remove()}E.prependTo($(".items")).show();data_height=E.outerHeight(true);data_width=E.width();E.css({width:data_width,marginTop:"-"+data_height+"px"});l=true;E.animate({marginTop:0},B.animationSpeed,"linear",j)},f=function(J){var I=(typeof window.Env!="undefined")?window.Env.screen_name:false;var M=(J.room!="")?" "+k("in")+' <a href="/'+J.room+'">'+J.room+"</a>":"";if(J.user.type==null){J.user.type="1"}var N=J.user.type=="1";var F=J.user.type=="3";var P=J.user.type=="6";var K=(J.user.vip!="undefined")&&J.user.vip==true;var E="";var L="";if(I){if(N||(F&&typeof window.Env.twitter!="undefined"&&window.Env.twitter!="")||(P&&typeof window.Env.facebook!="undefined"&&window.Env.facebook!="")){E='<a href="/'+((J.room!="")?J.room:"home")+"?status="+encodeURIComponent("@"+J.user.screen_name+" ")+"&in_reply_to_status_id="+J.id+"&in_reply_to="+J.user.screen_name+'">'+k("Reply")+"</a>"}L='<a href="/'+J.user.screen_name+'">'+k("Follow")+"</a>"}else{E='<a href="/register?redirect_to='+encodeURIComponent(J.permalink)+'">'+k("Register to reply")+"</a>"}var H=(J.via.url==null)?J.via.name:'<a href="'+J.via.url+'">'+J.via.name+"</a>";var O=H!=null;var G='<div id="status_'+J.id+'" class="timeline-item'+(K?" vip":"")+'"><div class="timeline-status"><div class="timeline-status-body"><div class="user-picture pkg"><a href="/'+J.user.screen_name+'">'+(F?'<span class="user-source"></span>':"")+(P?'<span class="user-source-fb"></span>':"")+'<img width="48" height="48" alt="'+J.user.screen_name+'" title="'+J.user.screen_name+'" src="'+J.user.profile_image_url+'"></a></div><div class="timeline-status-content"><div class="status-body"><a class="user" href="/'+J.user.screen_name+'">'+((J.user.name)?J.user.name:J.user.screen_name)+"</a> "+J.text+' </div><div class="status-header-date pkg"><a class="date" title="'+J.created_at+'" href="'+J.permalink+'">'+d(J.created_at)+"</a>"+(O?" "+k("from")+" "+H:"")+M+" - "+E+" - "+L+'</div></div><div style="clear:both;"></div></div></div></div>';return G},x=function(G){var I=(G.room!="")?" "+k("in")+' <a href="/'+G.room+'">'+G.room+"</a>":"";var K='<a href="/'+G.user.screen_name+'">'+k("Follow me")+"</a>";var F='<a href="/home?status='+encodeURIComponent("@"+G.user.screen_name)+"&in_reply_to_status_id="+G.id+"&in_reply_to="+G.user.screen_name+'">'+k("Reply")+"</a>";if(G.user.type==null){G.user.type="1"}var E=G.user.type=="3";var H=G.user.type=="6";var J='<li id="'+G.id+'" class="timeline-item"><div class="user-picture">'+(E?'<span class="user-source"></span>':"")+(H?'<span class="user-source-fb"></span>':"")+'<a href="/'+G.user.screen_name+'"><img width="48" height="48" alt="'+G.user.screen_name+'" title="'+G.user.screen_name+'" src="'+G.user.profile_image_url+'" style="border-style:none"></a></div><div class="timeline-status-body"><div class="timeline-status"><p class="status-body"><a class="user" href="'+G.user.screen_name+'">'+((G.user.name)?G.user.name:G.user.screen_name)+"</a> "+G.text+' </p></div><div class="status-header-date"><a class="date" title="'+G.created_at+'" href="'+G.permalink+'">'+d(G.created_at)+"</a>"+(E?" sur Twitter":"")+(H?" sur Facebook":"")+'</div></li><div class="clear"></div></div>';return J},A=f,w=function(E){$("#subscribed_"+E.id).fadeOut("fast",function(){$("#unsubscribed_"+E.id).fadeIn("fast")});return},b=function(E){$("#unsubscribed_"+E.id).fadeOut("fast",function(){$("#subscribed_"+E.id).fadeIn("fast")});return},n=function(E){return E&&!(E.propertyIsEnumerable("length"))&&typeof E==="object"&&typeof E.length==="number"},s=function(E){if(B.debug===true){console.log(E)}},a=function(E,G,F){s("AJAX error:"+G+" "+F);if(typeof E==="undefined"||E===null){s("xhr object has disappeared");return}},z=function(){var E=arguments[0];var G="%1\\$s";var F=new RegExp(G,"g");E=E.replace(F,arguments[1]);return E},d=function(H){var F=new Date(H||""),G=(((new Date()).getTime()-F.getTime())/1000),E=Math.floor(G/86400);if(isNaN(E)||E<0||E>=31){return}return E==0&&(G<60&&k("just now")||G<120&&k("1 minute ago")||G<3600&&z(k("%1$s minutes ago"),Math.floor(G/60))||G<7200&&k("1 hour ago")||G<86400&&z(k("%1$s hours ago"),Math.floor(G/3600)))||E==1&&k("Yesterday")||E<7&&z(k("%1$s days ago"),E)||E<31&&z(k("%1$s weeks ago"),Math.ceil(E/7))},k=function(E){strings={fr:{"just now":"à l'instant","1 minute ago":"il y a 1 minute","%1$s minutes ago":"il y a %1$s minutes","1 hour ago":"il y a 1 heure","%1$s hours ago":"il y a %1$s heures",Yesterday:"hier","%1$s days ago":"il y a %1$s jours","%1$s weeks ago":"il y a %1$s semaines","in":"dans",Follow:"Suivre",Reply:"Répondre","Register to reply":"Inscrivez-vous pour répondre","Register to follow":"Inscrivez-vous pour suivre",from:"depuis","Your comment":"Votre commentaire"}};return strings[locale][E]};if(typeof jQuery!="undefined"){jQuery.fn.prettyDate=function(){return this.each(function(){var E=d(this.title);if(E){jQuery(this).text(E)}})}}return{init:function(){SNAILSTREAM.initSlider();var E=new RegExp("status_","g");first_child=$(".items div:first-child");g=first_child.length?first_child.attr("id").replace(E,""):0;$("#start_polling").click(function(){q()});$("#start_polling_room").click(function(){e()});$("#stop_polling").click(function(){h()});$("#status").focusin(function(){$("#status").addClass("focus-state");if($("#status").val()==k("Your comment")){$("#status").val("")}});$("#status").keypress(function(F){if(F.which==13){SNAILSTREAM.postStatus("/status/update.json","#f");return false}return(F.which==8)||($("#status").val().length<140)});$("#status").keyup(function(F){SNAILSTREAM.updateStatusTextCharCounter($("#status").val())});$("#friends_only").click(function(){friends_only=!friends_only});$("#edit-contrib-button").click(function(){$("#contrib-content").hide();$("#post-contrib").show()});$("#contrib-cancel-button").click(function(){$("#contrib-content").show();$("#post-contrib").hide();$("#contrib-edit").val($("#contrib-text").text());return false});$("#timelinetable").mouseenter(function(){m=true;$("#pause").show()});$("#timelinetable").mouseleave(function(){m=false;j();$("#pause").hide()})},initTimeline:function(){SNAILSTREAM.init();setTimeout(SNAILSTREAM.updateTop,SNAILSTREAM.pollingDelay);q()},initTimelineFriendsOnly:function(){friends_only=true;SNAILSTREAM.init();setTimeout(SNAILSTREAM.updateTop,SNAILSTREAM.pollingDelay);q()},initRoom:function(){SNAILSTREAM.init();setTimeout(SNAILSTREAM.updateTop,SNAILSTREAM.pollingDelay);e()},initRoomFriendsOnly:function(){friends_only=true;SNAILSTREAM.init();setTimeout(SNAILSTREAM.updateTop,SNAILSTREAM.pollingDelay);e()},initSlider:function(){$("#navChannels").hoverIntent({interval:80,sensitivity:5,over:function(){$(this).addClass("hovering")},timeout:400,out:function(){$(this).removeClass("hovering")}})},initZapping:function(E,F){$("#zapping").click(function(){base_url="http://hd1.freebox.fr/pub/remote_control?key=";$("#zapping").fadeOut("fast",function(){$("#zapping").fadeIn("fast")});if(E.length==3){$.ajax({url:base_url+E.substr(0,1)+"&code="+F+"&long=true",dataType:"script",complete:function(){$.ajax({url:base_url+E.substr(1,1)+"&code="+F+"&long=true",dataType:"script",complete:function(){$.ajax({url:base_url+E.substr(2,1)+"&code="+F,dataType:"script"})}})}})}else{if(E.length==2){$.ajax({url:base_url+E.substr(0,1)+"&code="+F+"&long=true",dataType:"script",complete:function(){$.ajax({url:base_url+E.substr(1,1)+"&code="+F,dataType:"script"})}})}else{$.ajax({url:base_url+E+"&code="+F,dataType:"script"})}}})},initRating:function(){$("#rating-form").children().not(":radio").hide();$("#rating-form").stars({starWidth:28,cancelShow:false,callback:function(G,E,F){$("#rating-form").hide();$("#rating-loader").show();$.post($("#rating-form").attr("action"),{rate:F},function(H){G.select(Math.round(H));$("#rating-loader").hide();$("#rating-form").show()},"json")}})},postStatus:function(F,E){$text=$("#status").val();if(!$text||!/\S/.test($text)||$text==k("Your comment")){$("#f-checkin").val("1")}posting=true;$.post(F,$(E).serialize(),v,"json")},updateStatusTextCharCounter:function(F){var E=$(".chars_left_notice");if(140-F.length>=0){E.html(140-F.length)}else{E.html(0)}},postContrib:function(F,E){$text=$("#contrib-edit").val();if(!$text||!/\S/.test($text)){return false}$.post(F,$(E).serialize(),p)},postCheckin:function(){$.post("/status/update.json",$("#checkin-form").serialize(),o)},rate:function(F,E){$.post(F,$(E).serialize(),fRatePostCallback)},fSetTop:function(F){if(F&&F.length>0){var G=parseInt(F[0][1]);for(var E=0;E<3;E++){$("#channel"+E).html(F[E][0]);$("#count"+E).animate({width:Math.floor(parseInt(F[E][1])*200/G)})}}setTimeout(SNAILSTREAM.updateTop,5*60*1000)},updateTop:function(){$.getJSON("/datatop",SNAILSTREAM.fSetTop)},removeUser:function(E,F){$.getJSON("/friendships/destroy/"+E+".json",w)},addUser:function(E,F){$.getJSON("/friendships/create/"+E+".json",b)},initMobile:function(){A=x;$("#timeline").bind("pageAnimationEnd",function(F,E){$(".chatrooms-items").data("inroom",!$(".chatrooms-items").data("inroom"));if($(".chatrooms-items").data("inroom")){D();return}u=true});$(".chatrooms-items li").each(function(E){$(this).bind(clickEvent,function(G,F){user_id=$(this).attr("id");g=0;u=false;$("#timeline h1").html($(this).attr("title"));$(".chatrooms-items").data("inroom",false)})})},getNotifications:function(){$.ajax({dataType:"json",cache:false,timeout:B.timeout,url:"/ajax/notifications.json",success:function(E){$("#unreadCountBadge").html(E.unreadCount);if(parseInt(E.unreadCount)>0){$(".unreadCount").show()}else{$(".unreadCount").hide()}if(friends_only){$("#unreadFriendsMessages").hide()}else{if(typeof user_screen_name!="undefined"){if(typeof E.roomsFriendsNotifications!="undefined"&&parseInt(E.roomsFriendsNotifications[user_screen_name])>0){$("#unreadFriendsMessages").text(E.roomsFriendsNotifications[user_screen_name]);$("#unreadFriendsMessages").show()}else{$("#unreadFriendsMessages").hide()}}else{if(typeof E.unreadFriendPostedCount!="undefined"&&parseInt(E.unreadFriendPostedCount)>0){$("#unreadFriendsMessages").text(E.unreadFriendPostedCount);$("#unreadFriendsMessages").show()}else{$("#unreadFriendsMessages").hide()}}}setTimeout(SNAILSTREAM.getNotifications,B.pollingDelayNotifications)},error:function(E,G,F){if(G=="notmodified"){setTimeout(SNAILSTREAM.getNotifications,B.pollingDelayNotifications)}else{a(E,G,F);setTimeout(SNAILSTREAM.getNotifications,B.pollingDelayNotifications)}}})}}}();$.fn.extend({insertAtCaret:function(a){this.each(function(d){if(document.selection){this.focus();sel=document.selection.createRange();sel.text=a;this.focus()}else{if(this.selectionStart||this.selectionStart=="0"){var c=this.selectionStart;var b=this.selectionEnd;var e=this.scrollTop;this.value=this.value.substring(0,c)+a+this.value.substring(b,this.value.length);this.focus();this.selectionStart=c+a.length;this.selectionEnd=c+a.length;this.scrollTop=e}else{this.value+=a;this.focus()}}})}});$.fn.focusEnd=function(){return this.each(function(){var b=this;if(b.style.display!="none"){if($.browser.msie){b.focus();var a=b.createTextRange();a.collapse(false);a.select()}else{b.setSelectionRange(b.value.length,b.value.length);b.focus()}}})};(function(a){a.fn.hoverIntent=function(k,j){var l={sensitivity:7,interval:100,timeout:0};l=a.extend(l,j?{over:k,out:j}:k);var n,m,h,d;var e=function(f){n=f.pageX;m=f.pageY};var c=function(g,f){f.hoverIntent_t=clearTimeout(f.hoverIntent_t);if((Math.abs(h-n)+Math.abs(d-m))<l.sensitivity){a(f).unbind("mousemove",e);f.hoverIntent_s=1;return l.over.apply(f,[g])}else{h=n;d=m;f.hoverIntent_t=setTimeout(function(){c(g,f)},l.interval)}};var i=function(g,f){f.hoverIntent_t=clearTimeout(f.hoverIntent_t);f.hoverIntent_s=0;return l.out.apply(f,[g])};var b=function(o){var g=jQuery.extend({},o);var f=this;if(f.hoverIntent_t){f.hoverIntent_t=clearTimeout(f.hoverIntent_t)}if(o.type=="mouseenter"){h=g.pageX;d=g.pageY;a(f).bind("mousemove",e);if(f.hoverIntent_s!=1){f.hoverIntent_t=setTimeout(function(){c(g,f)},l.interval)}}else{a(f).unbind("mousemove",e);if(f.hoverIntent_s==1){f.hoverIntent_t=setTimeout(function(){i(g,f)},l.timeout)}}};return this.bind("mouseenter",b).bind("mouseleave",b)}})(jQuery);
