var galleryCounter = 1;
var galleryTotal = 0;
var coordLines = [
[5, 80], //1
[10, 420], //1-2
[25, 260], //2-3
[35, 40], //3-4
[40, 420], //4-5

[55, 220], //5-6
[80, 40], //6-7
[75, 450], //7-8
[80, 320] //8-9
];


$(document).ready(function() {
	$('.sub-sub ul').hide();
	$('.sub-sub').click(function(){
		if($(this).attr('class')=='sub-sub open')
		{
			$(this).removeClass('open');
			$('ul', this).hide();	
		}
		else
		{
			$(this).addClass('open');
			$('ul', this).show();
		}
	});
	
	if ($('.lightbox-gallery a').length > 0) $('.lightbox-gallery a').lightBox();

	if ($('.menu-center td:first').hasClass('sel')) {
		$('.menu-left').addClass('menu-left-sel');
	} else {
		$('.menu-left').removeClass('menu-left-sel');
	}
	if ($('.menu-center td:last').hasClass('sel')) {
		$('.menu-right').addClass('menu-right-sel');
	} else {
		$('.menu-right').removeClass('menu-right-sel');
	}

	if ($('.gallery').length > 0) {
		$('.gallery #picture1').fadeIn();
		$('.gallery-menu a').each(function() {
			if (!$(this).hasClass('arr-prev') && !$(this).hasClass('arr-next')) {
				galleryTotal++;
			}
		});
		$('.gallery-menu a').click(function() {
			$('.gallery-menu a').removeClass('sel');
			$('.gallery .picture div').hide();
			$('.gallery .picture').fadeOut();

			if ($(this).hasClass('arr-prev')) {
				galleryCounter--;
				if (galleryCounter == 0) galleryCounter = galleryTotal;
			} else if ($(this).hasClass('arr-next')) {
				galleryCounter++;
				if (galleryCounter > galleryTotal) galleryCounter = 1;
			} else if (parseInt($(this).text())){
				galleryCounter = parseInt($(this).text()) + 1;
			} else {
				galleryCounter = 1; /* в нулевой фотке - текст не число */
			}

			$('.gallery-menu #p'+galleryCounter).addClass('sel');
			$('.gallery #picture'+galleryCounter).fadeIn();
			$('.gallery #picture'+galleryCounter+' div').show();

			return false;
		});
	}
	if ($('.vacancy').length > 0) {
		$('.vacancy').hover(function() {
			$(this).addClass('vacancy-hover');
		}, function() {
			$(this).removeClass('vacancy-hover');
		});
	}

	if ($('.calendar').length > 0) {
		$('.calendar-header a').click(function() {
			$(this).parents('.calendar').toggleClass('calendar-opened');
			return false;
		});
	}

	if ($('.table').length > 0) {
		$('.table tbody tr').hover(function () {
			$(this).addClass('hover');
		}, function () {
			$(this).removeClass('hover');
		});
	}

	if ($('.toggle-container').length > 0) {
		$('.toggle-container a.toggle').click(function() {
			$(this).parents('.toggle-container').find('.toggle-content').toggle();
			$(this).toggleClass('toggled');
			return false;
		});
	}

	if ($('.sitemap').length > 0) {
		$('.sitemap li').hover(function() {
			if ($(this).parents('li') > 0) return;
			$(this).addClass('hover');
		}, function() {
			$(this).removeClass('hover');
		});
	}

	if ($('.popup-menu').length > 0) {
		$('.popup-menu-header a').click(function() {
			$(this).parents('.popup-menu').toggleClass('popup-menu-opened');
			return false;
		});
	}

	if ($('a.feedback').length > 0) {
		$('a.feedback').click(function() {
			overlayWin('feedback');
			return false;
		});
	}
	if ($('a#route').length > 0) {
		$('a#route').click(function() {
			overlayWin('route');
			return false;
		});
	}

	if ($('.glossary').length > 0) {
		$('.glossary a').click(function() {
			$(this).parents('li').toggleClass('c');
			return false;
		});
		$('.alphabet a').click(function() {
			$('.alphabet a').removeClass('sel');
			$(this).addClass('sel');
			var glossaryId = ($(this).parents('li').attr('id'))?'glossary-'+parseInt($(this).parents('li').attr('id').substr(9,2)):'';
			$('.glossary ul').each(function() {
				if ($(this).attr('id') != glossaryId) $(this).find('li').removeClass('c');
			});
//			return false;
		});
	}

	/*SCHEME*/
	if ($('.scheme').length > 0) {
		/*for (i=0;i<9;i++) {
			coordLines[i] = [ parseInt($('#promo'+(i+1)).css('left')), parseInt($('#promo'+(i+1)).css('top')) ];
		}*/
		drawLines(1);
		$('.promo').click(function() {
			$('.promo-text').hide().appendTo($('.scheme'));
			$('.promo-popup').hide();
			$('.promo-close').hide();
			var text = $('#'+$(this).attr('id')+'-text');
			if (text.hasClass('promo-text')) {
				text.css({margin: (parseInt(($('.scheme').height()-text.height())/2))+'px auto 0 auto'});
				text.show();
				$('.promo-popup').append(text);
				$('.promo-popup').show();
				$('.promo-close').show();
			}
		});
		$('.promo-close').click(function() {
			$('.promo-popup').hide();
			$(this).hide();
			return false;
		});
		fakeUrl();
	}
	/**/

	/*SYSTEM*/
	if ($('.system').length > 0) {
		$('<div>').addClass('sys').appendTo('.system');
		resetSystemHeight();
		drawLines(2);
		$('.system-parent').hover(function() {
			systemOver($(this));
		}, function() {
			systemOut($(this));
		});

		$('.system-child').hover(function() {
			systemOver($('#'+$(this).attr('id').substr(0,5)));
		}, function() {
			systemOut($('#'+$(this).attr('id').substr(0,5)));
		});

	}
	/**/

	/* POPUP FORM */
	$('body').append('<div class="overlay"></div>');
	overWidth = $(window).width();
	if ($.browser.safari) {
		if ($(window).height() < $('.container').height()) overWidth -= 16;
	}
	overHeight = $('.container').height();

	if ($('.winform').length > 0) {
		inputHelper($('#feedbackform #name').addClass('empty'), 'Фамилия Имя Отчество');
		inputHelper($('#feedbackform #contact').addClass('empty'), 'Ваши контакты');
		inputHelper($('#feedbackform #message').addClass('empty'), 'Текст вашего сообщения');

		$('.form-submit').click(function() {
			$('.winform form').submit();
			return false;
		});
		$('.form-reset').click(function() {
			$('.winform form').reset();
			return false;
		});

		$('.win-select h3').click(function() {
			$('.win-select ul').toggle();
		});
		$('.win-select li a').click(function() {
			$('.win-select input').val($(this).attr('href'));
			$('.win-select h3').html($(this).text());
			$('.win-select li a').removeClass('sel');
			$(this).addClass('sel');
			$('.win-select ul').hide();
			return false;
		});
	}
	/**/
	
	initBrickFill();
	autoPlayOnMainPage();
});

