/**
 * @author Krzysztof Sobieraj
 * 
 * @since 2010-08-04
 * @version 1.0.20100804.1040
 */
jQuery(document).ready(function() {
	
	var sTodaysCover = jQuery('.okladka').html();
	var sTodaysLink = jQuery('#zoomBox').children('a').attr('href');
	//alert(sTodaysCover + ' | ' + sTodaysLink);
	var oTimer;
	
	jQuery('.mini-calendar').delegate('td', 'mouseenter', function(){
		clearTimeout(oTimer);
		coverEngine(jQuery(this), sTodaysCover);
	});
	
	jQuery('#zoomBox').bind('click', function() {
		modalEngine();
	});

	jQuery('.okladka').delegate('#smallCover', 'click', function() {
		modalEngine();
	});

	function coverEngine(oActiveElement, sTodaysCover) {
		//alert(coverEngine);
		
		if(oActiveElement.attr('id') != '') {
			//alert(oActiveElement.children('a').attr('href'));
			jQuery('.okladka').load(oActiveElement.children('a').attr('href') + ' #issueBox', function() {
				jQuery('#zoomBox').children('img').fadeOut(100);
				jQuery('#zoomBox').children('a').fadeOut(100);
			});
				
			sData = oActiveElement.children('a').attr('href');
			sDataIndex = sData.lastIndexOf('=');
			sData = sData.substring(sData.lastIndexOf('=')+1);
			//alert(sData);
		
			jQuery('.mini-calendar').delegate('table', 'mouseleave', function(){
				//alert(jQuery(this).find('a').attr('href'));
				oTimer = setTimeout(function() {
					jQuery('#issueBox').replaceWith(sTodaysCover);
					jQuery('#zoomBox').children('img').fadeIn(100);
					jQuery('#zoomBox').children('a').fadeIn(100);
				}, 5000);
			});
		}
	}

	function modalEngine() {
		//alert('KLIK');
		
		if (window.innerHeight) {
	  	(document.body.clientHeight > window.innerHeight) ? plateHeight = document.body.clientHeight : plateHeight = window.innerHeight;
	  }
		else {
			plateHeight = document.body.clientHeight
		}
		var plateWidth = document.body.clientWidth;
		var nImgWidth = 592;
		var nImgLeft = (plateWidth - nImgWidth) / 2;
		
		var oPlateElement = document.createElement('div');
		jQuery(oPlateElement).attr('id', 'plate');
		jQuery(oPlateElement).css('display', 'none');
		jQuery(oPlateElement).css('position', 'absolute').css('left', '0px').css('top', '0px');
		jQuery(oPlateElement).css('background-color', '#000000');
		jQuery(oPlateElement).css('width', '100%').css('height', plateHeight);
		jQuery(oPlateElement).css('cursor', 'pointer');
		jQuery(oPlateElement).appendTo('body'); 
		jQuery(oPlateElement).addClass('modalPlate');
		jQuery(oPlateElement).fadeTo(10, 0.5, function() {
			var oImgBoxElement = document.createElement('div');
			jQuery(oImgBoxElement).attr('id', 'modalImgBox');
			jQuery(oImgBoxElement).css('display', 'none');
			jQuery(oImgBoxElement).css('position', 'absolute').css('left', nImgLeft).css('top', '20px');
			jQuery(oImgBoxElement).css('width', '592px').css('height', '800px');
			jQuery(oImgBoxElement).appendTo('body');
			var oImgElement = document.createElement('img');
			jQuery(oImgElement).attr('id', 'modalImg');
			jQuery(oImgElement).css('cursor', 'pointer');
			jQuery(oImgElement).attr('src', jQuery('#smallCover').attr('src').replace('/s_', '/b_'));
			jQuery(oImgElement).appendTo(oImgBoxElement);
			var oModalCloseBox = document.createElement('div');
			jQuery(oModalCloseBox).attr('id', 'modalCloseBox');
			jQuery(oModalCloseBox).css('background', 'url(http://www.rp.pl/static/img/modal_close_icon.png) no-repeat scroll 0 0 transparent');
			jQuery(oModalCloseBox).css('width', '40px').css('height', '40px');
			jQuery(oModalCloseBox).css('position', 'absolute');
			jQuery(oModalCloseBox).css('right', '-20px').css('top', '-20px');
			jQuery(oModalCloseBox).css('cursor', 'pointer');
			jQuery(oModalCloseBox).appendTo(oImgBoxElement);
	
			jQuery(oImgBoxElement).fadeIn(100);
			
			jQuery('#plate').bind('click', function() {
				modalRemover(oImgBoxElement, oPlateElement);
			});
	
			jQuery('#modalCloseBox').bind('click', function() {
				modalRemover(oImgBoxElement, oPlateElement);
			});
		}); 
		
		return false;
	}
	
	function modalRemover(oImgBoxElement, oPlateElement) {
		jQuery(oImgBoxElement).fadeOut(100, function() {
			jQuery(oPlateElement).fadeOut(10, function() {
				jQuery(oPlateElement).remove();
			});
		});
	}
});
