/* START global js_head */

	var lastE = "";
	var lastG = 0;
	var play_now = "Hemen oyna!";
	var b = document.documentElement;
	var cefList = ["idcTesting","idclauncher","idcplaystv"];
	b.setAttribute("data-useragent",  navigator.userAgent);
	b.setAttribute("data-platform", navigator.platform );
	b.className += ((!!("ontouchstart" in window) || !!("onmsgesturechange" in window))?" touch":"");
	
	
	/****************************************************************************************************************************/
	/************************************************  SESION, STORAGE & COOKIES ************************************************/
	/****************************************************************************************************************************/
	function getCookie(cname) {
		var name = cname + "=";
		var decodedCookie = decodeURIComponent(document.cookie);
		var ca = decodedCookie.split(";");
		for(var i = 0;i<ca.length; i++) {
			var c = ca[i];
			while (c.charAt(0) == " ") {
				c = c.substring(1);
			}
			if (c.indexOf(name) == 0) {
				return c.substring(name.length, c.length);
			}
		}
		return "";
	}
	function setCookie(cname, cvalue, exdays) {
		var d = new Date();
		d.setTime(d.getTime() + (exdays*24*60*60*1000));
		var expires = "expires="+ d.toUTCString();
		document.cookie = cname + "=" + cvalue + ";" + expires + "; domain=idcgames.com; path=/; SameSite=Strict; Secure";
	}
	function setCookieWT(cname, cvalue) {
			var expires = document.cookie.indexOf(cname) === -1
			? new Date(new Date().setTime(new Date().getTime()+30*24*60*60*1000)) // 30 days
			: unescape(document.cookie).split('expireDate=')[1]; // split out date to reuse
		document.cookie = cname + "=" + cvalue + ";" + expires + "; domain=idcgames.com; path=/; SameSite=Strict; Secure";
	}
	function saveUtm(){
		var vars = {};
		var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
			vars[key] = value;
		});
		if( typeof( vars.utm_source		) 	== "string" ) setCookie("utm_source"	,	vars.utm_source		, 1);
		if( typeof( vars.utm_campaign	) 	== "string" ) setCookie("utm_campaign"	,	vars.utm_campaign	, 1);
		if( typeof( vars.utm_medium		) 	== "string" ) setCookie("utm_medium"	,	vars.utm_medium		, 1);
		if( typeof( vars.utm_term		) 	== "string" ) setCookie("utm_term"		,	vars.utm_term		, 1);
		if( typeof( vars.utm_content	) 	== "string" ) setCookie("utm_content"	,	vars.utm_content	, 1);
		if( typeof( vars.pixelTracking	) 	== "string" ) setCookie("pixelTracking"	,	vars.pixelTracking	, 1);
		if( typeof( vars.pub			) 	== "string" ) setCookie("pub"			,	vars.pub			, 1);
		if( typeof( vars.tid			) 	== "string" ) setCookie("tid"			,	vars.tid			, 1);
	}
	
    function saveGames (games){
        if (games && games != 'null'){
             //concat fixed error with single element not being an array
            let gamesObject = [];
            try {
              let gamesAux = JSON.parse (games);
              gamesObject  = gamesObject.concat (gamesAux);
              sessionStorage.setItem("games", gamesObject.map(x=>x.IDJUEGO));
            } catch(e) {
                console.log("Error parsing user games:",e); // error in the above string (in this case, yes)!
            }
        }
        else {
              sessionStorage.removeItem("games");
       }
    }	
	function saveSession(data){
		if( data.keep == true){
			setCookie("id", data.id, 365);
			setCookie("currency", data.currency, 365);
			setCookie("simbol", data.simbol, 365);
			setCookie("nick", encodeURIComponent(data.nick), 365);
			setCookie("token", data.token, 365);
			setCookie("email", data.email||"", 365);
			localStorage.setItem("games", data.games);
			if( typeof( data.purchased ) != "undefined") {
				localStorage.setItem("games", data.purchased);
			}
		}else{
			document.cookie = "id="+data.id+";domain=idcgames.com";
			document.cookie = "currency="+data.currency+";domain=idcgames.com";
			document.cookie = "simbol="+data.simbol+";domain=idcgames.com";
			document.cookie = "nick="+data.nick+";domain=idcgames.com";
			document.cookie = "token="+data.token+";domain=idcgames.com";
			document.cookie = "email="+data.token+";domain=idcgames.com";
			localStorage.setItem("games", data.games);
			if( typeof( data.purchased ) != "undefined"){
				localStorage.setItem("games", data.purchased);
			}
		}
	}
	function loadSession(field){
		if( getCookie(field) != null && getCookie(field) != "" ){
			return getCookie(field);
		}else if( sessionStorage.getItem(field) != null  ){
			return sessionStorage.getItem(field);
		}else if( localStorage.getItem(field) != null  ){
			return localStorage.getItem(field);
		}else{
			return false;
		}
	}
	function deleteSession(){
		setCookie("id", "", 0);
		setCookie("coins", "", 0);
		setCookie("currency", "", 0);
		setCookie("nick", "", 0);
		setCookie("token", "", 0);
		setCookie("email", "", 0);
		setCookie("lastLogin", "", 0);
		localStorage.clear();
		sessionStorage.clear();
	}
	/****************************************************************************************************************************/
	/*************************************************  LOGIN, REGISTER, CHECK  *************************************************/
	/****************************************************************************************************************************/
	function notLogged(){
		if( loadSession('token') == false){
			if ( isCef() > 0 ){
				(async function() {
					await CefSharp.BindObjectAsync("cefDotNet", "bound");
					cefDotNet.notLogged();
				})();
			}
			console.log("NotLogged");
		}
	}
	
	function getCurrentDate (){
       let today = new Date();
       let dd = String(today.getDate()).padStart(2, '0');
       let mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!
       let yyyy = today.getFullYear();
    
       today = mm + '/' + dd + '/' + yyyy;
       return today;
    }
    
	function saveLastLogin(){
        let today = getCurrentDate();
        
        if (getCookie("lastLogin")  != today){ 
           setCookie("lastLogin", today, 1);
         }
    }
	function showUserLoggedIn(){
		$(".cUserName").text(loadSession("nick"));
		$(".cUserNameIcon").attr("title", loadSession("nick") );
		$(".cCoins").text(loadSession("coins"));
		$(".logged").show();
		$(".unlogged").hide();
		$(".modal.show").click();
	}
	
	function showUserLoggedOut(){
		$(".cUserName").text("");
		$(".cUserNameIcon").attr("title", "");
		$(".cCoins").text();
		$(".logged").hide();
		$(".unlogged").show();
		$(".runLogOff").click();
		notLogged();
	}
	
	function loginSocial(loginRes){
		console.log("Login Social");
		if (loginRes.rc == 200){
			saveSession(loginRes.data);
			showUserLoggedIn();
			isSuccess = loginRes.data.token;
			$(".runLogIn").click();
			
			if( loginRes.txt == "OK" && isCef() == 0 ){
				window.location.replace('https://idcgames.com/tr/extra/teşekkürler');
			}
			if ( isCef() > 0 ){
				try {
					(async function() {
						await CefSharp.BindObjectAsync("cefDotNet", "bound");
						cefDotNet.login( JSON.stringify(loginRes) );
					})(loginRes);
					window.location.replace('https://idcgames.com/tr/info/kütüphane');
				}catch(err){
					console.log(err);
				}
			}
		}else{
            showUserLoggedOut();
		}
	}
	function loginToken(token,typelog="") {
		var isSuccess;
		isSuccess = false;
		if (isCef() > 0 ) {
			var referer = 'LAUNCHER';
		}else{
			var referer = 'WEB-'+lastG+' ('+document.baseURI+')';;
		}
		if (token != '') {
			$.ajax({
				type:"POST",
				url:"/unilogin/token.php",
				data: 'token='+token+'&game='+lastG+'&cReferer='+referer+'&cFun=loginToken',
				dataType: 'text',
				async:true,
				success: function(json){
					var result = JSON.parse(json);
					if (result.rc == 200){
						saveSession(result.data);
						showUserLoggedIn();
						saveLastLogin();
						isSuccess = result.data.token;
						$(".runLogIn").click();
						if( typelog == "NEW+IDC+USER" ){
							if ( isCef() > 0 ){
								window.location.replace('/');
							}else{
								window.location.replace('https://idcgames.com/tr/extra/teşekkürler');
							}
						}
					}else{
					    showUserLoggedOut();
					}
				}
			});
		}
		return isSuccess;
	}
	
