// vim: ts=2 sw=2

function tagRemove(nr)
{
	var ktory = parseInt(nr);
	var enable = "#admin_news_tag_" + ktory + "_enable";
	var div = "#admin_news_tag_" + ktory;

	$j(enable).val(0);
  $j(div).hide();
}

/* ====================================================================== */

$j(function()
{
	var email = $j("#email");
	var allFields = $j([]).add(email);

	// alter table rows
	$j("table.admin tr:even:not(.header)").toggleClass('dark');
	
	// highlight row	
	$j("table.admin tr:not(.header)").removeClass('hover');
	$j("table.admin tr:not(.header)").hover(
		function()
		{
			$j(this).toggleClass('hover');
		},
		function()
		{
			$j(this).toggleClass('hover');
		}
	);

	/* ====================================================================== */
	// Dodawanie tagów w newsach
	

	$j("#admin_news_tag_add").click(function()
		{
			var ile = parseInt( $j("#admin_news_tag_ile").val() ) + 1;
			var naglowek = $j("#admin_news_naglowek").val();
			var wstep = $j("#admin_news_intro").val();
			var nowyTag = "<div id='admin_news_tag_" + ile + "'>" + 
				"<input type='hidden' id='admin_news_tag_" + ile + "_enable' name='admin_news_tag_" + ile + "_enable' value='1'>" +
				"<label>Nazwa:</label>" + 
				"<input type='text' name='admin_news_tag_" + ile + "_nazwa' id='admin_news_tag" + ile + "_nazwa' size='50'>" +
				"<a onclick=\"tagRemove(" + ile + ")\"><img src='/GFX/tag_blue_delete.png'>Usuń tag</a><br>" + 
				"<label>Tytuł:</label>" + 
				"<input type='text' name='admin_news_tag_" + ile + "_tytul' value='" + naglowek + "' size='50'><br>" + 
				"<label>Opis:</label>" + 
				"<textarea name='admin_news_tag_" + ile + "_opis' cols='50' rows='7'>" + wstep + "</textarea><br>" + 
			"<br></div>";

			var scr = "var options_xml = { script: function (input)	{ return \"" + base_url + "TAG/XML/\" + input; }, " +
				"varname:'input', minchars:3, maxresults:20 }; " +
				"new bsn.AutoSuggest('admin_news_tag_" + ile + "_nazwa', options_xml);";
			var auto = document.createElement('script');
					auto.type = 'text/javascript';
					auto.text = scr;

			$j("#admin_news_tag").prepend(nowyTag);
			$j("#admin_news_tag").prepend(auto);
			$j("#admin_news_tag_ile").val(ile);
		}
	);

	/* ====================================================================== */

	// zmiana rozmiaru zdjęć w newsach
	$j("#fotoSize1").slider({
			value: 150,
			min: 10,
			max: 150,
			step: 10,
			slide: function(event, ui) { $j("img.size1").width(ui.value); }
	});

	/* ====================================================================== */


	function doSend()
	{
		$j.ajax({
			url: 'http://www.forummleczarskie.pl/ADMIN/NEWSLETTER/QUEUE_SEND/', 
			type: 'POST',
			timeout: 15000,
			error: function()
			{	
				alert("Błąd komunikacji z serwerem. Odśwież stronę i kliknij 'rozpocznij wysyłkę' ponownie.");
				return true;
			},
			success: function(data)
			{ 
				var total = parseInt( $j("#ile_total").html() );
				var wyslano = parseInt( $j("#ile_wyslano").html() ) + 5;
				var zostalo = data;
				var progress = Math.floor( ((parseInt(total) - parseInt(zostalo)) / parseInt(total)) * 100);
				
				$j("#ile_zostalo").html(zostalo);
				$j("#ile_wyslano").html(wyslano);
				$j("#progress").progressbar({ value: progress });
				if (parseInt(data) > 0)
				{
					doSend();
				}
				else if (parseInt(data) == 0)
				{
					$j("#ile_wyslano").html(total);
					$j("#postep").html("<h2>Wysyłka zakończona!</h2>");
					$j("#progress").progressbar({ value: 100 });
					$j("#loader").hide();
				}
			},
			complete: function(data)
			{
			}
		}
		);

		return false;
	}

	/* ====================================================================== */

	$j("#queue_start").button().css({ 'text-decoration': 'none', 'padding': '10px', 'font-size': '16px', 'display': 'block', 'text-align': 'center'});
	$j("#progress").progressbar({ value: 0 });

	$j("#queue_start").click(function()
		{
			$j("#queue_start").remove();
			$j("#loader").show();
			$j("#progress").progressbar({ value: 0 });
			doSend();
		}
	);
	
	/* ====================================================================== */

	function checkRegexp(o,regexp,n) 
	{
		if ( !( regexp.test( o.val() ) ) ) 
		{
			o.addClass('ui-state-error');
			$j("#validateTips").text(n).show();
			return false;
		} 
		else 
		{
			return true;
		}
	}

	/* ====================================================================== */

	$j("#dialog").dialog(
		{
			bgiframe: true,
			autoOpen: true,
			height: 290,
			width: 440,
			modal: true,
			draggable: false,
			resizable: false,
			position: ['center', 130],

			buttons:
			{
				'Anuluj': function()
					{
						$j(this).dialog('close');
					},
				'Rejestracja': function()
					{
						var bValid = true;
						allFields.removeClass('ui-state-error');
						bValid = bValid && checkRegexp(email,/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,"Podaj poprawny adres email.");

						if (bValid)
						{
							$j.post(
								'http://www.forummleczarskie.pl/NEWSLETTER/AJAX/', 
								{ email: email.val() }, 
								function(data)
								{ 
									$j("#dialog").html(data);
									$j(".ui-dialog-buttonpane").html("<button id='dialog-ok' class='ui-state-default ui-corner-all'>OK</button>");
									$j("#dialog-ok").click(function(){ $j("#dialog").dialog('close'); } );
								} 
							);
						}
					}
			}
		}
	);

	/* ====================================================================== */

	$j("#kategoria_add_form").dialog(
	{
		bgiframe: true,
		autoOpen: false,
		height: 150,
		width: 500,
		modal: true,
		draggable: false,
		resizable: false,
		position: ['center', 200],

		buttons:
		{
			'Anuluj': function()
				{
					$j(this).dialog('close');
				},
			'Dodaj': function()
				{
					var vRok = $j("#kategorie_rok_form").val();
					var vKategoria = $j("#kategorie_typ_form").val();
					var vNazwa = $j("#kategorie_nazwa_form").val();
					var vNazwaEng = $j("#kategorie_nazwa_eng_form").val();
					var vLevel = $j("#kategorie_level_form").val();
					var vParent = $j("#kategorie_parent_form").val();

					$j.post(
						'http://www.forummleczarskie.pl/ADMIN/AJAX/', 
						{ action: 'addKategorie', rok: vRok, kategoria: vKategoria, nazwa: vNazwa, nazwaEng: vNazwaEng, level: vLevel, parentKid: vParent }, 
						function(data)
						{ 
							$j("#kategoria_add_form").dialog('close');
							$j("#kategorie_nazwa_form").val('');
							$j("#kategorie_nazwa_eng_form").val('');
							$j("#kategorie_level_form").val('0');
							$j("#kategorie_parent_form").val();
							kategorie_populate();
						} 
					);
				}
		}
	});

	/* ====================================================================== */
	
	$j("#kategoria_edit_form").dialog(
	{
		bgiframe: true,
		autoOpen: false,
		height: 150,
		width: 500,
		modal: true,
		draggable: false,
		resizable: false,
		position: ['center', 200],

		buttons:
		{
			'Anuluj': function()
				{
					$j(this).dialog('close');
				},
			'Edytuj': function()
				{
					var vRok = $j("#kategorie_rok_form_edit").val();
					var vKategoria = $j("#kategorie_typ_form_edit").val();
					var vNazwa = $j("#kategorie_nazwa_form_edit").val();
					var vNazwaEng = $j("#kategorie_nazwa_eng_form_edit").val();
					var vKid = $j("#kategorie_kid_form_edit").val();

					$j.post(
						'http://www.forummleczarskie.pl/ADMIN/AJAX/', 
						{ action: 'editKategorie', rok: vRok, kategoria: vKategoria, nazwa: vNazwa, nazwaEng: vNazwaEng, kid: vKid }, 
						function(data)
						{ 
							$j("#kategoria_edit_form").dialog('close');
							$j("#kategorie_kid_form_edit").val('');
							$j("#kategorie_rok_form_edit").val('');
							$j("#kategorie_nazwa_form_edit").val('');
							$j("#kategorie_nazwa_eng_form_edit").val('');
							kategorie_populate();
						} 
					);
				}
		}
	});

	/* ====================================================================== */

	$j("#firma_typ").change(function()
		{
			if ($j(this).val() == "producent" || $j(this).val() == "importer")
			{
				$j("div.firmy_rejestracja_produkty_producenci").show();
				$j("div.firmy_rejestracja_produkty_dostawcy").hide();
			}
			if ($j(this).val() == "dostawca")
			{
				$j("div.firmy_rejestracja_produkty_producenci").hide();
				$j("div.firmy_rejestracja_produkty_dostawcy").show();
			}
	
		});

	/* ====================================================================== */

	$j("input.kategorie_show_prod").click(function()
		{
			var nr = $j(this).attr('nr');
			var year = $j(this).attr('year');
			var id = "#produkty_prod_" + year + "_" + nr;

			if ($j(this).attr('checked'))
				$j(id).show();
			else
				$j(id).hide();
		});

	/* ====================================================================== */

	$j("input.kategorie_show_dost").click(function()
		{
			var nr = $j(this).attr('nr');
			var year = $j(this).attr('year');
			var id = "#produkty_dost_" + year + "_" + nr;

			if ($j(this).attr('checked'))
				$j(id).show();
			else
				$j(id).hide();
		});

	/* ====================================================================== */

	$j("img.firmy_produkty_plus").click(function()
		{
			var year = $j(this).attr('year');
			var imgP = "img#firmy_produkty_plus_" + year;
			var imgM = "img#firmy_produkty_minus_" + year;
			var hint = "div#firmy_produkty_" + year + "_hint";
			var prod = "div#firmy_produkty_" + year;

			$j(imgP).hide();
			$j(imgM).show();
			$j(hint).hide();
			$j(prod).show();
		});

	/* ====================================================================== */

	$j("img.firmy_produkty_minus").click(function()
		{
			var year = $j(this).attr('year');
			var imgP = "img#firmy_produkty_plus_" + year;
			var imgM = "img#firmy_produkty_minus_" + year;
			var hint = "div#firmy_produkty_" + year + "_hint";
			var prod = "div#firmy_produkty_" + year;

			$j(imgP).show();
			$j(imgM).hide();
			$j(hint).show();
			$j(prod).hide();
		});

	/* ====================================================================== */

	$j("#ui-tabs").tabs();
	$j(".adminButton").button().css({ 'text-decoration': 'none', 'padding': '8px', 'font-size': '16px', 'display': 'block', 'text-align': 'center'});
	$j(".adminButtonRed").hover(
		function()
		{
			$j(this).toggleClass('ui-state-error');
		},
		function()
		{
			$j(this).toggleClass('ui-state-error');
		}
	);

	$j("a.tag_add").hover(
		function()
		{
			$j(this).css({ 'text-decoration': 'none', 'color': '#457eaa' });
		},
		function()
		{
			$j(this).css({ 'text-decoration': 'underline', 'color': 'black' });
		}
	);

	$j("a.tag_add").click(function()
		{
			var vNazwa = $j(this).attr('nazwa');
			var vNazwaPl = $j(this).attr('nazwa_pl');
			var vTitle = $j("#articleTitle").val();
			var vIntro = $j("#articleIntro").val();
			var vLink = "RAPORTY/" + $j("#articleId").val() + "/";

			$j.ajax({
				type: 'POST',	
				url: 'http://www.forummleczarskie.pl/ADMIN/AJAX/', 
//        url: 'http://linux.lan/arteq/fm/www/ADMIN/AJAX/', 
				data: { action: 'addTag', nazwa: vNazwa, nazwa_pl: vNazwaPl, link: vLink, title: vTitle, intro: vIntro }, 
				cache: false,
				dataType: 'xml',
				success: function(result)
				{ 
					$j(result).find('tag').each(function()
					{
						var id = $j(this).find('id').text();
						var nazwa = $j(this).find('nazwa').text();
						var nazwa_pl = $j(this).find('nazwaPl').text();

						var link = "<a href='#' class='tag_del' tag_id='" + id + "'>" + nazwa_pl + "</a>";
						$j('#articleTags').append(link);
					});
				}
			});

			return false;
		}
	);

	$j("a.tag_del").click(function()
		{
			var vId = $j(this).attr('tag_id');
			var vThis = $j(this);

			$j.ajax({
				type: 'POST',	
				url: 'http://www.forummleczarskie.pl/ADMIN/AJAX/', 
//        url: 'http://linux.lan/arteq/fm/www/ADMIN/AJAX/', 
				data: { action: 'delTag', id: vId }, 
				cache: false,
				complete: function()
				{
					vThis.remove();
				}
			});

			return false;
		}
	);

	/* ====================================================================== */

	$j("a.tag_del").hover(
		function()
		{
			$j(this).css({ 'text-decoration': 'line-through', 'color': 'red' });
		},
		function()
		{
			$j(this).css({ 'text-decoration': 'underline', 'color': 'black' });
		}
	);	

}
	

);

