(function (lib, img, cjs) {

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

// library properties:
lib.properties = {
	width: 1280,
	height: 720,
	fps: 30,
	color: "#FFFFFF",
	manifest: [
		{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/Bitmap13.png", id:"Bitmap13"},
		{src:"images/Bitmap14.png", id:"Bitmap14"},
		{src:"images/Bitmap15.png", id:"Bitmap15"},
		{src:"images/Bitmap16.png", id:"Bitmap16"},
		{src:"images/Bitmap17.png", id:"Bitmap17"},
		{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"}
	]
};



// symbols:



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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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

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

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


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

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

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


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

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

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


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

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

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


(lib.Symbol31 = 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,124,193);
p.frameBounds = [rect];


(lib.Symbol30 = 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,124,193);
p.frameBounds = [rect];


(lib.Symbol29 = 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,124,193);
p.frameBounds = [rect];


(lib.Symbol28 = 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,124,193);
p.frameBounds = [rect];


(lib.Symbol27 = 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,124,193);
p.frameBounds = [rect];


(lib.Symbol26 = 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,124,193);
p.frameBounds = [rect];


(lib.Symbol25 = 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,124,193);
p.frameBounds = [rect];


(lib.Symbol24 = 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,124,193);
p.frameBounds = [rect];


(lib.Symbol23 = 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,124,193);
p.frameBounds = [rect];


(lib.Symbol22 = 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,124,193);
p.frameBounds = [rect];


(lib.Symbol21 = 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,123,193);
p.frameBounds = [rect];


(lib.Symbol20 = 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,124,193);
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: '33482',
			title: 'Dobierz w pary karty, według wzoru, prezentujące taką samą wartość.',
			type: 'drag',
			container: this,
			prefix: 'drag_',
			prefix2: 'drop_',	 
			groupdrags: {		
				1: [1,2,3,4,5,6,7,8,9,10,11,12,13,14],
			},
			results: [
				/*drop_1:*/ '1',
				/*drop_2:*/ '1',
				/*drop_3:*/ '1',
				/*drop_4:*/ '1',	
				/*drop_5:*/ '1',	
				/*drop_6:*/ '1',	
				/*drop_7:*/ '1',	
				/*drop_8:*/ '1',	
				/*drop_9:*/ '1',		
				/*drop_10:*/ '1',
				/*drop_11:*/ '1',
				/*drop_12:*/ '1',
				/*drop_13:*/ '1',
				/*drop_14:*/ '1',
			],
			range: 20,
			alpha: 0,
			alpha2: 0,
			//scale: 0.8,
			rotation: 'auto',
			//size: 'auto',
			//zindex: 3,
			
			endsound: 'ssBrawa', exerciseAfterInit: function(container) {
				//container['drag_1'].rotate = 60;
			},
			exerciseBeforeFinish: function(container) {
				
			},
			exerciseExtraCheck: function(config, dragCurrent, dropIndex, isCorrect) {		
				/*
				Istancje obiektów na scenie, które mają zostać sparowane powinny mieć kolejne indeksy w nazwie,
				np drag_1 i drag_2, drag_3 i drag_4 itd. Indeksy nieparzyste będą miały prawidłową pozycję po lewej stronie,
				a parzyste po prawej. Zatem jeżeli umieścimy np obiekcie drop_1 obiekty o nazwie drag_2, funkcja zwróci błąd.
				W obiekcie drop_ z parzystym indeksem możemy umieścić tylko obiekt drag_ z również parzystym indeksem.
				To samo tyczy się obiektów z indeksami nieparzystymi.
				
				Następnie funkcja sprawdzi czy upuszczone obiekty drag_ maja kolejne indeksy, jeżeli nie zwróci błąd. 
				*/
				return dropPairCheck(config, dragCurrent, dropIndex, isCorrect);
				//commmon.js
			},
		}
		
		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));

	// content
	this.drop_2 = new lib.Symbol21();
	this.drop_2.setTransform(1120.5,399.5,1,1,0,0,0,61.5,96.5);

	this.drop_1 = new lib.Symbol20();
	this.drop_1.setTransform(997,399.5,1,1,0,0,0,62,96.5);

	this.drag_14 = new lib.Symbol33();
	this.drag_14.setTransform(1203.7,604.2,1,1,0,0,0,62,96.5);

	this.drag_13 = new lib.Symbol32();
	this.drag_13.setTransform(629.7,598.6,1,1,-16.7,0,0,62.1,96.5);

	this.drag_12 = new lib.Symbol31();
	this.drag_12.setTransform(544.7,612.4,1,1,16.2,0,0,62,96.5);

	this.drag_11 = new lib.Symbol30();
	this.drag_11.setTransform(980.8,603.7,1,1,19.5,0,0,62,96.5);

	this.drag_10 = new lib.Symbol29();
	this.drag_10.setTransform(1050.9,603.6,1,1,0,0,0,62,96.5);

	this.drag_9 = new lib.Symbol28();
	this.drag_9.setTransform(428.7,612.4,1,1,0,0,0,62,96.5);

	this.drag_8 = new lib.Symbol27();
	this.drag_8.setTransform(352,611.9,1,1,-11.7,0,0,62,96.5);

	this.drag_7 = new lib.Symbol26();
	this.drag_7.setTransform(1104.7,598.9,1,1,-13.5,0,0,62,96.5);

	this.drag_6 = new lib.Symbol25();
	this.drag_6.setTransform(864.7,614.3,1,1,-11.2,0,0,62.1,96.5);

	this.drag_5 = new lib.Symbol24();
	this.drag_5.setTransform(252.1,612.5,1,1,12.4,0,0,62.1,96.5);

	this.drag_4 = new lib.Symbol23();
	this.drag_4.setTransform(158.6,599.6,1,1,-15,0,0,62,96.5);

	this.drag_3 = new lib.Symbol22();
	this.drag_3.setTransform(810.1,598.9,1,1,20.2,0,0,62,96.5);

	this.drag_2 = new lib.Symbol21();
	this.drag_2.setTransform(705.2,603.6,1,1,0,0,0,61.5,96.5);

	this.drag_1 = new lib.Symbol20();
	this.drag_1.setTransform(81.6,603.6,1,1,0,0,0,62,96.5);

	this.drop_14 = new lib.Symbol33();
	this.drop_14.setTransform(843,399.5,1,1,0,0,0,62,96.5);

	this.drop_13 = new lib.Symbol32();
	this.drop_13.setTransform(719,399.5,1,1,0,0,0,62,96.5);

	this.drop_12 = new lib.Symbol31();
	this.drop_12.setTransform(564,399.5,1,1,0,0,0,62,96.5);

	this.drop_11 = new lib.Symbol30();
	this.drop_11.setTransform(440,399.5,1,1,0,0,0,62,96.5);

	this.drop_10 = new lib.Symbol29();
	this.drop_10.setTransform(286,399.5,1,1,0,0,0,62,96.5);

	this.drop_9 = new lib.Symbol28();
	this.drop_9.setTransform(162,399.5,1,1,0,0,0,62,96.5);

	this.drop_8 = new lib.Symbol27();
	this.drop_8.setTransform(1120,181.5,1,1,0,0,0,62,96.5);

	this.drop_7 = new lib.Symbol26();
	this.drop_7.setTransform(996,181.5,1,1,0,0,0,62,96.5);

	this.drop_6 = new lib.Symbol25();
	this.drop_6.setTransform(842,181.5,1,1,0,0,0,62,96.5);

	this.drop_5 = new lib.Symbol24();
	this.drop_5.setTransform(718,181.5,1,1,0,0,0,62,96.5);

	this.drop_4 = new lib.Symbol23();
	this.drop_4.setTransform(563,181.5,1,1,0,0,0,62,96.5);

	this.drop_3 = new lib.Symbol22();
	this.drop_3.setTransform(439,181.5,1,1,0,0,0,62,96.5);

	this.timeline.addTween(cjs.Tween.get({}).to({state:[{t:this.drop_3},{t:this.drop_4},{t:this.drop_5},{t:this.drop_6},{t:this.drop_7},{t:this.drop_8},{t:this.drop_9},{t:this.drop_10},{t:this.drop_11},{t:this.drop_12},{t:this.drop_13},{t:this.drop_14},{t:this.drag_1},{t:this.drag_2},{t:this.drag_3},{t:this.drag_4},{t:this.drag_5},{t:this.drag_6},{t:this.drag_7},{t:this.drag_8},{t:this.drag_9},{t:this.drag_10},{t:this.drag_11},{t:this.drag_12},{t:this.drag_13},{t:this.drag_14},{t:this.drop_1},{t:this.drop_2}]}).wait(1));

	// bg
	this.instance = new lib.Symbol35();
	this.instance.setTransform(285,181.5,1,1,0,0,0,62,96.5);

	this.instance_1 = new lib.Symbol34();
	this.instance_1.setTransform(161,181.5,1,1,0,0,0,62,96.5);

	this.instance_2 = new lib.Bitmap17();
	this.instance_2.setTransform(99,85);

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

}).prototype = p = new cjs.MovieClip();
p.nominalBounds = rect = new cjs.Rectangle(19.6,85,1246.1,637.4);
p.frameBounds = [rect];


// 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(659.6,445,1246.1,637.4);
p.frameBounds = [rect];

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