function getUserData(token){
	var isSuccess;
	isSuccess = false;
	if (token != '') {
		$.ajax({
			type:"POST",
			url:"/unilogin/getUserData.php",
			data: 'token='+token,
			dataType: 'text',
			async:false,
			success: function(json){
				var result;
                try{
                  result = JSON.parse(json);
                }
                catch (e){
                  result = {"rc":-1};
                 console.log ("Error parsing user data in getUserData:", e);
                }
                if (result.rc == 200){
                    saveSession(result.data);
                    showUserLoggedIn();
                }
                else{
				  deleteSession();
                  showUserLoggedOut();
				   res = {
					"rc": 404,
					"txt": "KO",
					"data": {}
				   };
                }
			}
		});
	}
	return isSuccess;
}

	function login(user,pass,keep,gameId,cbSuccess,cbError1,cbError2){
		var res = {};
		if (isCef() > 0 ) {
			var referer = 'LAUNCHER';
		}else{
			var referer = 'WEB-'+lastG+' ('+document.baseURI+')';;
		}
		if (gameId == ''){
			gameId = lastG;
		}
		$.ajax({
			type:"POST",
			url:"/unilogin/token.php",
			data: 'cNick='+encodeURIComponent(user)+'&cPassword='+encodeURIComponent(pass)+'&game='+gameId+'&keep='+keep+'&cReferer='+referer+'&cFun=login',
			dataType: 'text',
			async:true,
			error: function(objeto, quepaso, otroobj){
				lastE = quepaso;
				res = {
					"rc": 500,
					"txt": "KO",
					"data": {}
				};
				if(cbError2) cbError2(res);
			},
			success: function(json){
				res = JSON.parse(json);
				if (res.rc == 200){
					saveSession(res.data);
					showUserLoggedIn();
					saveLastLogin();
					if(cbSuccess) cbSuccess(res);
				}else{
					setCookie("id", "", 0);
					setCookie("coins", "", 0);
					setCookie("currency", "", 0);
					setCookie("nick", "", 0);
					setCookie("token", "", 0);
					localStorage.clear();
					sessionStorage.clear();
					res = {
						"rc": 404,
						"txt": "KO",
						"data": {}
					};
					if(cbError1) cbError1(res);
				}
			}
		});
	}

	function registrar(user,email,pass,otp,keep,cbSuccess,cbError){
		/* Pixels */
		!function(f,b,e,v,n,t,s)
			{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
				n.callMethod.apply(n,arguments):n.queue.push(arguments)};
		if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
		n.queue=[];t=b.createElement(e);t.async=!0;
		t.src=v;s=b.getElementsByTagName(e)[0];
		s.parentNode.insertBefore(t,s)}(window, document,'script',
				'https://connect.facebook.net/en_US/fbevents.js');
			fbq('init', '373165389547779');
			fbq('track', 'PageView');
		$("head").append('<noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=373165389547779&ev=PageView&noscript=1"/></noscript>');
		!function(_window, _document) {
		var OB_ADV_ID='007fa6d25c29709bd4b3476c0d44ef432b';
		if (_window.obApi) {var toArray = function(object) {return Object.prototype.toString.call(object) === '[object Array]' ? object : [object];};_window.obApi.marketerId = toArray(_window.obApi.marketerId).concat(toArray(OB_ADV_ID));return;}
		var api = window.obApi = function() {api.dispatch ? api.dispatch.apply(api, arguments) : api.queue.push(arguments);};api.version = '1.1';api.loaded = true;api.marketerId = OB_ADV_ID;api.queue = [];var tag = document.createElement('script');tag.async = true;tag.src = '//amplify.outbrain.com/cp/obtp.js';tag.type = 'text/javascript';var script = _document.getElementsByTagName('script')[0];script.parentNode.insertBefore(tag, script);}(window, document);
		obApi('track', 'PAGE_VIEW');
		/* End Pixels */
		var res = {};
		var cLogTrace = "";
		if (isCef() > 0 ) {
			var referer = 'LAUNCHER';
		}else{
			var referer = 'WEB-'+lastG+' ('+document.baseURI+')';
			if ( typeof(platform) == "object" ) {
				var cLogTrace = window.innerWidth+"x"+window.innerHeight+";"+platform.os.family+" "+platform.os.version+" x"+platform.os.architecture+";"+platform.name+":"+platform.version;
			}
		}
		$.ajax({
			type:"POST",
			url:"/unilogin/api_web/tokenRegisterOtp.php",
			data: 'cNick='+encodeURIComponent(user)+'&cEmail='+email+'&cPassword='+encodeURIComponent(pass)+'&cOtp='+otp+'&game='+lastG+'&keep='+keep+'&game='+lastG +'&cReferer='+referer+'&cFun=registrar&cLogTrace='+cLogTrace,
			dataType: 'text',
			async:true,
			error: function(objeto, quepaso, otroobj){
				lastE = quepaso;
				res = {
					"rc": 500,
					"txt": "KO",
					"data": {}
				};
				if(cbError) cbError(res);
			},
			success: function(json){
				res = JSON.parse(json);
				if (res.rc == 200){
					saveSession(res.data);
					if ( getCookie("utm_source") == "facebook" ) {
						fbq('track', 'CompleteRegistration');
					}else if ( getCookie("utm_source") == "outbrain" && lastG == 135 ) {
						obApi('track', 'City Battle Event Conversion');
					}
					gtag('event', 'download', {'event_category': 'game', 'event_label': 'adsense', 'value':'1'});
					
					if(cbSuccess) cbSuccess(res);
				}else{
					deleteSession();
					// res = {
					// 	"rc": res.rc,
					// 	"txt": "KO",
					// 	"data": {}
					// };

					if(cbError) cbError(res);
				}
			}
		});
		// return res;
	}
	/****************************************************************************************************************************/
	/*************************************************  GAMES (PLAY, REGISTER)  *************************************************/
	/****************************************************************************************************************************/
	function registrarGame(game_id){
		var res = {};
		if ( isCef() > 0 ) {
			var referer = 'LAUNCHER';
		}else{
			var referer = 'WEB-'+lastG+' ('+document.baseURI+')';;
		}
		$.ajax({
			type:"POST",
			url:"/unilogin/registro.game.php",
			data: 'token='+loadSession('token')+'&game='+game_id+'&cReferer='+referer+'&cFun=registrarGame',
			dataType: 'text',
			async:true,
			error: function(objeto, quepaso, otroobj){
				lastE = quepaso;
				var res = {
					"rc": 500,
					"txt": "KO",
					"data": {}
				};
				return res;
			},
			success: function(json){
				var result = JSON.parse(json);
				if (result.txt == "OK"){
					loginToken( loadSession("token") );
					if ( getCookie("utm_source") == "facebook" ) {
						fbq('track', 'CompleteRegistration');
					}else if ( getCookie("utm_source") == "outbrain" ) {
						obApi('track', 'City Battle Event Conversion');
					}
					gtag('event', 'download', {'event_category': 'game', 'event_label': 'adsense', 'value':'1'});
				}
				if (result.rc == 200){
					return result;
				}
			}
		});
	}
	function playGame(game_id){
		lastG = game_id;
		document.cookie = "lastG="+lastG+";domain=idcgames.com";
		if ( isCef() > 0 ){
			try{
				(async function() {
					await CefSharp.BindObjectAsync("cefDotNet", "bound");
					cefDotNet.play(game_id.toString());
				})(game_id);
			}catch(e){
				$.ajax({
					type:"POST",
					url:"https://" + getLanguageUrl() + "/assets/config/"+game_id+".json",
					data: '',
					dataType: 'text',
					async:true,
					success: function(json){
						var result = JSON.parse(json);
						if( typeof(result.game_seo) != "undefined" && result.game_seo != "" ){
							window.location.assign("/"+result.game_seo );
						}
					}
				});
			}
		}else{
			registrarGame(game_id);
			// var gameUrl = "/rust/";
			// if( gameUrl == "//") gameUrl = "/";
			var gameUrl = "/";
			window.location.assign( gameUrl + "tr/extra/teşekkürler");
		}
	}
	function isCef(){
		var i = 0;
		$.each( cefList, function( index, value ){
			if( navigator.userAgent.indexOf(value) > 0 ){
				i = index;
			}
		});
		return i;
	}
	/****************************************************************************************************************************/
	/********************************************************  DOWNLOAD  ********************************************************/
	/****************************************************************************************************************************/
	function getDownload(){
		var id = '';
		if( loadSession('token') != false){
			$.ajax({
				type:"POST",
				url:"/unilogin/launcher.php",
				data: 'token='+loadSession("token"),
				dataType: 'text',
				async:true,
				success: function(json){
					var result = JSON.parse(json);
					if( typeof(result.data) != "undefined"){
						id = result.data;
					}
					$.ajax({
						url: "https://" + getLanguageUrl() + '/launcher/IDCUpdater.exe',
						method: 'GET',
						xhrFields: {
							responseType: 'blob'
						},
						success: function (data) {
							var a = document.createElement('a');
							var url = window.URL.createObjectURL(data);
							a.href = url;
							a.download = 'IDC-Games-launcher-V2'+id+'.exe';
							document.body.append(a);
							a.click();
							a.remove();
							window.URL.revokeObjectURL(url);
						}
					});
				}
			});
		}
	}
	/****************************************************************************************************************************/
	/*********************************************************  SOCIAL  *********************************************************/
	/****************************************************************************************************************************/
	var socialData = {};
	function socialAct(item,target){
		var texto = item.extra;
		target.removeClass("socialAct");
		item.token = loadSession("token");
		item.extra = encodeURIComponent( texto );
		var result = { "data": null, "rc": 500, "txt": "KO"};
		if( item.act=="comment" && item.extra =="" ){
			$(".txtComment").addClass("alert");
			$(".txtComment").addClass("alert-danger");
			setTimeout(function() {
				$(".txtComment").removeClass("alert");
				$(".txtComment").removeClass("alert-danger");
				target.html("Yorum yap");
				target.addClass("socialAct");
			},2000);
			return false;
		}
		if( loadSession('token') != false ){
			$.ajax({
				type:"POST",
				url:"/unilogin/action.php",
				data: item,
				dataType: 'text',
				async:true,
				success: function(json){
					result = JSON.parse(json);
					if (result.rc == 200){
						target.html('<i class="fas fa-check-circle"></i>');
						var thisid = item.type+"_"+item.id;
						var last = item.last;
						var votes = {
							"like": $(".like-number[data-id='"+thisid+"']").text()*1,
							"dislike": $(".dislike-number[data-id='"+thisid+"']").text()*1
						};
						if ( last != "" ) {
							votes[last] = votes[last] - 1;
						}
						if ( item.act=="like" ) {
							votes.like++;
						}
						if ( item.act=="dislike" ) {
							votes.dislike++;
						}
						$(".like-number[data-id='"+thisid+"']").text( votes.like );
						$(".dislike-number[data-id='"+thisid+"']").text( votes.dislike );
						target.siblings().removeClass("active");
						target.addClass("active");
						if (  $(".like-number[data-id='"+thisid+"']").text()*1  >= $(".dislike-number[data-id='"+thisid+"']").text()*1 ){
							$(".like-number[data-id='"+thisid+"']").parent(".countVotes").addClass("text-primary");
							$(".like-number[data-id='"+thisid+"']").parent(".countVotes").removeClass("text-secondary");
							$(".dislike-number[data-id='"+thisid+"']").parent(".countVotes").addClass("text-secondary");
							$(".dislike-number[data-id='"+thisid+"']").parent(".countVotes").removeClass("text-primary");
						}else{
							$(".dislike-number[data-id='"+thisid+"']").parent(".countVotes").addClass("text-primary");
							$(".dislike-number[data-id='"+thisid+"']").parent(".countVotes").removeClass("text-secondary");
							$(".like-number[data-id='"+thisid+"']").parent(".countVotes").addClass("text-secondary");
							$(".like-number[data-id='"+thisid+"']").parent(".countVotes").removeClass("text-primary");
						}
	
						var dt = new Date();
						var dateT = (`${
							dt.getFullYear().toString().padStart(4, '0')}-${
							dt.getDate().toString().padStart(2, '0')}-${
							(dt.getMonth()+1).toString().padStart(2, '0')} ${
							dt.getHours().toString().padStart(2, '0')}:${
							dt.getMinutes().toString().padStart(2, '0')}:${
							dt.getSeconds().toString().padStart(2, '0')}`
						);
						if ( item.act=="like" ){
							var write = '<div class="d-flex flex-row pb-3" data-nick="'+loadSession("nick")+'"><div class="col-auto p-0"><img src="https://cdn6.idcgames.com/img/default/bg-artwork-small.jpg" class="img-user" alt="user" title="User profile"></div><div class="col-11"><div><a class="fontSecondarySmall">'+loadSession("nick")+'</a><span class="text-secondary pl-3">'+dateT+'</span></div><p class="">'+texto+'</p><div class="border-bottom border-green-lighter mb-3"><p class="liked text-primary"><i class="fas fa-thumbs-up pr-2"></i>'+loadSession("nick")+' </p></div></div></div>';
						}else{
							var write = '<div class="d-flex flex-row pb-3" data-nick="'+loadSession("nick")+'"><div class="col-auto p-0"><img src="https://cdn6.idcgames.com/img/default/bg-artwork-small.jpg" class="img-user" alt="user" title="User profile"></div><div class="col-11"><div><a class="fontSecondarySmall">'+loadSession("nick")+'</a><span class="text-secondary pl-3">'+dateT+'</span></div><p class="">'+texto+'</p><div class="border-bottom border-green-lighter mb-3"><p class="disliked text-secondary"><i class="fas fa-thumbs-down pr-2"></i>'+loadSession("nick")+' </p></div></div></div>';
						}
						$(".postComments").find("[data-nick='"+loadSession("nick")+"']").remove();
						$(".postComments").append(write);
						localStorage.setItem(item.type+"_"+item.id, JSON.stringify(item) );
						setTimeout(function() {
							target.html("Yorum yap");
							target.addClass("socialAct");
						},5000);
						
					}else{
						console.log("ACTION KO");
						target.html('<i class="fas fa-exclamation-triangle"></i>');
						setTimeout(function() {
							target.html("Yorum yap");
							target.addClass("socialAct");
						},5000);
					}
					return result;
				},
				error: function(objeto, quepaso, otroobj){
					lastE = quepaso;
					target.html('<i class="fas fa-exclamation-triangle"></i>');
					setTimeout(function() {
						target.html("Yorum yap");
						target.addClass("socialAct");
					},5000);
				}
	
			});
	
		}else{
			$("[data-target='.loginModal']:first").click();
			$("body").on( "click", ".runLogIn", function() {
				socialAct(item,target);
			});
		}
		return result;
	}
	var socialData = {};
	function getSocialData(json){
		$.ajax({
			type:"POST",
			url:"/unilogin/getSocialData.php",
			data: json,
			dataType: 'text',
			async:true,
			success: function(res){
				if( res != "" ) {
					socialData = JSON.parse(res);
					$.each( socialData, function( index, value ){
						if( typeof(value) == "object" ){
							var likeNum = value.like_count;
							var dislikeNum = value.dislike_count;
							$(".like-number[data-id='"+index+"']").text(likeNum);
							$(".dislike-number[data-id='"+index+"']").text(dislikeNum);
							if (  $(".like-number[data-id='"+index+"']").text()*1  >= $(".dislike-number[data-id='"+index+"']").text()*1 ){
								$(".like-number[data-id='"+index+"']").parent(".countVotes").addClass("text-primary");
								$(".like-number[data-id='"+index+"']").parent(".countVotes").removeClass("text-secondary");
								$(".dislike-number[data-id='"+index+"']").parent(".countVotes").addClass("text-secondary");
								$(".dislike-number[data-id='"+index+"']").parent(".countVotes").removeClass("text-primary");
							}else{
								$(".dislike-number[data-id='"+index+"']").parent(".countVotes").addClass("text-primary");
								$(".dislike-number[data-id='"+index+"']").parent(".countVotes").removeClass("text-secondary");
								$(".like-number[data-id='"+index+"']").parent(".countVotes").addClass("text-secondary");
								$(".like-number[data-id='"+index+"']").parent(".countVotes").removeClass("text-primary");
							}
							var comments = [];
							if( typeof(value.comments) != "undefined"){
								var comments = JSON.parse(value.comments);
							}
							$(".postComments").html("");
							$.each( comments[language], function( index, value ){
								var fecha = value.DateTime.substr(0, 16);
								if ( value.Vote=="1" ){
									var write = '<div class="d-flex flex-row pb-3" data-nick="'+value.NickName+'"><div class="col-auto p-0"><img src="https://cdn6.idcgames.com/img/default/bg-artwork-small.jpg" class="img-user" alt="user" title="User profile"></div><div class="col-11"><div><a class="fontSecondarySmall">'+value.NickName+'</a><span class="text-secondary pl-3">'+fecha+'</span></div><p class="">'+value.Text+'</p><div class="border-bottom border-green-lighter mb-3"><p class="liked text-primary"><i class="fas fa-thumbs-up pr-2"></i>'+value.NickName+' </p></div></div></div>';
								}else{
									var write = '<div class="d-flex flex-row pb-3" data-nick="'+value.NickName+'"><div class="col-auto p-0"><img src="https://cdn6.idcgames.com/img/default/bg-artwork-small.jpg" class="img-user" alt="user" title="User profile"></div><div class="col-11"><div><a class="fontSecondarySmall">'+value.NickName+'</a><span class="text-secondary pl-3">'+fecha+'</span></div><p class="">'+value.Text+'</p><div class="border-bottom border-green-lighter mb-3"><p class="disliked text-secondary"><i class="fas fa-thumbs-down pr-2"></i>'+value.NickName+' </p></div></div></div>';
								}
								$(".postComments").append(write);
							});
						}else{
							$(".like-number[data-id='"+index+"']").text('0');
							$(".dislike-number[data-id='"+index+"']").text('0');
						}
					});
				}
			}
		});
	}
	function loadUserGames(cb){
		$.ajax({
			type:"POST",
			url:"/unilogin/listarUserJuegos.php",
			data: 'token='+loadSession("token"),
			dataType: 'text',
			async: true,
			success: function(e){
				try {
					var userData = JSON.parse(e);
				}catch (e){
					//deleteSession();
					localStorage.setItem("games", "[]");
					if(cb) cb();
					return false;
				}
				if (userData.rc == 200 ){			
					if( userData.data.length > 0 ) { 
						localStorage.setItem("games", JSON.stringify(userData.data.filter(x => x.IDJUEGO !== 0)));
						if(cb) cb();
						return true;
					}
				}else if (userData.rc == 404 ) {
					localStorage.setItem("games", "[]");
					if(cb) cb();
					return false;
				}else{
					//deleteSession();
					localStorage.setItem("games", "[]");
					if(cb) cb();
					return false;
				}
			},
			error: function(e){
				if(cb) cb();
			}
		});
	}
	function loadUserWishGames(cb){
		$.ajax({
			type:"POST",
			url:"/unilogin/listarUserWishedJuegos.php",
			data: 'token='+loadSession("token"),
			dataType: 'text',
			async:true,
			success: function(e){
				try {
					var userData = JSON.parse(e);
				}catch (e){
					//deleteSession();
					localStorage.setItem("wish_games", "[]");
					if(cb) cb();
					return false;
				}
				if (userData.rc == 200 ){			
					if( userData.data.length > 0 ) { 
						localStorage.setItem("wish_games", JSON.stringify(userData.data.filter(x => x.IDJUEGO !== 0)));
						if(cb) cb();
						return true;
					}
				}else if (userData.rc == 404 ) {
					localStorage.setItem("wish_games", "[]");
					if(cb) cb();
					return false;
				}else{
					//deleteSession();
					localStorage.setItem("wish_games", "[]");
					if(cb) cb();
					return false;
				}
			},
			error: function(e){
				if(cb) cb();
			}
		});
	}
	function makeWishRequest(id_idcgame, id_dlc, crear, cbSuccess, cbError)
	{
			var res = {};
		if (isCef() > 0 ) {
			var referer = 'LAUNCHER';
		}else{
			var referer = 'WEB-'+lastG+' ('+document.baseURI+')';;
		}
		$.ajax({
			type:"POST",
			url:"/unilogin/crearUserWishJuego.php",
			data: `token=${loadSession("token")}&iIDJuego=${id_idcgame}&iIDDlc=${id_dlc}&cReferer=${referer}&crear=${crear}`,
			dataType: 'text',
			async:true,
			error: function(objeto, quepaso, otroobj){
				lastE = quepaso;
				res = {
					"rc": 500,
					"txt": "KO",
					"data": {}
				};
				
				if(cbError) cbError(res, lastE)
			},
			success: function(json){
				res = json && JSON.parse(json) || false;
				if (res.rc == 200){
					if(cbSuccess) cbSuccess(res);
				}else{
					if(cbError) cbError(res)
				}
			}
		});
	}
	/****************************************************************************************************************************/
	/*********************************************************  OTHERS  *********************************************************/
	/****************************************************************************************************************************/
	function addScript( src , clase ) {
		var s = document.createElement( 'script' );
		s.setAttribute( 'src', src );
		if ( typeof(clase) == "string" ){
			s.setAttribute( 'class', clase );
		}
		document.body.appendChild( s );
	}
	function addScriptJS( theJS ) {
		var s = document.createElement( 'script' );
		s.text = theJS;
		document.body.appendChild( s );
	}
	function changeNav(lang){
		let href = $(`link[hreflang='${lang}']`).attr('href') || `https://${lang}.idcgames.com`;
		window.location.href = href;
	}

	function getLanguageUrl() {
		return "idcgames.com/tr";	
	}

	function getTagsFromGameData(gamedata) {
		function find_duplicate_in_array(array) {
			const count = {}
			const result = []

			array.forEach(item => {
				if (count[item.id]) {
					count[item.id] += 1;
					return
				}
				count[item.id] = 1
			})

			for (let prop in count) {

				var item = {};
				item["id"] = prop;
				item["name"] = array.filter(aa => aa.id == prop)[0].name;
				item["title"] = array.filter(aa => aa.id == prop)[0].title;
				item["seo_url"] = array.filter(aa => aa.id == prop)[0].seo_url;
				item["count"] = count[prop];

				result.push(item);
			}

			return result;
		}
		const getShuffledArr = arr => {
			const newArr = arr.slice()
			for (let i = newArr.length - 1; i > 0; i--) {
				const rand = Math.floor(Math.random() * (i + 1));
				[newArr[i], newArr[rand]] = [newArr[rand], newArr[i]];
			}
			return newArr
		};
		var tagBlocks = [],
		tagData = "";
		Object.keys(gamedata).forEach(key=>{
			gamedata[key].forEach(gData => {

				Object.keys(gData.game_tags).forEach(key => {
					tagBlocks.push(gData.game_tags[key])
				});
			});
		});

		var tagData = find_duplicate_in_array(tagBlocks);
		tagData = getShuffledArr(tagData);

		return tagData;
	}


