var IE=$.browser.msie;
function hoverClass(elements){
	$(elements).mouseenter(function() {
		$(this).addClass('hover');
	});
	$(elements).mouseleave(function() {
		$(this).removeClass('hover');
	});
}
function uniHeight(){
	var uh = 0;
	$('.uniheight').each(function(){
		uh = Math.max(uh, $(this).height());
	});
	$('.uniheight').height(uh);
}

function peresize(){
	$('#bg_banners').add('.picline1').add('.picline13').add('#content').hide();
	var min_Height = $('.menu > ul').height() + $('.start').height() + 233;
	$('.x-mask1').height($('.menu > ul').height() + 200);
	$('.homepage .menu').add('.gallery .menu').hide();
	min_Height = Math.max(min_Height, 600);
	if ($('#c1').height() < min_Height){
		$('#c1').height(min_Height);
		$('#footer').hide().show();
	}

	var scrh = Math.max($(window).height(), min_Height);
	var wh = Math.max($(window).height(), $('#c0').height());
	var ww = Math.max(Math.max($(window).width(), $('#c0').width()), Math.max(($('#c1').width() + 270), $('#footer').width()));
	ww = Math.max(ww, $('#cw').width())
	var aph = 0;
	$('#bg_banners .banners').add('.movebanner, .relbanner').height(wh).width(ww);
	$('#bg_banners').show();
	
	
	$('.banners').each(function(){
		$('.movebanner', this).add('.relbanner', this).height($(this).height()).width($(this).width());
	});

	$('.banners .movebanner').each(function(){
		var nocrop = $(this).parent().parent().hasClass('section-nocrop');
		var mh = $(this).height();
		var mw = $(this).width();
		var ih = $('img', this).height();
		var iw = $('img', this).width();
		if(nocrop != (iw/ih > mw/mh)){ //картинка панорамнее
			$('img', this).height(mh);
			iw = Math.round(iw*mh/ih);
			$('img', this).width(iw);
			$('.rotabanner', this).css('top', 0);
			$('.rotabanner', this).css('left', Math.round((mw-iw)/2));
		}else{
			$('img', this).width(mw);
			ih = Math.round(ih*mw/iw);
			$('img', this).height(ih);
			$('.rotabanner', this).css('left', 0);
			$('.rotabanner', this).css('top', Math.round((mh-ih)/2));
		}
	});
	$('.about-picture .item').each(function(){
		aph = Math.max(aph, $(this).height());
	})
	$('.about-picture .items').height(aph);
	$('.picline1').add('.picline13').width(ww).show();
	$('.picline2').css('left', 0);
	$('.rightcol').add('.picline13').height(wh-133);
	$('.rightcol2').add('.rightcol3').add('.rightcol4').add('.rightcol5').height(wh);
	$('.rightcol .info').height(wh-355-$('.rightcol .olsa').height());
	$('.rightcol').add('.rightcol2').hide();
	$('.gallery-navi').show();
	$('.picline').addClass('maypicline');

	$('#content').add('.normal').width(ww-270).height(scrh).show();
	
	var wt = Math.round (($(window).height() - 150)/2);
	$('.wait').css('top', wt+'px');
	var wl = Math.round (($(window).width() - 200)/2);
	$('.wait').css('left', wl+'px');
	$('#footer').hide().show();	

}
function activate_banners(){

	$('.about-picture .item').hide();
	$('#aboutpicture_1').show();
	
	$('.banners').each(
		function(){
			var area = this;
			var banners_cnt = $('.rotabanner', area).length;
			var many_banners = (banners_cnt > 1);
			$('.banner_cnt_total', area).add('.global-navi .banner_cnt_total').html(banners_cnt);
			if(banners_cnt > 0){
				var mayslide = true;
				var current_banner = 1;

				$('.movebanner', area).each(function(i){
					if($(this).hasClass('start_banner')){
						current_banner = i+1;
					
					}
				});
				$('.banner_cnt_current', area).add('.global-navi .banner_cnt_current').html(current_banner);
				
				var prev_banner = 0;
				/*
				$('.movebanner', area).hide();
				$('.movebanner_'+current_banner, area).show();
				*/
				$('.movebanner', area).css('left', $(area).width()).css('z-index', 0);
				$('.movebanner_'+current_banner, area).css('z-index', 1).css('left', 0);

				

				function bannerinfo(){
					$('.banner_cnt_current', area).add('.global-navi .banner_cnt_current').html(current_banner);
					$('#aboutpicture_'+current_banner).fadeIn(1000);
					$('#aboutpicture_'+prev_banner).fadeOut(1000);
				}
				
				function nextbanner() {
					mayslide = false;
					prev_banner = current_banner;
					if (current_banner == banners_cnt){
						current_banner=1;
					}else{
						current_banner++;
					}
					$('.movebanner_'+prev_banner, area).siblings('.movebanner').css('z-index', 0);
					$('.movebanner_'+current_banner, area).stop().css('left', $(area).width()).show().css('z-index', 2).animate({left:0}, 1000, 'easeInOutExpo', function(){mayslide = true;});
					$('.movebanner_'+prev_banner, area).css('z-index', 1);
					$('#bg_banners').find('.movebanner_'+prev_banner, area).animate({left:-$(area).width()}, 1000, 'easeInExpo');
					bannerinfo();
				}
				function prevbanner() {
					mayslide = false;
					prev_banner = current_banner;
					if (current_banner == 1){
						current_banner=banners_cnt;
					}else{
						current_banner--;
					}
					$('.movebanner_'+prev_banner, area).siblings('.movebanner').css('z-index', 0);
					$('.movebanner_'+current_banner, area).stop().css('left', -$(area).width()).show().css('z-index', 2).animate({left:0}, 1000, 'easeInOutExpo', function(){mayslide = true;});
					$('.movebanner_'+prev_banner, area).css('z-index', 1);
					$('#bg_banners').find('.movebanner_'+prev_banner, area).animate({left:$(area).width()}, 1000, 'easeInExpo');
					bannerinfo();
				}
				function changeBanner(i){
					prev_banner = current_banner;
					current_banner = i+1;
					if (mayslide && (current_banner != prev_banner)){
						mayslide = false;
						if (current_banner > prev_banner){
							$('.movebanner_'+prev_banner, area).siblings('.movebanner').css('z-index', 0);
							$('.movebanner_'+current_banner, area).stop().css('left', $(area).width()).show().css('z-index', 2).animate({left:0}, 1000, 'easeInOutExpo', function(){mayslide = true;});
							$('.movebanner_'+prev_banner, area).css('z-index', 1);
							$('#bg_banners').find('.movebanner_'+prev_banner, area).animate({left:-$(area).width()}, 1000, 'easeInExpo');
						}else{
							$('.movebanner_'+prev_banner, area).siblings('.movebanner').css('z-index', 0);
							$('.movebanner_'+current_banner, area).stop().css('left', -$(area).width()).show().css('z-index', 2).animate({left:0}, 1000, 'easeInOutExpo', function(){mayslide = true;});
							$('.movebanner_'+prev_banner, area).css('z-index', 1);
							$('#bg_banners').find('.movebanner_'+prev_banner, area).animate({left:$(area).width()}, 1000, 'easeInExpo');
						}
					}
					bannerinfo();
				}
				
				$('.picline1 .item').each(function(i){
					$(this).click(function(){
						if (mayslide && many_banners){
							changeBanner(i);
						}
					});
				});
				
				$('.banner_prev', area).add('.global-navi .banner_prev').click(
					function () {
						if (mayslide && many_banners){
							prevbanner();
							this.blur();
						}
						return false;
					}
				);
				$('.banner_next', area).add('.global-navi .banner_next').click(
					function () {
						if (mayslide && many_banners){
							nextbanner();
							this.blur();
						}
						return false;
					}
				);
				
			
			}
		}
	);

}