/* ====================================================================== */

function kategorie_populate()
{
	var table = $j("#kategorie");
	var vRok = $j("#kategorie_rok").val();
	var vKategorie = $j("#kategorie_typ").val();

	table.children('tbody').children('tr:not(:first)').remove();

	$j("#kategorie_typ_form").val(vKategorie);
	$j("#kategorie_rok_form").val(vRok);
	$j("#kategorie_typ_form_edit").val(vKategorie);
	$j("#kategorie_rok_form_edit").val(vRok);

	$j.ajax({
		type: 'POST',	
		url: 'http://www.forummleczarskie.pl/ADMIN/AJAX/', 
		data: { action: 'getKategorie', rok: vRok, kategorie: vKategorie }, 
		cache: false,
		dataType: 'xml',
		success: function(result)
		{ 
			$j(result).find('item').each(function()
			{
				var id = $j(this).find('id').text();
				var nazwa = $j(this).find('nazwa').text();
				var nazwaEng = $j(this).find('nazwaEng').text();

				var level1 = /^[0-9]{2}0000$/;
				var level2 = /^[0-9]{4}00$/;
				var level3 = /^[0-9]{6}$/;

				var row = "<tr><td>" + $j(this).find('id').text() + "</td>\n";

				if (level1.test(id))
				{
					row += "<td style='padding-left: 5px;'>" + $j(this).find('nazwa').text() + "</td>";
					row += "<td><a href='#' class='ajax_edit' kid='" + id + "' nazwa='" + nazwa + "' nazwaEng='" + nazwaEng + "'><img src='/GFX/application_edit.png' alt='Edycja' title='Edycja'></a>";
					row += "<a href='#' class='ajax_delete' kid='" + id + "'><img src='/GFX/cancel.png' alt='Usuń' title='Usuń'></a>";
					row += "<a href='#' class='ajax_add' kid='" + id + "' level='1'><img src='/GFX/add.png' alt='Dodaj podkategorię' title='Dodaj podkategorię'></a>";
					row += "</td>\n";
				}
				else if (level2.test(id))
				{
					row += "<td style='padding-left: 30px;'>" + $j(this).find('nazwa').text() + "</td>";
					row += "<td><a href='#' class='ajax_edit' kid='" + id + "' nazwa='" + nazwa + "' nazwaEng='" + nazwaEng + "'><img src='/GFX/application_edit.png' alt='Edycja' title='Edycja'></a>";
					row += "<a href='#' class='ajax_delete' kid='" + id + "'><img src='/GFX/cancel.png' alt='Usuń' title='Usuń'></a>";
					row += "<a href='#' class='ajax_add' kid='" + id + "' level='2'><img src='/GFX/add.png' alt='Dodaj podkategorię' title='Dodaj podkategorię'></a>";
					row += "</td>\n";
				}
				else if (level3.test(id))
				{
					row += "<td style='padding-left: 60px;'>" + $j(this).find('nazwa').text() + "</td>";
					row += "<td><a href='#' class='ajax_edit' kid='" + id + "' nazwa='" + nazwa + "' nazwaEng='" + nazwaEng + "'><img src='/GFX/application_edit.png' alt='Edycja' title='Edycja'></a>";
					row += "<a href='#' class='ajax_delete' kid='" + id + "'><img src='/GFX/cancel.png' alt='Usuń' title='Usuń'></a>";
					row += "</td>\n";
				}
			
				row += "</tr>\n";
				table.children('tbody').append(row);
			});

			$j("a.ajax_edit").click( function()
			{
				kategorie_edit($j(this));
				return false;
			} );

			$j("a.ajax_add").click( function()
			{
				kategorie_add($j(this));
				return false;
			} );

			$j("a.ajax_delete").click( function()
			{
				var vRok = $j("#kategorie_rok_form").val();
				var vKategoria = $j("#kategorie_typ_form").val();
				var vKid = $j(this).attr('kid');

				if (confirm("Na pewno usunąć?"))
				{
					$j.post(
						'http://www.forummleczarskie.pl/ADMIN/AJAX/', 
						{ action: 'delKategorie', rok: vRok, kategoria: vKategoria, kid: vKid }, 
						function(data)
						{ 
							kategorie_populate();
						} 
					);
				}
				return false;
			} );

		}, 
		error: function()
		{	
			alert("Błąd komunikacji z serwerem.");
			return true;
		},
		complete: function()
		{
			// alter rows + hover
			$j("#kategorie tr:even:not(.header)").toggleClass('dark');
			
			// highlight row	
			$j("#kategorie tr:not(.header)").removeClass('hover');
			$j("#kategorie tr:not(.header)").hover(
				function()
				{
					$j(this).toggleClass('hover');
				},
				function()
				{
					$j(this).toggleClass('hover');
				}
			);
		}
	});
}

/* ====================================================================== */

function kategorie_edit(item)
{
	var kid = item.attr('kid');
	var nazwa = item.attr('nazwa');
	var nazwaEng = item.attr('nazwaEng');

	$j("#kategorie_kid_form_edit").val(kid);
	$j("#kategorie_nazwa_form_edit").val(nazwa);
	$j("#kategorie_nazwa_eng_form_edit").val(nazwaEng);
	$j("#kategoria_edit_form").dialog('open');
}

/* ====================================================================== */

function kategorie_add(item)
{
	var kid = item.attr('kid');
	var level = item.attr('level');

	$j("#kategorie_parent_form").val(kid);
	$j("#kategorie_level_form").val(level);
	$j("#kategoria_add_form").dialog('open');
}

/* ====================================================================== */