/* END global js_head */
/* START nav-game-menu-default-v2 js_head */

    var lastG = "1125"*1;
    document.cookie = "lastG="+lastG+";domain=idcgames.com";
    var language = `tr`;
    var msgError = `Giriş işleminde hata. Lütfen tekrar deneyin.`;
    var msgBadLogin = `Kullanıcı/Şifre yanlış`;
    var msgUserExist = `Kullanıcı var`;
    var msgUserBad = `Yanlış kullanıcı formatı: karakter sayısı 4-14 arasında olmalıdır. <> ' \" hariç tüm karakterler kullanılabilir.`;
    var msgPassMatch = `Şifre eşleşmedi.`;
    var msgNoUser = `Kullanıcı adı girin`;
    var msgNoPass = `Şifre girin`;
    var thankyou = "https://idcgames.com/tr/rust/extra/teşekkürler";
    
/* END nav-game-menu-default-v2 js_head */
/* START main-game-home-pay2play js_head */



	var tag = document.createElement('script');
  	tag.src = "https://www.youtube.com/player_api";
  	var firstScriptTag = document.getElementsByTagName('script')[0];
  	firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);







	
	const regex = /(https:\/\/)|(www\.)|(youtube\.com)|(\/watch\?v\=)|(\/embed\/)|(youtu\.be\/)|(\?.*)/gm;

