function galleryPopups(settings){
	
	/*
	 * click grabber
	 */
	clickGrabber = function(){
		//specific popup
		$(settings.linkApplication).click(function(){
			var idPhoto = $(this).parent().attr('id');
			idPhoto = idPhoto.substring(3);
			var urlPhoto = $(this).parent().find('a.photo img').attr('src');
			$(settings.idPhotoApplication).val(idPhoto.toString());
			$(settings.urlPhotoApplication).attr('src', urlPhoto);
			var descPhoto = $(this).parent().find('p').text();
			$(settings.descApplication).text(descPhoto);
			showFade();
			showPopup(settings.popupApplication);
			return false;
		});
		$(settings.closeApplication).click(function(){
			hidePopup(settings.popupApplication);
			hideFade();
			return false;
		});
		
		$(settings.linkRemove).click(function(){
			var idPhoto = $(this).parent().attr('id');
			idPhoto = idPhoto.substring(3);
			$(settings.idPhotoRemove).val(idPhoto.toString());
			showFade();
			showPopup(settings.popupRemove);
			return false;
		});
		$(settings.closeRemove).click(function(){
			hidePopup(settings.popupRemove);
			hideFade();
			return false;
		});
		
		$(settings.linkSendToFriend).click(function(){
			var idPhoto = $(this).parent().attr('id');
			var descPhoto = $(this).parent().find('p').html();
			idPhoto = idPhoto.substring(3);
			var urlPhoto = $(this).parent().find('a.photo img').attr('src');
			$(settings.idPhotoSendToFriend).val(idPhoto.toString());
			$(settings.urlPhotoSendToFriend).attr('src', urlPhoto);
			var hrefYes = $(settings.popupSendToFriend + ' ' + settings.btnYes).attr('href');
			$(settings.popupSendToFriend + ' ' + settings.btnYes).attr('href', hrefYes + idPhoto);
			var hrefNo = $(settings.popupSendToFriend + ' ' + settings.btnNo).attr('href');
			$(settings.popupSendToFriend + ' ' + settings.btnNo).attr('href', hrefNo + idPhoto);
			$(settings.popupSendToFriend + ' .popupSendPhoto p').html(descPhoto);
			showFade();
			showPopup(settings.popupSendToFriend);
			return false;
		});
		$(settings.closeSendToFriend).click(function(){
			hidePopup(settings.popupSendToFriend);
			hideFade();
			return false;
		});
		
		$(settings.linkToken1).click(function(){
			showFade();
			showPopup(settings.popupToken);
			return false;
		});
		$(settings.closeToken).click(function(){
			hidePopup(settings.popupToken);
			hideFade();
			return false;
		});
		
		$(settings.linkToken2).click(function(){
			showFade();
			showPopup(settings.popupToken);
			return false;
		});
		$(settings.closeToken).click(function(){
			hidePopup(settings.popupToken);
			hideFade();
			return false;
		});
		
		$(settings.linkPhoto).click(function(){
			showFade();
			var photoSrc = $(this).find('img').attr('src');
			photoSrc = photoSrc.replace('mini','blingee');
			$(settings.popupPhoto + ' img.photo').attr('src', photoSrc);
			showPopup(settings.popupPhoto);
			return false;
		});
		$(settings.closePhoto).click(function(){
			hidePopup(settings.popupPhoto);
			hideFade();
			return false;
		});
		
		//global popup
		$(settings.linkGlobal).click(function(){
			showFade();
			showPopup(settings.popupGlobal);
			return false;
		});
		$(settings.closeGlobal).click(function(){
			hidePopup(settings.popupGlobal);
			hideFade();
			return false;
		});
		
		//popup which show on start
		if(settings.showStart){
			showFade();
			showPopup(settings.popupGlobal);
		}
	}
	
	/*
	 * show popup
	 */
	showPopup = function(popupClass){
		var pageWidth = $('.page').width();
		var popupWidth = $(popupClass).width();
		var marginLeft = Math.round((pageWidth - popupWidth) / 2);
		$(popupClass).css('margin-left',marginLeft+'px');
		$(popupClass).show();
	}
	
	/*
	 * hide popup
	 */
	hidePopup = function(popupClass){
		$(popupClass).hide();
	}
	
	/*
	 * show fade
	 */
	showFade = function(){
		$('body').append('<div class="popupFade"><iframe></iframe></div>');
		$('.popupFade').css('height',$(document).height());
		$('.popupFade iframe').css('height',$(document).height());
	}
	
	/*
	 * hide fade
	 */
	hideFade = function(){
		$('.popupFade').remove();
	}
	
	/*
	 * initiate
	 */
	this.initiate = function(){
		clickGrabber();
	}
}
