(function($){
	$.fn.sendForm = function(options) {

		var settings = $.extend({
			url: $(this).attr('action'),
			sendData: {},
            reload: false,
            reloadTimeout: 2000
		}, options);

		var url = settings.url;
		var formData = settings.sendData;
		var returnJson = [];

		if ($('select[name^="product-model"]').length) {
			formData = createPost();
		}
		if ($('input[name^="patternCode"]').length) {
			formData = createPostPattern();
		}

		$(this).find(':input').not(':submit').each(function() {
			if ( $(this).attr('name') != undefined) {
				if ($(this).attr('name').indexOf('pattern') === -1) {
					if ( $(this).attr('type') == 'checkbox' ) {
						if ( $(this).is(':checked') || $(this).attr('checked') == 'checked' ) {
							formData[$(this).attr('name')] = $(this).val();
						}
						else {
							formData[$(this).attr('name')] = 0;
						}
					}
					else if($(this).attr('type') == 'radio'){
						if ( $(this).attr('checked') == 'checked' ) {
							formData[$(this).attr('name')] = $(this).val();
						}
					}
					else {
						formData[$(this).attr('name')] = $(this).val();
					}
				}
			}
		});

		$.ajax({
			type: "post",
			url: url,
			cache: false,
			async: false,
			dataType: 'json',
			data: formData,
			beforeSend: function(){$("#message-box").html('');},
			success: function(oJsonObject) {
                                if(settings.reload) {
                                    setTimeout(function() { location.reload(); }, settings.reloadTimeout);
                                }
				returnJson = oJsonObject;
			}
		});

		return returnJson;

	};
})(jQuery);
$(document).ready(function() {
	$("#login-form input").keyup(function(event ) {
		if ( event.which == 13 ) {
			$("#forgotpass-form .button").click();
		}
				
		return false;
	});
	
	$("#forgotpass-form a.button-submit").click(function() {
		var error = false;
		var inputEmail = $(this).parents('form').find("input[name=user-email]");
		var messageBox = $("#forgotpass-form .form-status");
		var responseError = false;
		var filterEmail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		
		messageBox.find('p').text('');
		messageBox.hide().removeClass('alert-danger').removeClass('alert-success').removeClass('alert-warning');

		if ( inputEmail.val() == '' && !filterEmail.test(inputEmail.val()) ) {
			inputEmail.addClass('error');
			error = true;
		}
		else {
			inputEmail.removeClass('error');
		}

		if ( error ) {
			messageBox.text(txtGiveYourEmail);
			messageBox.addClass('alert-danger').show();
		}
		else {
			$("#forgotpass-form .column-form").append('<div class="loader"></div>');
			$("#forgotpass-form .column-form .loader").css('opacity', 0.9).show();
			
			
			$.ajax({  
				type: "post",
				url: "nowe-haslo-generuj",
				cache: false,
				async: false,
				dataType: 'json',
				data: {email: inputEmail.val()},
				success: function(oJsonObject) {
					$("#forgotpass-form .column-form .loader").fadeOut(500, function() {
						$(this).remove();
					});
					
					if ( oJsonObject.status == 'true' || oJsonObject.status == true ) {
						$("#forgotpass-form .apply").hide();
						messageBox.text(oJsonObject.text).addClass('alert-success').show();
			    	}
					else {
			    		messageBox.html(oJsonObject.text).addClass('alert-danger').show();
			    	}
				},
				error: function (request, status, error) {
					responseError = true;
				}
			});
			
			if ( responseError ) {
				messageBox.text(txtErrorOccurred);
				messageBox.addClass('alert-danger').show();
			}
		}
		
		return false;
	});
});$(function(){
    
    $("#newsletter").submit(function(){
        
        formObj = $(this);
        
        formObj.find(".inputs .input-row .error").remove();
        formObj.find(".inputs .input-row .success").remove();
        formObj.find(".checkboxes .error").remove();
        
        email  = formObj.find("input.email").val();
        action = '';
        formObj.find("input[name='newsletterAction']").each(function(){
            if($(this).attr("checked") === 'checked')
            {
                action = $(this).val();
                return false;
            }
        });
        
        if(!validateEmail(email))
        {
            email = '';
            formObj.find(".inputs .input-row").append('<p class="error">' + newsletterErrors.invalidEmail + '</p>');
        }
        
        if($.inArray(action, ["subscribe", "unsubscribe"]) === -1)
        {
            action = '';
            formObj.find(".checkboxes").append('<p class="error">' + newsletterErrors.invalidAction + '</p>');
        }
        
        if(email && action)
        {
            formObj.find(".inputs .input-row .loader").show();
            formObj.find(".inputs .input-row input[type='text']").attr("disabled", true);
            formObj.find(".inputs .input-row input[type='submit']").attr("disabled", true);
            
            $.ajax({
                type: "post",
                url: formObj.find("input[type='submit']").data("href"),
                cache: false,
                async: false,
                dataType: 'json',
                data: {'email': email, 'action': action}
            }).done(function(data) {
                
                formObj.find(".inputs .input-row .loader").hide();
                formObj.find(".inputs .input-row input[type='text']").attr("disabled", false);
                formObj.find(".inputs .input-row input[type='submit']").attr("disabled", false);
                
                try {
                    if(data.status === 'ok' && data.text)
                    {
                        formObj.find(".inputs .input-row input[type='text']").val('');
                        formObj.find(".inputs .input-row").append('<p class="success">' + newsletterErrors[data.text] + '</p>');
                    }
                    else if(data.status === 'error' && data.text)
                    {
                        formObj.find(".inputs .input-row").append('<p class="error">' + newsletterErrors[data.text] + '</p>');
                    }
                }
                catch(e) {
                    
                }
            });
        }
        
        return false;
    });
    
});