function animateElements(){

	$('a.banner_next').add('.heart div').add('.close div').mouseenter(function(){
		$(this).animate({backgroundPosition:'0px 0px'}, 150);
	});
	$('a.banner_next').add('.heart div').add('.close div').mouseleave(function(){
		$(this).animate({backgroundPosition:'-50px 0px'}, 150);
	});
	$('a.banner_prev').mouseenter(function(){
		$(this).animate({backgroundPosition:'-50px 0px'}, 150);
	});
	$('a.banner_prev').mouseleave(function(){
		$(this).animate({backgroundPosition:'0px 0px'}, 150);
	});
}
function hidePicline(){
	$('.picline12').animate({top:133}, 500, 'easeInExpo', function(){
		$('.instead-picline').show();
	});
	$('.picline').removeClass('mayscroll');
	
}
function showPicline(){
	$('.picline12').animate({top:0}, 500, 'easeInOutExpo', function(){
		$('.picline').addClass('mayscroll');
	});
	$('.instead-picline').hide();
}

function picline(){
	$('.picline1 .item').each(function(){
		var imw = $('img', this).width();
		var imh = $('img', this).height();
		var bw = $(this).width();
		var bh = $(this).height();
		if (imw > bw){
			var css_left = Math.round((bw-imw)/2);
			$('img', this).css('left', css_left+'px');
		}
		if (imh > bh){
			var css_top = Math.round((bh-imh)/2);
			$('img', this).css('left', css_top+'px');
		}
	});
 
 	var intervalH = 0;
	var intervalS = 0;
 	$('.picline1').mouseenter(function(){
		if( $('.picline').hasClass('maypicline') ){
			clearTimeout(intervalH);
			intervalS = setTimeout(showPicline, 10);
		}
	});
 	$('.picline1').mouseleave(function(){
		clearTimeout(intervalS);
		intervalH = setTimeout(hidePicline, 300);
	});
	
 	$('.picline1 .item').mouseenter(function(){
		$('.blueline', this).animate({top:121}, 300);
	});
 	$('.picline1 .item').mouseleave(function(){
		$('.blueline', this).animate({top:133}, 300);
	});
	
 	$('.picline1').mousemove(function(e){
		if(($('.picline').hasClass('mayscroll')) && ($('.picline2').width() > $('.picline1').width())){
			var scrange = $('.picline2').width() - $('.picline1').width();
			var p1w = $('.picline1').width();
			var mpos = e.pageX;
			if (mpos > 50){mpos -= 50}else{mpos = 0};
			if (mpos > (p1w - 100)){mpos = p1w - 100;}
			var scrollAmount = - Math.round (scrange * (mpos) / (p1w - 100));
			$('.picline2').css('left', scrollAmount);
			$('#hz').html(p1w + '/' + mpos);
		}
	});
	
	$('.lovestory a').click(function(){
		$('.jvideo').add('.oshade').show();

		var pt = Math.round (($(window).height() - 338)/2);
		$('.jvideo').css('top', pt+'px');
		var pl = Math.round (($(window).width() - 600)/2);
		$('.jvideo').css('left', pl+'px');
			
		jwplayer().play();
		jwplayer().setFullscreen(true);
		return false;
	});
	$('.shade').click(function(){
		jwplayer().stop();
		$('.jvideo').add('.oshade').hide();
	});
	
	$('.jvideo').each(function(){
		var src = $('#mediaplayer').html();
		jwplayer("mediaplayer").setup({
			flashplayer: "/jwplayer/player.swf",
			file: src,
			image: "/jwplayer/preview.jpg",
			height: 338,
			width: 600,
			events: {
				onComplete: function() {
					$('.jvideo').add('.oshade').hide();
				}
			}

		});
	
	});
	
	
 }