/* Textos */
var readMore = "Detaylı bilgi";
var yt = 'https://www.youtube.com/embed/bH4UOSzaJeI';
var txtChars = {
	"game_char_1p": "Tek oyunculu",
	"game_char_mp": "Çok Oyunculu",
	"game_char_omp": "Çevrimiçi Çok Oyunculu",
	"game_char_lmp": "Yerel Çok Oyunculu",
	"game_char_co": "Eşli",
	"game_char_oco": "Eşli Çevrimiçi",
	"game_char_ico": "Yerel Eşli",
	"game_char_sps": "Bölünmüş Ekran",
	"game_char_cpm": "Çapraz Platform Çok Oyunculu",
	"game_char_iap": "Oyun İçi Satın Alımlar",
	"game_char_edit": "Level editor",
	"game_char_full_controller_support": "Oyun kolu ile tam uyumlu",
	"game_char_partial_controller_support": "Oyun kolu ile kısmi uyumlu"
}
/* Control params */ 
if( typeof(loadedUD) == "undefined" ){
	var loadedUD = 0;
}

var thisStatus = "s13";
var playable = gameStatus[thisStatus].playable;
var cat = [
	"x-Action",
	"x-MMO",
	"x-Indie",
	"x-RPG",
	"x-Adventure",
	"x-"
];

/* Funciones */ 
function html2text(html) {
    var tag = document.createElement('div');
    tag.innerHTML = html;
    return tag.innerText;
}
function typeToModal(input){
	var types = {
		"0": "",
		"1": "1",
		"2": "2",
		"3": "1",
		"4": "2",
		"5": "3"
	}
	return types[input];
}
// function doCarrousel(){
// 	$("#carouselAnalisis").find(".carousel-inner").html("");
// 	try{
// 		if( news.normal.recent.length > 1 ){
// 			for(i=1;i<news.normal.recent.length;i++){
// 				var url = news.normal.recent[i].url.replace(".html", "");
// 				var body = html2text(news.normal.recent[i].body);
// 				if( body.length > 285) body = body.substr(0, 280)+'...';
// 				$("#carouselAnalisis").find(".carousel-inner").append('<div class="carousel-item flex-column p-lg-5 p-4"><p class="analisisName fontSecondarySmall">'+news.normal.recent[i].author+'</p><p class="analisisDate fontSecondarySmall">'+news.normal.recent[i].pubdate+'</p><p>'+news.normal.recent[i].title+'</p><p>'+body+'</p><p><a href="'+url+'" title="'+news.normal.recent[i].title+'">'+readMore+'</a></p></div>');
// 			}
// 			$("#carouselAnalisis").find(".carousel-inner").find(".carousel-item:first").addClass("active");
// 		}else{
// 			$("#carouselAnalisis").addClass(".d-none");
// 		}
// 	}catch(e){
// 		console.log( "Carrousel empty" );
// 	}
// }
function doLast(type, data){
        //Add content to tag values
	$(".dolast[data-type='"+type+"']").each( function( i, e ){
		var thisIs = $(this);
		var kind = thisIs.attr("data-kind");
		var cont = thisIs.attr("data-cont");
		var index = thisIs.attr("data-index");
		if ( typeof(index) == "undefined" ) index = i;
		try{
			if( typeof(data[kind].recent[index]) != "undefined" ){
				if(cont == "text"){
					data[kind].recent[index].text = html2text(data[kind].recent[index].body );
					if (data[kind].recent[index].text.length > 400 ) {
						data[kind].recent[index].text = data[kind].recent[index].text.substr(0,396)+" ..";
					}
				}
				var element = data[kind].recent[index][cont];
				thisIs.html(element);
			}
		}catch(e){
			thisIs.remove();
			//console.log( kind+"-"+type );
		}
	});
	var defaultVideo = 'https://cdn5.idcgames.com/storage/image/1125/game_home_video_bg/default.jpg';
	var defaultMedia = '';
        //Add content to tag attributes
	$(".dolastAt[data-type='"+type+"']").each( function( i, e ){
		var thisIs = $(this);
		var kind = thisIs.attr("data-kind");
		var cont = thisIs.attr("data-cont");
		var style = thisIs.attr("data-style");		

		if ( typeof(style) == "undefined") style = "0";
		var after = thisIs.attr("data-after");
		if ( typeof(after) == "undefined") after = "0";
		var index = thisIs.attr("data-index");

		try{
			if( typeof(data[kind] ['recent'][index]) != "undefined" ){
				var cont = thisIs.attr("data-cont");
				var cont_array = cont.split(",");
				var attr = thisIs.attr("data-attr");
				var attr_array = attr.split(",");
				$.each( attr_array, function( i, value ){
					var source = cont_array[i];
					if ( source == "url" ){
						var url = data[kind]['recent'][index].url.replace(".html", "");
						thisIs.attr( attr_array[i] , url );
					}else if ( source == "modal" ){
						var pointer = ".modal"+typeToModal( data[kind]['recent'][index].url_type )
						thisIs.attr( attr_array[i] , pointer );
					}else{
						thisIs.attr( attr_array[i] , data[kind]['recent'][index][source] );
					}

					if( style == "1" || style == "2"){
						var section = thisIs.attr("data-section");
						var styleTagCode = createStyleTag(type,kind,index, data[kind]['recent'][index].url_type,data[kind]['recent'][index].body, data[kind]['recent'][index].thumb,section,after);
						$("head").append(styleTagCode);
					}

				});
			}else{
				if( style == "1" ){
					//console.log( "Removed: "+kind+"-"+type );
					// kind != "video" || thisIs.remove();

					if(kind == "video" && $(thisIs).find('#video-agent-img')){
						$(thisIs).addClass("d-none");
						$('#video-agent-img').removeClass("d-none");
					}else{
						thisIs.remove();						
					}
				}else{
					//console.log( "Passed: "+kind+"-"+type );
				}
			}
		}catch(e){
			console.log( "Error: "+kind+"-"+type+"-"+index );
		}
	});
}
function doModal(index, tipo, target){
	var data = content.media[tipo]["recent"][index];

	if(typeof(content.media[tipo]["recent"][index]) == "string"){
		var data = JSON.parse( content.media[tipo]["recent"][index] );
	}
	var pointer = data["url"].replace("tr/", "");
	var url = data["url"].replace(".html", "");
	$(target).find(".post-author").text(data["author"]);
	$(target).find(".post-title").text(data["title"]);
	$(target).find(".post-like").text(data["total_like"]);
	$(target).find(".post-dislike").text(data["total_dislike"]);
	$(target).find(".post-id").attr("data-target",data["id"]);
	$(target).find(".post-url").attr("href",url);
	$(target).find(".post-share").attr("data-url",url);
	$(target).find(".post-share").attr("data-description",data["title"]);
	if ( data["url_type"] == 1 || data["url_type"] == 3 ) {
		// FOTO
		$(target).find(".post-image").attr("src",data["body"]);
		$(target).find(".post-image").attr("title",data["title"]);
	}else{
		// VIDEO + EXTERNAL (YT)
		$(target).find(".post-body").children().attr("src",data["body"]);
		$(target).find(".post-body").find("iframe").removeClass("d-none");
		if ( data["url_type"] == 2 || data["url_type"] == 4  ){
			var video = $('video')[0];
			video.load();
			video.play();
		}
	}	
}
function isPlayable(){
	var text = gameStatus[thisStatus].name;
	$(".controlGame").text(text);
	/*if( playable && playable == 1 ){
	}else{
		var text = "Hemen oyna!";
		$(".controlGame").text(text);
		$(".controlGame").addClass("playGame");
	}*/
}
function doLangs(){
	let langs = [{"name":"English","code":"GB","lang_code":"EN","default":true,"audio":true,"subtitle":true,"interface":true},{"name":"Espa\u00f1ol","code":"ES","lang_code":"ES","default":false,"audio":true,"subtitle":true,"interface":true},{"name":"Fran\u00e7ais","code":"FR","lang_code":"FR","default":false,"audio":true,"subtitle":true,"interface":true},{"name":"Italiano","code":"IT","lang_code":"IT","default":false,"audio":true,"subtitle":true,"interface":true},{"name":"Deutsch","code":"DE","lang_code":"DE","default":false,"audio":true,"subtitle":true,"interface":true},{"name":"Polski","code":"PL","lang_code":"PL","default":false,"audio":true,"subtitle":true,"interface":true},{"name":"T\u00fcrk\u00e7e","code":"TR","lang_code":"TR","default":false,"audio":true,"subtitle":true,"interface":true},{"name":"\u0420\u0443\u0441\u0441\u043a\u0438\u0439","code":"RU","lang_code":"RU","default":false,"audio":true,"subtitle":true,"interface":true},{"name":"\u010cesky","code":"CZ","lang_code":"CS","default":false,"audio":false,"subtitle":false,"interface":true},{"name":"Portugu\u00eas","code":"PT","lang_code":"PT","default":false,"audio":true,"subtitle":true,"interface":true},{"name":"\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac","code":"GR","lang_code":"EL","default":false,"audio":false,"subtitle":false,"interface":true},{"name":"\ud55c\uad6d\uc5b4","code":"KR","lang_code":"KO","default":false,"audio":true,"subtitle":true,"interface":true},{"name":"\u65e5\u672c","code":"JP","lang_code":"JA","default":false,"audio":true,"subtitle":true,"interface":true},{"name":"\u0639\u0631\u0628\u064a","code":"EG","lang_code":"AR","default":false,"audio":false,"subtitle":false,"interface":true},{"name":"Ti\u1ebfng Vi\u1ec7t","code":"VN","lang_code":"VI","default":false,"audio":false,"subtitle":false,"interface":true},{"name":"\u4e2d\u56fd\u4eba","code":"CN","lang_code":"ZH","default":false,"audio":true,"subtitle":true,"interface":true}];
	let langsList = $('.langs-rows');

	langs.forEach((item, index) => {		
		langsList.append(
			'<tr class="lang-' + item.lang_code.toLowerCase() +'">' +
				'<td>' + item.name + '</td>' +
				'<td class="lang-check">' + (item.interface ? '<i class="far fa-check-circle"></i>' : '') + '</td>' +
				'<td class="lang-check">' + (item.audio ? '<i class="far fa-check-circle"></i>' : '') + '</td>' +
				'<td class="lang-check">' + (item.subtitle ? '<i class="far fa-check-circle"></i>' : '') + '</td>' +
			'</tr>');
	});	
}
function doAttributes(){
	$(".atributes-folder").find(".btnSquare").each(function() {
		var txt = $(this).text();
		if ( txt == "" ){
			$(this).remove();
		}else{ 
			$(this).find("p").text( txtChars[txt] );
		}
	});
}
function gameCat(){
	var a = 0;
	$.each( cat, function( index, value ){
		try {
			if( value != "x-" && !value.includes("New Releases") ){

				var thiscat = value.replace("x-", "");
				var url = catlang[thiscat]["url"];
				var txt = catlang[thiscat]["txt"];
				var space = ", ";
				if (a == 0)  space = " ";
				$(".categories").append(space +'<a href="https://tr.idcgames.com'+url+'/" title="'+txt+'">'+txt+'</a>');
				a++;
			}
		}catch(e) {
			console.log(e);
		}
	});
}

