/*
	Autor: Grzegorz Jaworek
	E-mail: grzegorz.jaworek@gmail.com
	www: http://gjaworek.pl 
	Tel.: +48 519 133 159
*/


jQuery(document).ready(function(){
	newBox = false;
	fitToWindow();
	fitEquations();
	jQuery('.hide').hide();
	jQuery('.jsnav').attr('href','javascript:void(0)');
	var checkResize = false;
	var fontBase = parseFloat(jQuery('body').css('font-size'),11);
	jQuery('#smaller').click(function() {
		var fontSize = parseFloat(jQuery('body').css('font-size'),fontBase);
		if (fontSize <= 6) { 
			return false;
		}
		jQuery('body').css('font-size',fontSize*0.9+'px');
		return false;
	});
	jQuery('p').each(function() {
		if (trim(jQuery(this).html()) == '') {
			jQuery(this).html(jQuery(this).html()+'<br />');
		}
	});
	jQuery('#normal').click(function() {
		jQuery('body').css('font-size',fontBase+'px');
		return false;
	});
	jQuery('#bigger').click(function() {
		var fontSize = parseFloat(jQuery('body').css('font-size'),fontBase);
		if (fontSize < fontBase) { 
			jQuery('body').css('font-size',fontBase+'px');
			return false;
		}
		if (fontSize >= 24) { 
			return false;
		}
		currentContentHeight = jQuery('.content').height();
		newContentHeight = currentContentHeight*1.05;
		jQuery('.content').height(newContentHeight);
		jQuery('.filler').height(jQuery('.filler').height()+newContentHeight-currentContentHeight);
		jQuery('body').css('font-size',fontSize*1.1+'px');
		return false;
	});
	jQuery('.letters a').click(function() {
		jQuery(jQuery(this).attr('href')).val( (jQuery(jQuery(this).attr('href')).val()+jQuery(this).html().toLowerCase()) );
		jQuery(this).attr('href','javascript:void(0)');
		return false;
	});
	jQuery('.articles a.close').click(function() {
		if (jQuery(this).hasClass('hidden')) {
			jQuery('.article-list h3').removeClass('rozwiniety');
			jQuery('.close').addClass('hidden');
			jQuery('.articles .item').slideUp(400);
			jQuery(this).parents('li').children('h3').addClass('rozwiniety');
			jQuery(this).parent().parent().children('.item').slideDown(400);	
			jQuery(this).removeClass('hidden');
		} else {
			jQuery(this).parents('li').children('h3').removeClass('rozwiniety');
			jQuery(this).parent().parent().children('.item').slideUp(400);
			jQuery(this).addClass('hidden');
		}
	});
	jQuery('.article-list h3').click(function() {
		if (jQuery(this).next('.close').hasClass('hidden')) {
			jQuery('.article-list h3').removeClass('rozwiniety');
			jQuery('.close').addClass('hidden');
			jQuery('.articles .item').slideUp(400);
			jQuery(this).addClass('rozwiniety');
			jQuery(this).parent().parent().children('.item').slideDown(400);
			jQuery(this).next('.close').removeClass('hidden');
		} else {
			jQuery(this).removeClass('rozwiniety');
			jQuery(this).parent().parent().children('.item').slideUp(400);
			jQuery(this).next('.close').addClass('hidden');
		}
	});

	jQuery('.side-nav ul').hide();
	jQuery('.side-nav ul.active').show();
	jQuery('.side-nav li a.nav-main').click(function() {
		if (jQuery(this).hasClass('active')) {
			jQuery(this).removeClass('active');
			jQuery(this).next('ul').hide();
		} else {
			jQuery('.side-nav ul').hide();
			jQuery('.active').removeClass('active');
			jQuery(this).addClass('active');
			jQuery(this).next('ul').show();
			return false;
		}
	});
	
	jQuery('.side-nav li a.nav-subcat').click(function() {
		if (jQuery(this).hasClass('active')) {
			jQuery('.side-nav li.level-1 ul').hide();
			jQuery('.side-nav li.level-1 .active').removeClass('active');
			return false;
		};
		jQuery('.side-nav li.level-1 ul').hide();
		jQuery('.side-nav li.level-1 .active').removeClass('active');
		jQuery(this).addClass('active');
		jQuery(this).next('ul').show();
		return true;
	});
	
	jQuery('.side-nav li a.nav-subpage').click(function() {
		jQuery('.side-nav li.level-2 .active').removeClass('active');
		jQuery(this).addClass('active');
		return true;
	});
	
	jQuery('.borderText').wrap('<div class="innerBox">').addClass('ui-corner-all');
	jQuery('.article table').wrap('<div class="table-wrapper" />');
	
	jQuery('.sonda legend').each(function() {
		text = jQuery(this).html();
		jQuery(this).replaceWith('<span class="legend">'+text+'</span>');
	});
});



