	var Peces;
	var mousex;
	var mousey;
	var lastPress;
	var x1, y1;
	var segundos=0;
	var clickX,  clickY;
	var numClicks=0;
	var atrapar=false; 
	var xAtrapar, yAtrapar;
	var xNumClick, yNumClick;
	var reaparecer=0;
	var Pescados;
	var firstTime=false;
	var tiempo=5;
function initLevel () {

	levelWidth =30000; //Igual o mayor a 960;
	levelHeight =4000; //Igual o mayor a 540;
	imgData = ["tariacuri.png","dirtpath.png","Cielo.jpg","casita.png", "grass.png", 
	"grass2.png","viejita.png", "waves.png", "Lancha.png","waves_big.png", "fish2.png", "Pescador.png", "Mountain.png", "coci.png"
	, "tapar.png"];

	audioData=["Patz"];
	

	var arboles1=3400;
	var arboles2=415;
	var contador=0;
	Pescados=[new Pescado(5000,3150),new Pescado(6000,3150),new Pescado(7000,3150),new Pescado(8000,3150),
	new Pescado(9000,3150), new Pescado(10000,3150),new Pescado(11000,3150),new Pescado(12000,3150),new Pescado(13000,3150),
	 new Pescado(14000,3150) ];
		      

	var cielo=[[0,false],[2,0,0]];  

	var suelo=[[1,true], [-100,100, 100,4000], [2400,3300,200,500],[3500,3170,12000,200],[3800,2500,500,1000],[15500,2500,400,1000],
	[19500,3000,500,1000],[24700,3000,500,1000]];
	var olaDetras=[[1,false],new Wave(9, 4500, 3000, 11000, 600,1)];
	var olaDetras2=[[0.9,false], new Wave(9, 4500, 3010, 11000,600, 0.7) ];
	var olaDelante=[[1.1,false],new Wave(9, 4500, 3050, 12000, 600, 0.5)];
	var olaDelante2=[[1,false], new Wave(9, 4500, 3070, 11000, 600,0.5) ];

	var Mountain=[[1, false], [12, 3900, 2800], [12, 19600, 3500], [12,24620,3500]]

 	var pastoDelante=[[1.2,false], ];
 	var pastoDetras=[[0.7,false],];
	var objetos=[[1,false], new Vejita(2300,3500), Pescados[0], Pescados[1],  Pescados[2],
	Pescados[3],Pescados[4] , Pescados[5],Pescados[6],Pescados[7],Pescados[8], Pescados[9], new Pescador(15400, 2900)]; 
	var nubes=[[0.5,false],new Clouds(0,0,20000,4000)];
	var casa=[[1,false],[3, 200, 3100],[3, 1100, 3100], [3, 20200, 3100], [3, 21200, 3100], [3, 22200, 3100], new Terminar (23200, 3330)];
	var olas=[[1,false]];



	levelData = [cielo,nubes,casa,pastoDetras,suelo,olaDetras,olaDetras2,objetos,pastoDelante,olaDelante,olaDelante2, Mountain]; //Poner las capas en el orden 
	respawn = [[0,500],[1899,3500],[4500,2000],[9600,500],[14200,500]]; //Puntos de respawn.

	levelData.init = function () {
		
		Peces= new Counter(780, 0, 10);
		enableInputs();
		Peces.counter=0;

		
		//suelo colision
		levelData[4]=levelData[4].concat(insertTiles(1,0,3800,11,1,0,0)); //1=La imagen //0,700 X,Y
																   //10 RepX 1 RepY  //0,0 X,Y Space
																   //Deben ser minimo 1.
		
        levelData[3]=levelData[3].concat(insertTiles(4,20,2600,2,1,-500,0));

        //lo ultimo 13500, 500
        
		player=new Player(0,[1, 1, 10, 10, 1, 1, 1, 1],111,160,0,3700);
		ivan =new Ivan(200,3500);
		camera= new Camera([[3500,1/2], [20000,3/4]]);
		levelData[7]=levelData[7].concat(player,ivan);
		levelData[8]=levelData[8].concat(insertTiles(5,-70,4300,3,1,-350,0));

		levelData[4]=levelData[4].concat(insertTiles(1,20000,3800,21,5,0,1));

		
		

	}

	levelData.logic = function () {
		
		if(cutscene==undefined&&fade.state=='idle'){ 
			cutscene = new Cutscene([[0, 3300]], [["Tariácuri hemos llegado a un nuevo pueblo, vayamos a recorrerlo para |conocer más sobre él."]]); }
		
		

	}

	levelData.draw = function (i, displacementRatio) {
		// context.fillText("Y="+player.y_pos, 0, 50)
		// context.fillText("xMouse="+mousex+", yMouse="+mousey+" LP="+lastPress, 0, 100);
		// context.fillText("xFigura="+x1+", yFigura="+y1+" #clicks="+numClicks, 0, 200);
		//  context.fillText("reaparecer="+reaparecer, 0, 300);
		// context.fillText("xClick="+clickX+", yClick="+clickY+" #clicks="+numClicks, 0, 400);
		// context.fillText("X="+player.x_pos, 0, 500);

		Peces.draw();
		if (firstTime) {
			context.font="bold 16px Arial";
			context.fillText("¡Presiona shift!", x1-100,y1);
			
		}

		if(atrapar){

			context.font="bold 16px Arial";
			context.fillText("¡Da click rápidamente sobre", xAtrapar,yAtrapar);
			context.fillText("el pez, hasta llegar 30!", xAtrapar,yAtrapar+20);
			context.fillText("Tiempo="+tiempo.toFixed(2), xNumClick,yNumClick-30);
			context.fillText("#="+numClicks, xNumClick,yNumClick);

		}


	
	}

}