function rightCol(){
	hoverClass($('.close div'));
	hoverClass($('.heart div'));
	$('#heart div').click(function(){
		$('.rightcol').add('.rightcol2').show();
		$('.gallery-navi').hide();
		$('.picline').removeClass('maypicline');
		$('.rightcol4').animate({left:50}, 500, 'easeInOutExpo');
	});
	$('#close_rightcol div').click(function(){
		$('.rightcol4').animate({left:394}, 500, 'easeInExpo', function(){
			$('.rightcol').add('.rightcol2').hide();
			$('.gallery-navi').show();
			$('.picline').addClass('maypicline');
		});
	});
	/////tmp////
	/*
		$('.rightcol2').show();
		$('.gallery-navi').hide();
		$('.rightcol4').animate({left:50}, 50, 'easeInOutExpo');
	*/
	/////tmp////

}
function Portfolio(){
	$('.portfolio .iitem').each(function(){
		var iitem = this;
		var intervalH = 0;
		var intervalS = 0;
		
		$(iitem).mouseenter(function(){
			clearTimeout(intervalH);
			$('.album_info', iitem).add('.is_picture', iitem).stop(true, true).show();
		});
		$(iitem).mouseleave(function(){
			var iitem = this;
			intervalH = setTimeout(function(){
				$('.album_info', iitem).add('.is_picture', iitem).stop(true, true).fadeOut(500);
			}, 30);
		});
	
	});
}
function faq(){
	hoverClass($('.faq .item .fold-up div'));
	$('.faq .item').each(function(){
		var item = this;
		$('.question', item).add('.n', item).hover(
			function(){$(item).addClass('hover');},
			function(){$(item).removeClass('hover');}
		);		
		
/*
		$('.question', item).add('.n', item).click(function(){
			$(item).siblings().each(function(){
				var nabour = this;
				$('.answer', nabour).slideUp(300, function(){
					$(nabour).removeClass('spread').addClass('fold');
				});
			});
			$(item).removeClass('fold').addClass('spread');
			$('.answer', item).slideDown(300);
		});
*/		
		$('.question', item).add('.n', item).click(function(){
				$(item).removeClass('fold').addClass('spread');
				$('.answer', item).slideDown(300);
			setTimeout(function(){
				$(item).siblings().each(function(){
					var nabour = this;
					$('.answer', nabour).slideUp(300, function(){
						$(nabour).removeClass('spread').addClass('fold');
					});
				});			
			}, 500);
		});


		
		$('.fold-up', item).click(function(){
			$('.answer', item).slideUp(300, function(){
				$(item).removeClass('spread').addClass('fold');
			});
		});

		
	});
}
function perepass(input_tmp, input_real){
	$(input_real).hide();
	$(input_tmp).hide();
	if ('' == $(input_real).val()){
		$(input_tmp).show(1);
	}else{
		$(input_real).show(1);
	}

	$(input_tmp).focusin(function(){
		$(input_tmp).hide();
		$(input_real).show(1, function(){
			$(input_real).focus();
		});
	});	
	$(input_real).focusout(function(){
		if ('' == $(input_real).val()){
			$(input_real).hide();
			$(input_tmp).show(1);
		}
	});
}
function feedback(){
	$('.mfeedback .set').each(function(){
		perepass($('.def input', this).add('.def textarea', this), $('.val input', this).add('.val textarea', this));
	});
	hoverClass($('.mfeedback .mfsubmit input'));
}
function articles(){
	$('.articles > .items > .item').each(function(){
		var item = this;
//		$('.banners', item).hide();
		$('.first-banner', item).hide();
		$('.long', item).css('height', $('.long', item).height()+'px').hide();
		$('.reduce', item).hide();
		$('.advance', item).click(function(){
				$('.long', item).slideDown(700, 'easeInOutQuad', function(){
					$('.advance', item).hide();
					$('.reduce', item).show();
					/*
					$('.first-banner', item).hide();
					$('.banners', item).show();
					*/
				});
		


			setTimeout(function(){
			
				$(item).siblings().each(function(){
					var nabour = this;
					$('.long', nabour).slideUp(700, 'easeInOutQuad', function(){
						$('.reduce', nabour).hide();
						$('.advance', nabour).show();
						/*
						$('.banners', nabour).hide();
						$('.first-banner', nabour).show();
						*/
					});
				});
				
			}, 900);
			$(this).blur();
			return false;
		});
		$('.reduce', item).click(function(){
			$('.long', item).slideUp(700, 'easeInOutQuad', function(){
				$('.reduce', item).hide();
				$('.advance', item).show();
				/*
				$('.banners', item).hide();
				$('.first-banner', item).show();
				*/
			});
			$(this).blur();
			return false;
		});
	
	$('.first-banner', item).each(function(){
		var imw = $('img', this).width();
		var imh = $('img', this).height();
		var bw = $(this).width();
		var bh = $(this).height();
		if (imw > bw){
			var css_left = Math.round((bw-imw)/2);
			$('img', this).css('left', css_left+'px');
		}
		if (imh > bh){
			var css_top = Math.round((bh-imh)/2);
			$('img', this).css('top', css_top+'px');
		}
	});
	
	
	
	});
}

