Micribiology game using kineticjs
===

I am designing a microbiology game. in the game i need the user to draw line in a circle and then rotate the circle including the lines. 
However, if i use a "group"  to group the circle , then draw the lines, the lines are not drawn in the circle.

after this if i move the group the lines are not drawn in the circle but some where else on the layer.

Any help or suggestion would be much appreciated.
Thanks

**working copy:** 
click begin, then click on two red circles beside the circle next to undo button

[Micbiology game link][1]

  [1]: http://micro-detective.hostei.com/

here is the code: i first get  the x an y co-ordinates on click and then draw a line on mouse move

    petriDish.on("click", function(event) {        
        
        var item = new UndoObjects();
        item.id= this.getId();
        item.name = this.getName();
        item.Xaxis = this.getX();
        item.Yaxis = this.getY();
        item.itemLayer = 'itemsLayer';
        undoManager.push(item);
        
        if(petridishGroup.getLayer().getName() == 'gamePlayLayer')
        {
            CanPerformStreaking();
            petridishGroup.setDraggable(true);
                        
            gamePlayLayer.draw();
            itemsLayer.draw();
            
            document.body.style.cursor = "default";
            x= event.layerX;
            y= event.layerY;
            startX = x; 
            startY = y;
             
            // if click and were drawing then stop drawing 
            if(drawing)
            {
                drawing = false;
                clearInterbal(mouseStopTimer);                  
            }
            else{
                drawing = true;  
                MoveStopDetector();
            }
        }else
        {
            //this.setY(notificationLayer.getY()+120);
            petridishGroup.moveTo(gamePlayLayer);            
            petriDish.setRadius(50);
            itemsLayer.draw();
        }                  
             
        petriDish.draggable = false; 
    });
            
    petriDish.on("mouseover mousemove", function(event) {
        document.body.style.cursor = "pointer";
        
        if(petridishGroup.getLayer().getName() != 'gamePlayLayer')
        {
            petriDish.setRadius(40);
            itemsLayer.draw();
        }  
        else{
            if(drawing)
            {
                clearInterval(mouseStopTimer);                    
                MoveStopDetector();
                if(x >0 && y> 0 && drawing && allowStreaking)
                {
                    var redLine = new Kinetic.Line({
                        points: [x,y, event.layerX, event.layerY],
                        stroke: "red",
                        strokeWidth: 3,
                        lineCap: "round",
                        lineJoin: "round"
                    });
                    x = event.layerX;
                    y = event.layerY;
                        
                    petridishGroup.add(redLine);
                    petridishGroup.setDraggable(true);
                    petriDish.draggable=false;     
                    gamePlayLayer.draw();                     
                }
            }   
        }
                             
    });
      