$(document).ready(function(){

	//zewnetrzne linki
	$('a.external').live('click', function() {
		window.open(this.href);
		return false;
	});
	
	$('.hidden').hide();
	$('.visible').show();
	
	// dialog potwierdzajacy wykonanie zdarzenia
	$('a.delete').live('click', function(){
		confirm_dialog($(this).attr('href'));
		return false;
	});
	
	//zaznacz/odznacz checkbox
	$('#checkboxSelectAll').click(function() {
		$('input[@type=checkbox]').attr({ checked: "checked"});
	});
	
	$('#checkboxDeselectAll').click(function() {
		$('input[@type=checkbox]').removeAttr("checked");
	});
	
	// podpowiedzi
	$('input.input_hinted').inputHints();
	
	
	// jednorazowy uzytek
	$('a.one_use').live('click', function() {
		var html = $(this).html();
		$(this).replaceWith( $('<span/>').html(html) );
	});
	
	// przelacznik
	$('a.switch').live('click', function() {
		var id = $(this).attr('rel');
		
		if($(this).hasClass('animate'))
		{
			$('#'+id).toggle('blind');
		}
		else
		{
			$('#'+id).toggle();
		}
		
		return false;
	});
	
	$('a.class_switch').live('click', function() {
		var id = $(this).attr('rel');
		$('.'+id).toggle();
		return false;
	});
	
	$('a.multiswitch').live('click', function() {
		var ids = $(this).attr('rel').split('|');
		
		for(var id in ids)
		{
			$('#'+ids[id]).toggle();
		}
		
		return false;
	});
	
	// inserter
	$('.inserter').live('click', function() {
		var field = $('#'+$(this).attr('rel'));
		
		if(field.length)
		{
			field.val( $(this).text() );
		}
		
		return false;
	});
	
	
	// zamykanie komunikatu
	$('.btn_close').live('click', function(){
		$(this).parent('div').hide('blind');
		return false;
	});
	
	// menu
	var submenu = '', t, t_set = true;
	$('#menu ul li a').bind('mouseover', function () {
		$('#menu ul li a.selected').removeClass('selected');
		$(this).addClass('selected');
		
		clearTimeout(t);
		
		var div = $(this).attr('rel');
		if(div.length) {
			if(submenu.length)
			{
				$('#'+submenu).hide();
			}
			
			$('#submenu .active').hide();
			$('#'+div).show();
			submenu = div;
			
			t_set = true;
		}
		else {
			if(submenu.length)
			{
				$('#'+submenu).hide();
			}
			
			$('#submenu .active').hide();
			
			t_set = false;
		}
	});
	
	$('#menu').bind('mouseover', function () {
		clearTimeout(t);
	});
	
	$('#menu').bind('mouseleave', function () {
		t = setTimeout(
			function()
			{
				$('#menu ul li a.selected').removeClass('selected');
				$('#menu ul li a.current').addClass('selected');
				
				if(submenu.length)
					$('#'+submenu).hide();
				
				$('#submenu .active').show();
				submenu = '';
			},
			t_set ? 2000 : 0
		);
	});

	// przelaczanie tabow
	$('ul.tabswitch a').live('click', function() {
		var el = $(this);
		var item = $(this).parents('li');
		var target = $('#'+el.attr('rel'));
		
		el.addClass('selected');
		item.siblings('li').find('a.selected').removeClass('selected');
		target.show().siblings('.box_in').hide();
		
		return false;
	});

	// lightbox
    $("a[rel*=lightbox]").lightBox({
			imageLoading: '/img/ico_loading_light.gif',
			imageBtnClose: '/img/lightbox/close.gif',
			imageBtnPrev: '/img/lightbox/prev.gif',
			imageBtnNext: '/img/lightbox/next.gif',
			txtImage: 'Image',
			txtOf: 'of'
    });

    $("a[rel*=lightbox]").live('click', function(){
		return false;
	});
	
	// kropki paginacji
	var dots_timer;
	
	$('p.pagination a.dots').live('click', function() {
		var item = $(this);
		var dots = item.next('span.dots');
		if(!dots.is(':visible'))
		{
			$('p.pagination span.dots').hide();
		}
		
		dots.css('top', item.offset().top + item.outerHeight() + 1).css('left', item.offset().left).toggle();
		return false;
	}).mouseenter(function() {
		var item = $(this);
		var dots = item.next('span.dots');
		
		if(dots.is(':visible'))
		{
			clearTimeout(dots_timer);
		}
	}).mouseleave(function() {
		var item = $(this);
		var dots = item.next('span.dots');
		
		if(dots.is(':visible'))
		{
			dots_timer = setTimeout(function() { dots.hide() }, 1000);
		}
	});
	
	$('p.pagination span.dots').mouseenter(function() {
		clearTimeout(dots_timer);
	}).mouseleave(function() {
		var dots = $(this);
		var item = dots.prev('a.dots');
		
		dots_timer = setTimeout(function() { dots.hide() }, 1000);
	});
	
});

/**
 * Obsluga okna dialogowego dla potwierdzen
 *
 * @param url	strona na ktora ma byc przekierowanie po akceptacji
 * @is_form		czy przycisk nalezy do formularza
 *				jesli 'true' jako url nalezy podac sciezke do formularza
 */
function confirm_dialog(url, is_form)
{
	if (is_form == true)
	{
		$('#confirm_dialog').data('form', url);
	}
	else
	{
		$('#confirm_dialog').data('url', url);
	}

	$('#confirm_dialog')
		.dialog({
			big_frame: true,
			modal: true,
			minHeight: 50,
			buttons: {
				No: function() {
					$(this).dialog('close').dialog('destroy');
				},
				Yes: function() {
					if (form = $('#confirm_dialog').data('form'))
					{
						$(form).submit();
					}
					else
					{
						document.location.href = $('#confirm_dialog').data('url');
					}

					$(this).dialog('close').dialog('destroy');
				}
			}
		}).dialog('open');

		// przyciski z i18n
		var btn_yes = $("#confirm_dialog #btn_yes").text();
		var btn_no = $("#confirm_dialog #btn_no").text();
		$('#confirm_dialog').parent().find('.ui-dialog-buttonpane button:first').text(btn_no);
		$('#confirm_dialog').parent().find('.ui-dialog-buttonpane button:last').text(btn_yes);
}
