function addLoadEvent(func) {
    jQuery(document).ready(func);
}

var handle_time = function() {
	var d = new Date();
	var day = d.getDate();
	var month = Date.monthNames2[d.getMonth()];
	var year = d.getFullYear();
	var hours = d.getHours();
	var mins = d.getMinutes();
	if (mins < 10) mins = '0' + mins;
	var str = day + ' ' + month + ' ' + year + ', godzina ' + hours + ':' + mins;
	
	jQuery('#head-date').text(str);
}

var handle_events = function() {
    function update() {
		jQuery("#side-events li").each(function() {
			var li = jQuery(this);
            var rel = li.attr('rel');
            var sel = "#side-dp td[rel='" + rel + "']";
			var td = jQuery(sel);

			if (!td.hasClass("active")) {
				td.addClass("active");
				td.append("<ul></ul>");
				td.wrapInner("<div></div>");
			}

			var ul = jQuery("ul", td);
			ul.append("<li></li>");
			jQuery("li:last", ul).append(li.html());
			
		});
    }

    jQuery("#side-dp")
        .bind('dpMonthChanged', update)
        .datePicker({
            createButton: false,
            inline: true
        });

    update();
}

var handle_zoom = function() {
    jQuery('a.zoom').click(function(event) {
        event.preventDefault();

        var div = '<div id="main-zoom"><img id="main-zoom-img" src="' + jQuery(this).attr('href') + '"/><img id="main-zoom-close" src="lay-gfx/close.png" title="Zamknij" /></div>';
        jQuery("#wrap-zoom").append(div);
        jQuery("#main-zoom").css("height", jQuery("#wrap-zoom").css("height"));
        var close = jQuery("#main-zoom-close");
        close.hide();
        close.click(function(){jQuery("#main-zoom").remove()});
        jQuery("#main-zoom-img").load(function(){
            close.css("left", Math.floor(jQuery("#main-zoom-img").position().left) + 20);
            close.show();
        });
        var rel = jQuery('img', this).attr("rel");
        jQuery('div[rel="' + rel + '"]').appendTo(jQuery("#main-zoom"));
        jQuery("#main-zoom div").show();
    });
}

var handle_prepends = function() {
    jQuery("a.prepend-hack").each(function(){
        var a = jQuery(this);
        var p = a.prev("p");
        a.remove().appendTo(p);
    });

    jQuery("a.prepend-hack2").each(function(){
        var a = jQuery(this);
        var p = a.prev("a").find("p:last");
        a.remove().appendTo(p);
    });
}

var handle_repscroll = function() {
	if (!jQuery('#rep-main').length)
		return;

	jQuery(window).scroll(function() {
		var mypos = jQuery(window).scrollTop() - jQuery('#main-right').position().top;
		var maxpos = jQuery('#main-right').height() - jQuery('#main-left').height();

		if (mypos < 0 || maxpos < 0)
			mypos = 0;

		if (mypos > maxpos)
			mypos = maxpos;

		jQuery('#main-left').css('padding-top', mypos);
	});

}

var reco_hide = function() {
	var popup = jQuery('#side-reco-popup');
	jQuery('.text,textarea', popup).val('').removeClass('error');
	jQuery('label.error', popup).remove();
	jQuery('p.status', popup).hide();
	jQuery('p.submit', popup).show();
	popup.hide();
}

var handle_reco = function() {
	var form = jQuery('#side-reco form');
	var reco = jQuery('#side-reco');
	var popup = jQuery('#side-reco-popup');

	form.validate();
	jQuery('a.submit', form).click(function(ev) {
		ev.preventDefault();
		if (!form.valid())
			return false;

		var data = {
			name_from: jQuery('input[name=name_from]', form).val(),
			email_from: jQuery('input[name=email_from]', form).val(),
			email_to: jQuery('input[name=email_to]', form).val(),
			content: jQuery('textarea[name=content]', form).val(),
			title: jQuery('input[name=title]', form).val(),
			url: location.href
		};

		jQuery('p.status', form).hide();
		jQuery('p.wait', form).show();

		jQuery.post('form', data, function(resp) {
			if (resp == 'err') {
				jQuery('p.status', form).hide();
				jQuery('p.error', form).show();
			}
			else if (resp == 'ok') {
				jQuery('p.status', form).hide();
				jQuery('p.ok', form).show();
				setTimeout('reco_hide();', 2000);
			}
		});
		return false;
	});

	jQuery('a.show', reco).click(function(ev) {
		ev.preventDefault();
		popup.show();
		return false;
	});

	jQuery('a.hide', reco).click(function(ev) {
		ev.preventDefault();
		reco_hide();
		return false;
	});

	if (popup.css('position') == 'absolute') {
		jQuery(window).scroll(function() {
			var me = jQuery(this);
			popup.css('top', me.scrollTop() + parseInt((me.height() - popup.height()) / 2));
		});
	};
}

var fix_newsboxes = function() {
	jQuery('#news-boxes span[onclick]').each(function() {
		var me = jQuery(this);
		var img = jQuery('img', this);
		me.before(img);
		me.remove();
	});
}

var handle_hovers = function() {
	jQuery('#side-icons span[hover]').each(function(){
		var me = jQuery(this);
		var img = jQuery('img', me);

		var hover = me.attr('hover');
		var normal = img.attr('src');
		img.mouseout(function(){img.attr('src', normal)});
		img.mouseover(function(){img.attr('src', hover)});
	});
}

jQuery(function(){
	handle_time();
	handle_events();
	handle_zoom();
	handle_prepends();
	handle_repscroll();
	handle_reco();
	fix_newsboxes();
	handle_hovers();

});