function autoPlayOnMainPage() {
	if($('.gallery-menu')){
		var links = $('.gallery-menu a[id*=p]')
		var autoplay = 0;
		var interval = 5000;
		var i = 1;
		function nextLink() {
			autoplay = 1;
			$(links).eq(i).click()
			autoplay = 0;
			i++
			if(i == links.length){
				i = 0;
			}
		}
		var play = setInterval(nextLink, interval)
		$('.gallery-menu a').click(function(){
			if(!autoplay){
				clearTimeout(play)
			}
		})
	}
}

function fakeUrl() {
    var str = location.hash;
	if (str.substr(0, 5) == '#step') {
		$('#promo-step'+str.substr(5, 1)).parents('.promo').click();
	}

}


/* FORM events */
/*$.fn.extend({ reset: function() {
    return this.each(function() {
        $(this).is('form') && this.reset();
    });
} });
$.fn.extend({ submit: function() {
    return this.each(function() {
        $(this).is('form') && this.submit();
    });
} });*/
/*************/


/* SVG && VML */
function drawLines(k) {
	if ($('.svg').length > 0) {
		if ($.browser.msie) {
			drawVMLLines(k);
		} else {
			drawSVGLines(k);
		}
	}
}

function drawSVGLines(k) {
	var wi = $('.svg').width();
	$('.svg').svg('destroy').svg();
	var svg = $('.svg').svg('get');

	if (k == 1) {
		var g = svg.group({stroke: '#7a7a7a', strokeWidth: 1});
		var x1, y1, x2, y2 = 0;
		var xMargin = 85, yMargin = 55;

		for (i=0;i<8;i++) {
			x1 = parseInt(wi * (coordLines[i][0] / 100) + xMargin);
			y1 = coordLines[i][1] + yMargin;
			if (i+1 == 8) {xMargin = 5; yMargin = 0;}
			x2 = parseInt(wi * (coordLines[i+1][0] / 100) + xMargin);
			y2 = coordLines[i+1][1] + yMargin;

			svg.line(g, x1, y1, x2, y2);
		}
	}

	if (k == 2) {
		var g1 = svg.group({stroke: '#e2e2e2', strokeWidth: 1});
		var g2 = svg.group({stroke: '#f58220', strokeWidth: 1});

		resetSystemCoords();

		for (i=0; i<systemCoords.length;i++) {
			svg.line(systemCoords[i][4]?g2:g1, systemCoords[i][0], systemCoords[i][1], systemCoords[i][2], systemCoords[i][3]);
		}
	}

}