jQuery(window).load(function(){
	jQuery('#sidebar').each(function() {
		if (jQuery(this).height() <= jQuery(this).parent().height()) {
			diff=(jQuery(this).parent().height()-jQuery(this).height());
			jQuery('.sidebar').append('<div class="filler">&nbsp;</div>');
			jQuery('.filler').height(diff);
			if (jQuery('.filler').prev().hasClass('box')) {
				jQuery('.filler').css('background-color', jQuery('.filler').prev().css('background-color'));
			}
		}
		return false;
	});
	jQuery('.side .content').each(function() {
		if (jQuery(this).height() < jQuery(this).parent().height()) {
			checkResize = true;
			diff=(jQuery(this).parent().height()-jQuery(this).height()-60);
			jQuery(this).height(jQuery(this).height()+diff);
		}
		return false;
	});	

	fitScrollPanel();
	
	jQuery('.related').css('width','222px');
	jQuery('#middle h2:first-child').css('margin-top','-1px');
	jQuery('#scroll-related').jScrollPane({showArrows:true,scrollbarWidth:13, scrollbarMargin:6, dragMaxHeight: 63, dragMinHeight: 63});
	jQuery('#scroll-related a.close').click(function() {
		jQuery(this).parent().fadeOut(400);
		return false;
	});
	
	jQuery('.sidebar-shadow').hide();
	jQuery('.add-box').click(function() {
		if (jQuery(this).hasClass('disabled')) { return false;}
		jQuery(this).addClass('disabled');
		jQuery('.scroll-pane').fadeIn(400).prepend('<p>'+jQuery(this).next('.new-box').html()+'<a href="#'+jQuery(this).attr('id')+'" title="" class="close jsnav">Zamknij</a></p>');
		jQuery('#scroll-related a.close').click(function() {
			jQuery(this).parent().fadeOut(400);
			jQuery(jQuery(this).attr('href')).removeClass('disabled');
			return false;
		});
		newBox = true;
		jQuery('#scroll-related').jScrollPane({showArrows:true,scrollbarWidth:13, scrollbarMargin:6, dragMaxHeight: 63, dragMinHeight: 63});
		return false;
	});	
	
	fitToWindow();
	fitEquations();
	jQuery('.article img').each(function() {
		if (jQuery(this).attr('alt')=='latex' || jQuery(this).hasClass('latex-replacement') || jQuery(this).hasClass('latex')) { 
			jQuery(this).show(); } 
		else if (jQuery(this).width() > jQuery(this).parent().width()) {
			jQuery(this).next('br').remove();
			jQuery(this).wrap('<div class="table-wrapper" style="float: '+jQuery(this).css('float')+', display: '+jQuery(this).css('display')+'" />');
			jQuery(this).width(jQuery(this).parents('.guide').width());
		}
	});
	jQuery('td').each(function() {
		jQuery(this).append('&nbsp;');
		if (jQuery(this).hasClass('counter')) {
			jQuery(this).html('<div style="width: 80px; overflow: hidden;">'+jQuery(this).html()+'</div>');
		};
		if (jQuery(this).hasClass('count')) {
			jQuery(this).html('<div style="width: 50px; overflow: hidden;">'+jQuery(this).html()+'</div>');
		};
		if (jQuery(this).hasClass('last')) {
			jQuery(this).html('<div style="width: 180px; overflow: hidden;">'+jQuery(this).html()+'</div>');
		};
		if (jQuery(this).hasClass('topic')) {
			jQuery(this).html('<div style="width: 550px; overflow: hidden;">'+jQuery(this).html()+'</div>');
		};
	});
});

