(function($) {
	$.fn.jvkLogin = function (options) {
		var opts = $.extend({}, $.fn.jvkLogin.defaults, options);
	
	return this.each(function() {
		var login = jQuery(this);
		var lw = $(opts.loginWin).appendTo("body");
		var lwbg = $(opts.loginWinBg).appendTo("body");

		var loginShow = false;
		
		// fulelni a blogcuccra, hogy updatelni tudja 
		// a login statuszt
		$(this).bind("updateFromOut", function() {
			getStatus();
		});

		var getStatus = function() {
			$.ajax({
				cache: false,
				url: "loginajax_status.php",
				dataType: "html",
				success: function(data, textStatus) {
					updateStatus(data, textStatus);
				}
			}); 
		};

		getStatus();
		
		var updateStatus = function (data, textStatus) {
			// ez ie6-al elszarodik...
			//login.html(data).hide().fadeIn(opts.fadeTime);
			login.html(data);
			setupLinks();
		};
		
		var setupLinks = function () {
			login.find("a").filter(":contains('"+opts.loginStr+"')").bind("click", function(){
				loginKlikk();
				return false;
			});
			login.find("a").filter(":contains('"+opts.regStr+"')").attr("href", opts.regUrl);
			login.find("a").filter(":contains('"+opts.logoutStr+"')").bind("click", function() {
				logoutKlikk();
				return false;
			});
		};
		
		var loginKlikk = function () {
			//alert("loginklikk");
			openLoginWin();
		};
		
		var logoutKlikk = function () {
			//alert("logoutKlikk");
			$.ajax({
				cache: false,
				url: "loginajax_status.php",
				data: {Logout: "1"},
				dataType: "html",
				success: function(data, textStatus) {
					updateStatus(data, textStatus);
				}
			}); 
		};

		var openLoginWin= function() {
		//	alert("openLoginWin");
			if (!loginShow) {
				//alert(login.width());
				var windowWidth = document.documentElement.clientWidth;  
				var windowHeight = document.documentElement.clientHeight; 
				var popupHeight = lw.height();  
				var popupWidth = lw.width();  
				/*
				lw.css({top: windowHeight/2-popupHeight/2, left: windowWidth/2-popupWidth/2});
				*/
				lw.css({
					top: login.position().top + 3,
					left: (login.position().left + login.width() )- popupWidth
				});

				lwbg.css("opacity", "0.0");
				// mocsok ie6 miatt
				lwbg.css("height", windowHeight);
				
				lwbg.bind("click", function () {
					closeLoginWin();
					return false;
				});

				//lwbg.fadeIn(opts.fadeTime);
				lwbg.show();
				lw.fadeIn(opts.fadeTime);

				$.ajax({
					cache: false,
					url: "login.php",
					dataType: "html",
					success: function (data, textStatus) {
						lw.html(data);
						setupForm();
					},
					error: function (XMLHttpStatus, textStatus, errorThrown) {
						lw.html("<p style='text-align: center; color: red;'>Hiba!</p>");
					}
				});

				loginShow=true;
			}
		};
	
		var closeLoginWin = function () {
			if (loginShow) {
				lw.hide();
				lwbg.hide();

				loginShow=false;
			}
		};
		
		var setupForm = function () {
			//alert("setupForm");
			// cancel
			lw.find("#cancel").bind('click', function(){
				closeLoginWin();
				return false;
			});
			// submit
			lw.find("#login").submit(function() {
				if (lw.find("#Nev").val().length == 0) {
					alert("Kérem adja meg a felhasználó nevet") ;
					return false;
				}
				if (lw.find("#Jelszo").val().length == 0) {
					alert("Kérem adja meg a jelszót");
					return false;
				}
				
				// mindenhova írt valamit, visszaadni a phpnek hogy csekkolja
				$.ajax({
					cache: false,
					url: "login.php",
					type: "POST",
					dataType: "html",
					data: {
						Kuld: "1",
						Nev: lw.find("#Nev").val(),
						Jelszo: lw.find("#Jelszo").val()
					},
					success: function (data, textStatus) {
						lw.html(data);
						if (data == 'SUCCESS') {
							closeLoginWin();
							getStatus();
						}
						else {
							setupForm();
						}
					},
					error: function (XMLHttpStatus, textStatus, errorThorwn) {
						lw.html("<p style='text-align: center; color: red;'>Hiba!</p>");
					}
				});
				return false;

			});
			
		}

		});
	};
	$.fn.jvkLogin.defaults = {
		loginWin: "<div id='loginWin'>LoginPop</div>",
		loginWinBg: "<div id='loginWinBg'></div>",
		fadeTime: 500,
		regStr: "Regisztráció",
		regUrl: "index.php?Regisztracio",
		loginStr: "Bejelentkezés",
		logoutStr: "Kijelentkezés"
	};

})(jQuery);