function ajax_link(a){
	var suffix = "ajax_load=1";	
	if (a.href.search(/\?/) >=0){
		suffix = '&'+suffix;
	}else{
		suffix = '?'+suffix;
	}
	return a.href + suffix;
}
function ajax_load(){
	var $q =$('<div></div>');
	
	$('.portfolio .item a').click(function(){
		clearTimeout(intervalHm);
		clearTimeout(intervalSm);
		$('.menu').stop();
		var item = $(this).parent();
		$('.wait .title').html($('.olsa', item).html());
		$('.wait .oct').html($('.oct span', item).html());
		$('.wait').add('.greybg').show();
		var new_class = $(this).attr('class').substr(5);
		$q.load(ajax_link(this) + ' #c0', function(){
//			$('#c0').html($('#c0', $q).html()).removeClass().addClass(new_class);

			$('#preload1').html($('#c0', $q).html());
			var total_img = $('#preload1 .portfolio .item .cover img').add('#bg_banners .start_banner img').length;
			if (total_img > 0){
				$('#preload1 .portfolio .item .cover img').add('#bg_banners .start_banner img').each(function(){
					$(this).load(function(){
						total_img --;
						if (0 == total_img){
							$('#c0').html($('#preload1').html()).removeClass().addClass(new_class);
							$('#preload1').html('');
							after_load();
							$('.wait').add('.greybg').hide();

						}
					});
				});
			}else{
				$('#c0').html($('#preload1').html()).removeClass().addClass(new_class);
				$('#preload1').html('');
				after_load();
				$('.wait').add('.greybg').hide();
			}
		});

		return false;
	});
	
	$('#bg_banners a').click(function(){
		clearTimeout(intervalHm);
		clearTimeout(intervalSm);
		$('.menu').stop();
		$q.load(ajax_link(this) + ' #c0', function(){
			$('#c0').html($('#c0', $q).html()).removeClass().addClass('portfolio');
			$('#preload1').html('');
			after_load();
		});
		return false;
	});
	
	
	
}
function hideMenu(){
	$('.menu').stop(true, true).fadeOut(1500);
}
function showMenu(){
	$('.menu').stop(true, true).fadeIn(300);
}

