window.onload = function()
{
	// Simple slider
	
	new Dragdealer('simple-slider',{
		animationCallback: function(x, y) {
			
			var margin = x * ($('#scroll-content').width() - 935);
			$('#scroll-content').css('margin-Left',String(-margin) + 'px');
		}
	} 
	);
	
	// Vertical
	
	var mask = document.getElementById('scroll-mask');
	var content = document.getElementById('nav');
	
	new Dragdealer('scroll-bar',
	{
		horizontal: true,
		vertical: false,
		xPrecision: content.offsetWidht,
		animationCallback: function(x, y)
		{
			var margin = x * (content.offsetWidth - mask.offsetWidth);
			content.style.marginLeft = String(-margin) + 'px';
		}
	});
	
	// Magnifier
	
	var text = document.getElementById('magnifying-text');
	
	new Dragdealer('magnifier',
	{
		steps: 6,
		snap: true,
		animationCallback: function(x, y)
		{
			text.style.fontSize = String(12 + x * 24) + 'px';
		}
	});
	
	// Slideshow
	
	var menuWrapper = document.getElementById('slideshow-menu-wrapper');
	var cursor = document.getElementById('slideshow-menu-cursor');
	
	var slideshow = new Dragdealer('slideshow',
	{
		steps: 4,
		loose: true,
		speed: 40,
		animationCallback: function(x, y)
		{
			var top = x * (menuWrapper.offsetHeight - cursor.offsetHeight);
			cursor.style.top = String(top) + 'px';
		}
	});
	
	
}
$(document).ready(function(){
	$("form#form .sendResult").append('<a href="javascript:" class="btnClose" title="Закрыть"></a>');
	$("form#form .sendResult .btnClose").click(function(){
		$(this).closest(".sendResult").hide();
		return false;
	});
	
	Drag2 = new Dragdealer('simple-slider',{
		animationCallback: function(x, y) {
			var margin = x * ($('#scroll-content').width() - 935);
			$('#scroll-content').css('margin-Left',String(-margin) + 'px');
		}
	} 
	);
	var navWidth2 = 0;
	$('.duels-list-wrap ul li').each(function(){
		navWidth2 += $(this).width()+31;
	});
	$('.duels-list-wrap ul').css('width',navWidth2);
	$('.duels-list-wrap a.btn-prev').click(function () {
		if (parseFloat($('#simple-slider').css('margin-left')) != 0) {
			var yyyy = -319 * $('#simple-slider').width() / ($('#scroll-content').width() - $('#scroll-mask2').width());
			var shift = parseFloat($('#scroll-content').css('margin-left')) / ($('#scroll-content').width() - $('#scroll-mask2').width());
				Drag2.setValue((yyyy / $('#simple-slider').width()) - shift);
		}
		return false;
	});
	$('.duels-list-wrap a.btn-next').click(function () {
		var yyyy = 319 * $('#simple-slider').width() / ($('#scroll-content').width() - $('#scroll-mask2').width());
		var shift = parseFloat($('#scroll-content').css('margin-left')) / ($('#scroll-content').width() - $('#scroll-mask2').width());
		Drag2.setValue((yyyy / $('#simple-slider').width()) - shift);
		return false;
	});
	porfolioGallery ();
	$("form[name='feedback-form']").submit(function(){
		if($(this).hasClass('isSending'))
			return false;
		else{
			$(this).addClass('isSending');
			$(this).find('input[type="submit"]').val('ЖДИТЕ...');
		}
		return true;
	});
})