jQuery(window).resize(function(){
	try {
		fitToWindow();
		fitEquations();
	} catch(err) {}
});

function fitScrollPanel() {
	try {
		jQuery('.scroll-pane').each(function() {
			currentHeight = jQuery(this).parent('div').height();
			currentWidth = jQuery(this).parent('div').width();
			maxHeight = currentHeight+jQuery(this).parent('div').next('.filler').height();
			jQuery(this).parent('div').next('.filler').height(0);
			jQuery('.scroll-pane').height(maxHeight); 
		});
	} catch(err) {}
}


function fitToWindow() {
	try {
		//jQuery('#loginPanel').html(jQuery('body').width()-100+':'+jQuery('.full-screen .page').width());
		if (jQuery('.full-screen .page').width() > (997) || jQuery('body.full-screen').width()-80 > jQuery('.full-screen .page').width() ) {
			jQuery('.page').width(jQuery('body').width()-80);
			newWidth = jQuery('.page').width()-210;
			jQuery('#middle').width(newWidth);
			jQuery('#middle').css('background-repeat','repeat-x');
			jQuery('.content').width(newWidth-242);
			jQuery('ul.related-list, .sociable').width(newWidth-292);
		} else if (jQuery('.full-screen .page').width() < (997) && jQuery('.full-screen .page').width() != null && jQuery('body.full-screen').width()-80 < jQuery('.full-screen .page').width() ) {
			newWidth = 997-210;
			//jQuery('body').width(newWidth+210);
			jQuery('.page').width(newWidth+210);
			jQuery('.page').css('margin-left','auto');
			jQuery('#middle').width(newWidth);
			jQuery('.content').width(newWidth-242);
			jQuery('ul.related-list, .sociable').width(newWidth-292);
		};
		if (jQuery('.article').height()+210 > jQuery('.content').height()) {
			adiff = jQuery('.article').height()-jQuery('.content').height();
			aspace = jQuery('.info').height()+160;
			jQuery('.content').height(jQuery('.article').height()+aspace);
			//.content = .article (30 paddingi) + .related + .sociable + 20 (odstęp między related a sociable)?
			/*
			 jQuery('.content').height(jQuery('.article').height()+jQuery('.related').height()+jQuery('.sociable').height()+80);
			 jQuery('.content').height(jQuery('#middle').height()-jQuery('.sociable').height());
			 */
			jQuery('.filler').height(jQuery('.filler').height()+adiff+aspace);
			jQuery('.middle').height(jQuery('.content').height());
		} else {
			jQuery('.content').height(jQuery('.middle').height());
			
		};
	} catch(err) {}
	
	try {
		//jQuery('#loginPanel').html(jQuery('body').width()-100+':'+jQuery('.full-screen .page').width());
		if (jQuery('.related-list').height() > 0 ) {
			jQuery('.content').height(jQuery('.content').height()+jQuery('.related-list').height()/2);
			jQuery('.middle').height(jQuery('.middle').height()+jQuery('.related-list').height()/2);
			jQuery('.filler').height(jQuery('.filler').height()+jQuery('.related-list').height()/2);
		};
	} catch(err) {}
	//related-list
	
	try {
		var addItemSpace = 0;
		jQuery('.article-list .item').show();
		jQuery('.article-list').each(function() {
			(jQuery(this).height() > addItemSpace) ? addItemSpace = jQuery(this).height() : addItemSpace = addItemSpace;
		});
		jQuery('.article-list .item').hide();
		if (jQuery('.article-list li').size() == jQuery('.article-list li.item').size()) {
			jQuery('.article-list li.item').show();
		}
		addItemSpace = parseInt((addItemSpace-50)/2);
		//alert(addItemSpace);
		if (addItemSpace > 0 ) {
			jQuery('.article').height(jQuery('.article').height()+addItemSpace);
			jQuery('.content').height(jQuery('.content').height()+addItemSpace);
			//jQuery('.filler').height(jQuery('.filler').height()+addItemSpace);
			jQuery('.middle').height(jQuery('.middle').height()+addItemSpace);
			
			jQuery('#sidebar').each(function() {
				if (jQuery(this).height() <= jQuery(this).parent().height()) {
					diff=(jQuery(this).parent().height()-jQuery(this).height());
					jQuery('.sidebar').append('<div class="filler">&nbsp;</div>');
					jQuery('.filler').height(diff);
					if (jQuery('.filler').prev().hasClass('box')) {
						jQuery('.filler').css('background-color', jQuery('.filler').prev().css('background-color'));
					}
				}
				return false;
			});
		} 
	} catch(err) {}
}


