var NetManagerModuleGallery = NetManagerBase.extend({
	
	options: {
		formId: '',
		bShowEcard: true,
		slideshowInterval: 5000,
		site_id: 2,
		aJsonData: []
	},
	
	allImagesData: [],
	translate: null,
	
	initialize: function(options) {
		this.setOptions(options);
		this.translate = new NetManagerPlugini18n({translations: oI18N});
	},
	
	initGallery: function() {
		this.preloadImages();
		this.initSliderEvents();
		this.translate = this.getTranslations();
	},
	
	preloadImages: function() {
		var aImagesToPreload = [];
		aImagesToPreload.push('/images/front/ajax-loader-white.gif');
		aImagesToPreload.push('/images/front/popup-icon-close.gif');
		aImagesToPreload.push('/images/front/slideshow-nav-left.gif');
		aImagesToPreload.push('/images/front/slideshow-nav-right.gif');
		var preloadAsset = new Asset.images(aImagesToPreload);
	},
	
	initSliderEvents: function() {
		
		this.allImagesData = Json.evaluate(this.options.aJsonData);
		if ($defined($('pg_container'))) {
			$('pg_container').getElements('.picture a').each(function(picture, index) { 
				
				var imageData = this.options.aJsonData[index];
				//console.log('currentImageData:');
				//console.log(imageData);
				picture.addEvent('click', this.openSlideshow.pass([imageData, index], this))
				picture.getParent().getParent().getElement('p.openImage a').addEvent('click', this.openSlideshow.pass([imageData, index], this))
			}, this);
		}
	},
	
	initCategoryEvents: function() {
		/*$$('.blockGallery .picture a').each(function(oCat) {
			$(oCat).addEvent('click')
		});*/
	},
	
	showCategory: function(iCatId) {
		var oAjax = new NetManagerPluginAjax();
		oAjax.getAjax('/galerij/get-category/iParentId/' + iCatId, this.getGallery.bind(this), false);
	},
	
	getGallery: function(sResponse) {
		
		var oImgData = Json.evaluate(sResponse), aImagesToLoad = [], aImageProperties = [], loadedImages = [], timer, asset = [], aFiles = [], aFileProperties = [];
		var itemContainer, imgTitle, imgContainer, imgLink, imgText, imgTextLink;
		
		if (oImgData.length === 0) {
			
			console.log('empty gallery');
			return;
			
		} else {
			
			$('pg_container').empty();
			this.progress = new Element('div').setProperty('id','progress').inject($('pg_container'));
			this.bar = new Element('div').addClass('bar').inject(this.progress);
			
			$each(oImgData, function(oImg, i) {
									 
				if (oImg.extension.toLowerCase() === 'jpg' || oImg.extension.toLowerCase() === 'gif' || oImg.extension.toLowerCase() === 'png') {
					
					aImagesToLoad.push('/image/crop/iImageId/' + oImg.image_id + '/iWidth/128/iHeight/128');
					
					aImageProperties[i] 					= {};
					aImageProperties[i].image          		= '/image/crop/iImageId/' + oImg.image_id + '/iWidth/128/iHeight/128';
					aImageProperties[i].index          		= i;
					aImageProperties[i].id       	   		= oImg.id;
					aImageProperties[i].large_image_id 		= oImg.large_image_id;
					aImageProperties[i].large_resolution 	= oImg.large_resolution;
					aImageProperties[i].mime     	   		= oImg.extension;
					aImageProperties[i].filename 	   		= oImg.g_filename;
					aImageProperties[i].wiff     	   		= oImg.imagewidth;
					aImageProperties[i].heiff    	   		= oImg.imageheight;	
					aImageProperties[i].copyright  	   		= oImg.copyright;
					aImageProperties[i].site_id  	   		= oImg.site_id;
				}
			});
			
			$each(oImgData, function(oImg, i) {
									 
				if (oImg.extension.toLowerCase() !== 'jpg' && oImg.extension.toLowerCase() !== 'gif' && oImg.extension.toLowerCase() !== 'png') {
					
					aFileProperties[i] 						= {};
					aFileProperties[i].image_id       		= oImg.image_id;
					aFileProperties[i].large_image_id 		= oImg.large_image_id;
					aFileProperties[i].large_resolution 	= oImg.large_resolution;
					aFileProperties[i].id      		  		= oImg.id;
					aFileProperties[i].mime     	  		= oImg.extension;
					aFileProperties[i].filename 	  		= oImg.g_filename;
				}
			});
			
			if (aImagesToLoad.length > 0) {
				
				asset = new Asset.images(aImagesToLoad, {
	
					onProgress: function(i) {
						
						/*
						this.setStyles({
							'opacity': 0
						});
						*/
						
						var t = this;
						
						$each(aImageProperties, function (el) {
														  
							if (t.src.substring(36) == el.image) {
								
								aImageProperties[el.index].image = t;	
							}						
						});
						
						//aImageProperties[i].image = this;
						
						var percent = ((i + 1) * oGallery.progress.getStyle('width').toInt()) / aImageProperties.length;
						oGallery.bar.setStyle('width', percent).setHTML(i + 1 + ' / ' + aImageProperties.length);
					},
	
				    onComplete: function() {
						
				    	oGallery.progress.remove();
						
						var i = 0;
						var oRow;
						
				        aImageProperties.each(function(el) {
													   
							if (i == 0) {
								
								oRow = new Element('div').addClass('row').inject($('pg_container'));
							}
												   
							itemContainer = new Element('div').addClass('item').addClass(el.mime);
							imgTitle      = new Element('h4').setText(el.filename).inject(itemContainer);
							imgContainer  = new Element('div').addClass('picture').inject(itemContainer);
							
							imgLink       = new Element('a').setProperties({
																		   
								title	: el.filename,
								href	: 'javascript:void(0)'
							}).addEvent('click', function() {
								
								//oGallery.showImage(aImageProperties[el.index]);
								oGallery.openSlideshow(aImageProperties, el.index);
							}).inject(imgContainer);
							
							el.image.inject(imgLink);
	
				        	imgText 	  = new Element('p').inject(itemContainer);
				        	
				        	var sLinkText = (aImageProperties[el.index].site_id == 2) ? 'Image info & download' : 'Zoom Photo';
				        	
							imgTextLink   = new Element('a').setText(sLinkText).setProperties({
																							  
								title	: el.filename,
								href	: 'javascript:void(0)'
							}).addEvent('click', function() {
								
								//oGallery.showImage(aImageProperties[el.index]);
								oGallery.openSlideshow(aImageProperties, el.index);
							}).inject(imgText);
							
							itemContainer.inject(oRow);
							
							/*
							var fx = el.image.effects({duration: 200, wait: true});
		 
							fx.start({
							}).chain(function() {
								this.start.delay(10, this, {
									'opacity': 1
								});
							});
							*/
							
							i = i + 1;
							
							if (i == 4) {
								
								i = 0;
							}
				        });
				        
						aFileProperties.each(function(el) {
	
							if (i == 0) {
								oRow = new Element('div').addClass('row').inject($('pg_container'));
							}
												   
							itemContainer = new Element('div').addClass('item').addClass(el.mime);
							imgTitle      = new Element('h4').setText(el.filename).inject(itemContainer);
							imgContainer  = new Element('div').addClass('picture').inject(itemContainer);
							imgLink       = new Element('a').setProperties({
								title	: el.filename,
								href	: '/file/get/iFileId/' + el.id
							}).inject(imgContainer);
							
				        	var oIcon = new Asset.image('/images/cms/filetypes/' + el.mime + '.gif', {
										 
								alt: el.filename
								
							}).inject(imgLink);
				        	
							imgText 	  = new Element('p').inject(itemContainer);
							imgTextLink   = new Element('a').setText('Download file').setProperties({
								title	: el.filename,
								href	: '/file/get/iFileId/' + el.id
							}).inject(imgText);
							itemContainer.inject(oRow);
							
							i = i + 1;
							if (i == 4) {
								i = 0;
							}
							i++;
				        });
				    }
				});
			}
			else if (aFileProperties.length > 0) {
				oGallery.progress.remove();
				var i = 0;
				aFileProperties.each(function(el) {
					if (i == 0) {
						oRow = new Element('div').addClass('row').inject($('pg_container'));
					}
										   
					itemContainer = new Element('div').addClass('item').addClass(el.mime);
					imgTitle      = new Element('h4').setText(el.filename).inject(itemContainer);
					imgContainer  = new Element('div').addClass('picture').inject(itemContainer);
					imgLink       = new Element('a').setProperties({
						title	: el.filename,
						href	: '/file/get/iFileId/' + el.id
					}).inject(imgContainer);
					
		        	var oIcon = new Asset.image('/images/cms/filetypes/' + el.mime + '.gif', {
								 
						alt: el.filename
						
					}).inject(imgLink);
		        	
					imgText 	  = new Element('p').inject(itemContainer);
					imgTextLink   = new Element('a').setText('Download file').setProperties({
						title	: el.filename,
						href	: '/file/get/iFileId/' + el.id
					}).inject(imgText);
					itemContainer.inject(oRow);
					
					i = i + 1;
					if (i == 4) {
						i = 0;
					}
					i++;
		        });
			}
		}
	},
	
	showImage: function(aImageProperties) {
		var ajaxLoaderLeft = (window.getWidth() - 32) / 2 + window.getScrollLeft();
		var ajaxLoaderTop = (window.getHeight() - 32) / 2 + window.getScrollTop();
		
		var oOverlay = new Element('div').addClass('overlay').setOpacity(0.4).setStyles({
			'width'			: window.getScrollWidth(),
			'height'		: window.getScrollHeight(),
			'background'	: '#000 url(/images/front/ajax-loader.gif) ' + ajaxLoaderLeft + 'px ' + ajaxLoaderTop + 'px no-repeat'
		}).inject(document.body);
		
		var oPhotoPopup = new Element('div').addClass('photoPopup').setOpacity(0).setStyles({
			'top'			: (window.getHeight() - 614) / 2 + window.getScrollTop(),
			'left'			: (window.getWidth() - 698) / 2 + window.getScrollLeft()
		}).inject(document.body);
			
		var oHeader = new Element('h3').addClass('header').setHTML(aImageProperties.filename).inject(oPhotoPopup);
			
		var oClose = new Element('div').addClass('closeIcon').setProperty('title', 'Close window').addEvent('click', function() {
			$$('.overlay, .photoPopup').each(function(el) {
				el.remove();
			});
		}).inject(oPhotoPopup);
		
		var oContent = new Element('div').addClass('content').inject(oPhotoPopup);
		
		if(aImageProperties.site_id == 2) {
			
			var iWidthSmall = aImageProperties.imagewidth * 0.4;
			var iHeightSmall = aImageProperties.imageheight * 0.4;
			
			var iWidthMedium = aImageProperties.imagewidth * 0.7;
			var iHeightMedium = aImageProperties.imageheight * 0.7;
			
			var oButtonWeb = new Element('a').addClass('button buttonWeb').setText('Small').setProperties({
				title	: 'Download small size',
				href	: '/image/get-gallery/iImageId/' + aImageProperties.id + '/iWidth/' + Math.round(iWidthSmall)
			}).addEvent('click', function() {
				
			}).inject(oPhotoPopup);
			
			var oButtonPrint = new Element('a').addClass('button buttonPrint').setText('Middle').setProperties({
				title	: 'Download middle size',
				href	: '/image/get-gallery/iImageId/' + aImageProperties.id + '/iWidth/' + Math.round(iWidthMedium)
			}).addEvent('click', function() {
				
			}).inject(oPhotoPopup);
			
			var oButtonPress = new Element('a').addClass('button buttonPress').setText('Large').setProperties({
				title	: 'Download large size',
				href	: '/file/get/iFileId/' + aImageProperties.large_image_id
			}).addEvent('click', function() {
				
			}).inject(oPhotoPopup);
			
			var oDetails = new Element('dl').addClass('imageDetails').inject(oPhotoPopup);
			
			var oDtCopyright = new Element('dt').setText('Copyright:').inject(oDetails);
			var oDdCopyright = new Element('dd').setText(aImageProperties.copyright).inject(oDetails);
			
			var oDtName = new Element('dt').setText('Filename:').inject(oDetails);
			var oDdName = new Element('dd').setText(aImageProperties.filename).inject(oDetails);
			
			var oDtType = new Element('dt').setText('Filetype:').inject(oDetails);
			var oDdType = new Element('dd').setText(aImageProperties.mime).inject(oDetails);
			
			var oSizes = new Element('dl').addClass('imageSizes').inject(oPhotoPopup);
			
			var oDtWeb = new Element('dt').setText('Small size:').inject(oSizes);
			
			var oDdWeb = new Element('dd').setText(Math.round(iWidthSmall) + ' x ' + Math.round(iHeightSmall)).inject(oSizes);
			
			var oDtPrint = new Element('dt').setText('Middle size:').inject(oSizes);
			
			var oDdPrint = new Element('dd').setText(Math.round(iWidthMedium) + ' x ' + Math.round(iHeightMedium)).inject(oSizes);
			
			var oDtPress = new Element('dt').setText('Large size:').inject(oSizes);
			var oDdPress = new Element('dd').setText(aImageProperties.large_resolution).inject(oSizes);
		
		} else {
			
			if (this.options.bShowEcard) {
				var oButton = new Element('a').addClass('button').setText(this.translate._('Send e-card')).setProperties({
					title	: this.translate._('Send e-card'),
					href	: 'javascript:void(0)'
				}).addEvent('click', function() {
					oGallery.showEcardForm(aImageProperties.id);
				}).inject(oPhotoPopup);
			}
			var oCopyright = new Element('p').addClass('copyright').setText('Copyright: ' + aImageProperties.copyright).inject(oPhotoPopup);
		}	
		
		if(aImageProperties.imagewidth > 658 || aImageProperties.imageheight > 476) {
			
			if((aImageProperties.imagewidth / aImageProperties.imageheight) > (658 / 476)) {
				
				var iWidth = 658;
				
				var margin = (476 - parseInt(658 * aImageProperties.imageheight / aImageProperties.imagewidth)) / 2 + 'px 0 0 0';
			
			} else {
				
				var iWidth = parseInt(476 * aImageProperties.imagewidth / aImageProperties.imageheight);
				
				var margin = '0 0 0 ' + (658 - parseInt(476 * aImageProperties.imagewidth / aImageProperties.imageheight)) / 2 + 'px';
			}
			
			var oImageResized = new Asset.image('/image/get/iImageId/' + aImageProperties.id + '/iWidth/' + iWidth, {
							 
				alt: aImageProperties.filename,
				
				onload: function() {
					
					oImageResized.setStyle('margin', margin);
					
					oImageResized.inject(oContent);
					
					oPhotoPopup.setOpacity(1);
				}
			});
		
		} else {
			
			var oImageResized = new Asset.image('/image/get/iImageId/' + aImageProperties.id, {
							 
				alt: aImageProperties.filename,
				
				onload: function() {
					
					//oImageResized.setStyle('margin', margin);
					
					oImageResized.inject(oContent);
					
					oPhotoPopup.setOpacity(1);
				}
			});
		}
		/*oImageResized.addEvents({'click'     : this.cancelDownload.bindWithEvent(this), 
								 'mousedown' : this.cancelDownload.bindWithEvent(this), 
								 'mouseup'   : this.cancelDownload.bindWithEvent(this)});*/
	},
	
	openSlideshow: function(aImageProperties, allImages, startIndex) {
		
		
		//aImageProperties = Json.evaluate(this.options.aJsonData);
	//	$('cat_id').setStyle('display', 'none');
		
		var ajaxLoaderLeft = (window.getWidth() - 32) / 2 + window.getScrollLeft();
		var ajaxLoaderTop = (window.getHeight() - 32) / 2 + window.getScrollTop();
		
		var oOverlay = new Element('div').addClass('overlay').setOpacity(0.4).setStyles({
			'width'			: window.getScrollWidth(),
			'height'		: window.getScrollHeight(),
			'background'	: '#000 url(/images/front/ajax-loader.gif) ' + ajaxLoaderLeft + 'px ' + ajaxLoaderTop + 'px no-repeat'
		}).inject(document.body);
		
		var oPhotoPopup = new Element('div').addClass('photoPopup2').setStyles({
			'top'			: (window.getHeight() - 614) / 2 + window.getScrollTop(),
			'left'			: (window.getWidth() - 698) / 2 + window.getScrollLeft()
		}).inject(document.body);
			
		var oClose = new Element('div').addClass('closeIcon').setProperty('title', 'Close window').addEvent('click', function() {
			$$('.overlay, .photoPopup2').each(function(el) {
				el.remove();
			});
			//$('cat_id').setStyle('display', 'block');
		}).inject(oPhotoPopup);
		
		var oMask = new Element('div').addClass('mask').inject(oPhotoPopup);
		
		var oContent = new Element('div').addClass('content').setStyles({
			'width'	: '658',
			'left'	:  -658
		}).inject(oMask);
		
		var oNavLeft = new Element('div').addClass('navLeft').setOpacity(0.5).addEvents({
			
			'mouseenter': function() { this.setOpacity(1); },
			'mouseleave': function() { this.setOpacity(0.5); }
		}).inject(oMask);
		
		var oNavLeft = new Element('div').addClass('navRight').setOpacity(0.5).addEvents({
			
			'mouseenter': function() { this.setOpacity(1); },
			'mouseleave': function() { this.setOpacity(0.5); }
		}).inject(oMask);
		
			
			var oItem = new Element('div').addClass('item').inject(oContent);
			
			var oHeader = new Element('h3').addClass('header').setHTML(aImageProperties.g_filename).inject(oItem);
			
			var oImgHolder = new Element('div').addClass('imgHolder').inject(oItem);
			
			var oLoadMessage = new Element('p').addClass('loadMessage').setHTML(this.translate._('Loading high-resolution image') + '<br/><br/>\'<b>' + aImageProperties.g_filename + '</b>\'<br/><br/><i>(' + this.translate._('This may take some time') + '..)</i>').inject(oImgHolder);
			
			if(aImageProperties.site_id == 2) {
				
				var iWidthSmall = aImageProperties.imagewidth * 0.4;
				var iHeightSmall = aImageProperties.imageheight * 0.4;
				
				var iWidthMedium = aImageProperties.imagewidth * 0.7;
				var iHeightMedium = aImageProperties.imageheight * 0.7;
				
				var oButtonWeb = new Element('a').addClass('button buttonWeb').setText('Small').setProperties({
					title	: 'Download small size',
					href	: '/image/get-gallery/iImageId/' + aImageProperties.id + '/iWidth/' + Math.round(iWidthSmall)
				}).inject(oItem);
				
				var oButtonPrint = new Element('a').addClass('button buttonPrint').setText('Middle').setProperties({
					title	: 'Download middle size',
					href	: '/image/get-gallery/iImageId/' + aImageProperties.id + '/iWidth/' + Math.round(iWidthMedium)
				}).inject(oItem);
				
				if(aImageProperties.large_image_id != 0) {
					
					var oButtonPress = new Element('a').addClass('button buttonPress').setText('Large').setProperties({
						title	: 'Download large size',
						href	: '/file/get/iFileId/' + aImageProperties.large_image_id,
						target  : '_blank'
					}).inject(oItem);
				}
				
				var oDetails = new Element('dl').addClass('imageDetails').inject(oItem);
				
				var oDtCopyright = new Element('dt').setText('Copyright:').inject(oDetails);
				var oDdCopyright = new Element('dd').setText(aImageProperties.copyright).inject(oDetails);
				
				var oDtName = new Element('dt').setText('Filename:').inject(oDetails);
				var oDdName = new Element('dd').setText(aImageProperties.filename).inject(oDetails);
				
				var oDtType = new Element('dt').setText('Filetype:').inject(oDetails);
				var oDdType = new Element('dd').setText(aImageProperties.mime).inject(oDetails);
				
				var oSizes = new Element('dl').addClass('imageSizes').inject(oItem);
				
				var oDtWeb = new Element('dt').setText('Small size:').inject(oSizes);
				var oDdWeb = new Element('dd').setText(Math.round(iWidthSmall) + ' x ' + Math.round(iHeightSmall)).inject(oSizes);
				
				var oDtPrint = new Element('dt').setText('Middle size:').inject(oSizes);
				var oDdPrint = new Element('dd').setText(Math.round(iWidthMedium) + ' x ' + Math.round(iHeightMedium)).inject(oSizes);
				
				if(aImageProperties.large_image_id != 0) {
					
					var oDtPress = new Element('dt').setText('Large size:').inject(oSizes);
					var oDdPress = new Element('dd').setText(aImageProperties.large_resolution).inject(oSizes);
				}
			
			} else {
				
				if (oGallery.options.bShowEcard) {
					var oButton = new Element('a').addClass('button').setText(this.translate._('Send e-card')).setProperties({
						title	: this.translate._('Send e-card'),
						href	: 'javascript:void(0)'
					}).addEvent('click', function() {
						oGallery.showEcardForm(aImageProperties.id);
					}).inject(oItem);
				}
				var oCopyright = new Element('p').addClass('copyright').setText('Copyright: ' + aImageProperties.copyright).inject(oItem);
			}	
			
			if(aImageProperties.imagewidth > 658 || aImageProperties.imageheight > 476) {
				
				if((aImageProperties.imagewidth / aImageProperties.imageheight) > (658 / 476)) {
					
					var iWidth = 658;
					
					var top = (476 - parseInt(658 * aImageProperties.imageheight / aImageProperties.imagewidth)) / 2 + 'px';
					var left = 0;
					
					//var margin = (476 - parseInt(658 * aImageProperties.imageheight / aImageProperties.imagewidth)) / 2 + 'px 0 0 0';
				
				} else {
					
					var iWidth = parseInt(476 * aImageProperties.imagewidth / aImageProperties.imageheight);
					
					var top = 0;
					var left = (658 - parseInt(476 * aImageProperties.imagewidth / aImageProperties.imageheight)) / 2 + 'px';
					
					//var margin = '0 0 0 ' + (658 - parseInt(476 * aImageProperties.imagewidth / aImageProperties.imageheight)) / 2 + 'px';
				}
				
				var oImageResized = new Asset.image('/image/get/iImageId/' + aImageProperties.id + '/iWidth/' + iWidth, {
								 
					alt: aImageProperties.filename,
					
					onload: function() {
						
						oImageResized.setStyles({
							
							'top': top,
							'left': left
						});
						
						oImageResized.inject(oImgHolder);
						
						//if(startIndex == index) {
							
							oGallery.startSlideshow(startIndex, aImageProperties.length);
						//}
					}
				});
			
			} else {
				
				var top = (476 - parseInt(658 * aImageProperties.imageheight / aImageProperties.imagewidth)) / 2 + 'px';
				var left = (658 - parseInt(476 * aImageProperties.imagewidth / aImageProperties.imageheight)) / 2 + 'px';
				
				//var margin = (476 - aImageProperties.imageheight) / 2 + 'px 0 0 ' + (658 - aImageProperties.imagewidth) / 2 + 'px';
				
				var oImage = new Asset.image('/image/get/iImageId/' + aImageProperties.id, {
								 
					alt: aImageProperties.filename,
					
					onload: function() {
						
						oImage.setStyles({
							
							'top': top,
							'left': left
						});
						
						oImage.inject(oImgHolder);
						
						
							
						oGallery.startSlideshow(startIndex, 21);
						
					}
				});
			}
		
	},
	
	startSlideshow: function(startIndex, totalSlides) {
		
		$$('.photoPopup2 .navLeft, .photoPopup2 .navRight').each(function(el, index) {
			$(el).setStyle('display', 'block');
		});
		
		var xPos = startIndex * -658;
		var index = startIndex;
		var periodical;
		
		/*var myFx = new Fx.Style($E('.photoPopup2 .content'), 'left');
		
		var slide = function() {
				
			if (index !== totalSlides - 1) {
				index = index + 1;
				xPos = xPos - 658;
			} else {
				index = 0;
				xPos = 0;
			}
			
			myFx.set(xPos);
		}*/
		/*
		var slideBack = function() {
			
			if (index !== 0) {
				index = index - 1;
				xPos = xPos + 658;
			} else {
				index = totalSlides - 1;
				xPos = (totalSlides - 1) * -658;
			}
			
			myFx.set(xPos);
		}
		
		if (this.options.site_id == 1) {
			periodical = slide.periodical(this.options.slideshowInterval);	
		}*/
		
		
		
		$$('.photoPopup2 .closeIcon, .photoPopup2 .button').each(function(el) {
			
			$(el).addEvent('click', function() {
				$clear(periodical);
			});
		});
		
		$E('.photoPopup2 .navLeft').addEvents({
		
			'click': function() {
				
				$clear(periodical);
				slideBack();
			}
		});
		
		$E('.photoPopup2 .navRight').addEvents({
		
			'click': function() {
				
				$clear(periodical);
				slide();
			}
		});	
	},
	
	cancelDownload: function(e) {
		
		var msg = "Sorry, you don't have permission to download.";
		if (e.rightClick) {
			alert(msg);
			return false;
		} else { 
			return true;
		}
	},
	
	showEcardForm: function(iImageId) {
		var oEcardOverlay = null, oEcardPopup = null, oHeader = null, oClose = null, oContent = null, oButton = null, oAjax;
		oEcardOverlay = new Element('div').addClass('ecardOverlay').setOpacity(0.4).setStyles({
			'width'			: window.getScrollWidth(),
			'height'		: window.getScrollHeight()
		}).inject(document.body);
		
		oEcardPopup = new Element('div').addClass('ecardPopup').setOpacity(0).setStyles({
			'top'			: (window.getHeight() - 454) / 2 + window.getScrollTop(),
			'left'			: (window.getWidth() - 498) / 2 + window.getScrollLeft()
		}).inject(document.body);
			
		oHeader = new Element('h3').addClass('header').setHTML(this.translate._('Send e-card')).inject(oEcardPopup);
			
		oClose = new Element('div').addClass('closeIcon').setProperty('title', 'Close window').addEvent('click', this.closeEcardPop.bind(this)).inject(oEcardPopup);
		
		oContent = new Element('div').setProperty('id', 'eCardPopupContent').addClass('content').inject(oEcardPopup);
		oAjax = new NetManagerPluginAjax();
		oAjax.getAjaxUpdater('/form/get/EcardForm', 'eCardPopupContent');
		
		oButton = new Element('a').addClass('button').setText(this.translate._('Submit')).setProperties({
			title	: 'Send e-card',
			href	: 'javascript:void(0)'
		}).addEvent('click', this.procesEcardForm.bind(this)).inject(oEcardPopup);
		this.eCardImageId = iImageId;
		oEcardPopup.setOpacity(1);
	},
	
	procesEcardForm: function() {
		this.EcardForm = new NetManagerPluginForm({ formElm: $('EcardForm'), onValid: this.closeEcardPop.bind(this)});
		this.EcardForm.setElmValue('image_id', this.eCardImageId);
		this.EcardForm.processForm();
	},
	
	closeEcardPop: function() {
		$$('.ecardOverlay, .ecardPopup').each(function(el) {
				el.remove();
			});
		if ($defined(this.EcardForm)) {
			var oAjax = new NetManagerPluginAjax();
			oAjax.getAjaxUpdater('/galerij/send-e-card/cardId/'+this.EcardForm.data.id, 'eCardPopupContent');
		}
	}
});

NetManagerModuleGallery.implement(new Options);