/**
 * @author Michał Kleszcz
 */

 (function($){

    $.fn.newsletter = function(settings){
    
        settings = jQuery.extend({
            ajaxLink: '',
			submitLink: '',
			closeBtn: 'public/grafika/overlay_btn_close.gif'
        }, settings);
        
		this.each(function(){
			
			var _mainContainer = $(this);
			
			if(!($(this).children('.overlay').length))
				createContainer(_mainContainer);
				
	        openOverlay(_mainContainer);
			
			$('.overlayContent', _mainContainer).load(settings.ajaxLink, function(){
				$('.preloader', _mainContainer).css('display', 'none');
				$('.overlayContent', _mainContainer).css('display', 'block');
				linkFormSubmit(_mainContainer);
			});
			
		    $(document).bind('keypress', function(e){
		        if (e.keyCode == 27) {
		            closeOverlay();
		        }
		    });
			
			$('.close a', _mainContainer).unbind('click').bind('click', function(){
				closeOverlay(_mainContainer);
				return false;
			});
			
		});
		
		function createContainer(_container)
		{
			var _overlay = $(document.createElement('div')).addClass('overlay');
			var _window = $(document.createElement('div')).addClass('window');
			var _inner = $(document.createElement('div')).addClass('inner');
			var _preloader = $(document.createElement('div')).addClass('preloader');
			var _close = $(document.createElement('span')).addClass('close');
			var _closeLink = $(document.createElement('a')).attr('href', '#');
			var _closeBtn = $(document.createElement('img')).attr('src', settings.closeBtn);
			var _content = $(document.createElement('div')).addClass('overlayContent');
			
			_closeLink.append(_closeBtn);
			_close.append(_closeLink);
			_inner.append(_close);
			_inner.append(_preloader);
			_inner.append(_content);
			_window.append(_inner);
			_overlay.append(_window);
			$(_container).append(_overlay);
			/*
			 *  <div class="overlay">
					<div class="window">
						<div class="inner">
							
							<span class="close">
								<a href="#">
									<img src="public/grafika/overlay_btn_close.gif" alt="">
								</a>
							</span>
			
							<div class="overlayContent">
								tutaj treść
							</div>
						
						</div>
					</div>
				</div>
			 * 
			 */
			
		}
		
		function openOverlay(_container)
		{
			$('.overlay', $(_container)).fadeIn('slow', function(){
	            $('.overlay', $(_container)).css('display', 'table');
	            $('.overlay .window', $(_container)).css('display', 'table-cell');
	        });
		}
		
		function closeOverlay(_container)
		{
			$('.overlay', $(_container)).fadeOut('slow');
			$('.overlay', $(_container)).css('display', 'none');
            $('.overlay .window', $(_container)).css('display', 'none');
		}
		
		function linkFormSubmit(_mainContainer)
		{
			$('form', _mainContainer).submit(function(){
				$('.overlayContent', _mainContainer).css('display', 'none');
				$('.preloader', _mainContainer).css('display', 'block');
				$('.overlayContent', _mainContainer).load(settings.submitLink, $('form', _mainContainer).serializeArray(), function(){
					$('.preloader', _mainContainer).css('display', 'none');
					$('.overlayContent', _mainContainer).css('display', 'block');
					linkFormSubmit(_mainContainer);
				});
				return false;
			});
		}
		
        return false;
    };
})(jQuery);