function porfolioGallery () {
	$('.porfolio-gallery').each(function(){
		var _this = $(this);
		_this.find('.porfolio-slideshow .slide img').addClass('active');
		_this.find('.porfolio-slideshow .slide img').before('<img src="/img/none.gif" class="next" width="'+_this.find('.porfolio-slideshow .slide img').width()+'" height="'+_this.find('.porfolio-slideshow .slide img').height()+'" alt="" style="display:none; position:absolute; top:0; left:0; " />');
		_this.find('.portfolio-stream ul li.active').removeClass('active');
		_this.find('.portfolio-stream ul li:first').addClass('first active');
		_this.find('.portfolio-stream ul li:last').addClass('last');
		_this.find('.portfolio-stream ul a').each(function(){
			var liObj = $(this).parent();
			var imgDomObj = document.createElement('img');
			var slideShow = function (portfolioObj, imgObj) { try {
				var imgNextObj = portfolioObj.find('.slide .next');
				imgNextObj.attr('src', imgObj.attr('src')).fadeIn(300, function(){
						imgNextObj.parent().find('.active').attr('src', imgObj.attr('src'));
						imgNextObj.fadeOut(100);
					});
					
				} catch (e) {}
			};
			imgDomObj.onload = function(){
				//alert("ok");
				slideShow(_this, $(imgDomObj));
			};
			$(this).click(function(){
				if (!liObj.hasClass('active')) {
					liObj.parent().find('.active').removeClass('active');
					liObj.addClass('active');
					var imgSrc = $(this).attr('href');
					if(imgDomObj.src == ""){
						//alert(imgSrc);
						imgDomObj.src = imgSrc;
					}
					else
						slideShow(_this, $(imgDomObj));
				}
				return false;
			});
		});
		_this.find('.porfolio-slideshow .btn-next').click(function(){
			if (!$(this).parents(_this).find('.portfolio-stream ul li.active').hasClass('last')) {
				$(this).parents(_this).find('.portfolio-stream ul li.active').next().find('a').click();
			} else {
				$(this).parents(_this).find('.portfolio-stream ul li:first a').click();
			}
			return false;
		});
		_this.find('.porfolio-slideshow .btn-prev').click(function(){
			if (!$(this).parents(_this).find('.portfolio-stream ul li.active').hasClass('first')) {
				$(this).parents(_this).find('.portfolio-stream ul li.active').prev().find('a').click();
			} else {
				$(this).parents(_this).find('.portfolio-stream ul li:last a').click();
			}
			return false;
		});
	});
}
function hideFormText() {
	var _inputs = document.getElementsByTagName('input');
	var _txt = document.getElementsByTagName('textarea');
	var _value = [];
	
	if (_inputs) {
		for(var i=0; i<_inputs.length; i++) {
			if (_inputs[i].type == 'text' || _inputs[i].type == 'password') {
				
				_inputs[i].index = i;
				_value[i] = _inputs[i].value;
				
				_inputs[i].onfocus = function(){
					if (this.value == _value[this.index])
						this.value = '';
				}
				_inputs[i].onblur = function(){
					if (this.value == '')
						this.value = _value[this.index];
				}
			}
		}
	}
	if (_txt) {
		for(var i=0; i<_txt.length; i++) {
			_txt[i].index = i;
			_value['txt'+i] = _txt[i].value;
			
			_txt[i].onfocus = function(){
				if (this.value == _value['txt'+this.index])
					this.value = '';
			}
			_txt[i].onblur = function(){
				if (this.value == '')
					this.value = _value['txt'+this.index];
			}
		}
	}
}
if (window.addEventListener)
	window.addEventListener("load", hideFormText, false);
else if (window.attachEvent)
	window.attachEvent("onload", hideFormText);
	
