/**
 * @author pawel
 * Klasa do obsługi galerii w dla elementu:
 * 
 */

function conf_galeria()
{
	this._count_imges = 0; //ilość zdjęć w galerii
	this._galeria_id = 0; //indetyfikator w bazie danych z rekordem dla danej galerii
	this._id_opcja = 0;
	this._count_img = 3; //ilość mniejszych zdjęć wyświetlanych na liście zdjęć
	this._id_wrapper_img = '';
	this._id_big_img = '';
	this._id_list_img = '';
	this._class_image_big = '';
	this._class_load_big = '';
	this._id_list_images = '';
	this._class_load_small = '';
	this._id_object_galeria = 0; //key z tablicy obiektów klasy: galeria
	this._id_opis_zdjecie = '';
}

function galeria()
{
	
	this._conf_galeria = null;
	
	this._get_index = function(p_key)
	{
		var tablica = p_key.split(/\_{1}/);
		return tablica[1];
	}
	
	//Ładuje ikonę ładowania
	this._set_img_loader = function()
	{
		$(this._conf_galeria._id_big_img).removeClass(this._conf_galeria._class_image_big);
		$(this._conf_galeria._id_big_img).addClass(this._conf_galeria._class_load_big);
		$(this._conf_galeria._id_big_img).attr({ 
        	src: base_url + 'img/symbole/ajax-loader.gif',
        	alt: ""});
	}
	
	//Ładuje zdjęcie
	this._set_img_big = function(p_xml)
	{
		$(this._conf_galeria._id_big_img).removeClass(this._conf_galeria._class_load_big);
		$(this._conf_galeria._id_big_img).addClass(this._conf_galeria._class_image_big);
		$(this._conf_galeria._id_big_img).attr({ 
			src: $("src", p_xml).text(),
			alt: ""});
		$(this._conf_galeria._id_wrapper_img + ' > a').attr({ 
			href: $("link", p_xml).text()});
		$(this._conf_galeria._id_opis_zdjecie).empty().text($("opis", p_xml).text());
	}
	
	this.set_config = function(p_config)
	{
		this._conf_galeria = p_config;
		this._conf_galeria._galeria_id = typeof p_config._galeria_id == 'undefined' ? this._conf_galeria._galeria_id : p_config._galeria_id;
		this._conf_galeria._id_opcja = typeof p_config._id_opcja == 'undefined' ? this._conf_galeria._id_opcja : p_config._id_opcja;
		this._conf_galeria._count_img = typeof p_config._count_img == 'undefined' ? this._conf_galeria._count_img : p_config._count_img;
		this._conf_galeria._id_wrapper_img = typeof p_config._id_wrapper_img == 'undefined' ? this._conf_galeria._id_wrapper_img : p_config._id_wrapper_img;
		this._conf_galeria._id_big_img = typeof p_config._id_big_img == 'undefined' ? this._conf_galeria._id_big_img : p_config._id_big_img;
		this._conf_galeria._id_list_img = typeof p_config._id_list_img == 'undefined' ? this._conf_galeria._id_list_img : p_config._id_list_img;
		this._conf_galeria._class_image_big = typeof p_config._class_image_big == 'undefined' ? this._conf_galeria._class_image_big : p_config._class_image_big;
		this._conf_galeria._class_load_big = typeof p_config._class_load_big == 'undefined' ? this._conf_galeria._class_load_big : p_config._class_load_big;
		this._conf_galeria._id_list_images = typeof p_config._id_list_images == 'undefined' ? this._conf_galeria._id_list_images : p_config._id_list_images;
		this._conf_galeria._class_load_small = typeof p_config._class_load_small == 'undefined' ? this._conf_galeria._class_load_small : p_config._class_load_small;
		this._conf_galeria._id_object_galeria = typeof p_config._id_object_galeria == 'undefined' ? this._conf_galeria._id_object_galeria : p_config._id_object_galeria;
		this._conf_galeria._id_opis_zdjecie = typeof p_config._id_opis_zdjecie == 'undefined' ? this._conf_galeria._id_opis_zdjecie : p_config._id_opis_zdjecie;
	}
	
	this.load_img = function(p_name_file, p_with, p_height)
	{
		var obj_galeria = this;
		if (jQuery.trim(p_name_file) != '')
		{
			obj_galeria._set_img_loader();
			$.post(base_url + "galeria/get_image/" + this._conf_galeria._galeria_id,
					{
						p_name_file: p_name_file,
						p_with: parseInt(p_with),
						p_height: parseInt(p_height),
						p_id_opcja: obj_galeria._conf_galeria._id_opcja
					},
					function(xml)
					{
						obj_galeria._set_img_big(xml);
					},
					'xml'
				);
		}
	}
	
	this.load_list_img = function(p_with_big, p_height_big, p_with_small, p_height_small)
	{
		var obj_galeria = this;
		obj_galeria._set_img_loader();
		$.post(base_url + "galeria/get_images/" + this._conf_galeria._galeria_id,
				{
					p_with_big: parseInt(p_with_big),
					p_height_big: parseInt(p_height_big),
					p_with_small: parseInt(p_with_small),
					p_height_small: parseInt(p_height_small),
					p_count_img: obj_galeria._conf_galeria._count_img,
					p_id_object_galeria: obj_galeria._conf_galeria._id_object_galeria,
					p_id_opcja: obj_galeria._conf_galeria._id_opcja
				},
				function(xml)
				{
					obj_galeria._set_img_big(xml);
					$(obj_galeria._conf_galeria._id_list_images).empty().html($("list", xml).text());
					obj_galeria._conf_galeria._count_imges = parseInt($("count_imges", xml).text());
				},
				'xml'
			);
	}
	
	this.set_item = function(p_kierunek, p_with_big, p_height_big, p_with_small, p_height_small)
	{
		var element_img = '';
		var obj_galeria = this;
		var galeria_id = -1;

		if (p_kierunek == 'poprzedni')
		{
			galeria_id = parseInt(this._get_index($(this._conf_galeria._id_list_images + " > li:first > a").attr("id")));
			if (galeria_id > 0)
			{
				galeria_id--;
				$(obj_galeria._conf_galeria._id_list_images + " > li:last").remove();
				$(obj_galeria._conf_galeria._id_list_images + " > li:first").before('<li><a href="#" onclick="return false;"><img class="img_load_element" src="' + base_url + 'img/symbole/ajax-loader.gif" alt=""/></a></li>');
				$.post(base_url + "galeria/get_image_item/" + obj_galeria._conf_galeria._galeria_id,
						{
							p_with_small: parseInt(p_with_small),
							p_height_small: parseInt(p_height_small),
							p_with_big: parseInt(p_with_big),
							p_height_big: parseInt(p_height_big),
							p_index: galeria_id,
							p_id_object_galeria: obj_galeria._conf_galeria._id_object_galeria,
							p_id_opcja: obj_galeria._conf_galeria._id_opcja
						},
						function(xml)
						{
							$(obj_galeria._conf_galeria._id_list_images + " > li:first").removeClass('img_load_element');
							$(obj_galeria._conf_galeria._id_list_images + " > li:first").empty().html($("link", xml).text());
						},
						'xml'
					);
			}
		}
		if (p_kierunek == 'nastepny')
		{
			galeria_id = parseInt(this._get_index($(this._conf_galeria._id_list_images + " > li:last > a").attr("id")));
			if (galeria_id < (this._conf_galeria._count_imges -1))
			{
				galeria_id++;
				$(obj_galeria._conf_galeria._id_list_images + " > li:first").remove();
				$(obj_galeria._conf_galeria._id_list_images + " > li:last").after('<li><a href="#" onclick="return false;"><img class="img_load_element" src="' + base_url + 'img/symbole/ajax-loader.gif" alt=""/></a></li>');
				$.post(base_url + "galeria/get_image_item/" + obj_galeria._conf_galeria._galeria_id,
						{
							p_with_small: parseInt(p_with_small),
							p_height_small: parseInt(p_height_small),
							p_with_big: parseInt(p_with_big),
							p_height_big: parseInt(p_height_big),
							p_index: galeria_id,
							p_id_object_galeria: obj_galeria._conf_galeria._id_object_galeria,
							p_id_opcja: obj_galeria._conf_galeria._id_opcja
						},
						function(xml)
						{
							$(obj_galeria._conf_galeria._id_list_images + " > li:last").removeClass('img_load_element');
							$(obj_galeria._conf_galeria._id_list_images + " > li:last").empty().html($("link", xml).text());
						},
						'xml'
					);
			}
		}
	}
	
}
//koniec
