var MD5 = function(d){var r = M(V(Y(X(d),8*d.length)));return r.toLowerCase()};function M(d){for(var _,m="0123456789ABCDEF",f="",r=0;r>>4&15)+m.charAt(15&_);return f}function X(d){for(var _=Array(d.length>>2),m=0;m<_.length;m++)_[m]=0;for(m=0;m<8*d.length;m+=8)_[m>>5]|=(255&d.charCodeAt(m/8))<>5]>>>m%32&255);return _}function Y(d,_){d[_>>5]|=128<<_%32,d[14+(_+64>>>9<<4)]=_;for(var m=1732584193,f=-271733879,r=-1732584194,i=271733878,n=0;n>16)+(_>>16)+(m>>16)<<16|65535&m}function bit_rol(d,_){return d<<_|d>>>32-_} var mySprintf = (str, ...argv) => !argv.length ? str : mySprintf(str = str.replace(mySprintf.token||"#", argv.shift()), ...argv); function myAlert(msg) { var alert=document.getElementById('alert') alert.innerHTML='
'+msg+'
'; alert.style.display="block"; document.getElementById('alertover').style.height=document.body.offsetHeight+'px'; document.getElementById('alertover').style.display="block"; document.getElementById('alert').style.height=(document.getElementById('alert').childNodes[0].offsetHeight+2)+'px'; } function myPopup(msg) { var popup=document.getElementById('popup'); popup.innerHTML=msg; popup.style.display="block"; document.getElementById('alertover').style.height=document.body.offsetHeight+'px'; document.getElementById('alertover').style.display="block"; return false; } function myClose() { document.getElementById('popup').style.display="none"; document.getElementById('alert').style.display="none"; document.getElementById('alertover').style.display="none"; } function myCounter(id,time) { var timesplit = time.split(':'); var sec=(+timesplit[0])*60*60+(+timesplit[1])*60+(+timesplit[2]); function pad(val) { return val>9?val:"0"+val; } setInterval(function() { document.getElementById(id).innerHTML=pad(parseInt(sec/60,10))+":"+pad(--sec%60); if(sec<=0) location.reload(); }, 1000); } document.addEventListener("keydown", function(event) { if(event.key==="Escape") { if(document.getElementById('alertover').style.display=="block") myClose(); if($('.search').is(":visible")) $('.search').hide(); } }); function lostSend() { if($("#lostemail").val()=='') { $('#lostinfo').html('
Zadejte prosím e-mail.
'); $("#lostinfo").show().delay(5000).fadeOut(); return false; } $.post("/lostpass/", { email: $("#lostemail").val() }, function(data) { if(data.err == 0) myPopup(document.getElementById('lostpassok').innerHTML); else myPopup(document.getElementById('lostpassko').innerHTML); },'json') return false; } function login() { if($("input[name=lema]").val()=='' || $("input[name=lpas]").val()=='') { $('#loginfo').html('
Zadejte prosím e-mail i heslo.
'); $("#loginfo").show().delay(3000).fadeOut(); return false; } $.post("/user-login/", { email: $("input[name=lema]").val(), pass: MD5($("input[name=lpas]").val()) }, function(data) { if(data==0) { $('#loginfo').html('
Špatné přihlašovací údaje.
'); $("#loginfo").show().delay(5000).fadeOut(); return false; } else { location.reload(); } }) return false; } function register() { var repass=/(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}/; if($("input[name=remail]").val()=='' || $("input[name=rheslo]").val()=='') { $('#reginfo').html('
Zadejte prosím minimálně e-mail a heslo.
').show().delay(3000).fadeOut(); return false; } if(!repass.test($("input[name=rheslo]").val())) { $('#reginfo').html('
Heslo musí obsahovat minimálně jedno číslo, jedno velké a malé písmeno a mít minimálně 8 znaků.
').show().delay(5000).fadeOut(); return false; } $.post("/user-register/", { jmeno: $("input[name=rjmeno]").val(), prijmeni: $("input[name=rprijmeni]").val(), email: $("input[name=remail]").val(), heslo: MD5($("input[name=rheslo]").val()) }, function(data) { if(data.exist==1) { $('#reginfo').html('
Uvedený e-mail již v naší databázi existuje!
'); $("#reginfo").show().delay(5000).fadeOut(); return false; } if(data.exist==0 && data.mail==0 ) { myClose(); myAlert('Registrace proběhla úspěšně, ale nebyl odeslán validační mail. Může to být chyba u nás, nebo byl zadán špatný e-mail.'); return false; } if(data.exist==0 && data.mail==1 ) { myClose(); myAlert('Registrace proběhla úspěšně, na uvedený e-mail jsme zaslali kód pro aktivaci účtu. Pokud jste nic nedostali, zkontrolujte nevyžádanou poštu.'); return false; } },"json") return false; } window.fbAsyncInit=function(){FB.init({appId:'785378505561918',cookie:true,xfbml:true,version:'v3.2'})}; (function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(d.getElementById(id)) return;js=d.createElement(s);js.id=id;js.src="//connect.facebook.net/en_US/sdk.js";fjs.parentNode.insertBefore(js, fjs);}(document,'script','facebook-jssdk')); function fbLogin() { FB.login(function (response) { if (response.authResponse) { FB.api('/me', {fields: 'id,first_name,last_name,email'}, function (response) { $.post('/user-login/', {oauth_provider:'facebook',userData: JSON.stringify(response)}, function(data) { if(data==0) { $('#loginfo').html('
Špatné přihlašovací údaje.
'); $("#loginfo").show().delay(5000).fadeOut(); return false; } else if(data==2) top.location.replace('/user-settings/'); else location.reload(); }); }); // } else { // $('#loginfo').html('
User cancelled login or did not fully authorize.
').show().delay(5000).fadeOut(); } }, {scope: 'email'}); } var googleUser = {}; function startApp() { gapi.load('auth2', function(){ auth2 = gapi.auth2.init({ client_id: '2817933656-66jrlj1lno50t7vcb6qis8jlp7f4fs9c.apps.googleusercontent.com', cookiepolicy: 'single_host_origin', }); attachSignin(document.getElementById('gglogin')); }); }; function attachSignin(element) { auth2.attachClickHandler(element, {}, function(googleUser) { gapi.client.load('oauth2', 'v2', function () { var request = gapi.client.oauth2.userinfo.get({'userId': 'me'}); request.execute(function (resp) { $.post('/user-login/', { oauth_provider:'google', userData: JSON.stringify(resp) }, function(data) { if(data==0) { $('#loginfo').html('
Špatné přihlašovací údaje.
'); $("#loginfo").show().delay(5000).fadeOut(); return false; } else if(data==2) top.location.replace('/user-settings/'); else location.reload(); }); }); }); // }, function(error) { // $('#loginfo').html('
User cancelled login or did not fully authorize.
').show().delay(5000).fadeOut(); // console.log(JSON.stringify(error, undefined, 2)); }); }; $(document).ready(function(){$('.drop b').click(function(){if($(this).next().css('display')=='none') $(this).next().css('display','block'); else $(this).next().css('display','none');});}); function nofix() { if(document.getElementById('header').style.position=='fixed' || document.getElementById('header').style.position=='') { document.getElementById('header').style.position='relative'; document.getElementById('content').style.marginTop='20px'; document.documentElement.scrollTop=0; } else { document.getElementById('header').style.position='fixed'; document.getElementById('content').style.marginTop='70px'; } } function setCookie(c_name,value,exdays){var exdate=new Date();exdate.setDate(exdate.getDate()+exdays);var c_value=escape(value)+((exdays==null)?"":"; expires="+exdate.toUTCString());document.cookie=c_name+"="+c_value+"; path=/";} function getCookie(c_name){var i,x,y,ARRcookies=document.cookie.split(";");for(i=0;i