points=new Array();var x=0,y=0,z=0,h=0,v=0;function treeToPoints(a,c,b){if(points.length==0){point=new Object();point.x=0;point.y=0;point.z=0;points.push(point);$("#debug").html("")}$(a).children(".ctr.act").each(function(){var d=$(this).children(".label").text();var f=Number($(this).children(".param").children("input").val());$(this).children(".ctr.mod").each(function(){var g=$(this).children(".label").text();var i=$(this).children(".param").children("input").val();if(g=="fade in"){f=f*(c/b)}if(g=="fade out"){f=f*(1-(c/b))}if(g=="sinus"){f=f*(Math.sin(c*(1/i)*Math.PI))}if(g=="cosinus"){f=f*(Math.cos(c*(1/i)*Math.PI))}if(g=="noise"){f=f+f*(Math.random()-0.5)*(i/100)}if(g=="flip"){f=f*(((c*(1/i))%2-1>0)?1:-1)}});if(d=="fly"||d=="fly hidden"){x=x+(Math.sin(h)*Math.cos(v)*f);y=y+(Math.sin(v)*f);z=z+(Math.cos(h)*Math.cos(v)*f);vis=((d=="fly hidden")?false:true);point=new Object();point.x=x;point.y=y;point.z=z;point.v=vis;points.push(point)}if(d=="turn vertical"){v=(v+((f*Math.PI*2)/360))%(2*Math.PI)}if(d=="turn horizontal"){h=(h+((f*Math.PI*2)/360))%(2*Math.PI)}if(d=="repeat"){for(var e=0;e<f;e++){treeToPoints($(this).children(".sub"),e,f)}}})}function centerPoints(){ext.px=sysCenter;ext.nx=sysCenter;ext.py=sysCenter;ext.ny=sysCenter;ext.pz=sysCenter;ext.nz=sysCenter;for(var a=0;a<points.length;a++){if(ext.px.x<points[a].x){ext.px=points[a]}if(ext.nx.x>points[a].x){ext.nx=points[a]}if(ext.py.y<points[a].y){ext.py=points[a]}if(ext.ny.y>points[a].y){ext.ny=points[a]}if(ext.pz.z<points[a].z){ext.pz=points[a]}if(ext.nz.z>points[a].z){ext.nz=points[a]}}center=new Object();center.x=(ext.px.x+ext.nx.x)/2;center.y=(ext.py.y+ext.ny.y)/2;center.z=(ext.pz.z+ext.nz.z)/2;for(var a=0;a<points.length;a++){points[a].x=points[a].x-center.x;points[a].y=points[a].y-center.y;points[a].z=points[a].z-center.z}}$(document).ready(function(){var d=$(window).height();var b=$(window).width();$("#cnv").css({left:(b/2)+"px",width:(b/2-35)+"px",height:(d-60)+"px"});function c(i){return'<div class="'+i+'">'+$("."+i+".source").html()+"</div>"}var a=new Array();a.flyVis="distance";a.flyInvis="distance";a.turnH="angle";a.turnV="angle";a.repeat="times";a.sinus="period";a.cosinus="period";a.noise="in %";a.flip="period";var g;function f(j,i){$(".lab").html(c("ctr"));$(".lab .ctr > .label").text($(j).text());if(a[$(j).attr("class")]){$(".lab .ctr .param .label").text("("+a[$(j).attr("class")]+")")}else{$(".lab .ctr .param").remove()}if(i=="act"){$(".lab .ctr").addClass("act")}if(i=="mod"){$(".lab .ctr").addClass("mod")}if(($(g).parents(".sub").size()<1)||(i=="mod")||($(j).text()=="repeat")){$(".lab .ctr .hLine").remove();$(".lab .ctr .addMod").remove()}if($(j).text()=="repeat"){$(".lab .ctr").append("<div class='sub'>"+c("line")+c("addAction")+"</div>")}$(".menu").hide();if(i=="act"){$(g).parent().after(c("line")+c("addAction")).after($(".lab .ctr")).after(c("line"))}if(i=="mod"){$(g).hide().before($(".lab .ctr"))}e()}function e(){$(".plus").unbind().click(function(){var i=$(this).offset();$(".menu.act").css({top:(i.top)+"px",left:(i.left+22)+"px"});$(".menu.act").fadeIn();g=this});$(".addMod").unbind().click(function(){var i=$(this).offset();$(".menu.mod").css({top:(i.top)+"px",left:(i.left+22)+"px"});$(".menu.mod").fadeIn();g=this});$(".menu.act a").unbind().click(function(){f(this,"act")});$(".menu.mod a").unbind().click(function(){f(this,"mod")});$("a.delete").unbind().click(function(){if($(this).parent().attr("class")=="ctr act"){$(this).parent().prevUntil(".ctr").remove();$(this).parent().remove()}if($(this).parent().attr("class")=="ctr mod"){$(this).parent().next().show();$(this).parent().remove()}});$("body").unbind().click(function(i){if($(i.target).parents(".menu").size()<1&&$(i.target).parent().attr("class")!="plus"&&$(i.target).attr("class")!="addMod"){$(".menu").hide()}})}$("#tree").prepend(c("addAction"));e();$("#draw").click(function(){points=new Array();x=0,y=0,z=0,d=0,v=0;treeToPoints($("#tree"));centerPoints();p=points;zX=0})});
