Merge with a7b169ba0172834acb0ba48d94962f5e08467d93
authorveltr
Tue, 21 Feb 2012 12:12:01 +0100
changeset 15 03c54e8c00dc
parent 14 1cc92b8c3a38 (current diff)
parent 12 a7b169ba0172 (diff)
child 17 3cf3601fb709
Merge with a7b169ba0172834acb0ba48d94962f5e08467d93
client/main.html
--- a/client/js/tweetanim.js	Tue Feb 21 12:09:36 2012 +0100
+++ b/client/js/tweetanim.js	Tue Feb 21 12:12:01 2012 +0100
@@ -3,7 +3,7 @@
 var countTweets = 0;
 var isPlayingTweets = false; // auto start
 var SPEED_TWEETS = 10;
-var MAX_VOTES = 25;
+var MAX_VOTES = 5;
 var DUMP_TWEETS = 10;
 var toDel = [];
 
@@ -12,6 +12,12 @@
 
 var ts = [];
 
+var candidats = Array(4);
+
+for(var h= 0; h < 4; h++) {
+  toDel[h] = [];
+}
+
 var b = 0;
 
 var defaultTweet = {
@@ -51,7 +57,7 @@
     
    },
   queueTweet: function(t) {
-    console.log("Queued " + t.text);
+
     tweetQueue.push({t: t, anim: true}); 
     $('#nbr-mesure-new').html(tweetQueue.length);
     /*
@@ -141,12 +147,11 @@
   if(doSshift)
   TweetAnim.shiftQueue();
           
-/*             
-        toDel.push(t);
-        current_past_tweet = toDel.length;
-        ts[t.candidats[0]]++;
-        checkSilos();
-  */      
+
+  toDel[t.cat].push(t);
+  checkSilos();
+        
+     
 	}
 }
 