function gameTags(){

	let tagIds = Object.keys(gamedata.game_tags);

	for (var j = 0; (tagIds.length > 0 && j < tagIds.length); j++) {
		
		let tInfo = gamedata.game_tags[ tagIds[j] ];

		let t_name = tInfo.title;

		let space = (j == 0 || j == tagIds.length) ? " " : ", ";

		$(".tags").append(space +'<a href="https://idcgames.com/tr/tag/'+`${tInfo.seo_url}`+'" title="'+`${tInfo.seo_url}`+'">'+t_name+'</a>');		
	}
}

function displayInGameEvents (events){
	var ev = 0;
        var max_events = 3;
	if(typeof(events) != "undefined" && typeof(events.recent) != "undefined" && events.recent.length > 0 ){
		$.each( events.recent, function( index, value ){
                        if (max_events > 0){
				var x = new Date(value.end_at);
				if (!isValidDate (x)){
					var dateFrom = new Date(value.start_at);
				        if (!isValidDate (dateFrom)){
	        		                var oldFromDate = new Date();
	                		        oldFromDate.setDate(oldFromDate.getDate()- 600);
	                        		dateFrom = oldFromDate;
				        }
	        		        var oldToDate = new Date (dateFrom.getTime());
		        	        oldToDate.setDate (oldToDate.getDate() + 1);
	        	        	x = oldToDate;
	        		}
				if ( x.getTime() < dateNow.getTime() && ev < 3 ){
					var z = newProgress(value);
					$(".bodyEvents").append( z.html );
					ev = ev + 1;
				}
				if ( x.getTime() >= dateNow.getTime() ){
					var z = newProgress(value);
					$(".bodyEvents").append( z.html );
					ev = ev + 1;
				}
			}
                        max_events--;
		});
        if( $(".progressItem").length > 0 ) {
            timeout = setInterval(function(){ actTime(); }, 1000);
        }
	}else{
		$("#stnEvents").remove();
	}
}

function displayLastNews (lastNews){
	if(typeof(lastNews) != "undefined"){
		/*if(typeof(lastNews.normal) != "undefined" && typeof(lastNews.normal.recent) != "undefined" && lastNews.normal.recent.length > 0){
			$(".lastNewsLink").attr("href",lastNews.normal.recent[0].url);
		}*/
		doLast ("news", lastNews);
	        /*-->> no News */
		if(lastNews.normal && lastNews.normal.length <= 0 ){
			$("#my-news-modal").addClass("hidden");
			$("#all-news-link").removeClass("hidden");
		}
		if(lastNews.promotions && lastNews.promotions .length <= 0 ){
			$("#stnGuiasColPatchnotes").addClass("hidden");
		}
	}
}

function loadLastNewsJson(id_idcgame){
        $.ajax({
                type:"GET",
                url:"https://" + getLanguageUrl() + `/assets/content/${id_idcgame}-last-news.json`,
                dataType: 'text',
                async: true,
                success: function(e){
                        try {
                                var lastNews = JSON.parse(e);
                                displayLastNews(lastNews);
                                displayInGameEvents (lastNews.events);
                        }catch (e){
                                displayLastNews({});
                                return false;
                        }
                },
                error: function(e){
                        displayLastNews({});
                }
        });
}

function displayGuides (guides){
	var ev = 0;
	if(typeof(guides) != "undefined" ){
		doLast ("guide", guides);
	        /*-->> no guides */
		if(guides.global && guides.global.recent && guides.global.recent.length <= 0 ){
			$('a[data-kind="guides"]').html("Tüm haberleri göster");
		}
	}
}

function loadGuidesJson(id_idcgame){
        $.ajax({
                type:"GET",
                url:"https://" + getLanguageUrl() + `/assets/content/${id_idcgame}-guides.json`,
                dataType: 'text',
                async: true,
                success: function(e){
                        try {
                                var data = JSON.parse(e);
                                var guides = {"global": data};
                                displayGuides(guides);
                        }catch (e){
                                displayGuides({});
                                return false;
                        }
                },
                error: function(e){
                        displayGuides({});
                }
        });
}


function displayMedia (media){
    var mediaAvailable = false;
    var image = {"recent":[]};
    var video = {"recent":[]};
    if(typeof(media) != "undefined"){
        for (var i=0; i <2;i++){
    	    for (var key in media) {
                if (Object.prototype.hasOwnProperty.call(media, key)) {
                    var mediaType = media[key];
                    if (mediaType.recent.length>i){
                        var x = typeToModal(mediaType.recent[i].url_type);
                        mediaAvailable = true;
                        if( x == "1"){
                            image.recent.push(mediaType.recent[i]);
                        }else{
                            // 2, 4 video. 5 youtube
                            video.recent.push(mediaType.recent[i]);
                        }
        			}
	            }
    	    }
		}
		media.image = image;
		media.video = video;

		doLast ("media", media);
	        /*-->> no media */
		if(!mediaAvailable){
			$('a[data-kind="media"]').html("Tüm haberleri göster");
		}
	}
}

function loadMediaJson(id_idcgame){
        $.ajax({
                type:"GET",
                url:"https://" + getLanguageUrl() + `/assets/content/${id_idcgame}-last-media.json`,
                dataType: 'text',
                async: true,
                success: function(e){
                        try {
                                var media = JSON.parse(e);
				if (typeof(media) !== 'undefined'){
				        media.image = {"recent":[]};
				        media.video = {"recent":[]};
	                                displayMedia(media);
				}
                                loadGameplaysJson(id_idcgame);
                        }catch (e){
                                displayMedia({});
                                return false;
                        }
                },
                error: function(e){
                        displayMedia({});
                }
        });
}

