function flushMouseJoint(){world.DestroyJoint(mouseJoint);mouseJoint=null}function mouseDrag(){if(!mouseJoint){var a=getBodyAtMouse();if(a){var b=new b2MouseJointDef;b.body1=world.m_groundBody;b.body2=a;if(mouse.x%2==0){b.target.Set(mouse.x-Math.random()*10,mouse.y+20)}else{b.target.Set(mouse.x+Math.random()*10,mouse.y+20)}b.maxForce=300*a.m_mass;b.timeStep=timeStep;mouseJoint=world.CreateJoint(b);a.WakeUp()}}if(mouseJoint){var c=new b2Vec2(mouse.x,mouse.y);mouseJoint.SetTarget(c);setTimeout("flushMouseJoint()",10)}}function onDocumentMouseMove(a){mouse.x=a.clientX;mouse.y=a.clientY}function getBrowserDimensions(){var a=false;if(stage[0]!=window.screenX){delta[0]=(window.screenX-stage[0])*50;stage[0]=window.screenX;a=true}if(stage[1]!=window.screenY){delta[1]=(window.screenY-stage[1])*50;stage[1]=window.screenY;a=true}if(stage[2]!=window.innerWidth){stage[2]=window.innerWidth;a=true}if(stage[3]!=window.innerHeight){stage[3]=window.innerHeight;a=true}return a}function setWalls(){if(wallsSetted){world.DestroyBody(walls[0]);world.DestroyBody(walls[1]);world.DestroyBody(walls[2]);world.DestroyBody(walls[3]);walls[0]=null;walls[1]=null;walls[2]=null;walls[3]=null}walls[2]=createBox(world,-wall_thickness,stage[3]/2,wall_thickness,stage[3]);walls[3]=createBox(world,stage[2]+wall_thickness,stage[3]/2,wall_thickness,stage[3]);wallsSetted=true}function step(a){var b=false;var c=1/60;var d=1;mouseDrag();ctx.clearRect(0,0,canvasWidth,canvasHeight);drawWorld(world,ctx);world.Step(c,d);setTimeout("step("+(a||0)+")",10)}function setupWorld(a){if(!a)a=0;world=createWorld()}function createBirds(a,b,c,d){var e=document.createElement("div");e.width=c;e.height=c;e.style.position="absolute";e.style.left=-c+"px";e.style.top=-c+"px";e.style.cursor="default";text=document.createElement("div");text.onSelectStart=null;text.innerHTML='<img src="'+d+'" width="'+c+'"/>';text.style.position="absolute";text.style.left="0px";text.style.top="0px";text.style.fontFamily="Georgia";text.style.textAlign="center";e.appendChild(text);text.style.left=(c/2-text.clientWidth)/2+"px";text.style.top=(c/2-text.clientHeight)/2+"px";$("#container").append(e);elements.push(e);var f=new b2BodyDef;var g=new b2CircleDef;g.radius=c/2;g.density=1;g.friction=.3;g.restitution=.8;f.AddShape(g);f.userData={element:e};f.position.Set(posLogo.left+450+a,posLogo.top+20);f.linearVelocity.Set(0,Math.random()*10);bodies.push(world.CreateBody(f))}function createBox(a,b,c,d,e,f,g){if(typeof f=="undefined")f=true;if(typeof g=="undefined")g=0;var h=new b2BoxDef;if(!f)h.density=1;h.extents.Set(d,e);var i=new b2BodyDef;i.AddShape(h);i.position.Set(b,c);i.rotation=g*Math.PI/180;return a.CreateBody(i)}function createGround(a,b,c,d,e){var f=new b2BoxDef;f.extents.Set(d,e);f.restitution=.95;var g=new b2BodyDef;g.AddShape(f);g.position.Set(b,c);return a.CreateBody(g)}function createWorld(){var a=new b2AABB;a.minVertex.Set(-5e3,-5e3);a.maxVertex.Set(window.innerWidth+2e3,window.innerHeight+2e3);var b=new b2Vec2(0,60);var c=true;var d=new b2World(a,b,c);createGround(d,posAbgrund.left,posLogo.top+40,700,1);createBox(d,posAbgrund.left+780,posLogo.top,1,2e3,true,65);createBox(d,posAbgrund.left+165,posLogo.top+20,160,20,true);createBox(d,posAbgrund.left,posLogo.top,1,2e3,true,-65);return d}function getBodyAtMouse(){var a=new b2Vec2;a.Set(mouse.x,mouse.y);var b=new b2AABB;b.minVertex.Set(mouse.x-100,mouse.y-100);b.maxVertex.Set(mouse.x+100,mouse.y+100);var c=10;var d=new Array;var e=world.Query(b,d,c);var f=null;for(var g=0;g<e;++g){if(d[g].m_body.IsStatic()==false){if(d[g].TestPoint(a)){f=d[g].m_body;break}}}return f}function drawShape(a,b){b.strokeStyle="#ffffff";b.beginPath();switch(a.m_type){case b2Shape.e_circleShape:{var c=a;var d=c.m_position;var e=c.m_radius;var f=16;var g=0;var h=2*Math.PI/f;b.moveTo(d.x+e,d.y);for(var i=0;i<f;i++){var j=new b2Vec2(e*Math.cos(g),e*Math.sin(g));var k=b2Math.AddVV(d,j);b.lineTo(k.x,k.y);g+=h}b.lineTo(d.x+e,d.y);b.moveTo(d.x,d.y);var l=c.m_R.col1;var m=new b2Vec2(d.x+e*l.x,d.y+e*l.y);b.lineTo(m.x,m.y)}break;case b2Shape.e_polyShape:{var n=a;var o=b2Math.AddVV(n.m_position,b2Math.b2MulMV(n.m_R,n.m_vertices[0]));b.moveTo(o.x,o.y);for(var i=0;i<n.m_vertexCount;i++){var k=b2Math.AddVV(n.m_position,b2Math.b2MulMV(n.m_R,n.m_vertices[i]));b.lineTo(k.x,k.y)}b.lineTo(o.x,o.y)}break}b.stroke()}function drawJoint(a,b){var c=a.m_body1;var d=a.m_body2;var e=c.m_position;var f=d.m_position;var g=a.GetAnchor1();var h=a.GetAnchor2();b.strokeStyle="#00eeee";b.beginPath();switch(a.m_type){case b2Joint.e_distanceJoint:b.moveTo(g.x,g.y);b.lineTo(h.x,h.y);break;case b2Joint.e_pulleyJoint:break;default:if(c==world.m_groundBody){b.moveTo(g.x,g.y);b.lineTo(f.x,f.y)}else if(d==world.m_groundBody){b.moveTo(g.x,g.y);b.lineTo(e.x,e.y)}else{b.moveTo(e.x,e.y);b.lineTo(g.x,g.y);b.lineTo(f.x,f.y);b.lineTo(h.x,h.y)}break}b.stroke()}function drawWorld(a,b){for(i=0;i<bodies.length;i++){var c=bodies[i];var d=elements[i];d.style.left=c.m_position0.x-(d.width>>1)+"px";d.style.top=c.m_position0.y-(d.height>>1)+"px"}}var posCanvas=0;var posAbgrund=0;var posLogo=0;var initId=0;var world=createWorld();var ctx;var canvasWidth;var canvasHeight;var canvasTop;var canvasLeft;var bodies,elements,text;var walls=[];var wall_thickness=200;var wallsSetted=false;bodies=[];elements=[];var delta=[0,0];var birds=[{x:140,y:80,size:30,img:"/wp-content/themes/portfolio2/bird5_40.gif"},{x:170,y:80,size:30,img:"/wp-content/themes/portfolio2/bird2_80.gif"},{x:200,y:80,size:30,img:"/wp-content/themes/portfolio2/bird4_30.gif"}];var stage=[window.screenX,window.screenY,window.innerWidth,window.innerHeight];var timeStep=1/60;var mouse={x:0,y:0};var mouseJoint;window.onload=function(){posCanvas=$("#container").position();posAbgrund=$("#page").position();posLogo=$("#logo").position();setupWorld();ctx=$("canvas")[0].getContext("2d");var a=$("canvas")[0];a.style.position="absolute";a.style.left=0;a.style.top=0;a.width=window.innerWidth;a.height=300;canvasWidth=parseInt(a.width);canvasHeight=parseInt(a.height);canvasTop=parseInt(a.style.top);canvasLeft=parseInt(a.style.left);$("#contactbird").css("position","absolute");$("#contactbird").css("left",posAbgrund.left+630);$("#contactbird").css("top",posLogo.top+30);document.onmousemove=onDocumentMouseMove;setWalls();for(i=0;i<birds.length;i++){createBirds(birds[i].x,birds[i].y,birds[i].size,birds[i].img)}$("#birdies").show();$("#container").show();$("#canvas").show();$("#contactbird").show();step()};$(window).resize(function(){posCanvas=$("#container").position();posAbgrund=$("#page").position();posLogo=$("#logo").position();$("#contactbird").css("position","absolute");$("#contactbird").css("left",posAbgrund.left+630);$("#contactbird").css("top",posLogo.top+30);var a;if(bodies){for(a=0;a<bodies.length;a++){var b=bodies[a];world.DestroyBody(b);b=null}}$("#container").html("");bodies=[];elements=[];ctx.clearRect(0,0,canvasWidth,canvasHeight);setupWorld();for(a=0;a<birds.length;a++){createBirds(birds[a].x,birds[a].y,birds[a].size,birds[a].img)}})
