$(function(){
	var ienone = false;
	var ua = $.browser;
	//alert(ua.version.substr(0,1));
	if ( ua.msie && ua.version.substr(0,1) >= 8) {ienone = true;
	}else if ( ua.msie && ua.version.substr(0,1) == '6'){$('.h-ny').hide();}
	
	
	//--------------------------
	// PreLoad Image
	//--------------------------
	var LoadImage = [
	  '.b-ny-discount',
	  '.b-ny-arr1',
	  '.b-ny-arr3',
	  '.b-ny-gift',
	  '.b-ny-tree-year',
	  '.b-ny-treeBlur-year',
	  '.b-blur',
	  '.b-ny-preload-bg',
	  '.b-ny-tree-spruce',
	  '.b-ny-treeBlur-spruce',
	  '.b-ny-tree-year',
	  '.b-ny-treeBlur-year',
	  '.b-ny-tree-arrGift-link'
	];
	var i = 0, count = LoadImage.length;
	function ld(){i+=1;if (i == count) {$('.b-ny-preload').fadeOut(100);}}
	for (var key in LoadImage){
		$('<img>').bind("load", ld).attr('src',$(LoadImage[key]).css('background-image').replace("url(",'').replace(")",'').replace('http://192.160.1.2/webpatch.ru/','').replace('"','').replace('"',''));	
	}
	
	//--------------------------
	// New Year Interactiv
	//--------------------------
	var NY = {
	  temp:{
		  Effect: false,
		  Position: 'leave',
		  animHoop: false
	  },
	  base:{
		  buttonStart: $('#arrGiftLink').parent(),
		  container: $(".h-ny"),
		  box: $(".b-ny-box"),
		  blurClass: "blurw",
		  card: '',
		  blurCard: $(".b-ny-treeBlur, .b-blur"),
		  tree: $(".b-ny-tree"),
		  buttonClose: $('#goBack')
	  },
	  object:{
	    Arr1:{selector:'#b-ny-arr1',rotate:'-110',width:'-900px',height:'0px',duration:'0.4s'},
		Arr2:{selector:'#b-ny-arr2',rotate:'110',width:'600px',height:'-90px',duration:'0.4s'},
		Arr3:{selector:'#b-ny-arr3',rotate:'-110',width:'-900px',height:'0px',duration:'0.4s'},
		Discount:{selector:'#b-ny-discount',rotate:'30',width:'-30px',height:'-170px',duration:'0.4s'},
		Gift:{selector:'#b-ny-gift',rotate:'30',width:'410px',height:'0px',duration:'0.4s'}
	  },
	  animate:function(object){
		if (!object.selector) return false;
		var rotate = (!object.rotate)? '0' : object.rotate;
		var width = (!object.width)? '0px' : object.width;
		var height = (!object.height)? '0px' : object.height;
		var duration = (!object.duration)? '0.3s' : object.duration;
		$(selector).css('-webkit-transform', 'rotate('+rotate+'deg) translate('+width+', '+height+')')
		  .css('transition', 'all '+duration+' ease')
		  .css('-moz-transition', '-moz-transform '+duration+' ease')
		  .css('-webkit-transition', '-webkit-transform '+duration+' ease')
		  .css('-o-transition', '-o-transform '+duration+' ease')
		  .css('transition', 'all '+duration+' ease')
		  .css('-moz-transform', 'rotate('+rotate+'deg) translate('+width+', '+height+')')
		  .css('-o-transform', 'rotate('+rotate+'deg) translate('+width+', '+height+')')
		  .css('transform', 'rotate('+rotate+'deg) translate('+width+', '+height+')');
	  },
	  clearRotate: function(){
		if (!time){ time = '0.3s';}
		NY.animate(selector, '0', '0px', '0px', time); 
	  },
	  init: function(){
		for(var key in NY.object){NY.animate(NY.object[key]);}
	  },
	  //--------Действия при окончании запуска интерактива --------
	  effectOff: function(name){
		NY.temp.Effect = false;
		// Если во время интерактива состояние было изменено (используется при mouseenter|mouseleave)
		if (name != NY.temp.Position){NY.base.container.trigger('mouse'+NY.temp.Position);} 
	  },
	  //--------Действия при запуске интерактива --------
	  effectOn: function(name){
		  NY.temp.Position = name;
		  if (NY.temp.Effect) return false;
		  NY.temp.Effect = true;
		  if (name == 'enter'){
			NY.temp.animHoop = false;
		  }else{
			NY.temp.animHoop = true;
		  }
		  return true;
	  },
	  //------ Запуск интерактива -----------
	  start: function(){
		//Если интерактив запущен и еще выполняется, то не выполняем запуск.
		if (!NY.effectOn('enter')) return false;
		if (ienone){$('#nyLayer1,#nyLayer2').removeClass('ienone');}
		// плавно скрываем кнопку запуска интерактива
		NY.base.buttonStart.fadeOut(100);
		// убираем класс размытия с бокса
		NY.base.box.removeClass(NY.base.blurClass);
		// плавно показываем картинку
		NY.base.blurCard.fadeIn(100, function(){
		  // Блок со скидкой появляется сразу
		  NY.elementStart(NY.object.Discount.selector);
		  // плавно показываем кнопку закрытия
		  NY.base.buttonClose.fadeIn(100);
		  // Плавно скрываем елку
		  NY.base.tree.fadeOut(100, function(){
			// Все остальные элементы запускается через 0,6 секунд после скрывания елки поочередно
			window.setTimeout(function(){
				// через 0,6 сек запускаем подарок
				NY.elementStart(NY.object.Gift.selector, '.2s', function(){
					// еще через 0,25 сек запускаем первую стрелку
					NY.elementStart(NY.object.Arr1.selector, '.3s', function(){
						// еще через 0,15 сек запускаем вторую стрелку
						NY.elementStart(NY.object.Arr2.selector, null, function(){
							// еще через 0,15 сек запускаем третью стрелку
							NY.elementStart(NY.object.Arr3.selector);
							//и отметим что скрипт завершил анимацию
							NY.effectOff('enter');
						  }, 150);
					  }, 150);
				  }, 250);
			}, 600);
		  });
		});
	  },
	  //--------- Остановка интерактива. Возврат к прежнему состоянию ----------
	  stop: function(){
		//Если интерактив запущен и еще выполняется, то не выполняем запуск.
		if (!NY.effectOn('leave')) return false;
		if (ienone){$('#nyLayer1,#nyLayer2').addClass('ienone');}
		// плавно показываем кнопку запуска интерактива
		NY.base.buttonStart.fadeIn(100);
		// ставим класс размытия на бокс
		NY.base.box.addClass(NY.base.blurClass);
		// плавно убираем кнопку закрытия
		NY.base.buttonClose.fadeOut(100);
		// все элементы возращаем на исходные позиции
			nyDiscount();
			nyArr1();		
			nyArr2();
			nyArr3();
			nyGift();
			animSect();
			
			$(".b-ny-tree").fadeIn(50, function(){
				$(".b-ny-treeBlur, .b-blur").fadeOut(100, function(){
					EffectOff('leave');
				});
			});
	  },
	  elementStart: function(selector, time, func, functime){
		if (NY.temp.Effect || NY.temp.Position == 'leave') return false;
		clearRotate(selector, time);
		if (!functime) functime = 150;
		if (func) window.setTimeout(func, functime);
	  }
	  
	};
	
	function nyAnim(selector, rotate, width, height, duration){
		if (!rotate) rotate = '0';
		if (!width) width = '0px';
		if (!height) height = '0px';
		if (!duration) duration = '0.3s';
		$(selector).css('-webkit-transform', 'rotate('+rotate+'deg) translate('+width+', '+height+')')
		.css('transition', 'all '+duration+' ease')
		.css('-moz-transition', '-moz-transform '+duration+' ease')
		.css('-webkit-transition', '-webkit-transform '+duration+' ease')
		.css('-o-transition', '-o-transform '+duration+' ease')
		.css('transition', 'all '+duration+' ease')
		.css('-moz-transform', 'rotate('+rotate+'deg) translate('+width+', '+height+')')
		.css('-o-transform', 'rotate('+rotate+'deg) translate('+width+', '+height+')')
		.css('transform', 'rotate('+rotate+'deg) translate('+width+', '+height+')');
	}
	
	function nyArr1(){nyAnim('#b-ny-arr1', '-110', '-900px', '0px', '0.4s');}
	function nyArr2(){nyAnim('#b-ny-arr2', '110', '600px', '-90px', '0.4s');}
	function nyArr3(){nyAnim('#b-ny-arr3', '-110', '-900px', '0px', '0.4s');}
	function nyDiscount(){nyAnim('#b-ny-discount', '30', '-30px', '-170px', '0.6s');}
	function nyGift(){nyAnim('#b-ny-gift', '30', '410px', '0px', '0.4s');}
	function clearRotate(selector, time){
		if (!time){ time = '0.3s';}
		nyAnim(selector, '0', '0px', '0px', time);
	}
	function mvArr1(){if (Effect || Position == 'leave') return false;clearRotate('#b-ny-arr1', '.3s');window.setTimeout(mvArr2, 150);}
	function mvArr2(){if (Effect || Position == 'leave') return false;clearRotate('#b-ny-arr2');window.setTimeout(mvArr3, 150);}
	function mvArr3(){if (Effect || Position == 'leave') return false;clearRotate('#b-ny-arr3');}
	function mvDisc(){if (!Effect || Position == 'leave') return false;clearRotate('#b-ny-discount');}
	function mvGift(){if (Effect || Position == 'leave') return false;clearRotate('#b-ny-gift', '0.2s');window.setTimeout(mvArr1, 250);}
	nyDiscount();
	nyArr1();
	nyArr2();
	nyArr3();
	nyGift();
	$('#goBack').load(function(){alert('as');});
	$('#goBack').hide();
	$('.b-ny-treeBlur').hide().removeClass('none');
	$('.b-blur').hide().removeClass('none');
	var Effect = false;
	var Position = false;
	//$(".h-ny").mouseenter(function(){
	$('#arrGiftLink').click(function(){
		Position = 'enter';
		if (Effect) return false;
		if (ienone){$('#nyLayer1,#nyLayer2').removeClass('ienone');}
		$('.addOutside').fadeIn(400);
		Effect = true;
		
		animHoop=false;
		$('#arrGiftLink').parent().fadeOut(100);
		$(".b-ny-box").removeClass("blurw");
		$(".b-ny-treeBlur, .b-blur").fadeIn(100, function(){
			mvDisc();
			$('#goBack').fadeIn(100);
			$(".b-ny-tree").fadeOut(100, function(){
				window.setTimeout(mvGift, 600);
				EffectOff('enter');
				/*
				EffectOff('enter');
				clearRotate('#b-ny-arr1');
				clearRotate('#b-ny-arr2');
				clearRotate('#b-ny-arr3');
				clearRotate('#b-ny-discount');
				clearRotate('#b-ny-gift');
				*/
			});
		});
	});
	
	//$(".h-ny").mouseleave(function(){
	$('#goBack').click(function(){
		Position = 'leave';
		if (Effect) return false;
		if (ienone){$('#nyLayer1,#nyLayer2').addClass('ienone');}
		$('.addOutside').fadeOut(100);
		Effect = true;
		$('#goBack').fadeOut(100);
		$(".b-ny-box").addClass("blurw");
		nyDiscount();
		nyArr1();		
		nyArr2();
		nyArr3();
		nyGift();
		animHoop=true;animSect();
		$('#arrGiftLink').parent().fadeIn(100);
		$(".b-ny-tree").fadeIn(50, function(){
			$(".b-ny-treeBlur, .b-blur").fadeOut(100, function(){
				EffectOff('leave');
			});
		});
	});
	
	if ( !ua.msie || (ua.msie && ua.version.substr(0,1) >= 9)){
		$(".h-ny").mouseleave(function(){$('#goBack').trigger('click');});
		$(".b-ny-tree-arrGift").mouseenter(function(){ $('#arrGiftLink').trigger('click');});
	}
	
	
	function EffectOff(func){
		Effect = false;
		if (func != Position){
			$(".h-ny").trigger('mouse'+Position);
		}
	}
	var RotGB = false;
	$('#goBack').mouseenter(function(){
		nyAnim('#goBack','-90');
		RotGB = '-90';
		window.setTimeout(rotate, 300);
	}).mouseleave(function(){
		nyAnim('#goBack','0');
		RotGB = false;
	});
	function rotate(){
		if (RotGB){
			nyAnim('#goBack', RotGB - 1, null, null, '0');
			RotGB = RotGB - 1;
			window.setTimeout(rotate, 1);
		}
	}
	
	function dragArr1(){
		nyAnim('#goBack', RotGB - 1, null, null, '0');
	}
	var animHoop = true;
	function animSect(){
		if (!animHoop) return false;
		if ($('#arrGiftBg').css('display') == 'none'){
		  $('#arrGiftBg').fadeIn(300);
		}else{
		  $('#arrGiftBg').fadeOut(300);
		}
		window.setTimeout(animSect, 600);
	}
	animSect();
	//$('#arrGiftLink').click(function(){
	//	$(".h-ny").trigger('mouseenter');
	//});
	
});