function initPage() {
	initAutoScalingNav({
		menuId: "nav",
		tag: "a"
	});
}
function initAutoScalingNav(o) {
	if (!o.menuId) o.menuId = "nav";
	if (!o.tag) o.tag = "a";
	if (!o.spacing) o.spacing = 0;
	if (!o.constant) o.constant = 0;
	if (!o.minPaddings) o.minPaddings = 0;
	if (!o.liHovering) o.liHovering = false;
	if (!o.sideClasses) o.sideClasses = false;
	if (!o.equalLinks) o.equalLinks = false;
	if (!o.flexible) o.flexible = false;
	var nav = document.getElementById(o.menuId);
	if(nav) {
		nav.className += " scaling-active";
		var lis = nav.getElementsByTagName("li");
		var asFl = [];
		var lisFl = [];
		var width = 0;
		for (var i=0, j=0; i<lis.length; i++) {
			if(lis[i].parentNode == nav) {
				var t = lis[i].getElementsByTagName(o.tag).item(0);
				asFl.push(t);
				asFl[j++].width = t.offsetWidth;
				lisFl.push(lis[i]);
				if(width < t.offsetWidth) width = t.offsetWidth;
			}
			if(o.liHovering) {
				lis[i].onmouseover = function() {
					this.className += " hover";
				}
				lis[i].onmouseout = function() {
					this.className = this.className.replace("hover", "");
				}
			}
		}
		var menuWidth = nav.clientWidth - asFl.length*o.spacing - o.constant;
		if(o.equalLinks && width * asFl.length < menuWidth) {
			for (var i=0; i<asFl.length; i++) {
				asFl[i].width = width;
			}
		}
		width = getItemsWidth(asFl);
		if(width < menuWidth) {
			var version = navigator.userAgent.toLowerCase();
			for (var i=0; getItemsWidth(asFl) < menuWidth; i++) {
				asFl[i].width++;
				if(!o.flexible) {
					asFl[i].style.width = asFl[i].width + "px";
				}
				if(i >= asFl.length-1) i=-1;
			}
			if(o.flexible) {
				for (var i=0; i<asFl.length; i++) {
					width = (asFl[i].width - o.spacing - o.constant/asFl.length)/menuWidth*100;
					if(i != asFl.length-1) {
						lisFl[i].style.width = width + "%";
					}
					else {
						if(navigator.appName.indexOf("Microsoft Internet Explorer") == -1 || version.indexOf("msie 8") != -1 || version.indexOf("msie 9") != -1)
							lisFl[i].style.width = width + "%";
					}
				}
			}
		}
		else if(o.minPaddings > 0) {
			for (var i=0; i<asFl.length; i++) {
				asFl[i].style.paddingLeft = o.minPaddings + "px";
				asFl[i].style.paddingRight = o.minPaddings + "px";
			}
		}
		if(o.sideClasses) {
			lisFl[0].className += " first-child";
			lisFl[0].getElementsByTagName(o.tag).item(0).className += " first-child-a";
			lisFl[lisFl.length-1].className += " last-child";
			lisFl[lisFl.length-1].getElementsByTagName(o.tag).item(0).className += " last-child-a";
		}
		nav.className += " scaling-ready";
	}
	function getItemsWidth(a) {
		var w = 0;
		for(var q=0; q<a.length; q++) {
			w += a[q].width;
		}
		return w;
	}
}
if (window.addEventListener)
	window.addEventListener("load", initPage, false);
else if (window.attachEvent)
	window.attachEvent("onload", initPage);
	
$(function(){
	initSlideShow();
});
function initSlideShow() {
	$('div.slideshow').fadeGallery({
		slideElements:'div.slide',
		pauseOnHover:true,
		//autoRotation:true,
		switchTime:2000,
		duration:650,
		event:'click'
	})
}
jQuery.fn.fadeGallery = function(_options){
	var _options = jQuery.extend({
		slideElements:'div.slideset > div',
		pagerLinks:'ul.switcher a',
		btnNext:'a.btn-next',
		btnPrev:'a.btn-prev',
		btnPlayPause:'a.play-pause',
		pausedClass:'paused',
		playClass:'playing',
		activeClass:'active',
		pauseOnHover:true,
		autoRotation:false,
		autoHeight:false,
		switchTime:3000,
		duration:650,
		event:'click'
	},_options);

	return this.each(function(){
		var _this = jQuery(this);
		var _slides = jQuery(_options.slideElements, _this);
		var _pagerLinks = jQuery(_options.pagerLinks, _this);
		var _btnPrev = jQuery(_options.btnPrev, _this);
		var _btnNext = jQuery(_options.btnNext, _this);
		var _btnPlayPause = jQuery(_options.btnPlayPause, _this);
		var _pauseOnHover = _options.pauseOnHover;
		var _autoRotation = _options.autoRotation;
		var _activeClass = _options.activeClass;
		var _pausedClass = _options.pausedClass;
		var _playClass = _options.playClass;
		var _autoHeight = _options.autoHeight;
		var _duration = _options.duration;
		var _switchTime = _options.switchTime;
		var _controlEvent = _options.event;

		var _hover = false;
		var _prevIndex = 0;
		var _currentIndex = 0;
		var _slideCount = _slides.length;
		var _timer;
		if(!_slideCount) return;
		_slides.hide().eq(_currentIndex).show();
		if(_autoRotation) _this.removeClass(_pausedClass).addClass(_playClass);
		else _this.removeClass(_playClass).addClass(_pausedClass);

		if(_btnPrev.length) {
			_btnPrev.bind(_controlEvent,function(){
				prevSlide();
				return false;
			});
		}
		if(_btnNext.length) {
			_btnNext.bind(_controlEvent,function(){
				nextSlide();
				return false;
			});
		}
		if(_pagerLinks.length) {
			_pagerLinks.each(function(_ind){
				jQuery(this).bind(_controlEvent,function(){
					if(_currentIndex != _ind) {
						_prevIndex = _currentIndex;
						_currentIndex = _ind;
						switchSlide();
					}
					return false;
				});
			});
		}

		if(_btnPlayPause.length) {
			_btnPlayPause.bind(_controlEvent,function(){
				if(_this.hasClass(_pausedClass)) {
					_this.removeClass(_pausedClass).addClass(_playClass);
					_autoRotation = true;
					autoSlide();
				} else {
					if(_timer) clearTimeout(_timer);
					_this.removeClass(_playClass).addClass(_pausedClass);
				}
				return false;
			});
		}

		function prevSlide() {
			_prevIndex = _currentIndex;
			if(_currentIndex > 0) _currentIndex--;
			else _currentIndex = _slideCount-1;
			switchSlide();
		}
		function nextSlide() {
			_prevIndex = _currentIndex;
			if(_currentIndex < _slideCount-1) _currentIndex++;
			else _currentIndex = 0;
			switchSlide();
		}
		function refreshStatus() {
			if(_pagerLinks.length) _pagerLinks.removeClass(_activeClass).eq(_currentIndex).addClass(_activeClass);
			_slides.eq(_prevIndex).removeClass(_activeClass);
			_slides.eq(_currentIndex).addClass(_activeClass);
		}
		function switchSlide() {
			_slides.eq(_prevIndex).fadeOut(_duration);
			_slides.eq(_currentIndex).fadeIn(_duration);
			refreshStatus();
			autoSlide();
		}

		function autoSlide() {
			if(!_autoRotation || _hover) return;
			if(_timer) clearTimeout(_timer);
			_timer = setTimeout(nextSlide,_switchTime+_duration);
		}
		if(_pauseOnHover) {
			_this.hover(function(){
				_hover = true;
				if(_timer) clearTimeout(_timer);
			},function(){
				_hover = false;
				autoSlide();
			});
		}
		refreshStatus();
		autoSlide();
	});
}

