			function CPromoPanel () {
				
				this.activatorID		= 'promo01_activator';
				this.bodyID				= 'promo01_body';
				
				this.activator	= document.getElementById(this.activatorID);
				this.body		= document.getElementById(this.bodyID);
				
				
				this.Show = function() {
					this.activator.style.display	= 'none';
					this.body.style.display			= 'block';
				}

				this.Hide = function() {
					this.activator.style.display	= 'block';
					this.body.style.display			= 'none';
				}
				
				
				this.Hide();
				return;
				//////
				this.panelID			= parent_id;
				this.parentObject		= null;
				this.parentSetObject	= null;
				this.objectVariableName	= objectVariableName;

				this.folderRootId		= '_galroot_' + parent_id;
				this.inputNewFolderId	= parent_id + 'folderNewName';
				this.itemsSetRootId		= '_galitems_' + parent_id;
				this.itemsAvailableId	= parent_id + 'itemsAvailable';

				this.selectedFolderId	= null;
				this.selectedFolderNum	= null;
				
				this.numForFolderId = 0;
				this.numForSubFolderId = 0;
				this.prefixForFolderId = '_gf_' + parent_id + '_';
				
				this.getIdForNewFolder = function () {
					return this.prefixForFolderId + (++this.numForFolderId); 
				}
				this.getIdForNewSubFolder = function () {
					return this.prefixForFolderId + this.numForFolderId + '_0'; 
				}
				this.getIdForNewSubFolderItem = function () {
					return this.prefixForFolderId + this.numForFolderId + '_' + (++this.numForSubFolderId); 
				}
				
				this.folderAdd = function (name, id) {
					if (ul = this.folderRoot()) {
						li = document.createElement('li');
						idFold = this.getIdForNewFolder();
						var newAttr = document.createAttribute('id');
						newAttr.nodeValue = idFold;
						li.setAttributeNode(newAttr);
						li.innerHTML = name + '<a href="javascript:' + this.objectVariableName + '.folderSelect(\'' + idFold + '\');">Wybierz</a>';
						li.innerHTML = li.innerHTML + '<a href="javascript:' + this.objectVariableName + '.folderRemove(\'' + idFold + '\');">Usuń</a>';
						li.className = '_panel_galobj_selected_li';
						ul.appendChild(li);
						this.formCreateFolderInfo(li, name, this.numForFolderId);
						this.folderSelect(idFold);
					}
				}

				this.folderAddNew = function () {
					if (this.parentObject)
						if (input = document.getElementById(this.inputNewFolderId))
							if (val = new String(input.value)) {
								val = val.replace(/^\s+|\s+$/g, '')
								if (val.length)
									this.folderAdd(val, 0);
							}
								
				}

				this.folderRoot = function () {
					if (this.parentObject) {
						if (! (ul = document.getElementById(this.folderRootId)) ) {
							ul = document.createElement('ul');
							var newAttr = document.createAttribute('id');
							newAttr.nodeValue = this.folderRootId;
							ul.setAttributeNode(newAttr);
							ul.className = '_panel_galobj_selected_ul';
							this.parentObject.appendChild(ul);
						}
						return ul;
					}
				}

				this.folderSelect = function(id) {
					if (this.parentObject)
						if (ul = document.getElementById(this.folderRootId))
							if (lis = ul.childNodes) //ul.getElementsByTagName('li'))
								if (lis)
									if (lis.length);
										for (i = 0; i < lis.length; i++)
											if (lis[i].tagName == 'LI')
											if (lis[i].getAttribute('id') == id) {
												lis[i].className = '_panel_galobj_selected_li_selected';
												this.selectedFolderId = id;
												this.selectedFolderNum = this.selectedFolderId.substr(this.prefixForFolderId.length, this.selectedFolderId.length); 
											}
											else
												lis[i].className = '_panel_galobj_selected_li';  
					if (id == 0) {
						this.selectedFolderId	= null;
						this.selectedFolderNum	= null;
					} 
				}

				this.folderRemove = function(id) {
					if (this.parentObject)
						if (ul = document.getElementById(this.folderRootId))
							if (lis = ul.childNodes) //getElementsByTagName('li'))
								if (lis)
									if (lis.length)
										for (i = 0; i < lis.length; i++)
											if (lis[i].tagName == 'LI')
											if (lis[i].getAttribute('id') == id) {
												ul.removeChild(lis[i]);
												if (this.selectedFolderId == id) {
													this.selectedFolderId = null;
													this.selectedFolderNum	= null;
												}
												if (lis.length == 0)
													this.parentObject.removeChild(ul);
											}
				}

				this.itemAdd = function (name, id) {
					if (this.selectedFolderId) {
						if (ul = this.itemRootIn(this.selectedFolderId)) {
							li = document.createElement('li');
							idFold = this.getIdForNewSubFolderItem();
							var newAttr = document.createAttribute('id');
							newAttr.nodeValue = idFold;
							li.setAttributeNode(newAttr);
							li.innerHTML = name
							li.innerHTML = li.innerHTML + '<a href="javascript:' + this.objectVariableName + '.itemRemove(\'' + idFold + '\');">Usuń</a>';
							li.className = '_panel_galobj_selected_subli';
							this.formCreateItemInfo(li, name, this.selectedFolderNum, id, this.numForSubFolderId)
							ul.appendChild(li);
						}
					}
				}

				this.itemRootIn = function (parentId) {
					if (li = document.getElementById(parentId))
						if (uls = li.getElementsByTagName('ul'))
							if (!uls.length) {
								ul = document.createElement('ul');
								var newAttr = document.createAttribute('id');
								newAttr.nodeValue = this.getIdForNewSubFolder();
								ul.setAttributeNode(newAttr);
								ul.className = '_panel_galobj_selected_subul';
								li.appendChild(ul);
								return ul;
							}
							else
								return uls[0];
				}

				this.itemRemove = function (id) {
					if (item = document.getElementById(id))
						if (ul = document.getElementById(this.folderRootId))
							if (lis = ul.childNodes) //getElementsByTagName('li'))
								if (lis)
									if (lis.length)
										for (i = 0; i < lis.length; i++)
											if (lis[i].tagName == 'LI')
												if (subul = lis[i].childNodes)
													if (subul)
														if (subul.length)
															for (j = 0; j < subul.length; j++)
																if (subul[j].tagName == 'UL') //tu moze byc element
																	if (subli = subul[j].childNodes)
																		if (subli)
																			if (subli.length)
																				for (k = 0; k < subli.length; k++)
																					if (  (subli[k].tagName == 'LI') && (subli[k].getAttribute('id') == id) ) { //TO moze byc element
																						subul[j].removeChild(subli[k]);
																						if (subli.length == 0)
																							lis[i].removeChild(subul[j]);
																					}
				}


				this.itemAddToSet = function (name, id) {
					if (ul = this.itemSetRoot()) {
						li = document.createElement('li');
						idFold = this.getIdForNewFolder();
						var newAttr = document.createAttribute('id');
						newAttr.nodeValue = idFold;
						li.setAttributeNode(newAttr);
						li.innerHTML = name + '<a href="javascript:' + this.objectVariableName + '.itemAdd(\'' + name + '\', ' + id + ');">Wrzuć</a>';
						li.className = '_panel_galobj_avail_li';
						ul.appendChild(li);
						this.folderSelect(idFold);
					}
				}

				this.itemSetRoot = function () {
					if (this.parentSetObject) {
						if (! (ul = document.getElementById(this.itemsSetRootId)) ) {
							ul = document.createElement('ul');
							var newAttr = document.createAttribute('id');
							newAttr.nodeValue = this.itemsSetRootId;
							ul.setAttributeNode(newAttr);
							ul.className = '_panel_galobj_avail_ul';
							this.parentSetObject.appendChild(ul);
						}
						return ul;
					}
				}

				this.formCreateFolderInfo = function (elementparent, name, system_id) {
					input = document.createElement('input');
					var newAttr = document.createAttribute('name');
					newAttr.nodeValue = 'folder[' + system_id + '][name]';
					input.setAttributeNode(newAttr);
					var newAttr = document.createAttribute('value');
					newAttr.nodeValue = name;
					input.setAttributeNode(newAttr);
					var newAttr = document.createAttribute('type');
					newAttr.nodeValue = 'hidden';
					input.setAttributeNode(newAttr);
					elementparent.appendChild(input);
				}

				this.formCreateItemInfo = function (elementparent, name, system_folderid, system_id, num) {
					input = document.createElement('input');
					var newAttr = document.createAttribute('name');
					newAttr.nodeValue = 'folder[' + system_folderid + '][items][' + num + '][id]';
					input.setAttributeNode(newAttr);
					var newAttr = document.createAttribute('value');
					newAttr.nodeValue = system_id;
					input.setAttributeNode(newAttr);
					var newAttr = document.createAttribute('type');
					newAttr.nodeValue = 'hidden';
					input.setAttributeNode(newAttr);
					elementparent.appendChild(input);

					input = document.createElement('input');
					var newAttr = document.createAttribute('name');
					newAttr.nodeValue = 'folder[' + system_folderid + '][items][' + num + '][name]';
					input.setAttributeNode(newAttr);
					var newAttr = document.createAttribute('value');
					newAttr.nodeValue = name;
					input.setAttributeNode(newAttr);
					var newAttr = document.createAttribute('type');
					newAttr.nodeValue = 'hidden';
					input.setAttributeNode(newAttr);
					elementparent.appendChild(input);

					input = document.createElement('input');
					var newAttr = document.createAttribute('name');
					newAttr.nodeValue = 'folder[' + system_folderid + '][items][' + num + '][counter]';
					input.setAttributeNode(newAttr);
					var newAttr = document.createAttribute('value');
					newAttr.nodeValue = '0';
					input.setAttributeNode(newAttr);
					var newAttr = document.createAttribute('type');
					newAttr.nodeValue = 'hidden';
					input.setAttributeNode(newAttr);
					elementparent.appendChild(input);
				}

				if (
					!(this.parentObject = document.getElementById(this.panelID))
					||
					!(this.parentSetObject = document.getElementById(this.itemsAvailableId))
					) {
						this.parentObject	= false;
						this.parentSetObject	= false;
				}
				else {
				}
				
			}