function validateEmail(email) { 
    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return re.test(email);
};$(document).ready(function() {
	var messageBox = $(".login-box .login-status");

	if ( typeof loginBox == 'undefined' ) {
		var loginBox = false;
	}

	$(".loginForm").submit(function(e) {
		e.preventDefault();
		var error = false;
		var inputLogin = $(this).find("input[name=login]");
		var inputPassword = $(this).find("input[name=pass]");
		var responseError = false;

        messageBox = $(this).parents('.login-box').find('.login-status');

		messageBox.removeClass('green red');

		if ( inputLogin.val() == '' ) {
			inputLogin.parent().addClass('error');
			error = true;
		}
		else {
			inputLogin.parent().removeClass('error');
		}

		if ( inputPassword.val() == '' ) {
			inputPassword.parent().addClass('error');
			error = true;
		}
		else {
			inputPassword.parent().removeClass('error');
		}

		if ( error ) {
			$.showMessage(txtEnterTheRequiredFields, 'error', 2000);
		}
		else {
			messageBox.html('<span/>').show();

			$.ajax({
				type: "post",
				url: "loginuser",
				cache: false,
				async: false,
				dataType: 'json',
				data: {login: inputLogin.val(), password: inputPassword.val(), loging: 1},
				success: function(oJsonObject) {
					var time = oJsonObject.time;
					var limit = oJsonObject.limit;

					messageBox.find('span').fadeOut(300, function() {
						$(this).remove();
					});

					if ( oJsonObject.status == 'true' || oJsonObject.status == true ) {
						if ( oJsonObject.error != undefined ) {
							if ( oJsonObject.error == 'inactive' ) {
								$.showMessage(txtAccountIsInactive, 'error', 2000);
							}
							else {
								$.showMessage(txtErrorOccurredWhileLogging, 'error', 2000);
							}
						}
						else {
							$(".loginForm .submit .button").hide();
							$.showMessage(txtLoginGoesCorrectly, 'success', 2000);

							if ( loginBox ) {
								setTimeout(function() {
									$("#orange-search-form .white-overlay").fadeOut(500, function() {
										$(this).remove();
									});
								}, 2000);

								userLogged = true;
							}
							else {
								setTimeout(function(){document.location.href = myAccountUrl+'?msginfo=true';}, 2000);
							}
						}
			    	}
					else {
			    		switch(oJsonObject.error) {
			    			case 'LIMIT':
			    				$.showMessage(txtAccountBlocked + time + ' min.', 'error', 2000);
			    				break;
			    			case 'PASSWORD':
			    				$.showMessage('<strong>' + txtError + '</strong> ' + txtIncorrectData + '. ' + txtLeftAttempts +': <strong>' + limit + '</strong>', 'error', 2000);
								break;
			    			case 'FORCECHANGEPASS':
			    				window.location.href = 'zmiana-hasla-wymuszona';
			    				break;
			    			default:
			    				$.showMessage('<strong>' + txtError + '</strong> ' + txtIncorrectData, 'error', 2000);
			    		}
			    	}
				},
				error: function (request, status, error) {
					responseError = true;
				}
			});

			if ( responseError ) {
				$.showMessage(txtErrorOccurred, 'error', 2000);
			}
		}

		return false;
	});


	jQuery.showMessage = function(message, type, time) {
		messageBox.removeClass('green red');

		if ( type == 'error' ) {
			messageBox.addClass('red');
		}

		if ( type == 'success' ) {
			messageBox.addClass('green');
		}

		messageBox.html(message);

		messageBox.fadeIn(500, function() {
			if ( time != undefined ) {
				setTimeout(function() {
					messageBox.fadeOut();
				}, time);
			}
		});
	};

	$('.btn-close-msg-box').click(function (e) {
		e.preventDefault();
		$(this).parents('.new-msg-overlay').fadeOut();
	});

	setTimeout(function () {
		$('.new-msg-overlay').css("display", "flex").hide().fadeIn();
	}, 1000);
	
});
$(document).ready(function() {
	$("#cookie-info span").click(function() {
		var date = new Date();
		date.setTime(date.getTime()+(180*24*60*60*1000));
		document.cookie = "cookie_message_shown=1;expires="+date.toGMTString()+";path=/;";
		$("#cookie-info").fadeOut();
		
		return false;
	});
});