var intervalHm = 0;
var intervalSm = 0;
function activate_menu(){

	$('.homepage .iml').add('.gallery .iml').mouseenter(function(){
		clearTimeout(intervalHm);
		intervalSm = setTimeout(showMenu, 100);
	});
	$('.homepage .iml').add('.gallery .iml').mouseleave(function(){
		clearTimeout(intervalSm);
		intervalHm = setTimeout(hideMenu, 1500);
	});
	
	/*
	$('.menu ul li:has(ul.root-item)').each(function(){
		var li = this;
		$('>span a', li).click(function(){
			$('ul.root-item', li).slideToggle(700, 'easeInOutExpo', function(){
				$(li).toggleClass('open');
			});
			return false;
		});
	});
	*/
}


function after_load(){
	ajax_load();
	activate_menu();
	picline();
	rightCol();
	activate_banners();
	Portfolio();
	peresize();
	/*
	if(IE){
		peresize();
	}
	*/
	animateElements();

	$('.rightcol .scroll-pane').jScrollPane({
			verticalDragMinHeight: 80,
			verticalDragMaxHeight: 164,
			mouseWheelSpeed : 35,
			autoReinitialise: true
	});
	if (IE && (jQuery.browser.version < 8)){
		$('#c1 .scroll-pane').jScrollPane({
				verticalDragMinHeight: 80,
				verticalDragMaxHeight: 164,
				mouseWheelSpeed : 35,
				autoReinitialise: true
		});
	}
}



$(document).ready(function()
{
	uniHeight();
	faq();
	feedback();
	articles();
	after_load();

});
$(window).resize(function() {
	peresize();
});

