(function($) {
	$.fn.jkComment = function (options) {
		var opts = $.extend({}, $.fn.jkComment.defaults, options);

		return this.each(function() {
			var blog=jQuery(this);
			var cw=$(opts.commentWin).appendTo("body");
			var cwbg=$(opts.commentWinBg).appendTo("body");
			
			//alert(navigator.appName);
			var _opera = (navigator.appName == 'Opera') ? true : false;
			var _ie7 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 7.0") != -1);
		
			var commentShow=false;
			
			blog.bind("click", function() {
				//alert("klikk");
				openCommentWin();
				return false;
			});

			blog.bind("Re", function(e, dta) {
				opts.Re=dta.re_id;
				openCommentWin();
				return false;
			});

			var openCommentWin = function() {
				//alert("openwin");
				if (!commentShow) {
					var windowWidth = document.documentElement.clientWidth;  
					var windowHeight = document.documentElement.clientHeight; 
					var popupHeight = cw.height();  
					var popupWidth = cw.width();  
					
					if (jQuery.browser.msie && parseInt(jQuery.browser.version)< 7) { // fosie6
						cwbg.css("height", $(document).height());
						/*
						cw.css({
							top: blog.parent().parent().position().top - popupHeight,
							left: (windowWidth / 2) - (popupWidth / 2)
						});
						*/
					}
					/*
					else {
						cw.css({
							top: (windowHeight / 2) - (popupHeight / 2),
							left: (windowWidth / 2) - (popupWidth / 2)
						});
					}
					*/
					
					cw.center();

					//cwbg.css("opacity", "0.7");
					cwbg.css("opacity", "0.0");

					// mocsok ie6 miatt
					//cwbg.css("height", windowHeight);

					cwbg.bind("click", function() {
						closeCommentWin();
						return false;
					});

					cwbg.show();
					cw.fadeIn(opts.fadeTime);
					//alert("ajax");
					$.ajax ({
						cache: false,
						url: "komment.php",
						dataType: "html",
						type: "POST",
						data:  {
							Re: opts.Re,
							BejegyzesID: opts.bejegyzesID
						},
						success: function (data, textStatus) {
							cw.html(data);
							setupForm();
						},
						error: function (XMLHttpStatus, textStatus, errorThorwn) {
							cw.html("<p style='text-align: center; color: red;'>Hiba!</p>");
						}
					});
				};

				commentShow = true;
			};

			var closeCommentWin = function () {
				if (commentShow) {
					tinyMCE.execCommand('mceRemoveControl',false,'Szoveg');
					opts.Re=0;
					cw.hide();
					cwbg.hide();

					commentShow = false;
				}
			};

			var setupForm = function () {
				
				// mindkettőhöz
				cw.find("#cancel").bind("click", function() {
					closeCommentWin();
					return false;
				});
			
				// loginhoz
				cw.find("#login").submit(function() {

					if (cw.find("#Nev").val().length == 0) {
						alert("Kérem adja meg a felhasználó nevét");
						return false;
					}
					else if (cw.find("#Jelszo").val().length == 0) {
						alert("Kérem adja meg a jelszót");
						return false;
					}
					else { // logint submitolni
						
						$.ajax({
							cache: false,
							url: "komment.php",
							type: "POST",
							dataType: "html",
							data: {
								KuldLogin: "1",
								Nev: cw.find("#Nev").val(),
								Jelszo: cw.find("#Jelszo").val(),
								BejegyzesID: opts.bejegyzesID,
								Re: opts.Re
							},
							success: function (data, textStatus) {
								var re = /SUCCESS LOGIN/m;
								if (data.match(re)) {
									updateLoginStatus();
								}
								cw.html(data);
								setupForm();
							},
							error: function (XMLHttpStatus, textStatus, errorThrown) {
								cw.html("<p style='text-align: center; color: red;'>Hiba!</p>");
							}
						});

						return false;
					}
				}); // find("#login")

				//alert(cw.find('#komment').length);
				if (cw.find("#komment").length != 0) {
					//alert("asdasasd");
					/*
					tinyMCE.execCommand('mceRemoveControl',false,'Szoveg');
					*/
					try {
						tinyMCE.execCommand('mceRemoveControl',false,'Szoveg');
						tinyMCE.execCommand('mceAddControl', false, 'Szoveg');
					}
					catch (err) {
						//alert(err);
					}
					//alert("asdasdasd: " +cw.find('#komment .mceEditorContainer').length);
					//if (cw.find('#komment .mceEditorContainer').length != 0) {
						var mce_cont = cw.find('#komment .mceEditorContainer');
						//alert("asdasdasd");
						var _topcsalas = 0;
						//alert(_opera);
						if (_opera ) {
							_topcsalas = 12;
						}
						else if (_ie7) {
							_topcsalas = 16;
						}

						$('#aktcharCont').css("position", "absolute");
						$('#aktcharCont').css("left", mce_cont.width() - 40);
						$('#aktcharCont').css("top", mce_cont.position().top +2 + _topcsalas);
						//alert(mce_cont.position().top);
					//}

					/*
					tinyMCE.execCommand('mceRemoveControl',false,'Szoveg');
					tinyMCE.execCommand('mceAddControl', false, 'Szoveg');
					*/
				}

				// kommenthez
				cw.find("#komment").submit(function() {
					//alert("submitkomment");
					tinyMCE.triggerSave();
					//alert("submit");
					if (cw.find("#Szoveg").val().length == 0) {
						alert("Kérem adja meg a szöveget");
						return false;
					}
					else if (cw.find("#Kod").val().length==0) {
						alert("Kérem adja meg az ellenőrző kódot");
						return false;
					}
					else { // komment submitot kuldeni

						$.ajax({
							cache: false,
							url: "komment.php",
							type: "POST",
							dataType: "html",
							/*
							data: {
								KuldKomment: "1",
								Szoveg: cw.find("#Szoveg").val(),
								Kod: cw.find("#Kod").val()
							},
							*/
							data: {
								KuldKomment: "1",
								Szoveg: cw.find("#Szoveg").val(),
								BejegyzesID: opts.bejegyzesID,
								Kod: cw.find("#Kod").val(),
								isBlog: opts.isBlog,
								Re: opts.Re
							},
							success: function (data, textStatus) {
								if (data=='SUCCESS') {
									opts.Re=0;
									reloadPage();
								}
								else {
									cw.html(data);
									setupForm();
								}
							},
							error: function (XMLHttpStatus, textStatus, errorThrown) {
								cw.html("<p style='text-align: center; color: red;'>Hiba!</p>");
							}
						});
						try {
							tinyMCE.execCommand('mceRemoveControl',false,'Szoveg');
						}
						catch (err) {
						
						}

						return false;
					}
					
				}); // find("#komment")

			}; // function setupForm() end

			var reloadPage = function () {
				window.location.reload();
			}; // reloadPage() end

			var updateLoginStatus = function () {
				///alert("update loginstatus");
				//$(opts.loginjQuery).trigger("updateFromOut");
			};

		});
	};
	$.fn.jkComment.defaults = {
		commentWin: "<div id='commentWin'>CommentPopup</div>",
		commentWinBg: "<div id='commentWinBg'></div>",
		fadeTime: 500,
		loginjQuery: "",
		bejegyzesID: "",
		isBlog: 1,
		Re: 0
	};
})(jQuery);

jQuery.fn.center = function () {
	 this.css("position","absolute");
	 this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px");
	 this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px");
	 return this;
}

