var stage = null;
var player = {x:128,y:100};
var velocity = {x:10,y:5};
$(function(){
    var gameDiv = $('#game');
    var h = gameDiv.height();
    var w = gameDiv.width();
    stage = new Kinetic.Stage({
        container:'game',
        width:w,
        height:h,
        listening:false
    });
  
    /*
    var loadingScreen = new Kinetic.Layer();
    var loadingBG = new Kinetic.Rect({
        width:w,
        height:h,
        fill:"#333333"
    });
    var loadingBarBG = new Kinetic.Rect({
        width:406,
        height:24,
        x:w/2-250,
        y:h/2-12,
        fill:'#232323',
        cornerRadius:2
    });
    loadingScreen.add(loadingBG);
    loadingScreen.add(loadingBarBG);
   
    
    var loadingPoints = new Kinetic.Group();
 
    for(var i = 0;i<100;i++){
        var loadingPoint = new Kinetic.Rect({
            width:2,
            height:16,
            x:i*(4),
            y:2,
            name:i,
            offset:[-(w/2-246),-(h/2-10)],
            fill:'#818181'
        });
        loadingPoints.add(loadingPoint);
    }
    var loadingText = new Kinetic.Text({
        x: 0,
        y: 0,
        width:406,
        lineHeight:1,
        height:50,
        padding:10,
        align:'center',
        text: "Loading...",
        fontSize: 28,
        listening:false,
        fontFamily: "Calibri",
        textFill: "#FFFFFF",
        offset:[-(w/2-250),-(h/2-70)]
    });
   
   
    var percentText = new Kinetic.Text({
        x: 0,
        y: 0,
        text: "0%",
        fontSize: 10,
        fontFamily: "Calibri",
        textFill: "#FFFFFF",
        offset:[-(w/2-246),-(h/2+28)]
    });
    
    loadingScreen.add(loadingText);
    loadingPoints.add(percentText);
    loadingScreen.add(loadingPoints);
    
    stage.add(loadingScreen); */
    var loader = new Kinetic.Loader(toLoad);
    
    loader.onProgress(function(data){
        return;
        for(var i = 0,il = data.percent;i<il;i++){
            var point = loadingPoints.children[i];
            if(point){
                point.attrs.height = 16;
                point.attrs.fill = '#FFFFFF'; 
            }
          
        }
        point.attrs.height =30;
        var text = loadingPoints.children[100];
        text.attrs.x = (data.percent*4)-(16);
        text.setText(~~(data.percent)+'%');
        
        loadingScreen.draw(); 
    });
    loader.onError(function(data){
        console.warn("Error on Load "+data.name);
    });
    loader.onComplete(function(){
        
            var game = new Game();
            game.run("frontier_plains.json");
            return;
        var startText = new Kinetic.Text({
            x: 0,
            y: 0,
            width:406,
            lineHeight:1,
            height:50,
            padding:10,
            align:'center',
            text: "Start",
            fontSize: 14,
            listening:false,
            fontFamily: "Calibri",
            textFill: "#FFFFFF",
            offset:[-(w/2-250),-(h/2-70)]
        });
   
        var startBtn = new Kinetic.Image({
            image:Kinetic.Assets['button'],
            crop:{
                x:0,
                y:28,
                width:141,
                height:28
            },
            width:141,
            height:28,
            offset:[-(w/2-125),-(h/2-70)]
        });
        loadingScreen.remove(loadingText);
        loadingScreen.add(startBtn);
        loadingScreen.add(startText);
        
        loadingScreen.draw();
        startBtn.on("click",function(){
            stage.remove(loadingScreen);
      
           // var game = new Game();
          //  game.run("frontier_plains.json");
        });
      
       
    });
 
    loader.load();
     
});
var Game = function(){
    this.gameDiv = $('#game');
    this.stage = new Kinetic.Stage({
        container:'game',
        width:this.gameDiv.width(),
        height:this.gameDiv.height()
    });
    this.paused = false;
 
 
}
Game.prototype.render = function(diff){
  
    
    }
Game.prototype.update = function(){
    
   
    
    }
Game.prototype.run = function(level){
 
    //create Map
    var map = new Map(stage,player.x,player.y);
    map.load(level);
   
 
}
Game.prototype.pause = function(){
    this.paused = true;
}
Game.prototype.unpause = function(){
    this.paused = false;
}
 
  |