@@ -172,16 +177,23 @@
 
 function checkSilos() {
 
-  for(var j=0; j<ts.length; j++) {
-    if(ts[j]>MAX_VOTES) {
-      j=ts.length+1;
-      emptySilos();
+  for(var j=0; j<4; j++) {
+    if(toDel[j].length>MAX_VOTES) {
+      
+      var ids = toDel[j].shift();
+      world.DestroyBody(b2bod[ids.id_str]);
+        console.log(b2bod[ids.id_str]);
+
+      $('#'+ids.id_str).delay(10).hide("slow").queue(function() {
+        $(this).remove(); 
+      });
     }
   }
 }
-
+/*
 
 function emptySilos() {
+  console.log("emptySilos");
 
     var toDel2 = [];
     var m =0;
@@ -205,5 +217,5 @@
     toDel = toDel2;
     current_past_tweet=toDel.length;
 }
-
+*/
 TweetAnim.init();
--- a/client/js/tweetvote-anim.js	Tue Feb 21 12:09:36 2012 +0100
+++ b/client/js/tweetvote-anim.js	Tue Feb 21 12:12:01 2012 +0100
@@ -44,22 +44,7 @@
 TweetAnim.shiftQueue();
 */
 function init() {
-/*
-	var canvas = document.getElementById('tube-container');
-  canvas.onmousedown = onDocumentMouseDown;
-	canvas.onmouseup = onDocumentMouseUp;
-	canvas.onmousemove = onDocumentMouseMove;
-  
-	var canvas = document.getElementById('canvas');
-  canvas.onmousedown = onDocumentMouseDown;
-	canvas.onmouseup = onDocumentMouseUp;
-	canvas.onmousemove = onDocumentMouseMove;  
 
-  var canvas = document.getElementById('btn-tweet-next');
-  canvas.onmousedown = onDocumentMouseDown;
-	canvas.onmouseup = onDocumentMouseUp;
-	canvas.onmousemove = onDocumentMouseMove;  
-  */
 	worldAABB = new b2AABB();
 	worldAABB.minVertex.Set( -200, -200 );
 	worldAABB.maxVertex.Set( window.innerWidth + 200, window.innerHeight + 200 );
@@ -291,73 +276,44 @@
 		walls[3] = null;
 	} else {
   
-  wall_thickness = 20;
-  
-  walls[0] = createBox(world, 1910, 900, wall_thickness, 900); //  rightmost wall
-  walls[1] = createBox(world, 1540, 600, wall_thickness, 300); //  wall 4 / 3
-  
-  walls[2] = createBox(world, 1160, 600, wall_thickness, 300); //  wall 3 / 2
-  walls[3] = createBox(world, 790, 600, wall_thickness, 300); //   wall 2 / 1
-  walls[4] = createBox(world, 420, 600, wall_thickness, 300); //   leftmostwall    
- 
-  walls[5] = createBox(world, 580, 600, 170, 10); //  4    
-  walls[6] = createBox(world, 950, 750, 170, 10); //  3   
-  walls[7] = createBox(world, 1320, 750, 170, 10); //  2   
-  walls[8] = createBox(world, 1690, 600, 170, 10); //  1   
-  
-  setInterval(function() {
+    wall_thickness = 20;
+    
+    walls[0] = createBox(world, 1910, 900, wall_thickness, 900); //  rightmost wall
+    walls[1] = createBox(world, 1540, 600, wall_thickness, 300); //  wall 4 / 3
+    
+    walls[2] = createBox(world, 1160, 600, wall_thickness, 300); //  wall 3 / 2
+    walls[3] = createBox(world, 790, 600, wall_thickness, 300); //   wall 2 / 1
+    walls[4] = createBox(world, 420, 600, wall_thickness, 300); //   leftmostwall    
+   
+    walls[5] = createBox(world, 580, 600, 170, 10); //  4    
+    walls[6] = createBox(world, 950, 750, 170, 10); //  3   
+    walls[7] = createBox(world, 1320, 750, 170, 10); //  2   
+    walls[8] = createBox(world, 1690, 600, 170, 10); //  1   
+    
+    setInterval(function() {
+    
+      // Check if div podiums are already loaded
+      if($('#podium div').size() > 0) {
+        
+        $('#podium div').each( function(idx, panel) {
+       
+        var idxWall = 5+idx;
+        var yWall = 920-$(this).height();
+        world.DestroyBody(walls[idxWall]);
+        walls[idxWall] = createBox(world, 580+370*idx, yWall, 170, 10);      
+        
+        });
+      }
+    }, 1000);
   
-    if($('#podium div').size() > 0) {
-      
-      $('#podium div').each( function(idx, panel) {
-     
-      var idxWall = 5+idx;
-      var yWall = 945-$(this).height();
-      world.DestroyBody(walls[idxWall]);
-      walls[idxWall] = createBox(world, 580+370*idx, yWall, 170, 10);      
-      
-      });
-    }
-  }, 1000);
-  
-//  walls[6] = createBox(world, 1340, 800, 170, 10); //  3 
-  
-  /*
-  setInterval(function() {
-    
-    var tmp = walls[5].m_position.y;
-    world.DestroyBody(walls[5]);
-    walls[5] = createBox(world, 1690, tmp-1, 170, 10, true);
-  
-    console.log(walls[5].m_position.y);
-
-  }, 1000);
-  */
-
-  /*
-    walls[0] = createBox(world, stage[0] , stage[3] + wall_thickness-32, stage[2], wall_thickness); // bottom wall
-    
-    walls[2] = createBox(world, stage[2]-400, 850, 50, 100); // middle wall
-    
-   // walls[3] = createBox(world, stage[2]-400, 100, wall_thickness, 700); // right wall
-    walls[3] = createBox(world, 300, 800, 100, 200); // left wall
-/*
-    for (var i = 0; i < candidats.length; i++) { // drawing silos walls
-      createBox(world, (stage[2]/candidats.length*i)-(wall_thickness/3), stage[3], wall_thickness/3, 200);
-    }
-    */
   }
 }
 
 function  createBallTweetForce(t) {
 
-
-	var xpos = 40;
-  var ypos = 70;
-   
 	var element = document.createElement( 'div' );
-	element.width = BALL_SIZE;
-	element.height = BALL_SIZE;	
+	element.width = 96;
+	element.height = 96;	
 	element.style.position = 'absolute';
 	element.style.left = -200 + 'px';
 	element.style.top = -200 + 'px';
@@ -366,20 +322,124 @@
 	element.id = t.id_str;
   
   var id = "tweet_"+bodies.length;
-var canvas = document.getElementById( 'canvas' );
+  var canvas = document.getElementById('canvas');
 	canvas.appendChild(element);
 	elements.push( element );
 
+  BALL_SIZE = 150;
+  
+  var circle = document.createElement('canvas');
+  circle.width = 96;
+  circle.height = 96;
+
+  var offset = (48 - BALL_SIZE)/2;
+  
+  var graphics = circle.getContext('2d');
+  graphics.fillStyle = "white";
+  graphics.beginPath();
+  graphics.arc(BALL_SIZE* .25+10, BALL_SIZE* .25, BALL_SIZE* .25, 0, PI2, true); 
+  graphics.closePath();
+  graphics.fill();
+    
+  graphics.fillStyle = "#E2F0D6";
+  graphics.beginPath();
+  graphics.arc(BALL_SIZE * .5 +offset+24, BALL_SIZE * .5+offset+14, BALL_SIZE * .20, 0, PI2, true);
+  graphics.closePath();
+  graphics.fill();
+  
+  var img = new Image();
+  img.src = t.profile_image_url;
+
+  img.onload = function(){
+
+    // Resize image
+    var canvasCopy = document.createElement("canvas");
+    var copyContext = canvasCopy.getContext("2d");
+    canvasCopy.width = 96;
+    canvasCopy.height = 96;
+    copyContext.drawImage(img, 0, 0, 96, 96);
+
+    var ptrn = graphics.createPattern(canvasCopy,'no-repeat');
+    graphics.fillStyle = ptrn;
+    graphics.fill(-5,0,150,150);
+  }
+  
+	element.appendChild(circle);
+
+	text = document.createElement( 'div' );
+	text.onSelectStart = null;
+	text.style.color = "#95AB63";
+	text.style.position = 'absolute';
+	text.style.left = '0px';
+	text.style.top = '0px';
+	text.style.fontFamily = 'Georgia';
+	text.style.textAlign = 'center';
+  text.id = t.id_str;  
+	element.appendChild(text);
+  
+	var circle = new b2CircleDef();
+	circle.radius = BALL_SIZE/4+2 ;
+	circle.density = 1;
+	circle.friction = 0.3;
+	circle.restitution = 0.3;
+
+  var a, b, xpos, ypos;
+
+  switch (t.cat) { 
+    case 0: // 1
+      a = 150;
+      b = -100;
+      xpos = 40;
+      ypos = 90;
+      break; 
+    case 1: // 2
+      a = 250;
+      b = -150;
+      xpos = 40;
+      ypos = 70;      
+      break; 
+    case 2: // 3
+      a = 350;
+      b = -100;
+      xpos = 40;
+      ypos = 70;      
+      break; 
+    case 3: // 4
+      a = 390;
+      b = -180;
+      xpos = 40;
+      ypos = 70;      
+      break;     
+    default:
+      a = 390;
+      b = -180;
+      xpos = 40;
+      ypos = 70;      
+      console.log("DEFAULT IMPULS PARAMS! Should not be there..");
+      break; 
+  }
+
+  var b2body = new b2BodyDef();  
+	b2body.AddShape(circle);
+	b2body.userData = {element: element};
+	b2body.position.Set( xpos, ypos);
+  
+  b2body.linearVelocity.Set(a, b);
+  b2bod[t.id_str] = world.CreateBody(b2body);
+  console.log("created " + t.id_str)
+	bodies.push(b2bod[t.id_str]);	
+  
+
 	$("#"+t.id_str).mouseover(function() {
-		
-		$(this).fadeTo(250, 0.1);
+    console.log(t.id_str);
+
 		$("#tooltip-bulle .tweet-screen-name").text(t.from_user);
 		$("#tooltip-bulle .tweet-full-name").text(t.from_user_name);
 		$("#tooltip-bulle .tweet-text").text(t.text);
 		$("#tooltip-bulle .tweet-time").text(t.created_at);
 		$("#tooltip-bulle .tweet-img-avatar").attr( 'src' , t.profile_image_url );
 		var thisX = parseInt($(this).css('left'),10)+10;
-//		console.log(thisX);//visibility:hidden
+
 		 $('#bulle-tooltip-template').css('visibility','visible');
 		 //$('#bulle-tooltip-template').css('top', thisX).css('left', thisY);
 		$(this).css('cursor','pointer');
@@ -392,13 +452,12 @@
 	});
   
 	$("#"+t.id_str).mouseout(function() {
-		 $('#bulle-tooltip-template').css('visibility','hidden');
-			$('#accolade-right').css('visibility','hidden');
-			$('#accolade-left').css('visibility','hidden');
+		$('#bulle-tooltip-template').css('visibility','hidden');
+    $('#accolade-right').css('visibility','hidden');
+		$('#accolade-left').css('visibility','hidden');
 		$(this).css('cursor','auto');
 		
-		$(this).dequeue();
-		$(this).fadeTo(250, 0.8);
+		//$(this).dequeue();
 	});
    
   $("#"+t.id_str).click(function() {
@@ -406,163 +465,5 @@
             fancyBoxTwitter(t.from_user, (t.candidats && t.candidats.length ? candidats[t.candidats[0]].couleur : '#666699'));
 //      window.open("https://twitter.com/#!/"+t.from_user+"/status/"+t.id_str);
     }
-  });
-
-  BALL_SIZE = 150;
-  
-  var circle = document.createElement('canvas');
-  circle.width = BALL_SIZE;
-  circle.height = BALL_SIZE;
-
-  var offset = (48 - BALL_SIZE)/2;
-  
-  var graphics = circle.getContext('2d');
-  		graphics.fillStyle = "white";
-		graphics.beginPath();
-		graphics.arc(BALL_SIZE* .25+10, BALL_SIZE* .25, BALL_SIZE* .25, 0, PI2, true); 
-		graphics.closePath();
-		graphics.fill();
-    
-  graphics.fillStyle = "#E2F0D6";
-  graphics.beginPath();
-  graphics.arc(BALL_SIZE * .5 +offset+24, BALL_SIZE * .5+offset+14, BALL_SIZE * .20, 0, PI2, true);
-  graphics.closePath();
-  graphics.fill();
-
-  var size = BALL_SIZE;
-//	for (var i = size; i > 0; i-= (size/10)) {
-
-
-
-    //	}
-  
-  /* ORIGIN
-    graphics.fillStyle = "#E2F0D6";
-  graphics.beginPath();
-  graphics.arc(BALL_SIZE * .5 +offset, BALL_SIZE * .5+offset, BALL_SIZE * .25, 0, PI2, true);
-  graphics.closePath();
-  graphics.fill();
-
-  */
-  
-  var img = new Image();
-  img.src = t.profile_image_url;
-
-  img.onload = function(){
-  
-    var canvasCopy = document.createElement("canvas");
-    var copyContext = canvasCopy.getContext("2d");
-    
-    canvasCopy.width = 96;
-    canvasCopy.height = 96;
-    copyContext.drawImage(img, 0, 0, 96, 96);
-
-    var ptrn = graphics.createPattern(canvasCopy,'no-repeat');
-    graphics.fillStyle = ptrn;
-    graphics.fill(-5,0,150,150);
-
-  }
-  
-  
-  
-	element.appendChild( circle );
-
-	text = document.createElement( 'div' );
-	text.onSelectStart = null;
-	text.style.color = "#95AB63";
-	text.style.position = 'absolute';
-	text.style.left = '0px';
-	text.style.top = '0px';
-	text.style.fontFamily = 'Georgia';
-	text.style.textAlign = 'center';
-	element.appendChild(text);
-  
-	var circle = new b2CircleDef();
-	circle.radius = BALL_SIZE/4+2 ;
-	circle.density = 1;
-	circle.friction = 0.3;
-	circle.restitution = 0.3;
-  
-	var b2body = new b2BodyDef();  
-	b2body.AddShape(circle);
-	b2body.userData = {element: element};
-	b2body.position.Set( xpos, ypos);
-  
-  var a, b;
-
-  switch (t.cat) { 
-    case 0: // 1
-      a = 150;
-      b = -100;
-      break; 
-    case 1: // 2
-      a = 250;
-      b = -150;
-      break; 
-    case 2: // 3
-      a = 350;
-      b = -100;
-      break; 
-    case 3: // 4
-      a = 390;
-      b = -180;
-      break;     
-       /*
-    case 4: // Jean-Pierre Chevènement
-      a = 390;
-      b = -180;
-      break;    
-     
-    case 5: // Eva Joly
-      a = 170;
-      b = -30;
-      break;   
-    case 6:  // Corinne Lepage
-      a = 200;
-      b = -40;
-      break;    
-    case 7: //  François Bayrou
-      a = 200;
-      b = -60;
-      break;  
-    case 8: // Hervé Morin
-      a = 230;
-      b = -60;
-      break;        
-    case 9: //  Dominique de Villepin 
-      a = 260;
-      b = -60;
-      break;       
-     case 10: // Nicolas Sarkozy 
-      a = 290;
-      b = -60;
-      break;     
-     case 11: //  Nicolas Dupont-Aignan
-      a = 300;
-      b = -70;
-      break;         
-     case 12: // Frederic Nihous 
-      a = 320;
-      b = -70;
-      break;   
-     case 13: // Christine Boutin
-      a = 350;
-      b = -70;
-      break;   
-     case 14: // Marine Le pen
-      a = 390;
-      b = -80;
-      break;   
-    
-    default:
-      a = 390;
-      b = -180;
-      console.log("default impulse!");
-      break; 
-        */
-  }
-
-  b2body.linearVelocity.Set(a, b);
-  b2bod[t.id_str] = world.CreateBody(b2body);
-	bodies.push(b2bod[t.id_str]);	
+  });  
 }
\ No newline at end of file