function drawVWLLine(canvas, x1, y1, x2, y2, color, w) {
	var line = canvas.get(0).appendChild(document.createElement('v:line'));
	line.from = x1+' '+y1;
	line.to = x2+' '+y2;
	line.strokecolor = color;
	line.strokeweight = w;
}
function drawVMLLines(k) {
	var wi = $('.svg').width();
	var he = $('.svg').height();
	$('.svg').empty();
	var canvas = $('.svg');

	if (k == 1) {
		var x1, y1, x2, y2 = 0;
		var xMargin = 85, yMargin = 55;

		for (i=0;i<8;i++) {
			x1 = parseInt(wi * (coordLines[i][0] / 100) + xMargin);
			y1 = coordLines[i][1] + yMargin;
			if (i+1 == 8) {xMargin = 5; yMargin = 0;}
			x2 = parseInt(wi * (coordLines[i+1][0] / 100) + xMargin);
			y2 = coordLines[i+1][1] + yMargin;

			drawVWLLine(canvas, x1, y1, x2, y2, '#7a7a7a', '1');
		}
	}

	if (k == 2) {
		var color1 = '#e2e2e2';
		var color2 = '#f58220';

		resetSystemCoords();

		for (i=0; i<systemCoords.length;i++) {
			drawVWLLine(canvas, systemCoords[i][0], systemCoords[i][1], systemCoords[i][2], systemCoords[i][3], systemCoords[i][4]?color2:color1, '1');
		}
	}
}
/***************************/


/* POPUP */
var overWidth, overHeight;
function overlayWin(className) {
	$('.overlay').css({
		zIndex:				10,
		backgroundColor:	'#000',
		opacity:			0.7,
		width:				overWidth,
		height:				overHeight
	}).fadeIn(
		function() {
			$('.win-'+className).css({
				zIndex:				11,
				width:				overWidth,
				height:				overHeight
			}).show();
			$('.win-close').css({
				zIndex:				12
			}).show();

			$('.win .win-close').click(function() { $('.win').hide(); $('.overlay').fadeOut(); return false; });
		}
	);
}