function fitEquations() {
	try {
		jQuery('img[alt="latex-replacement"]').each(function() {
			jQuery(this).replaceWith('<img alt="latex" src="'+jQuery(this).next('.latex-show').children('img').attr('src')+'" />'); 
		});
		jQuery('.article img[alt="latex"]').each(function() {
			if (jQuery(this).parent().width()<jQuery(this).width()) {
				jQuery(this).replaceWith('<img class="latex-replacement" alt="latex-replacement" src="/skin/frontend/img/btn-zobacz-wzor.png"><span class="latex-show"><img title="close" alt="latex-show" src="'+jQuery(this).attr('src')+'" /></span>');
			} 
		});
		jQuery('.def img[alt="latex"]').each(function() {
			if (jQuery('.def').width()<jQuery(this).width()) {
				jQuery(this).replaceWith('<img class="latex-replacement" alt="latex-replacement" src="/skin/frontend/img/btn-zobacz-wzor.png"><span class="latex-show"><img title="close" alt="latex-show" src="'+jQuery(this).attr('src')+'" /></span>');
			} 
		});
		jQuery('.latex-replacement').click(function() {
			jQuery(this).next().show();
			jQuery(this).css('padding-bottom',jQuery(this).next().height()-10);
			jQuery(this).next().width(jQuery(this).parent().width());
			jQuery('.content').height(jQuery('.content').height()+50);
			jQuery('.middle').height(jQuery('.middle').height()+50);
			jQuery('.filler').height(jQuery('.filler').height()+50);
		});
		
		jQuery('.latex-show').click(function() {
			jQuery(this).hide();
			jQuery(this).prev().css('padding-bottom',0);
			jQuery('.content').height(jQuery('.content').height()-50);
			jQuery('.middle').height(jQuery('.middle').height()-50);
			jQuery('.filler').height(jQuery('.filler').height()-50);
		});
		
	} catch(err) {}
}

function showClose(btn, id){
	try {
		var buttonName = btn;
		var buttonId = id;
		var button = '#'+buttonName+'_'+buttonId;
		var buttonObj = jQuery(button);

		buttonObj.toggle();

		var exHeight = buttonObj.height();

		if (buttonObj.hasClass('rozwiniety')) {
		buttonObj.removeClass('rozwiniety');
		jQuery('.content').height(jQuery('.content').height()-exHeight-15);
		jQuery('.filler').height(jQuery('.filler').height()-exHeight-15);
		} else {
		buttonObj.addClass('rozwiniety');
		jQuery('.content').height(jQuery('.content').height()+exHeight+15);
		jQuery('.filler').height(jQuery('.filler').height()+exHeight+15);
		}
	} catch(err) {}
	fitEquations();
}


function trim(stringValue)
{
return stringValue.replace(/(^\s*|\s*$)/, "");
}