var contador = 0;

function Vejita (x_pos, y_pos) {
	this.imageCode = 6;
	this.x_pos = x_pos;
	this.y_pos = y_pos;
	var talked = false;
	this.draw = function (){
		//console.log("asdf " + on_cutscene + " " + talked + " " + cutscene + " " + fade.state);
		//on_cutscene = false;
		drawOnCanvas(imgData[6], this.x_pos-camera.x_pos, this.y_pos-camera.y_pos);
		if(player.isColliding(this.x_pos, this.y_pos, 1010, 788)&&pressed_control&&!on_cutscene){
			var string = ["Tsíri: ¡Bienvenido a Pátzcuaro! Principal centro religioso de la región."+
						  "|Se dice que aquí se encuentra la puerta hacia el cielo por donde |"+
						  "descienden y suben los dioses."];
			string=string.concat("Mi nombre es Tsíri que significa maíz en Purépecha.");
			
			
			string=string.concat("Por desgracia me tengo que ir a ayudar a mi esposo ya que debemos|"+
								"pescar para poder cocinar el delicioso kuruchi urapiti conocido como |"+
								"pescado blanco.");
			string=string.concat("¿Ah dices que tú estás dispuesto a ayudarme? Bueno en ese caso si |"+
								 "ayudas a mi esposo a pescar, te daré algo especial.");
			string=string.concat("Ahora prepárate para ir al lago de Pátzcuaro para pescar, encontrarás a|"+
								 "mi esposo al final del lago. Buena suerte.");
			cutscene = new Cutscene([[this.x_pos-canvas.width/2, this.y_pos-canvas.height/2+200]], [string]);
			talked=true;
			

		}
		if(talked) {
			if(cutscene.finished){
				if(fade.state != 'fadeout'){
					fade.out();
					
				}
				if(fade.state=='idle'){

					player.image=imgData[8];
					player.x_pos = 4500;
					player.y_pos = 2900; //3500
					player.width = 505;
					player.height = 285;
					player.jump_speed = 0;
					player.animData=[1,1,2,2];
					running_speed=200;	
					firstTime=true;

					camera.move();
					
					talked = false;
					fade.in();
				}
			}
		}


	}


}

function Terminar (x_pos, y_pos) {
	this.imageCode = 13;
	this.x_pos = x_pos;
	this.y_pos = y_pos;
	var talked = false;
	this.draw = function (){
		//console.log("asdf " + on_cutscene + " " + talked + " " + cutscene + " " + fade.state);
		//on_cutscene = false;
		drawOnCanvas(imgData[13], this.x_pos-camera.x_pos, this.y_pos-camera.y_pos);
		if(player.isColliding(this.x_pos, this.y_pos, 1010, 788)&&pressed_control&&!on_cutscene){
			var string = ["Muy buen trabajo, joven aventurero. Muchas gracias por|"+
					 		"tu ayuda, ahora por fin podré cocionar mi delicioso pescado blanco."];

			
			
			string=string.concat("Ahora como recompensa te daré una guaromútacua también conocida|"+
		 		 "como red de mariposa, para que así puedas pescar en tus viajes.");
	
			cutscene = new Cutscene([[this.x_pos-canvas.width/2+100, this.y_pos-canvas.height/2+400]], [string]);
			talked=true;
			

		}
		if(talked) {
			if(cutscene.finished){
				ending.init("Pátzcuaro");
		}


	}
	 }

}



