/* START global js_head */

	var lastE = "";
	var lastG = 0;
	var play_now = "Hrát hned!";
	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/cs/extra/děkujeme');
			}
			if ( isCef() > 0 ){
				try {
					(async function() {
						await CefSharp.BindObjectAsync("cefDotNet", "bound");
						cefDotNet.login( JSON.stringify(loginRes) );
					})(loginRes);
					window.location.replace('https://idcgames.com/cs/info/knihovna');
				}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/cs/extra/děkujeme');
							}
						}
					}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 + "cs/extra/děkujeme");
		}
	}
	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("Přidat komentář");
				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://cdn8.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://cdn8.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("Přidat komentář");
							target.addClass("socialAct");
						},5000);
						
					}else{
						console.log("ACTION KO");
						target.html('<i class="fas fa-exclamation-triangle"></i>');
						setTimeout(function() {
							target.html("Přidat komentář");
							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("Přidat komentář");
						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://cdn8.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://cdn8.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/cs";	
	}

	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 full-game-landing-default js_head */

<!--  -->

var language = "cs";
var msgBadLogin = "Uživatel/Heslo nesprávné";
var msgError = "Chyba při přihlašování. Prosím, zkuste to znovu později.";
var msgUserExist = "Uživatel existuje";
var msgUserBad = "Nesprávný formát uživatele: měl by obsahovat alespoň 4-14 znaků. Všechny znaky jsou platné, kromě <> ' \"";
var msgPassMatch = "Hesla se neshodují.";
var msgNoUser = "Zadejte uživatelské jméno";
var msgNoPass = "Zadejte heslo";
var thankyou = "https://idcgames.com/cs/extra/děkujeme";
var steam = '';

var catlang = {
    "Action": { "url": "https://idcgames.com/cs/tag/akční-hry","txt": "Akční"},
    "Adventure": { "url": "https://idcgames.com/cs/tag/adventury","txt": "Adventury"},
    "Featured": { "url": "https://idcgames.com/cs/featured","txt": "Doporučeno"},
    "Free-to-Play": { "url": "https://idcgames.com/cs/free-to-play", "txt": "free-to-play"},
    "New Releases": { "url": "https://idcgames.com/cs/nové-verze","txt": "Nové verze"},
    "MMO": { "url": "https://idcgames.com/cs/tag/mmo-hry","txt": "MMO"},
    "RPG": { "url": "https://idcgames.com/cs/tag/rpg","txt": "RPG"},
    "Shooter": { "url": "https://idcgames.com/cs/tag/střílečky","txt": "Střílečky"},
    "Sports": { "url": "https://idcgames.com/cs/tag/sportovní-hry","txt": "Sportovní"},
    "Strategy": { "url": "https://idcgames.com/cs/tag/strategické-hry","txt": "Strategie"}
}
var cat = [
	"x-Action",
	"x-MMO",
	"x-Indie"
];

var gData = [{"name":"Rust","seo":"rust","status":"not_in_idc","status_id":13,"short_description":"Rust is a multiplayer-only survival. Rust pits players against each other in a harsh, open world environment with the sole goal of survival. Animals, such as bears and wolves, act as a looming threat, but the primary danger comes from other players.","flag_windows":false,"flag_apple":false,"flag_linux":false,"game_tags":{"14":{"id":14,"name":"Building","title":"Stavebn\u00ed","seo_url":"stavebn\u00ed","active":true},"57":{"id":57,"name":"Survival","title":"P\u0159e\u017eit\u00ed","seo_url":"p\u0159e\u017eit\u00ed","active":true},"85":{"id":85,"name":"FPS","title":"FPS","seo_url":"fps","active":true},"137":{"id":137,"name":"First-Person","title":"Hra z pohledu prvn\u00ed osoby","seo_url":"hra-z-pohledu-prvn\u00ed-osoby","active":true},"305":{"id":305,"name":"Co-op","title":"Kooperace","seo_url":"kooperace","active":true},"310":{"id":310,"name":"Multiplayer","title":"Multiplayer","seo_url":"multiplayer","active":true},"311":{"id":311,"name":"Online Co-Op","title":"Online kooperace","seo_url":"online-kooperace","active":true},"286":{"id":286,"name":"PvP","title":"PvP","seo_url":"pvp","active":true},"48":{"id":48,"name":"Sandbox","title":"Sandbox","seo_url":"sandbox","active":true},"372":{"id":372,"name":"Nudity","title":"Nahota","seo_url":"nahota","active":true},"264":{"id":264,"name":"Crafting","title":"Crafting","seo_url":"crafting","active":true},"40":{"id":40,"name":"Open World","title":"Otev\u0159en\u00fd sv\u011bt","seo_url":"otev\u0159en\u00fd-sv\u011bt","active":true},"217":{"id":217,"name":"Post-apocalyptic","title":"Postapokalyptick\u00e9","seo_url":"postapokalyptick\u00e9","active":true},"99":{"id":99,"name":"Open World Survival Craft","title":"P\u0159e\u017eit\u00ed v otev\u0159en\u00e9m sv\u011bt\u011b","seo_url":"p\u0159e\u017eit\u00ed-v-otev\u0159en\u00e9m-sv\u011bt\u011b","active":true}},"game_cats":{"1":{"id":1,"name":null,"title":"Akce","seo_url":"ak\u010dn\u00ed-hry","active":true},"4":{"id":4,"name":null,"title":"MMO","seo_url":"mmo-hry","active":true},"13":{"id":13,"name":null,"title":"Indie","seo_url":"indie-hry","active":true},"5":{"id":5,"name":null,"title":"RPG","seo_url":"rpg","active":true},"3":{"id":3,"name":null,"title":"Adventury","seo_url":"adventury","active":true}},"id_idcgame":"1125","meta_titles":"IDCGames - Rust - PC hry","price":{"AOA":"33566.82","BWP":"493.53","BIF":"106552.87","XAF":"22359.98","CVE":"3768.81","CDF":"104896.54","ERN":"552.00","ETB":"4416.66","GMD":"2558.09","GHS":"594.83","GNF":"317671.22","KES":"4766.08","LSL":"650.23","ZAR":"651.25","LRD":"7074.34","MGA":"169858.91","MWK":"63858.03","MUR":"1700.18","EUR":"33.99","MZN":"2352.11","NAD":"650.23","NGN":"60568.82","RWF":"49743.01","SHP":"28.21","STD":"761806.31","SCR":"506.11","SLL":"771799.71","SZL":"650.23","TZS":"100295.99","UGX":"134979.05","DZD":"4910.20","MAD":"363.35","ZMW":"979.25","CNY":"262.06","GBP":"28.21","INR":"3095.47","JPY":"5588.64","USD":"36.71","BHD":"13.94","DJF":"6541.04","EGP":"1795.35","IQD":"48215.49","JOD":"26.17","KWD":"11.22","LBP":"3296265.90","MRO":"13102.81","OMR":"14.28","ILS":"139.70","QAR":"133.92","SAR":"138.34","SOS":"21016.02","SDG":"22138.71","TND":"114.55","AED":"135.28","YER":"9214.35","AFN":"2411.25","AUD":"55.40","AZN":"62.54","BDT":"4398.65","BTN":"3094.45","BND":"48.61","SGD":"48.61","KHR":"149615.82","NZD":"61.18","FJD":"82.60","XPF":"4056.03","HKD":"285.86","IDR":"575196.11","IRR":"1549709.47","KZT":"17841.69","KPW":"33125.29","KRW":"50727.70","KGS":"3159.03","LAK":"806783.92","MOP":"294.69","MYR":"160.09","MVR":"565.25","MNT":"125066.21","MMK":"119543.85","NPR":"4951.32","PKR":"10222.83","PGK":"147.18","PHP":"2132.19","WST":"102.99","SBD":"307.27","LKR":"10810.86","SYP":"92475.91","TWD":"1179.11","TJS":"392.24","THB":"1239.96","TOP":"86.33","TMT":"128.82","UZS":"472954.87","VUV":"4369.75","VND":"934868.10","ALL":"3354.81","AMD":"14248.95","BYR":"721394.24","BAM":"66.62","BGN":"66.62","HRK":"253.57","CZK":"856.55","DKK":"253.57","GEL":"100.27","GIP":"28.21","HUF":"13692.53","ISK":"5054.65","CHF":"31.95","MKD":"2099.90","MDL":"662.47","NOK":"402.44","PLN":"147.52","RON":"168.93","RUB":"3542.78","SEK":"388.51","TRY":"1261.71","UAH":"1518.33","BMD":"36.71","CAD":"50.98","XCD":"99.59","ARS":"36263.93","AWG":"66.28","BSD":"36.71","BBD":"74.44","BZD":"74.10","BOB":"254.25","BRL":"208.36","KYD":"30.59","CLP":"34859.12","COP":"158090.21","CRC":"18965.40","CUP":"975.51","DOP":"2223.97","FKP":"28.21","GTQ":"284.84","GYD":"7701.11","HTG":"4851.05","HNL":"921.81","JMD":"5830.98","MXN":"729.09","NIO":"1354.16","PAB":"36.71","PYG":"292964.57","PEN":"138.34","SRD":"1232.14","TTD":"250.17","UYU":"1528.87","VEF":"133331052.96","LYD":"177.09","VES":"1502.70"},"offer":[],"offer_discount_percent":0,"free_2_play":"false","featured":false,"new_release":false,"price_shown":true,"demo_game":false,"redirect_url":"https:\\\/\\\/rust.facepunch.com\\\/","image":{"logo":"https:\/\/cdn9.idcgames.com\/storage\/image\/1125\/game_logo\/default.png","logo_json":{"base":"rust-logo","format":"png","kind":"IMAGE","shared":false,"thumb":true,"ratios":["1x1","1x2","1x3","1x5","2x1","2x3","3x1","3x2","3x4","4x1","4x3","4x5","5x1","5x2","5x3","5x4"],"resizes":["1-1","1-2","1-4","1-8","2-3","3-4"],"qualities":[0,72,300]},"logo_v2":"","logo_json_v2":"","banner":"https:\/\/cdn10.idcgames.com\/storage\/image\/1125\/game_banner\/default.jpg","banner_json":{"base":"rust-banner","format":"jpg","kind":"IMAGE","shared":false,"thumb":true,"ratios":["1x1","1x2","1x3","1x5","2x1","2x3","3x1","3x2","3x4","4x1","4x3","4x5","5x1","5x2","5x3","5x4"],"resizes":["1-1","1-2","1-4","1-8","2-3","3-4"],"qualities":[0,72,300]},"background_foros":"https:\/\/cdn11.idcgames.com\/storage\/image\/1125\/background_foros\/default.jpg"},"video":{"url":"https:\/\/cdn12.idcgames.com\/storage\/video\/1125\/video_mp4\/default.mp4","lower_res":"https:\/\/cdn13.idcgames.com\/storage\/video\/1125\/video_mp4\/lower_res.mp4","json":{"base":"rust-landing-mp4","format":"mp4","kind":"VIDEO","shared":false,"thumb":false,"ratios":[],"resizes":[],"qualities":[]}}}][0];

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
};

function gameCat(){
	$.each( cat, function( index, value ){
		if( value != "x-" ){
			var thiscat = value.replace("x-", "");

			if(catlang[thiscat]){
				var url = catlang[thiscat]["url"];
				var txt = catlang[thiscat]["txt"];
				$(".game_cat").append('<li class="nav-item"><a href="'+url+'/" class="nav-link" title="'+txt+'"><span class="fontSecondarySmall colorLight">'+txt+'</span></a></li>');				
			}
		}
	});
}

function drawGameLists(featured=[]){	

	var gamedatas = getShuffledArr(featured);

	$.each( gamedatas, function( index, value ){
		if( (value.status != "inactive" && value.status != "developing" && value.status != "not_in_idc") &&
			(value.id_idcgame != gData.id_idcgame)
		){
			let cdnNum = getShuffledArr([1,2,3,4,5,6,7,8,9]);
			let file_ext = value.id_idcgame == 1021 ? 'jpg' : 'png';
			let thumb_img = `https://cdn${cdnNum[0]}.idcgames.com/storage/image/${value.id_idcgame}/thumb_slider/default.${file_ext}`;

			$(".otherGames").append('<a href="https://idcgames.com/cs/'+value.seo+'/"><div class="ml-1 px-0 filterThumbnail hvr-grow"><img class="img-fluid box-shadow" src="'+thumb_img+'" alt="'+value.name+'"></div></a>');
		}
	});

	$('.otherGames').slick({
		infinite: true,
		slidesToShow: 5,
		slidesToScroll: 3,
		autoplay: true,
		autoplaySpeed: 3000,
		arrows: true,
		prevArrow: $('.prev'),
		nextArrow: $('.next'),
		focusOnSelect: true,
		responsive: [
		{
		  breakpoint: 1200,
		  settings: {
			slidesToShow: 4,
			slidesToScroll: 1,
		  }
		},
		{
		  breakpoint: 768,
		  settings: {
			slidesToShow: 3,
			slidesToScroll: 1,
		  }
		},
		{
		  breakpoint: 576,
		  settings: {
			slidesToShow: 2,
			slidesToScroll: 1,
			autoplaySpeed: 2000,
		  }
		},
		{
		  breakpoint: 480,
		  settings: {
			slidesToShow: 1,
			slidesToScroll: 1,
			autoplaySpeed: 2000,
		  }
		}
	  ]
	});
	$(".otherGamesSection").removeClass("d-none");
}

function initRecommendedGames(gList=[]){	
    gList = JSON.parse(gList).slice(0,12);

    var url = `/unilogin/api/getGameList.php`;
    $.ajax({
        type:"GET",
        url: url,
        data: {"gameIds": gList.toString(), 'domain':"https://idcgames.com/cs/", 'maxCount':12},
        async: true,
        success: function(res){
            drawGameLists(JSON.parse(res));
        },
        error: function(err){
            console.log(err);
        }
    }); 
}

function getRelatedGames(cb){    
    
    var cat_name = getShuffledArr(cat)[0].replace('x-', '');
    var cat_seo = catlang[cat_name].url.replace('/', '');    

    $.ajax({
      type:"GET",
      // url:`https://idcgames.com/cs/assets/tag/${cat_seo}.json`,
      url:"https://" + getLanguageUrl() + `/assets/tag/action-games.json`,
      // url:`/assets/tag/action-games.json`,
      dataType: 'text',
      async: true,
      success: function(res){
        if(cb) cb(res);
      },
      error: function(err){
        console.log(err);
      }
    });
}


/* END full-game-landing-default js_head */