function createStyleTag (type, kind, index, url_type, body, thumb, section, after){
	var defaultVideo = 'https://cdn5.idcgames.com/storage/image/1125/game_home_video_bg/default.jpg';
	var afterRule = "";
	if (after == "1") afterRule = "::after";
	if( url_type == 5 ){
		// VIDEO DE YT
		// http://i3.ytimg.com/vi/gJOZVwnqRcg/hqdefault.jpg
		// https://img.youtube.com/vi/Yk5ToAttzgY/0.jpg
		var original = body;
		var res = original.replace(regex, '');		
		var img = 'https://img.youtube.com/vi/'+res+'/0.jpg';
		return "<style>[data-type='"+type+"'][data-kind='"+kind+"'][data-index='"+index+"']"+afterRule+" { background: url('"+img+"') center no-repeat;background-size: 100%; }</style>";
	}else if( url_type == 2 ){
		return "<style>[data-type='"+type+"'][data-kind='"+kind+"'][data-index='"+index+"']"+afterRule+" { background: url('"+defaultVideo+"') center no-repeat;background-size: 100%; }</style>";
	}else if( thumb != "" ) {
		return "<style>[data-type='"+type+"'][data-kind='"+kind+"'][data-index='"+index+"']"+afterRule+" { background: url('"+thumb+"') center no-repeat;background-size: 100%; }</style>";
	}else{
		if( section == "video" ) {
			return "<style>[data-type='"+type+"'][data-kind='"+kind+"'][data-index='"+index+"']"+afterRule+" { background: url('"+defaultVideo+"') center no-repeat;background-size: 100%; }</style>";
		}else{
			return "<style>[data-type='"+type+"'][data-kind='"+kind+"'][data-index='"+index+"']"+afterRule+" { background: url('"+defaultMedia+"') center no-repeat;background-size: 100%; }</style>";
		}
	}
}
function createVideoTag (type, kind, index, url_type, body){
	var videoTagCode =
    '<a onclick="loadVideoPlayer(this, '+index+','+url_type+',\'' + body + '\');return false;" class="mr-3 p-3 d-flex justify-content-center align-items-center box-shadow"'+
        'data-target="X" data-type="'+type+'" data-kind="'+kind+'" data-section="video" data-index="'+index+'" data-cont="modal" data-attr="data-target" data-style="'+index+'">'+
	        '<span class="fa-stack fa-2x"><i class="far fa-square fa-stack-2x primaryColor"></i><i class="fas fa-play fa-stack-1x fa-xs primaryColor"></i></span>'+
    '</a>';
	return videoTagCode;
}

function displayGameplays (gameplays){
	var numGameplays = 0;
	if(typeof(gameplays) != "undefined" && typeof(gameplays.recent) != "undefined"){
		gameplays.recent.forEach (function (gameplay){
			if (numGameplays == 0 && yt != ""){
				//Add youtube trailer to gameplays container
				var videoTagCode = createVideoTag ("media","gameplay",numGameplays,5, yt);
				$('.gameplays').append(videoTagCode);
				var styleTagCode = createStyleTag ("media","gameplay",numGameplays, 5, yt,"", "video","");
				$("head").append(styleTagCode);
				numGameplays++;
			}
			var videoTagCode = createVideoTag ("media","gameplay",numGameplays, gameplay.url_type, gameplay.body);
			$('.gameplays').append(videoTagCode);
			var styleTagCode = createStyleTag ("media","gameplay",numGameplays, gameplay.url_type, gameplay.body,gameplay.thumb, "video","");
			$("head").append(styleTagCode);
			numGameplays++;
		});
	}
       //Trailer & description div same height
        if($(".gameplaysBox").find("a").length == 0){
	    $(".gameplaysBox").remove();
            if ( typeof(AOS) == "object" ){
		AOS.refresh();
	    }
            let height = $('#stnIntroductionVideo').find('.video-container').height();
            $('#stnIntroductionText').find('.text-intro-lenght').addClass('text-intro-lenght-short').addClass('marker-short').removeClass('marker-long');
            $('#stnIntroductionText').find('.blurred-text').addClass('blurred-text-short');
            //Only for bog resolutions over 991px
            if ($(window).width() > 991) {
                $('#stnIntroductionText').find('.container-closed').css('height', height+'px');
             }
             else {
                $('#stnIntroductionText').find('.container-closed').css('height', '100%'); 
             }
        }
        else {
            let height = $('#stnIntroductionVideo').height();
            if ($(window).width() > 991) {
               $('#stnIntroductionText').find('.container-closed').css('height', height+'px');
            }
            else {
                $('#stnIntroductionText').find('.container-closed').css('height', '100%'); 
            }
        }
	// if( numGameplays > 5) { $('.gameplays').css('padding-left', (170 * (numGameplays - 4))+'px') }
}

function loadGameplaysJson(id_idcgame){
        $.ajax({
                type:"GET",
                url:"https://" + getLanguageUrl() + `/assets/content/${id_idcgame}-gameplay.json`,
                dataType: 'text',
                async: true,
                success: function(e){
                        try {
                                var gameplays= JSON.parse(e);
                                displayGameplays(gameplays);
                        }catch (e){
                                displayGameplays({});
                                return false;
                        }
                },
                error: function(e){
                        displayGameplays({});
                }
        });
}

function runFunctions(){
	console.log("Started");
	isScrolling = true;
	gameCat();
	gameTags();
	doLangs();
	doAttributes()
	//doLast();
	// doCarrousel();
	if( yt != '' ) {
	  var ytWithParams = yt + '?rel=0&autoplay=1&mute=1&enablejsapi=1&origin='+location.origin;
	  $(".video-container").html('<div class="embed-responsive embed-responsive-16by9 box-shadow"><iframe title="videoPlayerTrailerIframe" __name__="videoPlayerTrailerIframe" id="playerTrailerIframe" class="embed-responsive-item" src="'+ ytWithParams  +'" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><iframe __name__="videoPlayerTagIframe" id="playerTagIframe" class="embed-responsive-item d-none" src="" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><video id="playerTagVideo" __name__="videoPlayerTagVideo" class="embed-responsive-item d-none" controls poster=""><source src="" type="video/mp4" media="all and (min-width:500px)"></video></div>');	  
	}
	if( 'tr' == 'ru' ) {
		$(".allnews").html('Haberler');
		$(".patchnotes").html('<br>Geliştirme Notları');
		$(".stnGuiasColGuias").find("h4").addClass("langFontSmaller");
	}
}



