
(function($){
	$.fn.shuffle = function() {
		return this.each(function(){
			var items = $(this).children().clone(true);
			return (items.length) ? $(this).html($.shuffle(items)) : this;
		});
	}
	
	$.shuffle = function(arr) {
		for(var j, x, i = arr.length; i; j = parseInt(Math.random() * i), x = arr[--i], arr[i] = arr[j], arr[j] = x);
		return arr;
	}
})(jQuery);


function main_menu(){
    $("#main-menu li a").addClass("has-menu");
    $("#main-menu li li a").removeClass("has-menu");
	$("#main-menu li ul").hide();
	 
	
	$("#main-menu li a.has-menu").hover(
      function () {
          $("#main-menu li ul").slideUp("fast");
          $("a.current").removeClass("current");
          $(this).addClass("current")
            .parent("li")
            .children("ul").slideDown("fast");
      }, 
      function () {
            //$j(".current").removeClass("current");
      }
    );

    $("#main-menu").hover(
      function () {}, 
      function () {
            $(".current").removeClass("current");
            $("#main-menu li ul").slideUp("fast");
      }
    );
	
	return false;
}

$(document).ready(function() {
	
	$('h1').wrapInner('<span />');
	
	if ($("#main .listing li").size() % 2) {
		$("#main .listing li:last").addClass("last-line");
	} else {
		$("#main .listing li:last, #main .listing li:eq("+($("#main .listing li").size()-2)+")").addClass("last-line");
	}

	
 	Cufon.replace('h1');
 	Cufon.replace('#kontakt h2');
 	Cufon.replace('#sidebar h2');
	
	$('#slideshow').shuffle();

	$('#slideshow').cycle({ 
	    fx:     'fade', 
	    speed:  2000, 
	    timeout: 10000, 
	    slideExpr: 'li',
	    sync: true,
	});

	main_menu();


	$('.photo-gallery a').lightBox({
		imageLoading: _root + '/' + _template_root + '/static/gfx/lightbox/lightbox-ico-loading.gif',
		imageBtnPrev: _root + '/' + _template_root + '/static/gfx/lightbox/lightbox-btn-prev.gif',
		imageBtnNext: _root + '/' + _template_root + '/static/gfx/lightbox/lightbox-btn-next.gif',
		imageBtnClose: _root + '/' + _template_root + '/static/gfx/lightbox/lightbox-btn-close.gif',
		imageBlank: _root + '/' + _template_root + '/static/gfx/lightbox/lightbox-blank.gif'
	});

	if (!_lang_req) {
		var _lang_req = 'To pole jest wymagane.';
	}
	
	function setError(f, msg) {
		$('#' + f).closest('li').append('<strong>' + msg + '</strong>');
		$('#' + f).closest('li').addClass('error');
	}
	
	function clearError(f) {
		$('#' + f).closest('li').find('strong').remove();
		$('#' + f).closest('li').removeClass('error');
	}
	
	function validateField(f, min_l, e_msg, s_msg) {
		var s = $('#' + f)[0].value;
		clearError(f);
		if (s == '') {
			setError(f, e_msg);
			return false;
		}
		if (s.length < min_l) {
			setError(f, s_msg);
			return false;
		}
		return true;
	}
	
	function validateCheckboxField(f, e_msg) {
		var s = $('input:checkbox[name=' + f + '[]]:checked').val();
		if (!s) {
			setError(f, e_msg);
			return false;
		}
		clearError(f);
		return true;
	}
	
	function validateRadioField(f, e_msg) {
		var s = $('input:radio[name=' + f + ']:checked').val();
		if (!s) {
			setError(f, e_msg);
			return false;
		}
		clearError(f);
		return true;
	}
	
	function validateSelect(f, e_msg) {
		var s = $('select[name=\'' + f + '\']')[0].value;
		clearError(f);
		if (parseInt(s) == 0) {
			setError(f, e_msg);
			return false;
		}
		return true;
	}
	
	$('.ncms-form').submit(function(ev) {
		
		var b = true;
		
		$('form li.required input[type=text], form li.required textarea').each(function() {
			b &= validateField(this.id, 0, _lang_req, '');
		});
		$('form li.required select').each(function() {
			b &= validateSelect(this.id, _lang_req);
		});
		$('form li.required ul.check-list').each(function() {
			b &= validateCheckboxField(this.id, _lang_req);
		});
		$('form li.required ul.radio-list').each(function() {
			b &= validateRadioField(this.id, _lang_req);
		});
		
		if (b) {
			return;
		}
	
		ev.preventDefault();
	});
	
	function initLinks(elems) {
		$(elems).attr('origsrc', function(attr) {
			return $(this).attr('src');
		});
		$(elems).hover(function() {
			$(this).attr('src', $(this).attr('origsrc').replace(/\.png/, '-ho.png'));
		},
		function() {
			$(this).attr('src', $(this).attr('origsrc'));
		});
	}

	$('#toolbox .item-0 a').click(function(ev) {
		window.print();
		ev.preventDefault();
	});

	$('#footer .toolbox .item-0 a').click(function(ev) {
		window.history.back();
		ev.preventDefault();
	});

});

