(function (lib, img, cjs) {

var p; // shortcut to reference prototypes
var rect; // used to reference frame bounds

// library properties:
lib.properties = {
	width: 1772,
	height: 898,
	fps: 30,
	color: "#FFFFFF",
	manifest: [
		{src:"images/_2075_03.png", id:"_2075_03"},
		{src:"images/Bitmap1.png", id:"Bitmap1"},
		{src:"images/Bitmap10.png", id:"Bitmap10"},
		{src:"images/Bitmap11.png", id:"Bitmap11"},
		{src:"images/Bitmap12.png", id:"Bitmap12"},
		{src:"images/Bitmap2.png", id:"Bitmap2"},
		{src:"images/Bitmap3.png", id:"Bitmap3"},
		{src:"images/Bitmap4.png", id:"Bitmap4"},
		{src:"images/Bitmap5.png", id:"Bitmap5"},
		{src:"images/Bitmap6.png", id:"Bitmap6"},
		{src:"images/Bitmap7.png", id:"Bitmap7"},
		{src:"images/Bitmap8.png", id:"Bitmap8"},
		{src:"images/Bitmap9.png", id:"Bitmap9"},
		{src:"images/gfx_drop.png", id:"gfx_drop"},
		{src:"images/nakladka.png", id:"nakladka"}
	]
};

// stage content:
(lib.index = function() {
	this.initialize();

	// exercise
	this.container = new lib.exerciseContainer();
	this.container.setTransform(916.5,389,1,1,0,0,0,916.5,389);

	this.addChild(this.container);
}).prototype = p = new cjs.Container();
p.nominalBounds = rect = new cjs.Rectangle(886,449,1772.1,898.6);
p.frameBounds = [rect];


// symbols:
(lib._2075_03 = function() {
	this.initialize(img._2075_03);
}).prototype = p = new cjs.Bitmap();
p.nominalBounds = new cjs.Rectangle(0,0,877,849);


(lib.Bitmap1 = function() {
	this.initialize(img.Bitmap1);
}).prototype = p = new cjs.Bitmap();
p.nominalBounds = new cjs.Rectangle(0,0,520,416);


(lib.Bitmap10 = function() {
	this.initialize(img.Bitmap10);
}).prototype = p = new cjs.Bitmap();
p.nominalBounds = new cjs.Rectangle(0,0,257,321);


(lib.Bitmap11 = function() {
	this.initialize(img.Bitmap11);
}).prototype = p = new cjs.Bitmap();
p.nominalBounds = new cjs.Rectangle(0,0,257,321);


(lib.Bitmap12 = function() {
	this.initialize(img.Bitmap12);
}).prototype = p = new cjs.Bitmap();
p.nominalBounds = new cjs.Rectangle(0,0,459,861);


(lib.Bitmap2 = function() {
	this.initialize(img.Bitmap2);
}).prototype = p = new cjs.Bitmap();
p.nominalBounds = new cjs.Rectangle(0,0,441,312);


(lib.Bitmap3 = function() {
	this.initialize(img.Bitmap3);
}).prototype = p = new cjs.Bitmap();
p.nominalBounds = new cjs.Rectangle(0,0,427,352);


(lib.Bitmap4 = function() {
	this.initialize(img.Bitmap4);
}).prototype = p = new cjs.Bitmap();
p.nominalBounds = new cjs.Rectangle(0,0,418,367);


(lib.Bitmap5 = function() {
	this.initialize(img.Bitmap5);
}).prototype = p = new cjs.Bitmap();
p.nominalBounds = new cjs.Rectangle(0,0,418,343);


(lib.Bitmap6 = function() {
	this.initialize(img.Bitmap6);
}).prototype = p = new cjs.Bitmap();
p.nominalBounds = new cjs.Rectangle(0,0,257,321);


(lib.Bitmap7 = function() {
	this.initialize(img.Bitmap7);
}).prototype = p = new cjs.Bitmap();
p.nominalBounds = new cjs.Rectangle(0,0,257,321);


(lib.Bitmap8 = function() {
	this.initialize(img.Bitmap8);
}).prototype = p = new cjs.Bitmap();
p.nominalBounds = new cjs.Rectangle(0,0,257,322);


(lib.Bitmap9 = function() {
	this.initialize(img.Bitmap9);
}).prototype = p = new cjs.Bitmap();
p.nominalBounds = new cjs.Rectangle(0,0,257,322);


(lib.gfx_drop = function() {
	this.initialize(img.gfx_drop);
}).prototype = p = new cjs.Bitmap();
p.nominalBounds = new cjs.Rectangle(0,0,200,200);


(lib.nakladka = function() {
	this.initialize(img.nakladka);
}).prototype = p = new cjs.Bitmap();
p.nominalBounds = new cjs.Rectangle(0,0,1920,1280);


(lib.Symbol16 = function() {
	this.initialize();

	// Layer 1
	this.instance = new lib.Bitmap1();

	this.addChild(this.instance);
}).prototype = p = new cjs.Container();
p.nominalBounds = rect = new cjs.Rectangle(0,0,520,416);
p.frameBounds = [rect];


(lib.Symbol15 = function() {
	this.initialize();

	// Layer 1
	this.instance = new lib.Bitmap5();

	this.addChild(this.instance);
}).prototype = p = new cjs.Container();
p.nominalBounds = rect = new cjs.Rectangle(0,0,418,343);
p.frameBounds = [rect];


(lib.Symbol14 = function() {
	this.initialize();

	// Layer 1
	this.instance = new lib.Bitmap4();

	this.addChild(this.instance);
}).prototype = p = new cjs.Container();
p.nominalBounds = rect = new cjs.Rectangle(0,0,418,367);
p.frameBounds = [rect];


(lib.Symbol13 = function() {
	this.initialize();

	// Layer 1
	this.instance = new lib.Bitmap3();

	this.addChild(this.instance);
}).prototype = p = new cjs.Container();
p.nominalBounds = rect = new cjs.Rectangle(0,0,427,352);
p.frameBounds = [rect];


(lib.Symbol12 = function() {
	this.initialize();

	// Layer 1
	this.instance = new lib.Bitmap2();

	this.addChild(this.instance);
}).prototype = p = new cjs.Container();
p.nominalBounds = rect = new cjs.Rectangle(0,0,441,312);
p.frameBounds = [rect];


(lib.Symbol10 = function() {
	this.initialize();

	// Layer 1
	this.instance = new lib._2075_03();
	this.instance.setTransform(-438.5,-424.5);

	this.addChild(this.instance);
}).prototype = p = new cjs.Container();
p.nominalBounds = rect = new cjs.Rectangle(-438.5,-424.5,877,849);
p.frameBounds = [rect];


(lib.Symbol8 = function() {
	this.initialize();

	// Layer 1
	this.instance = new lib.Bitmap12();

	this.addChild(this.instance);
}).prototype = p = new cjs.Container();
p.nominalBounds = rect = new cjs.Rectangle(0,0,459,861);
p.frameBounds = [rect];


(lib.Symbol7 = function() {
	this.initialize();

	// Layer 1
	this.instance = new lib.Bitmap11();

	this.addChild(this.instance);
}).prototype = p = new cjs.Container();
p.nominalBounds = rect = new cjs.Rectangle(0,0,257,321);
p.frameBounds = [rect];


(lib.Symbol6 = function() {
	this.initialize();

	// Layer 1
	this.instance = new lib.Bitmap10();

	this.addChild(this.instance);
}).prototype = p = new cjs.Container();
p.nominalBounds = rect = new cjs.Rectangle(0,0,257,321);
p.frameBounds = [rect];


(lib.Symbol5 = function() {
	this.initialize();

	// Layer 1
	this.instance = new lib.Bitmap9();

	this.addChild(this.instance);
}).prototype = p = new cjs.Container();
p.nominalBounds = rect = new cjs.Rectangle(0,0,257,322);
p.frameBounds = [rect];


(lib.Symbol4 = function() {
	this.initialize();

	// Layer 1
	this.instance = new lib.Bitmap8();

	this.addChild(this.instance);
}).prototype = p = new cjs.Container();
p.nominalBounds = rect = new cjs.Rectangle(0,0,257,322);
p.frameBounds = [rect];


(lib.Symbol3 = function() {
	this.initialize();

	// Layer 1
	this.instance = new lib.Bitmap7();

	this.addChild(this.instance);
}).prototype = p = new cjs.Container();
p.nominalBounds = rect = new cjs.Rectangle(0,0,257,321);
p.frameBounds = [rect];


(lib.Symbol1 = function() {
	this.initialize();

	// Layer 1
	this.instance = new lib.Bitmap6();

	this.addChild(this.instance);
}).prototype = p = new cjs.Container();
p.nominalBounds = rect = new cjs.Rectangle(0,0,257,321);
p.frameBounds = [rect];


(lib.Symbol9 = function() {
	this.initialize();

	// Layer 1
	this.instance = new lib.Symbol10();
	this.instance.setTransform(438.5,424.5);

	this.addChild(this.instance);
}).prototype = p = new cjs.Container();
p.nominalBounds = rect = new cjs.Rectangle(0,0,877,849);
p.frameBounds = [rect];


(lib.exerciseContainer = function(mode,startPosition,loop) {
if (loop == null) { loop = false; }	this.initialize(mode,startPosition,loop,{});

	// timeline functions:
	this.frame_0 = function() {
		/* Ustawienia */
		var config = {
			id: '2119',
			title: 'Umieść postaci w odpowiednich miejscach.',
			type: 'drag',
			container: this,
			prefix: 'drag_',
			prefix2: 'drop_',
			/*
			groupdrags: {		
				1: ['1','2','3'],
				2: ['4','5','6'],
				3: ['7','8','9']
			},
			groupdrops: {
				1: ['1','2','3'],
				2: ['4','5','6'],
				3: ['7','8','9']
			},
			*/
			results: [
				/*drop_1:*/ '1',
				/*drop_2:*/ '2',
				/*drop_3:*/ '3|6',
				/*drop_4:*/	'4',
				/*drop_5:*/	'5',
				/*drop_6:*/	'3|6',
			],
			range: 100,
			alpha: 0,
			alpha2: 0,
			scale: 0.66,
			//rotation: 'auto',
			//size: 'auto',
			//zindex: 0,
			exerciseAfterInit: function () {
			},
			exerciseBeforeFinish: function () {
				var exerciseId = this.id; 
				var exerciseContainer = this.container;			
				var soundPrefix = 'drop_';
				
				var queue = new createjs.LoadQueue();
				queue.installPlugin(createjs.Sound);	
				createjs.Sound.alternateExtensions = ["ogg"];	
				
				for(var soundName in exerciseContainer) {
					if(soundName.indexOf(soundPrefix) > -1) {				
						var sound = exerciseContainer[soundName];
						var soundId = exerciseId+'_'+soundName.replace(soundPrefix, '');
						var soundSrc = getAssetDir()+'/sounds/'+soundId + '.mp3';
						sound.name = soundName;
						queue.loadFile({id:soundId, src:soundSrc});
					}
				}
			},
			exerciseExtraCheck: function (config, dragCurrent, dropIndex, isCorrect) {
				if(isCorrect === true) {
					createjs.Sound.play(config.id+'_'+dragCurrent.name.replace('drag_', ''));  
				}
			},
		}
		
		exerciseOnInit(config);
		
		this.stop();
		
		/*---------------------------------------------------------------------------------------------------------------
		/* Help
		/*---------------------------------------------------------------------------------------------------------------
		 
		id - Id cwiczenia
		title - Tytul cwiczenia
		type - Typ Cwiczenia
		contanier - Kontener cwiczenia
		groupdrags - Lista grup dagow oraz przypisane do nich identyfikatory (unikatowa liczba) obiektow bez prefixow
		groupdrags - Lista grup targetow oraz przypisane do nich identyfikatory (unikatowa liczba) obiektow bez prefixow
		prefix - Prefixy w nazwach obiektow
		results - Rozwiazanie jako tablica identyfikatorow. Znak '|' definuje alternatywe, a '&' oznacza sume.	
		Przyklad:
		Cwiczenie typu sort.
		Odpowiedzi: [5,2,1,4,5] - tablica z ulozonymi w odpowiedniej kolejnisci identyfikatorami obiektow sortowanych.
		Cwiczenie typu drag.
		Odpowiedzi: [5,1|3,2&4] - tablica z id obiektow przeciaganych lub grup. W tym wariancie kazdy kolejny element z indexem 'i' w tablicy odpowiada targetowi o nazwie 'prefix+i'.
		np. prawidlowa odpowiedzia dla drop_1 jest obiekt drag_5, dla drop_2 obiekt drag_1 lub drag_3, dla drop_3 obiekt drag_2 oraz drag_4.
		range - Zakres dociagania
		alpha - Przezroczystosc targetu
		alpha2 - Przezroczystosc targetu po najechaniu
		rotation - Dostosowanie obrotu obiektu do targetu
		scale - Skalowanie obiektu po upuszczeniu
		size - Skalowanie obiektu do rozmiarow targetu
		zindex - Pozycja z obiektu
		/*-------------------------------------------------------------------------------------------------------------*/
	}

	// actions tween:
	this.timeline.addTween(cjs.Tween.get(this).call(this.frame_0).wait(1));

	// drop
	this.drop_1 = new lib.Symbol1();
	this.drop_1.setTransform(545.9,282.8,0.66,0.66,0,0,0,128.5,160.5);

	this.drop_2 = new lib.Symbol3();
	this.drop_2.setTransform(910.7,286.8,0.66,0.66,0,0,0,128.5,160.5);

	this.drop_5 = new lib.Symbol6();
	this.drop_5.setTransform(594.9,576.1,0.66,0.66,0,0,0,128.5,160.6);

	this.drop_4 = new lib.Symbol5();
	this.drop_4.setTransform(959.7,590.9,0.66,0.66,0,0,0,128.6,161);

	this.drop_6 = new lib.Symbol7();
	this.drop_6.setTransform(234.5,579,0.66,0.66,0,0,0,128.5,160.6);

	this.drop_3 = new lib.Symbol4();
	this.drop_3.setTransform(104.8,578.6,0.66,0.66,0,0,0,128.5,160.9);

	this.drag_5 = new lib.Symbol6();
	this.drag_5.setTransform(1450.1,719,1,1,0,0,0,128.5,160.5);

	this.drag_6 = new lib.Symbol7();
	this.drag_6.setTransform(1642.9,719,1,1,0,0,0,128.5,160.5);

	this.drag_4 = new lib.Symbol5();
	this.drag_4.setTransform(1642.9,460.9,1,1,0,0,0,128.5,161);

	this.drag_3 = new lib.Symbol4();
	this.drag_3.setTransform(1450.1,460.9,1,1,0,0,0,128.5,161);

	this.drag_2 = new lib.Symbol3();
	this.drag_2.setTransform(1642.9,205.7,1,1,0,0,0,128.5,160.5);

	this.drag_1 = new lib.Symbol1();
	this.drag_1.setTransform(1450.1,205.7,1,1,0,0,0,128.5,160.5);

	this.timeline.addTween(cjs.Tween.get({}).to({state:[{t:this.drag_1},{t:this.drag_2},{t:this.drag_3},{t:this.drag_4},{t:this.drag_6},{t:this.drag_5},{t:this.drop_3},{t:this.drop_6},{t:this.drop_4},{t:this.drop_5},{t:this.drop_2},{t:this.drop_1}]}).wait(1));

	// content
	this.instance = new lib.Symbol16();
	this.instance.setTransform(260,668.7,1,1,0,0,0,260,208);

	this.instance_1 = new lib.Symbol15();
	this.instance_1.setTransform(1072.6,643.8,1,1,0,0,0,209,171.5);

	this.instance_2 = new lib.Symbol14();
	this.instance_2.setTransform(706.9,641.8,1,1,0,0,0,209,183.5);

	this.instance_3 = new lib.Symbol13();
	this.instance_3.setTransform(1026.9,344.2,1,1,0,0,0,213.5,176);

	this.instance_4 = new lib.Symbol12();
	this.instance_4.setTransform(670.2,321.1,1,1,0,0,0,220.5,156);

	this.instance_5 = new lib.Symbol8();
	this.instance_5.setTransform(1542.6,468.1,1,1,0,0,0,229.5,430.5);

	this.instance_6 = new lib.Symbol9();
	this.instance_6.setTransform(892.6,424.5,1,1,0,0,0,438.5,424.5);

	this.timeline.addTween(cjs.Tween.get({}).to({state:[{t:this.instance_6},{t:this.instance_5},{t:this.instance_4},{t:this.instance_3},{t:this.instance_2},{t:this.instance_1},{t:this.instance}]}).wait(1));

}).prototype = p = new cjs.MovieClip();
p.nominalBounds = rect = new cjs.Rectangle(0,0,1772.1,898.6);
p.frameBounds = [rect];

})(lib = lib||{}, images = images||{}, createjs = createjs||{});
var lib, images, createjs;