/* Funciones timers */ 
var dateNow = new Date();
var txtNotStarted = "Başlangıç: ";
var txtEnded = "Etkinlik Sona Erdi";
var txtRem = "Kalan Süre: ";
function secToTime(timer){
    d = Math.floor( Number(timer)/1000);
    var days = Math.floor (d/ 86400);
    var h = Math.floor(d % 86400/ 3600);
    var m = Math.floor(d % 3600 / 60);
	if (m < 10) m = '0'+m;
    var s = Math.floor(d % 3600 % 60);
	if (s < 10) s = '0'+s;
	return days + " gün " + h+":"+m+":"+s;
}
function calcProgress(start,end,id){
	if( start > dateNow.getTime() ){
		var tot = end - start;
		var yell = tot * 0.2;
		var red = tot * 0.1;
		return {"txt": txtNotStarted, "col": "bg-gray-900", "valor": 0, "timer": secToTime( start - dateNow.getTime() ), "opened": 1, "tot": tot, "timeout": Math.floor( (start - dateNow.getTime())/1000 )*1000, "yell": yell, "red": red }
	}else if (end < dateNow.getTime() ){
		return {"txt": txtEnded, "col": "bg-gray-900", "valor": 100, "timer": "", "opened": 0, "tot": tot, "timeout": 0, "yell": 0, "red": 0 }
	}else{
		var elapsed = dateNow.getTime() - start;
		var tot = end - start;
		console.log(tot);
		var resto = secToTime(tot - elapsed);
		var percent = Math.floor((elapsed * 100)/tot);
		var color = "bg-green";
		if( percent > 80 ) color = "bg-warning";
		if( percent > 90 ) color = "bg-nearEnd";
		var yell = tot * 0.2;
		var red = tot * 0.1;
		return {"txt": txtRem, "col": color, "valor": percent, "timer": ": "+resto, "opened": 2, "tot": tot, "timeout": Math.floor( (tot - elapsed)/1000 )*1000, "yell": yell, "red": red }
	}
}
function isValidDate (d){
        if (Object.prototype.toString.call(d) === "[object Date]") {
       // it is a date
               if (isNaN(d.getDate())) {
                        return false;
                } else {
                        return true;
                }
        } else {
                return false;
        }
}
function newProgress(item){
	var dateFrom = new Date(item.start_at);
	var dateTo   = new Date(item.end_at);
	var banner 	 = "https://cdn7.idcgames.com/storage/image/1125/game_logo/default.png".replace('game_logo', 'game_banner').replace('png', 'jpg');
	var target 	 = calcProgress( dateFrom.getTime(), dateTo.getTime(), item.id );
	var url 	 = encodeURI(item.url.replace(".html", ""));
	var gameseo  = item.game_seo;
	
        //If dates are not valid we use old dates;
        if (!isValidDate (dateFrom)){
                if (isValidDate (dateTo)){
                        dateFrom = dateTo.setDate (dateTo.getDate() - 1);
                }
                else {
                        var oldFromDate = new Date();
                        oldFromDate.setDate(oldFromDate.getDate()- 600);
                        dateFrom = oldFromDate;
               }
        }
        if (!isValidDate (dateTo)){
                var oldToDate = new Date (dateFrom.getTime());
                oldToDate.setDate (oldToDate.getDate() + 1);
                dateTo = oldToDate;
        }
	if(item.game_name === 'Zula'){
		var logo   = "https://cdn7.idcgames.com/storage/image/1125/game_logo/default.png";
		var banner = "https://cdn7.idcgames.com/storage/transparent.png";
	}else{
		let logoImgGarbage 	 = "https://cdn7.idcgames.com/storage/image/1125/game_logo/default.png".split("/").reverse()[0];
		var logo	 		 = "https://cdn7.idcgames.com/storage/image/1125/game_logo/default.png".replace(logoImgGarbage, '2x1_1-4_72.'+logoImgGarbage.split(".")[1]);
		// var banner 			 = logo.replace('game_logo', 'game_banner').replace('png', 'jpg');
		var banner 			 = gamedata.image.banner && gamedata.image.banner.replace('default', '2x1_1-4_72');
	}

	var html = `<div class="flex-row bg-gray-900 border border-green-lighter box-shadow progressItem p-3 mt-3 mb-0" id="pr${item.id}" data-ini="${dateFrom.getTime()}" data-end="${dateTo.getTime()}" data-tot="${target.tot}" data-open="${target.opened}" data-timeout="${target.timeout}" data-yell="${target.yell}" data-red="${target.red}">
				<div class="progressLogo bg-gray-900 game-card-rectangular">
					<a class="anchor-game-home" href="https://idcgames.com/tr/${gameseo}">
					    <div class="position-relative">
					        <div class="logo-img-container position-absolute w-100">
					            <img class="logo-overlay card-img-overlay" src="${logo}" alt="...">
					        </div>
					        <div class="bg-img-container overflow-hidden box-shadow">
					            <img class="gameCard-img" src="${banner}" alt="...">
					        </div>
					    </div>
					</a>
				</div>
				<div class="progressBlock">
				  <div class="progressTitle"><a class="text-light" href="${url}">${item.title}</a></div>
				  <div class="progressBox bg-secondary mt-1">
				    <div class="progressText  text-light">
				     	<span class="text">${target.txt}</span>
				     	<span class="clock">${target.timer}</span>
				    </div>
				    <div class="progressBar ${target.col}"></div>
				  </div>
				</div>
			</div>`;
	return {"html": html, "open":target.opened};
}
var timeout = 0;
function actTime(){
	$("body").find(".progressItem").each(function( index ) {
		var open = $(this).attr("data-open");
		if ( open == "1" ){
			var time = $(this).attr("data-timeout");
			if ( time > 0 ){
				$(this).attr("data-timeout",time-1000);
				$(this).find(".clock").text( secToTime(time-1000) );
			}else{
				var ini = $(this).attr("data-ini");
				var end = $(this).attr("data-end");
				$(this).attr("data-timeout",end-ini);
				$(this).attr("data-open","2");
				$(this).find(".progressBar").attr("class","progressBar bg-green");
				$(this).find(".text").text( txtRem );
				$(this).find(".text").attr("class","text text-gray-900");
				$(this).find(".clock").attr("class","clock text-gray-900");
			}
		}else if ( open == "2" ){
			var time = $(this).attr("data-timeout")*1;
			if( time > 0 ){
				var yell = $(this).attr("data-yell")*1;
				var red = $(this).attr("data-red")*1;
				var tot = $(this).attr("data-tot")*1;
				if ( time < yell && time > red ) $(this).find(".progressBar").attr("class","progressBar bg-warning");
				if ( time < red ) $(this).find(".progressBar").attr("class","progressBar bg-nearEnd");
				var percent = (100-((time*100)/tot))+"%";
				$(this).find(".progressBar").css("width",percent);
				$(this).attr("data-timeout",time-1000);
				$(this).find(".clock").text( secToTime(time-1000) );
				$(this).find(".text").attr("class","text text-gray-900");
				$(this).find(".clock").attr("class","clock text-gray-900");
			}else{
				$(this).attr("data-open","0");
				$(this).find(".progressBar").attr("class","progressBar bg-gray-900");
				$(this).find(".text").text(txtEnded);
				$(this).find(".clock").text("");
			}
		}
	});
}
function redeemCode(){
	$(".iCodeControl").addClass("d-none");
	var code = $("#insertCode").val();
	var game = 1125;
	if( code != "" && game != "" ){
		$.ajax({
			type:"POST",
			url:"/unilogin/redeemCode.php",
			data: 'code='+code+'&game='+game+'&token='+loadSession("token"),
			dataType: 'text',
			async:true,
			success: function(e){
				try{
					var result = JSON.parse(e);
				}catch(e){
					var result = {
						"rc": 500,
						"txt": "KO",
						"data": ""
					}
				}
				if( result.rc == 200 ){
					$("#game_added_ok").removeClass("d-none");
					$("#redeem-div").addClass("d-none");
				}else if( result.rc == 404 ){
					$("#invalid_key_game").removeClass("d-none");
					$("#redeem-div").addClass("d-none");
				}else if( result.rc == 502 ){
					$("#already_purchased").removeClass("d-none");
					$("#redeem-div").addClass("d-none");
				}else if( result.rc == 504 ){
					$("#key_already_used").removeClass("d-none");
					$("#redeem-div").addClass("d-none");
				}else if( result.rc == 403 ){
					deleteSession();
					$("#redeem-div").addClass("d-none");
				}else{
					$("#generic_error").removeClass("d-none");
					$("#redeem-div").addClass("d-none");
				}
			}
		});
	}else{
		$("#params_requiered").removeClass("d-none");
	}
}

/*==> */                     
function getShuffledArr(arr){

    const newArr = arr.slice()
    for (let i = newArr.length - 1; i > 0; i--) {
            const rand = Math.floor(Math.random() * (i + 1));
            [newArr[i], newArr[rand]] = [newArr[rand], newArr[i]];
    }
    return newArr;
}