var grayscaleImage = function(imgDomObj){
	
	var canvas = document.createElement('canvas');
	var canvasContext = canvas.getContext('2d');
	
	var imgW = imgDomObj.width;
	var imgH = imgDomObj.height;
	canvas.width = imgW;
	canvas.height = imgH;
	
	canvasContext.drawImage(imgDomObj, 0, 0);
	var imgPixels = canvasContext.getImageData(0, 0, imgW, imgH);
	
	for(var y = 0; y < imgPixels.height; y++){
		for(var x = 0; x < imgPixels.width; x++){
			var i = (y * 4) * imgPixels.width + x * 4;
			var avg = (imgPixels.data[i] + imgPixels.data[i + 1] + imgPixels.data[i + 2]) / 3;
			imgPixels.data[i] = avg; 
			imgPixels.data[i + 1] = avg; 
			imgPixels.data[i + 2] = avg;
		}
	}
	
	canvasContext.putImageData(imgPixels, 0, 0, 0, 0, imgPixels.width, imgPixels.height);
	return canvas.toDataURL();
}
	
window.onload = function(){
	$(".slide-grayscale").each(function(indx){
		var $this = $(this);
		var imgObj = $this.find("img");
		var bObj = $this.find("b");
		// если иe (только у него есть фильтр) 
		if ($.browser.msie) {
			imgObj.css({	"zoom" : 1,
							"filter" : "progid:DXImageTransform.Microsoft.BasicImage(grayScale=1);"	});
			$this.mouseover(function(){
				imgObj.css("filter", "progid:DXImageTransform.Microsoft.BasicImage(grayScale=0);");
				bObj.addClass("hide-mask");
			}).mouseout(function(){
				imgObj.css("filter", "progid:DXImageTransform.Microsoft.BasicImage(grayScale=1);");
				bObj.removeClass("hide-mask");
			});
		} else {
			imgObj.attr("mouseOverImage", imgObj.attr("src"));
			imgObj.load(function(){
				return true;
			});
			imgObj.attr("normalImage", grayscaleImage(imgObj.get(0), false));
			$this.mouseover(function(){
				imgObj.attr("src", imgObj.attr("mouseOverImage"));
				bObj.addClass("hide-mask")
			}).mouseout(function(){
				imgObj.attr("src", imgObj.attr("normalImage"));
				bObj.removeClass("hide-mask");
			});
			imgObj.attr("src", imgObj.attr("normalImage"));	
		}
		
	});
};
