var metrikaID = '14232115';

(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");

ym(metrikaID, "init", {
	params:window.yaParams,
	clickmap:true,
	trackLinks:true,
	accurateTrackBounce:true,
	webvisor:true,
	ecommerce:"yaDataLayer",
	triggerEvent:true
});
console.log('yaParams=' + window.yaParams);

(function($) {

	var pagetype = window.pagetype || "";
	var customPageType = window.customPageType || "";
	var metrikaID = window.metrikaID || "";
	var yaDataLayer = window.yaDataLayer || [];

	if (metrikaID == ""){
		console.error('Metrika ID empty...');
	}else{

		switch(pagetype){
			case 'error404':
				ym(metrikaID,'reachGoal','404error');
				break;

	
			case 'product':
				yaDataLayer.push({
					'ecommerce': {
						'detail': {
							'products': [{
								"id": productid,
								"name": productname,
								"price": pricenum,
								"brand": manufacturername,
								"category": categoryname,						
							}]
						}
					}
				});
				break;

			case 'cart':
				if(sessionStorage.getItem('ym_cartPage') != 1){
					sessionStorage.setItem('ym_cartPage', 1);
					console.log("ya.metrika cartPage event");
					ym(metrikaID,'reachGoal','cartPage');
				}
				break;
			
			case 'purchase_onlinepay':
				var yr_ya_ordertime_dedup = parseInt(localStorage.getItem('yr_ya_ordertime_dedup')),
				    yr_ya_ordertime_add_js_dedup = parseInt(localStorage.getItem('yr_ya_ordertime_add_js_dedup'));

				console.log('yr_ya_ordertime_dedup = ' + yr_ya_ordertime_dedup);

				if(isNaN(yr_ya_ordertime_dedup) || yr_ya_ordertime_dedup < ordertime){

					try{
						yaDataLayer.push({
							'ecommerce': {
								'currencyCode': 'RUB',
								'purchase': {
									'actionField': {
										'id': ordernumber
									},
									'products': yaLayer
								}
							}
						});
						console.log('sent yaDataLayer ecommerce purchase online');

						var urldata = new URLSearchParams({on: ordernumber, ev: 'purchase online pay', dt: JSON.stringify(yaLayer)});
						navigator.sendBeacon('/yametrika/savelog', urldata);
						console.info('Yr: Sent beacon task purchase online pay');

					}catch(err){
						var urldata = new URLSearchParams({on: '0', ev: 'purchase online err ' + err, dt: JSON.stringify(yaLayer)});
						navigator.sendBeacon('/yametrika/savelog', urldata);
						console.info('Yr: Sent beacon purchase online err');
					}

					localStorage.setItem('yr_ya_ordertime_dedup', ordertime);

				}

				if(isNaN(yr_ya_ordertime_add_js_dedup) || yr_ya_ordertime_add_js_dedup < ordertime){
					// send goal
					ym(metrikaID,'reachGoal','additionalOrderFinishJS');
					console.log('sent reachGoal additionalOrderFinishJS');
					localStorage.setItem('yr_ya_ordertime_add_js_dedup', ordertime);

					var urldata = new URLSearchParams({on: ordernumber, ev: 'additionalOrderFinishJS'});
					navigator.sendBeacon('/yametrika/savelog', urldata);
					console.info('Yr: Sent beacon  jsAddOrderFinish');
				}

				break;

			case 'purchase':
				var yr_ya_ordertime_dedup = parseInt(localStorage.getItem('yr_ya_ordertime_dedup')),
				    yr_ya_ordertime_js_dedup = parseInt(localStorage.getItem('yr_ya_ordertime_js_dedup')),
				    yr_ya_ordertime_add_js_dedup = parseInt(localStorage.getItem('yr_ya_ordertime_add_js_dedup'));

				console.log('yr_ya_ordertime_dedup = ' + yr_ya_ordertime_dedup + ' yr_ya_ordertime_js_dedup = ' + yr_ya_ordertime_js_dedup);

				if(isNaN(yr_ya_ordertime_dedup) || yr_ya_ordertime_dedup < ordertime){

					try{
						yaDataLayer.push({
							'ecommerce': {
								'currencyCode': 'RUB',
								'purchase': {
									'actionField': {
										'id': ordernumber
									},
									'products': yaLayer
								}
							}
						});
						console.log('sent yaDataLayer ecommerce purchase');

						var urldata = new URLSearchParams({on: ordernumber, ev: 'purchase', dt: JSON.stringify(yaLayer)});
						navigator.sendBeacon('/yametrika/savelog', urldata);
						console.info('Yr: Sent beacon purchase');

					}catch(err){
						var urldata = new URLSearchParams({on: '0', ev: 'purchase err ' + err, dt: JSON.stringify(yaLayer)});
						navigator.sendBeacon('/yametrika/savelog', urldata);
						console.info('Yr: Sent beacon purchase err');
					}

					localStorage.setItem('yr_ya_ordertime_dedup', ordertime);
				}

				if(isNaN(yr_ya_ordertime_js_dedup) || yr_ya_ordertime_js_dedup < ordertime){
					// send goal
					ym(metrikaID,'reachGoal','orderFinish', {order_price: totalvalue, currency: 'RUB'});
					console.log('sent reachGoal orderFinish');
					localStorage.setItem('yr_ya_ordertime_js_dedup', ordertime);

					var urldata = new URLSearchParams({on: ordernumber, ev: 'jsOrderFinish'});
					navigator.sendBeacon('/yametrika/savelog', urldata);
					console.info('Yr: Sent beacon  jsOrderFinish');
				}

				if(isNaN(yr_ya_ordertime_add_js_dedup) || yr_ya_ordertime_add_js_dedup < ordertime){
					// send goal
					ym(metrikaID,'reachGoal','additionalOrderFinishJS');
					console.log('sent reachGoal additionalOrderFinishJS');
					localStorage.setItem('yr_ya_ordertime_add_js_dedup', ordertime);

					var urldata = new URLSearchParams({on: ordernumber, ev: 'additionalOrderFinishJS'});
					navigator.sendBeacon('/yametrika/savelog', urldata);
					console.info('Yr: Sent beacon  jsAddOrderFinish');
				}
				
				break;
		}

		if (customPageType == 'customKitchen'){
			ym(metrikaID,'reachGoal','customKitchCard');
		}
	
		$(document).on('click', ".btn-buy, .btn-oneclickbuy", function(e){
			var productname = productname || ($('.product-card__title', $(this).closest('.product-card__info')).text()).trim();
			console.log("dataLayer.js ecommerce add " + productname);
			yaDataLayer.push({
				"ecommerce": {
					"currencyCode": "RUB",    
					"add": {
						"products": [
							{
							"id": $(this).data("productid"),
							"name": productname,
							"price": $(this).data("price"),
							//"brand": manufacturername,
							//"category": categoryname,
							"quantity": 1
							}
						]
					}
				}
			});

		});

		$(document).on(
			'click', '.iconmenu-link', 
			function(e){
				ym(metrikaID,'reachGoal','clickIconMenuMob');
			}
		).on(
			'click', '.main-menu__item', 
			function(e){
				ym(metrikaID,'reachGoal','clickLeftMenu');
			}
		).on(
			'click', '.sendfeedback, .sendnotify, .checkrecaptcha',
			function(e){
				/*var response = grecaptcha.getResponse(),
				success = response.length == 0 ? false : true;

				ym(metrikaID, 'userParams', {"reCaptchaSuccess": success});*/
			}
		).on(
			'click', '#btmPanelHome',
			function(e){
				ym(metrikaID,'reachGoal','sendBtmPanelHome');
			}
		).on(
			'click', '#btmPanelCatalog',
			function(e){
				ym(metrikaID,'reachGoal','sendBtmPanelCatalog');
			}
		).on(
			'click', '#btmPanelCart',
			function(e){
				ym(metrikaID,'reachGoal','sendBtmPanelCart');
			}
		).on(
			'click', '#btmPanelFav',
			function(e){
				ym(metrikaID,'reachGoal','sendBtmPanelFavourites');
			}
		).on(
			'click', '#btnQuizOpen',
			function(e){
				ym(metrikaID,'reachGoal','sendBtnQuizOpen');
			}
		).on(
			'click', '.category-filter .filter-panel-toggle',
			function(e){
				ym(metrikaID,'reachGoal','clickFilterBtn');
			}
		).on(
			'click', '#btn-special-offer',
			function(e){
				ym(metrikaID,'reachGoal','btnSpecalOffers');
			}
		).on(
			'click', '.photos-from-customers__container a',
			function(e){
				ym(metrikaID,'reachGoal','clckCustomersImg');
			}
		).on( // kitchen send online form
			'click', '#orderProjectOnline .sendnotify',
			function(e){
				ym(metrikaID,'reachGoal','onlineProjectSendForm');
			}
		).on(
			'click', '.btn-oneclickbuy',
			function(e){
				if(sessionStorage.getItem('ym_cartPage') != 1){
					sessionStorage.setItem('ym_cartPage', 1);
					console.log("ya.metrika cartPage event");
					ym(metrikaID,'reachGoal','cartPage');
				}
			}
		).on(
			'click', '#btnSecret',
			function(e){
				var jsName = '';

				if($('[name="helpform1"]').length){
					jsName = 'helpform1Open';
				}else{
					jsName = 'helpform2Open';
				}

				ym(14232115,'reachGoal',jsName);
				console.log("ya.metrika " + jsName + " event");
			}
		).on(
			'click', '.helpform-block .sendnotify',
			function(e){
				var jsName = '';

				if($('[name="helpform1"]').length){
					jsName = 'helpform1Sent';
				}else{
					jsName = 'helpform2Sent';
				}

				ym(metrikaID,'reachGoal',jsName);
				console.log("ya.metrika " + jsName + " event");
			}
		).on(
			'click', '.btn-productorderform',
			function(e){
				ym(metrikaID,'reachGoal', 'productOrderForm_open');
				console.log("ya.metrika productOrderForm_open event");
			}
		).on(
			'click', '.helpform-block .sendnotify',
			function(e){
				ym(metrikaID,'reachGoal', 'productOrderForm_sent');
				console.log("ya.metrika productOrderForm_sent event");
			}
		).on(
			'click', '.customKitchenOpenForm', // new tmpl for kitchen
			function(e){
				ym(metrikaID,'reachGoal', 'customKitchOpenForm');
				console.log("ya.metrika customKitchenFormOpen event");
			}
		).on(
			'click', '.customKitchenSendForm', // new tmpl for kitchen
			function(e){
				ym(metrikaID,'reachGoal', 'customKitchSentForm');
				console.log("ya.metrika customKitchSentForm event");
			}
		).on(
			'shown.bs.modal', '#modal-quizme', 
			function(e){
				ym(metrikaID,'reachGoal', 'quizmeOpenForm');
				console.log("ya.metrika quizmeOpenForm event");
			}
		).on(
			'click', '#btn-quizme-send',
			function(e){
				ym(metrikaID,'reachGoal', 'quizmeSendForm');
				console.log("ya.metrika quizmeSendForm event");
			}
		);

		if($('#quizme-static-page').length){
			ym(metrikaID,'reachGoal', 'quizmeOpenForm');
			console.log("ya.metrika quizmeOpenForm event");
		}
		
	}


}(jQuery));