/* END main-game-home-pay2play js_head */
/* START modal-purchase-and-prices-v3 js_head */

    var cookieBasketInfo = "shopping_basket";
  
    function readBasketInfo()
    {
      var basketInfo = JSON.parse(loadSession(cookieBasketInfo) || "{}");
      if(!basketInfo.games)
        basketInfo.games = [];
      if(!basketInfo.coupons)
        basketInfo.coupons = [];
      if(!basketInfo.coupon_data)
        basketInfo.coupon_data = {};
  
      return basketInfo;
    }
  
    function saveBasketInfo(basketInfo)
    {
      setCookie(cookieBasketInfo, JSON.stringify(basketInfo), 30);
      gBasketInfo = basketInfo;
    }
  
    function putGameInBasket(id_idcgame){
  
      if(!getGameData(id_idcgame)){
        console.log(`Error: adding invalid game ${id_idcgame}`)
        return false;
      }
  
      if(JSON.parse(loadSession("games") || "[]").filter(x => x.IDJUEGO === parseInt(`${id_idcgame}`)).length > 0){
        console.log(`Error: Game ${id_idcgame} already bought`)
        return false;
      }
  
      var basketInfo = readBasketInfo();
  
      if(!basketInfo.games.includes(id_idcgame))
        basketInfo.games.push(id_idcgame);
  
      saveBasketInfo(basketInfo);
      refreshCartCount(basketInfo.games.length);
      
      $(`.cart-btn[id_idcgame=${id_idcgame}]`).closest(".card").find(".inCart").addClass("d-block");
      $(`.cart-btn[id_idcgame=${id_idcgame}]`).closest(".game-card-rectangular").find(".inCart").addClass("d-block");
      return true;
    }
    
    function removeGameFromBasket(id_idcgame){
      var basketInfo = readBasketInfo();
      
      const index = basketInfo.games.indexOf(id_idcgame);
      if (index > -1) {
        basketInfo.games.splice(index, 1);
      }
      
      saveBasketInfo(basketInfo);
      refreshCartCount(basketInfo.games.length);
      
      $(`.cart-btn[id_idcgame=${id_idcgame}]`).closest(".card").find(".inCart").removeClass("d-block");
      $(`.cart-btn[id_idcgame=${id_idcgame}]`).closest(".game-card-rectangular").find(".inCart").removeClass("d-block");
  
      // speical for checkout orders
      if(typeof(initOrderItems) == "function")
        initOrderItems();
    }
  
    function applyCouponInBasket(data){
      if(!data || !data.coupon_id){
        console.log(`Error: adding invalid coupon: `, data)
        return false;
      }
  
      var basketInfo = readBasketInfo();
  
      if(!basketInfo.coupons.includes(data.coupon_id)){
        basketInfo.coupons.push(data.coupon_id);
        basketInfo.coupon_data[data.coupon_id] = data;
      }else{
        return false;
      }
  
      saveBasketInfo(basketInfo);
      
      return true;
    }
  
    function removeCouponInBasket(coupon_id){
      if(!coupon_id){
        console.log(`Error: adding invalid coupon id: `, coupon_id)
        return false;
      }
  
      var basketInfo = readBasketInfo();
  
      const index = basketInfo.coupons.indexOf(coupon_id);
      if (index > -1) {
        basketInfo.coupons.splice(index, 1);
        if(basketInfo.coupon_data.hasOwnProperty(coupon_id))
          delete basketInfo.coupon_data[coupon_id];
      }
  
      saveBasketInfo(basketInfo);
      
      return true;
    }
  
    function refreshCartCount(count = null){
      if(!count){
        var basketInfo = readBasketInfo();
        count = basketInfo.games.length;
      }
  
      var type = "rubberBand";
      var counter = count;
      $(".shopping-cart").find("i").addClass(type);
      $(".shopping-cart").find("span").text(counter);
      $(".shopping-cart").find("span").addClass("bg-gray-900");
      setTimeout(function() {
            $(".shopping-cart").find("i").removeClass(type);
            $(".shopping-cart").find("span").removeClass("bg-gray-900");
        },1000);
    }
  
    function calcCartPrice(pmp = null, currencies = null)
    {
      const getConversionRate = (code, code_vs) => {
          if(!currencies || !currencies[code] || !currencies[code_vs])
              return NaN;
          return currencies[code_vs].rate_vs_eur / currencies[code].rate_vs_eur;
      }
  
      const vat_rate = parseFloat(pmp && pmp.vat) || 0;
      var result = { 
        count: 0, 
        original_price: 0, 
  
        net: 0,  // Net
        vat: 0,
        feeIdcpayment: 0,
        feePaymethod: 0,
        total: 0,
  
        discount: 0, 
        offer_discount: 0,
        coupon_discount: 0,
  
        currency: (pmp&&pmp.currency) || (user_currency || "EUR"), 
        simbol: (pmp&&pmp.symbol) || (user_currency_symbol || "â¬"),
        games: [] 
      };
  
      var basketInfo = readBasketInfo();
  
      var coupons = basketInfo.coupons;
  
      for(var i = 0; i < basketInfo.games.length; i ++ ){
        
        var gData = getGameData(basketInfo.games[i]);
        if(!gData) continue;
  
        var gPrice = (gData.price && gData.price[result.currency]) || 0;
        if(gPrice <= 0) continue;
  
        result.original_price = (result.original_price - (0-gPrice)).toFixed(2);
        result.count = result.count + 1;
  
        // offer discount
        var offer_discount_percent = getGameDiscountOffer(gData)
          , offer_discount = (gPrice * offer_discount_percent / 100).toFixed(2);
  
        result.offer_discount = (result.offer_discount -(0 - offer_discount)).toFixed(2);
        // coupon discount
        var coupon_discount = 0;
        var coupon_code_id = 0;
        for(var k = 0; k < coupons.length; k ++ ){
  
          var coupon_data = basketInfo.coupon_data[coupons[k]];
          if(!coupon_data) continue;
  
          // check coupon target condition, calculate discount price and pop
          if((coupon_data.target_game*1 == gData.id_idcgame*1 && !!coupon_data.target_game) 
            || (!coupon_data.target_game && coupon_data.target_company == gData.game_company) 
            || (!coupon_data.target_game && !coupon_data.target_company)){
  
              // check price condition
              if(coupon_data.price_condition && gPrice >= coupon_data.price_condition*1*getConversionRate(coupon_data.currency, result.currency)){
  
                coupon_discount = (gPrice * (coupon_data.discount*1) / 100);
                coupon_discount += getConversionRate(coupon_data.currency, result.currency) * (coupon_data.discount_fixed*1);
                coupon_discount = coupon_discount.toFixed(2);
                coupon_code_id = coupon_data.code_id;
                coupons.splice(k, 1);
  
                break;
  
              }
  
            }
  
        }
  
        result.coupon_discount = (result.coupon_discount -(0 - coupon_discount)).toFixed(2);
  
        // add product
        const g = { 
          gameID: basketInfo.games[i],
          currency: result.currency, 
          original_price: gPrice, 
  
          offer_discount_percent: offer_discount_percent,
          offer_discount: offer_discount,
          coupon_discount: coupon_discount,
          discount: offer_discount*1 + coupon_discount*1,
          coupon_code_id: coupon_code_id,
  
          data: gData,
  
          price: (gPrice - offer_discount*1 - coupon_discount*1).toFixed(2),
          price_net: ((gPrice - offer_discount*1 - coupon_discount*1)*100/(100+vat_rate)).toFixed(2)
        };
  
        result.vat = (parseFloat(result.vat) + parseFloat(g.price)-parseFloat(g.price_net)).toFixed(2);
        result.net = (parseFloat(result.net) + parseFloat(g.price_net)).toFixed(2);
        result.total = (parseFloat(result.total) + parseFloat(g.price)).toFixed(2);
  
        result.games.push(g);
      }
  
      result.discount = result.offer_discount + result.coupon_discount;
  
      /*if(pmp && pmp.fee_idcpayment && pmp.fee_idcpayment.currency){
        const fixedFee = getConversionRate(pmp.fee_idcpayment.currency, result.currency) * (parseFloat(pmp.fee_idcpayment.fixed) || 0);
        const minFee = getConversionRate(pmp.fee_idcpayment.currency, result.currency) * (parseFloat(pmp.fee_idcpayment.min)||0);
        const maxFee = getConversionRate(pmp.fee_idcpayment.currency, result.currency) * (parseFloat(pmp.fee_idcpayment.max)|| 0);
        result.feeIdcpayment = ((parseFloat(pmp.fee_idcpayment.percent) || 0)*parseFloat(result.total)/100 + fixedFee).toFixed(2);
        
        console.log(pmp.fee_idcpayment)
        console.log("Fee Idcpayment: ", pmp.fee_idcpayment.percent, result.total, result.feeIdcpayment, fixedFee, minFee, maxFee)
  
        if(result.feeIdcpayment < minFee)
          result.feeIdcpayment = minFee;
        if(result.feeIdcpayment > maxFee)
          result.feeIdcpayment = maxFee;
      }*/

      if(pmp && pmp.fee_paymethod && pmp.fee_paymethod.currency){
        const fixedFee = getConversionRate(pmp.fee_paymethod.currency, result.currency) * (parseFloat(pmp.fee_paymethod.fixed) || 0);
        const minFee = getConversionRate(pmp.fee_paymethod.currency, result.currency) * (parseFloat(pmp.fee_paymethod.min) || 0);
        const providerFeePercentagePaymethod = (parseFloat(pmp.fee_paymethod.percent) || 0) / 100;
        const subtotal = parseFloat(result.total);
        result.feePaymethod = ((subtotal + fixedFee) / (1 - providerFeePercentagePaymethod) - subtotal).toFixed(2); //((parseFloat(pmp.fee_paymethod.percent) || 0)*parseFloat(result.total)/100 + fixedFee).toFixed(2);
  
        console.log(pmp.fee_paymethod)
        console.log("Fee Paymethod: ", pmp.fee_idcpayment.percent, result.total, result.feePaymethod, fixedFee, minFee)
  
        if(result.feeIdcpayment < minFee)
          result.feeIdcpayment = minFee;
      }
  
      //result.vat = (parseFloat(result.vat) + parseFloat(((parseFloat(result.feeIdcpayment)+parseFloat(result.feePaymethod))*vat_rate/100).toFixed(2))).toFixed(2);
      //result.total = (parseFloat(result.total) + parseFloat(result.feeIdcpayment) + parseFloat(result.feePaymethod)).toFixed(2);
      result.total = (parseFloat(result.total) + parseFloat(result.feePaymethod)).toFixed(2);
  
      return result;
    }
    
  
/* END modal-purchase-and-prices-v3 js_head */
/* START footer-default js_head */


  let  game_review_requested = {};
  
  let classAndText = [
  {
    class: 'text-danger',
    text: 'Son Derece Olumsuz',
    range: [0, 9]
  },
  {
    class: 'text-danger-',
    text: 'Çok Olumsuz',
    range: [10, 19]
  },
  {
    class: 'text-danger--',
    text: 'Olumsuz',
    range: [20, 39]
  },
  {
    class: 'text-warning',
    text: 'Karışık',
    range: [40, 69]
  },
  {
    class: 'text-primary--',
    text: 'Olumlu',
    range: [70, 84]
  },
  {
    class: 'text-primary-',
    text: 'Çok Olumlu',
    range: [85, 94]
  },
  {
    class: 'text-primary',
    text: 'Son Derece Olumlu',
    range: [95, 100]
  }
];

function findRangePercent(percent) {
  let finded = false, i = 0;
  while(!finded && i < classAndText.length) {
    if(percent >= classAndText[i].range[0] && percent <= classAndText[i].range[1]) finded = true;
    i++;
  }
  return classAndText[i - 1];
}

function getLangs(reviews) {
    return Object.keys(reviews);
}

function displayTotalReviewsTooltip(id_idcgame, popoverid, reviews) {
  var isPopover = true;
  let [positives, totalReviews] = getLangs(reviews).reduce((acc, el) => { acc[0] += reviews[el].filter(rev => rev.Vote == 1).length; acc[1] += reviews[el].length; return acc;}, [0, 0]);
  //change to const when all tooltips are popovers
  var tooltipObj = $(`#` + popoverid)

  if(!tooltipObj) {
    tooltipObj = $(`.custom-tooltip[id_idcgame=${id_idcgame}]`)
    isPopover = false;
    if(!tooltipObj) {
      return;
    }
  }

  if(totalReviews == 0) {
    $(tooltipObj).find(".text-review-positiveness").text("İnceleme yok")
    $(tooltipObj).find(".text-review-count").text(``)
  }else{
    let percent = parseInt(positives/totalReviews*100);
    let classText = findRangePercent(percent)
  
    $(tooltipObj).find(".text-review-positiveness").text(classText.text)
    $(tooltipObj).find(".text-review-count").text(` (${totalReviews} reviews)`)
    // $(tooltipObj).find(".text-review-count").text(` (${totalReviews} inceleme)`)
  }
  if (isPopover){
          var popover = $(tooltipObj).parent().data('bs.popover');
    //We need to call show in order to refresh the data in the popover when it is already visible.
    //If we don't call this code, the popover is not updated until it hides and it is shown again
          popover.show();
  }

  /*
  let totalReviewsHTML = String.format(
    templateTotalReviewsHTML,
    classText.class,
    classText.text,
    positives,
    totalReviews,
    percent,
    'h3'
  );
  document.getElementById('totalReviewsDisplay').innerHTML = totalReviewsHTML;
  let totalReviewsInfoHTML = String.format(
    templateTotalReviewsHTML,
    classText.class,
    classText.text,
    positives,
    totalReviews,
    percent,
    'span'
  );
  let idGameInfo = "infoReviewsGame";
  let qSelector = `span[__name__="content"]`;
  let containerInfo = document.getElementById(idGameInfo);
  let spanHTML = containerInfo.querySelector(qSelector);
  spanHTML.outerHTML = totalReviewsInfoHTML;
  containerInfo.classList.remove("d-none");*/
}

  function loadGameReview(id_idcgame, popoverid){
    if(!id_idcgame || game_review_requested.hasOwnProperty(id_idcgame)){
      return;
    }

    game_review_requested[id_idcgame] = 1;

    $.ajax({
      type:"GET",
      url:`/idcjson/comments/${id_idcgame}/CommentsCurrentYear.json`,
      dataType: 'text',
      async: true,
      success: function(e){
          try {
            var result = JSON.parse(e);
            jsonReviews = result;
            displayTotalReviewsTooltip(id_idcgame, popoverid, jsonReviews);
          }catch (e){
            displayTotalReviewsTooltip(id_idcgame, popoverid,{});
            return false;
          }
      },
      error: function(e){
        // $('#containerGraphs').addClass('d-none');
        displayTotalReviewsTooltip(id_idcgame, popoverid,{});
      }
    });
  }


/* END footer-default js_head */