function Pescador (x_pos, y_pos) {
	this.imageCode = 11;
	this.x_pos = x_pos;
	this.y_pos = y_pos;
	var talked = false;
	this.draw = function (){
		//console.log("asdf " + on_cutscene + " " + talked + " " + cutscene + " " + fade.state);
		//on_cutscene = false;
		drawOnCanvas(imgData[11], this.x_pos-camera.x_pos, this.y_pos-camera.y_pos);
		if(player.isColliding(this.x_pos, this.y_pos, 1010, 788)&&pressed_control&&!on_cutscene){
			var string = ["Uarhuri: Ah así que mi esposa Tsíri te ha enviado a ayudarme.|"+
						 " Yo soy Uarhuri, que significa pescador. "  ];
			string=string.concat(" Hoy no he tenido mucha suerte con la pesca. Pero veamos que tal|"+
							"te ha ido a ti. Veo que has conseguido "+Peces.counter+" peces.");

		 	if(Peces.counter==10)
				string=string.concat("Muy bien, justo la cantidad de peces que necesitamos.|"+
								 "Ahora continúa y  entregáselos a mi esposa Tsíri.");
			else string = string.concat("Por desgracia necesitamos 10 peces, tendrás que regresar a pescar |un poco más.");
			cutscene = new Cutscene([[this.x_pos-canvas.width/2, this.y_pos-canvas.height/2+200]], [string]);
			talked=true;
			

		}
		if(talked) {
			if(cutscene.finished){
				if(Peces.counter==10)
				{
					if(fade.state != 'fadeout'){
						fade.out();
					}
					if(fade.state=='idle'){

						player.image=imgData[0];
						player.x_pos = 20000;
						player.y_pos = 3300; //3500
						player.width = 111;
						player.height = 160;
						player.jump_speed = 1000;
						player.animData=[1, 1, 10, 10, 1, 1, 1, 1];
						running_speed=500;

						camera.move();
						
						talked = false;
						fade.in();
					}
				}
				else{
					if(fade.state != 'fadeout'){
						fade.out();
					}
					if(fade.state=='idle'){

						for(var i=0;i<10;i++){
						if(!Pescados[i].atrapado)
							{Pescados[i].exists=true;
							Pescados[i].talked=false;
							 }
							}
						player.x_pos = 4600;
						player.y_pos = 2900; //3500
						
							
						
						camera.move();
						
						talked = false;
						fade.in();

					}
				}
			}

		}


	}


}


function Pescado (x_pos, y_pos) {
	this.imageCode = 10;
	this.x_pos = x_pos;
	this.y_pos = y_pos;
	this.talked = false;
	this.exists = true;
	this.atrapado=false;
	this.draw = function (){
		//console.log("asdf " + on_cutscene + " " + talked + " " + cutscene + " " + fade.state);
		//on_cutscene = false;
			if(!this.exists)
			return;
		x1=this.x_pos-camera.x_pos; y1=this.y_pos-camera.y_pos;
		drawOnCanvas(imgData[10], this.x_pos-camera.x_pos, this.y_pos-camera.y_pos);


		if(player.isColliding(this.x_pos, this.y_pos, 1010, 788)&&pressed_control&&!on_cutscene){
			var string = ["¡Un pez blanco! Intenta capturarlo dando click rápidamente sobre él.|"
						+"Cuentas con 5 segundos, listo en 3...2...1...¡Comienza!"];

		
			cutscene = new Cutscene([[this.x_pos-canvas.width/2, this.y_pos-canvas.height/2+200]], [string]);
				
				

			this.talked=true;
			

		}
		if(this.talked) {
			firstTime=false;
			if(cutscene.finished){
				
				segundos+=dt;

				
				xAtrapar=x1-350;
				yAtrapar=y1+30;
				xNumClick=x1+200;
				yNumClick=y1+100;
				if(segundos<=5){
					tiempo-=dt;
					atrapar=true;
					if(lastPress==1){
	            	clickX=mousex;
	            	clickY=mousey;
	            	lastPress=0; 
	            	
	            	if(clickX>=x1 && clickY>=y1 && clickX<=x1+128 && clickY<=y1+128)
	            		numClicks++;
	            	}
				}

				else {
					tiempo=5;
					if(numClicks>=30)
	            		{cutscene = new Cutscene([[this.x_pos-canvas.width/2, this.y_pos-canvas.height/2+200]], [["¡Has capturado un pez blanco!"]]);
	            			Peces.add();
	            			segundos=0;
	            			numClicks=0;
	            			atrapar=false;
	            			this.atrapado=true;
	            			this.exists=false}
	            		else 
	            			{cutscene = new Cutscene([[this.x_pos-canvas.width/2, this.y_pos-canvas.height/2+200]], [["¡Que lástima se ha escapado!"]]);
	            			segundos=0;
	            			numClicks=0;
	            			atrapar=false;
	            			this.exists=false;
	            			}
				}
			}
		}


	}


}

    function enableInputs(){
        document.addEventListener('mousemove',function(evt){
            mousex=evt.pageX-canvas.offsetLeft;
            mousey=evt.pageY-canvas.offsetTop;
        },false);
        canvas.addEventListener('mousedown',function(evt){
            lastPress=evt.which;
            
        },false);
    }