/* INPUT predefined values */
function inputIn(obj, text) {
   if ($(obj).val() == text) {
      $(obj).val('');
      $(obj).removeClass('empty');
   }
}
function inputOut (obj, text) {
   if ($(obj).val() == '' || $(obj).val() == text) {
      $(obj).val(text);
      $(obj).addClass('empty');
   }
}
function inputHelper(obj, text) {
   $(obj)
      .bind ('focus', function () {
         inputIn (this, text);
      })
      .bind ('blur', function () {
         inputOut (this, text);
      });
	inputOut(obj, text);
}
/********************************/

/* SYSTEM */
function systemOver(par) {
	par.addClass('system-hover');
	$('.sys').appendTo(par).css({left: parseInt(par.width()/2-11)+'px', top: (par.height())+'px'}).show();
	var parentId = par.attr('id');
	$('.system-child').each(function() {
		if ($(this).attr('id').substr(0, parentId.length) == parentId) $(this).addClass('system-hover');
	});
	drawLines(2);
}
function systemOut(par) {
	par.removeClass('system-hover');
	$('.sys').hide();
	var parentId = par.attr('id');
	$('.system-child').each(function() {
		if ($(this).attr('id').substr(0, parentId.length) == parentId) $(this).removeClass('system-hover');
	});
	drawLines(2);
}
function resetSystemHeight() {
	var parentMaxHeight = 0;
		$('.system-parent').each(function() {
			if ($(this).height() > parentMaxHeight) parentMaxHeight = $(this).height();
		});
		var totalHeight = parentMaxHeight + 50;
		var childTop = totalHeight;
		$('.system-child').each(function() {
			$(this).css({top: totalHeight+'px'});
			totalHeight += $(this).height()+3;
		});
		$('.system').css({height: totalHeight+'px', marginTop: '-'+totalHeight+'px'});
		$('.system-svg').css({height: totalHeight+'px'});
}
var systemCoords = [];
function resetSystemCoords() {
	systemCoords = [];
	var wi = $('.svg').width();
	var maxParentHeight = 0;
	var parentOffsets = [25, 75, 100, 50];
	$('.system-parent').each(function() {
		if ($(this).height() > maxParentHeight) maxParentHeight = parseInt($(this).height());
	});
	var i = 0;
	$('.system-parent').each(function() {
		var parentOffset = parentOffsets[i++];
		if (parentOffset && parentOffset > 0) {
			var left = ($.browser.safari)?(parseInt(wi * (parseInt($(this).css('left')) / 100))):(parseInt($(this).css('left')));
			x1 = left + parseInt($(this).width() / 2);
			x2 = x1;
			y1 = $(this).height() + 2;
			y2 = maxParentHeight + parentOffset;

			/*
			if ($(this).hasClass('system-hover')) svg.line(g2, x1, y1, x2, y2);
			else svg.line(g1, x1, y1, x2, y2);
			*/
			systemCoords[systemCoords.length] = [x1, y1, x2, y2, $(this).hasClass('system-hover')];

			/*children*/
			var parentId = $(this).attr('id');
			var cx1 = 9999, cx2 = 0, px = x1;
			$('.system-child').each(function() {
				if ($(this).attr('id').substr(0, parentId.length) == parentId) {
					if ($.browser.safari) {
						if ($(this).css('left') != 'auto') left = parseInt(wi * (parseInt($(this).css('left')) / 100));
						else left = wi - ( parseInt(wi * (parseInt($(this).css('right')) / 100)) + parseInt($(this).width()) );
					} else if ($.browser.msie) {
						if ($(this).css('left') != 'auto') left = parseInt($(this).css('left'));
						else left = wi - ( parseInt($(this).css('right')) + parseInt($(this).width()) );
					} else {
						left = parseInt($(this).css('left'));
					}

					/*napilnik*/
					if (wi < 1200) {
						if ($(this).attr('id') == 'sys-2-2') left += 10;
						if ($(this).attr('id') == 'sys-2-3') left += 11;
						if (wi < 1024) {
							if ($(this).attr('id') == 'sys-1-1') left += 9;
							if ($(this).attr('id') == 'sys-2-2') left += 3;
							if ($(this).attr('id') == 'sys-2-3') left += 3;
						}
					}
					/*napilnik*/

					x1 = left + parseInt($(this).width() / 2);
					x2 = x1;
					y1 = maxParentHeight + parentOffset;
					y2 = parseInt($(this).css('top'));

					if (x1 < cx1) cx1 = x1;
					if (x1 > cx2) cx2 = x1;

					/*
					if ($(this).hasClass('system-hover')) svg.line(g2, x1, y1, x2, y2);
					else svg.line(g1, x1, y1, x2, y2);
					*/
					systemCoords[systemCoords.length] = [x1, y1, x2, y2, $(this).hasClass('system-hover')];
				}
			});

			y1 = maxParentHeight + parentOffset;
			if (cx1 == cx2) cx1 = px;
			/*
			if ($(this).hasClass('system-hover')) svg.line(g2, cx1, y1, cx2, y1);
			else svg.line(g1, cx1, y1, cx2, y1);
			*/
			systemCoords[systemCoords.length] = [cx1, y1, cx2, y1, $(this).hasClass('system-hover')];
		}
	});
}
/**/

