$(document).ready(function() {
	/* ///////// MENU ///////////// */
	/* defoult position */
	lft = $('.mainmenu_container a.active').position().left;
	wid = $('.mainmenu_container a.active').innerWidth();
	r=wid/15;
	$('.mnActive').stop(true,false).animate({
		width: wid + r,
		left: lft + r
		},500).animate({
		width: wid, 
		left: lft
	});
	/* hover position */
	$('.mainmenu_container a').hover(function(){
		$('.mainmenu_container a.active').addClass('noact');
		lft = $(this).position().left;
		wid = $(this).innerWidth();
		lftA = $('.mnActive').position().left;
		lft < lftA ? r=-(wid/15) : r=wid/15;
		$('.mnActive').stop(true,false).animate({
			width: wid + r,
			left: lft + r
			},500).animate({
			width: wid, 
			left: lft
		});
	});	
	/* back to defoult position */
	$('.mainmenu_container').mouseleave(function(){
		lft = $('.mainmenu_container a.active').position().left;
		wid = $('.mainmenu_container a.active').innerWidth();
		$('.mnActive').stop(true,false).animate({
			width: wid,
			left: lft
		},500);
		clearTimeout(timeoutId);
		function act2(){
			$('.mainmenu_container a').removeClass('noact');
		}
		timeoutId2 = setTimeout(act2, 400);		
	});
	/* --- Template preview (begin) --- */

	if ($('.portfolio_object').length > 0) {
		
		$('body').append('<div id="templatePreviewWrapper"><h2 id="templatePreviewHeading"></h2> <div id="templatePreviewBody"></div></div>');

		var previewTimeout;

		function showPreview(wrapper,heading,title,src) {
			var previewHTML='<img id="templatePreviewImage" src="'+src+'" alt=""/><div id="templatePreviewProgressBar"></div>';
			heading.innerHTML=title;
			document.getElementById('templatePreviewBody').innerHTML=previewHTML;
			previewProgress = document.getElementById('templatePreviewProgressBar');
			previewImage = document.getElementById('templatePreviewImage');
			previewImage.onload=function() {
				previewProgress.style.display='none';
			}
			previewTimeout = setTimeout(function (){
				$("#templatePreviewWrapper").css('opacity', '0');
				wrapper.display='block'
			},250);
		}


		function hidePreview(wrapper,heading,image) {
			clearTimeout(previewTimeout);
			$('#templatePreviewBody').empty();
			wrapper.display='none';
		}

		function previewMouseFollow(event,wrapper,width,height,winWidth,winHeight,topOffset) {
			pageX=event.pageX;
			pageY=event.pageY;
			var correct_height= false;
			if($("#templatePreviewImage").height()==0){
				setTimeout(function(){previewMouseFollow(event,wrapper,width,height,winWidth,winHeight,topOffset)}, 1);
			}else{
				height= $("#templatePreviewImage").height()+45;
				correct_height= true;
			}
			previewOffsetTop=(winHeight-height)/2;
			previewOffsetLeft=(winWidth-width)/2;
			correctedTopOffset=previewOffsetTop+topOffset;
			offset=30;
			centered=false;
			if (winHeight > height) {
				if (pageY<correctedTopOffset-offset) {
					pageY=pageY+offset;
				}
				else if (pageY>correctedTopOffset+height+offset) {
					pageY=pageY-offset-height;
				}
				else {
					pageY=correctedTopOffset;
					centered=true;
				}
			}
			else {
				pageY=topOffset;
				centered=true;
			}
			if (centered) {
				if (pageX<winWidth/2) {
					pageX+=offset;
				}
				else {
					pageX=pageX-width-offset;
				}
			}
			else {
				if (pageX<previewOffsetLeft-offset) {
					pageX=pageX+offset;
				}
				else if (pageX>previewOffsetLeft+width+offset) {
					pageX=pageX-width-offset;
				}
				else {
					pageX=previewOffsetLeft;
				}
			}
			wrapper.left=pageX+'px';
			wrapper.top=pageY+'px';
			if(correct_height)
				$("#templatePreviewWrapper").css('opacity', '1');
		}

		var currentWindow=$(window);
		var windowObj = new Object();
		windowObj.width = currentWindow.width();
		windowObj.height = currentWindow.height();
		windowObj.scrollTop = currentWindow.scrollTop();
		var previewWrapper=document.getElementById('templatePreviewWrapper').style;
		var previewHeading=document.getElementById('templatePreviewHeading');
		var previewProgress;
		var previewImage;

		currentWindow.resize(function(){
			windowObj.width=$(this).width();
			windowObj.height=$(this).height();
		}).scroll(function(){
			windowObj.scrollTop=$(this).scrollTop();
		});

		$('.portfolio_object').each(function() {
			var currentTemplate = $(this);
			var widthOffset = 32;
			var heightOffset = 53;
			var display;
			var previewWidth;
			var previewHeight;


			if($(this).attr('src').length>0){
				currentTemplate.hover(
					function() {
						previewWidth=430+widthOffset;
                        previewHeight=1000+heightOffset;
						showPreview(previewWrapper,previewHeading, $(this).attr('alt'),$(this).attr('src'));
					},
					function() {
						hidePreview(previewWrapper,previewHeading);
					}
				).mousemove(function(event) {
					previewMouseFollow(event,previewWrapper,previewWidth,previewHeight,windowObj.width,windowObj.height,windowObj.scrollTop);
				});
			}
		});

	}

/* --- Template preview (end) --- */


/* --- PORTFOLIO HOVER --- */
	$('#content .portfolio').hover(
		function(){
			$(this).find('.img_grayscale').animate({opacity: 0}, 300, 'linear');
			$(this).find('.post-overlay').animate({bottom: -50}, 150, 'linear');
		},
		function(){
			$(this).find('.img_grayscale').animate({opacity: 1}, 300, 'linear');
			$(this).find('.post-overlay').animate({bottom: 45}, 150, 'linear');
		}
	);	
/* --- PORTFOLIO HOVER (end) --- */


//Пагинация портфолио в правой колонке
boxFade('.portfolio_right .portfolio_list > ul');
	function boxFade(b){
		if(jQuery(b).size()>1){
			jQuery(b).hide().eq(0).show().addClass('act');
			jQuery(b).parent().append('<div class="nNav nNavMat"><i class="nPrev"/><i class="nNext"/></div>');
			jQuery('.nNavMat .nPrev').click(function(e){
				jQuery(b+'.act').fadeOut(0);
				if(jQuery(b+'.act').prev(b).size()) jQuery(b+'.act').removeClass('act').prev(b).fadeIn('slow').addClass('act');
				else {
					jQuery(b+'.act').removeClass('act');
					jQuery(b+':last').fadeIn('slow').addClass('act');
				}
			});
			jQuery('.nNavMat .nNext').click(function(e){
				jQuery(b+'.act').fadeOut(0);
				if(jQuery(b+'.act').next(b).size()) jQuery(b+'.act').removeClass('act').next(b).fadeIn('slow').addClass('act');
				else {
					jQuery(b+'.act').removeClass('act');
					jQuery(b+':first').fadeIn('slow').addClass('act');
				}
			});
		}
	}
});


