$(document).ready(function(){
	// BASICS
	$('a[@rel="external"]').each(function(){
		$(this).attr('target','_blank');
	});

	// LAYOUT CHANGE
	if($('#article').size()){
		$('#breadcrumbs fieldset').css('margin-right', '70px');
		$('#breadcrumbs').after('<div id="layout"><p>Układ strony:</p><ul id="layout"><li class="c"><a href="./" title="Trzy kolumny" class="on">trzykolumnowy</a></li><li class="b"><a href="./" title="Dwie kolumny">dwukolumnowy</a></li></ul></div>');
	}
	
	function layout(element){
		var layout;
		
		$('#layout li a').removeClass('on');
		element.addClass('on');
		
		$('#content').removeClass('single double triple');
		switch(element.parent('li').attr('class')) {
			case 'a':
				layout = 'single';
				break;
			case 'b':
				layout = 'double';
				break;
			case 'c':
				layout = 'triple';
				break;
			}
		$('#content').addClass(layout);
		element.blur();
		return false;
	}
	
	$('#layout li a').click(function(){
		return layout($(this));
	});
	
	// QUICKJUMP
	$('#breadcrumbs fieldset select').change(function(){
		$(this).parents('form').submit();
	});
	
	// SEARCH-BOX
	$('#search-box').submit(function(){
		if($('#input-query').val().length < 3){
			alert('Pole /Szukana fraza/ powinno zawierać przynamniej 3 znaki');
			return false;
		}
	});
	
	// CALENDAR
	$('#calendar-box table tbody tr').each(function(){
		$(this).find('td').eq(5).addClass('sixth');
		$(this).find('td').eq(6).addClass('seventh');
	})
	
	$('#calendar-box h2').after('<span class="loader"></span><span class="indicator"></span><ul class="nav"><li class="prev"><a href="#top">poprzedni</a></li><li class="next"><a href="#top">następny</a></li><li class="today"><a href="#top" class="button-b"><span>dzisiaj &rsaquo;</span></a></li></ul>');
	$('#calendar-box table caption').addClass('make-place');

	var month = 0;
	$('#calendar-box ul.nav li.prev a').click(function(){
		month = month - 1;
		return rollCalendar(month);
	});
	$('#calendar-box ul.nav li.next a').click(function(){
		month = month + 1;
		return rollCalendar(month);
	});
	$('#calendar-box ul.nav li.today a').click(function(){
		if(month == 0){
			return false;
		}
		month = 0;
		return rollCalendar(month);
	});
	
	// ARTICLE
	$('#article-info p').eq(1).prepend('<a href="#top" class="print">Drukuj</a> <span class="offset">|</span>');
	$('#article-info p a.print').click(function(){
		print();
		return false;
	});
	
	$("img.caption").each(function(){
		if($(this).attr('title') != ''){
			$(this).after('<span class="'+$(this).get(0).className+'">'+$(this).attr('title')+'</span>');
			$(this).next('span').width(($(this).width()-10)+'px');			
		}
	});
	
	// CONTACT
	$('#contact-form').submit(function(){
		var required = Array(
			'f_name','f_email','f_subject','f_message'
		);
		var required_names = Array(
			'Imię i nazwisko','Adres e-mail','Temat','Wiadomość'
		);
		for (i = 0; i < required.length; i++){
			if($('#'+required[i]).val() == ''){
				alert('Pole /'+required_names[i]+'/ nie może pozostać puste');
				return false;
			}
		}			
		return true;
	});
	
	// NOTIFY
	$('#notify-form dd.add-more a').click(function(){
		var next = $('#notify-form dd.friends-email').length + 1;
		var insert = '<dt><label for="f_friend' + next + '">E-mail znajomego:</label></dt><dd class="friends-email"><input type="text" name="friend[]" id="f_friend' + next + '" /></dd>';
		$('#notify-form dt.add-more').before(insert);
		if (next == 99){
			$('#notify-form dd.add-more, #notify-form dt.add-more').remove();
		}
		return false;
	});
	
	$('#notify-form').submit(function(){
		var required = Array(
			'f_name','f_email','f_friend1'
		);
		var required_names = Array(
			'Twój podpis','Twój adres e-mail','Email znajomego'
		);
		for (i = 0; i < required.length; i++){
			if($('#'+required[i]).val() == ''){
				alert('Pole /'+required_names[i]+'/ nie może pozostać puste');
				return false;
			}
		}			
		return true;
	});
	
	// ERRORS
	$('#errors-form').submit(function(){
		var required = Array(
			'f_name','f_email','f_message'
		);
		var required_names = Array(
			'Imię i nazwisko','Adres e-mail','Wiadomość'
		);
		for (i = 0; i < required.length; i++){
			if($('#'+required[i]).val() == ''){
				alert('Pole /'+required_names[i]+'/ nie może pozostać puste');
				return false;
			}
		}
		if($('input[@name="subject"]:checked').size() == 0){
			alert('Proszę wybrać /Przedmiot problemu/');
			return false;
		}
		return true;
	});
	
	// SITEMAP
	$('ul.structure, ul.structure ul').each(function(){
		$(this).find('li:last-child').addClass('last');
	});
	
});

// CALENDAR LOAD
function rollCalendar(month){
	$('#calendar-box span.loader, #calendar-box span.indicator').animate({opacity: 'show'}, "fast");
	//$('#calendar-box div.content').slideUp("slow");
	$("#calendar-box div.content").load("/calendar/show/"+newDate(month),function(){ 
		//$('#calendar-box div.content').slideDown("slow");
		$('#calendar-box span.loader, #calendar-box span.indicator').animate({opacity: 'hide'}, "fast");
	});
	return false;
}

// MONTH SUBSTRACTION, RETURN XXXX-MM
function newDate(months){
	var today = new Date();
	var year = today.getYear() < 2000 ? today.getYear() + 1900 : today.getYear();
	var month = today.getMonth() + 1;
	
	if(months == 0){
		return year+'-'+(month < 10 ? '0'+month : month);
	} else {
		tm = month + months; // total months
		
		if(months > 0){
			y = Math.floor(tm / 12); // years to add
			m = tm % 12; // months to add
			if(m == 0){
				y = y - 1;
			}
		} else {
			if(tm <= 0){
				y = - Math.floor(Math.abs(tm) / 12) - 1; // years to substract
				m = - Math.abs(tm) % 12; // months to substract
			} else {
				m = tm;
				y = 0;
			}
		}
		newYear = year + y;
		if(m <= 0){
			newMonth = 12 + m;
		} else {
			newMonth = 0 + m;
		}

		return newYear+'-'+(newMonth < 10 ? '0'+newMonth : newMonth);
	}
}

document.write('<link rel="stylesheet" type="text/css" media="screen" href="styles/javascript.css" />');