/* RESIZE */
$(window).bind('resize', function() {
	if ($('.scheme').length > 0) {
		drawLines(1);
	}
	if ($('.system').length > 0) {
		resetSystemHeight();
		drawLines(2);
	}

	if ($('.overlay').length > 0) {
		overWidth = $(window).width();
		overHeight = $('.container').height();
		if ($.browser.safari) {
			if ($(window).height() < $('.container').height()) overWidth -= 16;
		}
		$('.overlay').css({
			width:				overWidth,
			height:				overHeight
		});
		$('.win').css({
			width:				overWidth,
			height:				overHeight
		});
	}
});



function initBrickFill() {
	$('.product-pic-fill li').click(clickBrickFill);
	$('.product-pic-fill').each(function() {
		$($(this).find('li').get(0)).click();
	});
}
function clickBrickFill() {
	var fillImageSrc = $(this).find('img').attr('src');
	var fillList = $(this).parents('.product-pic-fill');
	$('li', fillList).removeClass('c');
	$(this).addClass('c');
	var brickImage = fillList.prev('.product-pic-image');
	brickImage.css({background: 'url("'+fillImageSrc+'")'});
	brickImage.find('a').attr({bsrc: fillImageSrc});
}


/* BRICKS 3D */

$(document).ready(function(){

	var brickContainer = $('#brick-container')

	brickContainer.find('ul').hide()

	function loadImage(){
		brickContainer.css('background-image', "url("+bgs[i]+")");
		brickContainer.find('h3').html(tls[i]);
	}

	function showBrick(i){		
		brickContainer.css('background-image', "url(/img/loading.gif)");
		brickContainer.find('h3').html("");
		
		/* load images */
		var image = document.createElement('img');
		image.onload = function () {
			var a = setTimeout(loadImage,1300)
		};
		image.src = bgs[i];
		
	}

	brickContainer.mousemove(function(event){
		var frameWidth = 500;
		var framesCount = 45;
		var turnsCount = 1;
		var offset = $(this).offset()
		var step = Math.ceil(frameWidth / framesCount / turnsCount)
		var bgPos = - Math.ceil((event.pageX - offset.left) / step) * frameWidth
		//$(this).css('background-position-x', bgPos); 
		$(this).css('backgroundPosition', bgPos+'px 0px'); 
		
	});

	var i = 0;
	var bgs = new Array();
	var tls = new Array();
	brickContainer.find('li').each(function(){
		bgs.push($(this).attr('rel'))
		tls.push($(this).html())
	})

	showBrick(0)

	if(brickContainer.find('li').length == 1){
		$(".brick-container-next").hide()
		$(".brick-container-prev").hide()
	}

	$(".brick-container-next").click(function(){
		if(i == bgs.length-1)
		{
			i=0;
		}
		else
		{
			i++;
		}
		showBrick(i)
	});
	$(".brick-container-prev").click(function(){
		if(i == 0)
		{
			i=bgs.length-1;
		}
		else
		{
			i--;
		}
		showBrick(i)
	});
	
});
