/* 

	Derived from a script by Dziudek. 

	Author: GavickPro <support@gavick.com>     

	version: 2.6 - dev

*/



window.addEvent("load", function(){

	

	/*

		Ilość user-position na stronie

	*/

	

	var GA = 5;

	

	/*

		Maksymalna  ilość kolumn w każdym user-position

	*/

	

	var GMA = [3,3,3,3,3,3];

	

	/*

		Tablica marginesów - każda komórka tablicy to kolumna w user-position

		Pierwszy element komórki to lewy margines, a drugi element komórki to

		prawy margines

	*/

	

	var margin_tab = [

		false,

		[0,0],[10,0],[10,0],

		[0,0],[10,0],[10,0],

		[0,0],[10,0],[10,0],

		[0,0],[10,0],[10,0],

		[0,0],[10,0],[10,0],

		[0,0],[10,0],[10,0]

	];

	

	/*

		Bazowe przesunięcie dla pętli

	*/

	

	var base = 1;

	

	/*

		Indeksowanie dla sum marginesów

	*/

	

	var k = 1; 

	

	var sum = [false];

	

	/*

		Uzupełnienie tablicy marginesów

	*/

	

	margin_tab.each(function(el,i){

		sum[i] = (!!el) ? (el[0] + el[1]) : false;

	});



	/*

		Pętla wykonywana dla każdego user-position

	*/

	

	for(var j=0;j<GA;j++){

		/*

			Jeżeli dany user-position jest zdefiniowany

		*/

		

		if($("user_position-"+(j+1))){ 

			

			/*

				Pobranie szerokości user-position

			*/

			

			var parent_width = ($("user_position-"+(j+1)).getSize().size.x) - 1; 

			

			/*

				Obramowanie modułów

			*/

			

			var border = 0;

			

			/*

				Tablica modułów

			*/

			

			var gk_array = [false];

			

			/*

				Ilość aktywnych [widocznych na stronie] kolumn

			*/

			

			var a = 0;

			

			/*

				Suma marginesów do odjęcia od długości bloku user-position

			*/

			

			var sum_t = 0;			

			

			/*

				Jeżeli jest zdefiniowana kolumna lewa

			*/

			

			if($E("div.us_"+(j+1)+"-left")){

				

				/*

					Dodaj w tablicy na pozycji base+1

				*/

				

				gk_array[base+1] = $E("div.us_"+(j+1)+"-left");

				

				/*

					Zwiększ sumę marginesów o marginesy tego bloku

				*/

				

				sum_t = sum_t + sum[base+1];

				

				/*

					Zwiększenie ilości aktywnych kolumn [potrzebne przy obliczaniu szerokości każej kolumny]

				*/

				

				a++;

			}else{

				gk_array[base+1] = false;

			}

			

			/*

				Jeżeli są zdefiniowane kolumny środkowe

			*/

			

			if($E("div.us_"+(j+1)+"-center")){

				

				for(var k = 2;k < GMA[j];k++){

					

					if($ES("div.us_"+(j+1)+"-center")[k-2]){

						if($E("div.us_"+(j+1)+"-center") && !$E("div.us_"+(j+1)+"-left")){

							gk_array[base+k-2] = $E("div.us_"+(j+1)+"-center");

							

							gk_array[base+k] = false;

							

							sum_t = sum_t + sum[base+k-2];

							

							a++;

						}else{

							gk_array[base+k] = $ES("div.us_"+(j+1)+"-center")[k-2];

						

							sum_t = sum_t + sum[base+k];

						

							a++;

						}

					}else{

						gk_array[base+k] = false;

					}

				}

			}

			

			/*

				Jeżeli jest zdefiniowana kolumna prawa

			*/

			

			if($E("div.us_"+(j+1)+"-right")){

				

				/*

					Dodaj w tablicy na pozycji base+GMA

				*/

				

				gk_array[base+GMA[j]] = $E("div.us_"+(j+1)+"-right");

				

				/*

					Zwiększ sumę marginesów o marginesy tego bloku

				*/



				sum_t = sum_t + sum[base+GMA[j]];

				

				/*

					Zwiększenie ilości aktywnych kolumn [potrzebne przy obliczaniu szerokości każej kolumny]

				*/

				

				a++;

			}else{

				gk_array[base+GMA[j]] = false;

			}

			

			

			/*

				Obliczanie szerokości pojedyńczego modułu:

				od szerkości user-position odejmujemy sumę marginesów

				dzielimy to przez ilość widocznych kolumn

			*/

			

			var width = Math.floor((parent_width - sum_t) / a);

			

			var ix = 0;

			var str = '';

			

			/*

				Poprawka dla IE - usuwanie pól "undefined" z tablicy

			*/

			

			if(window.ie){

				var gk_array_n = [];

				var i = 0;

				gk_array.forEach(function(el){

					if($defined(el)){

						gk_array_n[i] = el;

						i++;

					}

				});

				

				gk_array = gk_array_n;

			}

			

			/*

				Nadanie szerokości i marginesów elementom - kolumnom

			*/

			

			gk_array.forEach(function(el){

				if(el != false){

					el.setStyles({"width":(width-(2*border)) + "px"});

				

					el.setStyles({

						"margin-right" : margin_tab[base+ix-1][1] + "px",

						"margin-left" : margin_tab[base+ix-1][0] + "px"

					});

				}



				ix++;

			});

			

			/*

				Zwiększenie indeksu bazowego o ilość elementów w danym user-position

			*/

			

			base = base + GMA[j];

		}

	}

	

	$$("#jwscroller-inner img").setStyle("border","none");

});