var game;var params={};var __same_chars=["ё","е","«",'"',"»",'"',"—","-","–","-"];var tplAnonymPlayer=new Template('
#{rating_loading_html}
#{name}
');var tplUserPlayer=new Template('
#{rating_loading_html}
#{avatar_html}
#{rating_html}#{award_html}
');var tplRatingWAwardPlayer=new Template('
#{user.rating7}
');var tplRatingPlayer=new Template('
#{user.rating7}
');var strAwardPlayer={1:'',2:'',3:'',4:'',5:'',6:''};var tplRating=new Template('
#{place} место
#{delresult}
#{time}#{time_decimal}
#{speed} зн/мин
#{errors_html}
');var tplRatingGained=new Template("+#{rating_gained}");var tplTypetextLine=new Template("#{focus}#{after}");var tplTypetextFull=new Template("#{before}#{focus}#{after}");var tplMarathonThis=new Template('Марафон');var tplBook={book:new Template(" Вы набирали цитату из книги:
#{textinfo.author} «#{textinfo.name}»
"),ozon:new Template('
Вы набирали цитату из книги:
#{textinfo.author}
'),ozon_nolink:new Template('
Вы набирали цитату из книги:
#{textinfo.author}
#{textinfo.name}
'),imobilco:new Template('
Вы набирали цитату из книги:
#{textinfo.author}
'),imobilco_nolink:new Template('
Вы набирали цитату из книги:
#{textinfo.author}
#{textinfo.name}
'),news:new Template(' Вы набирали цитату из новости с сайта:
#{textinfo.source.name}
'),voc_unvoted:new Template(' Вы набирали текст по словарю «#{params.voc.name}»
 Хорошо
'),voc_voted:new Template(' Вы набирали текст по словарю «#{params.voc.name}»'),voc_book_unvoted:new Template(' Вы набирали #{textinfo.part}-й отрывок из словаря-книги «#{params.voc.name}»
 Хорошо
'),voc_book_voted:new Template(' Вы набирали #{textinfo.part}-й отрывок из словаря-книги «#{params.voc.name}»')};var tplBookinfoNormal=new Template("#{book_html}
← CtrlК списку игрИграть еще разCtrl →
в этом же режиме
");var tplBookinfoPractice=new Template('#{book_html}
Играть еще разCtrl →
');var tplBookinfoPrivate=new Template("#{book_html}");var tplBookinfoPrivateHost=new Template('#{book_html}
Играть еще разCtrl →
(Другие игроки будут приглашены автоматически)
');var tplReplay=new Template('Игрок #{hostname} приглашает вас сыграть еще раз. Присоединиться');var tplChatAnonymPlayer=new Template('#{name}');var tplChatUserPlayer=new Template('#{name}');var tplChatMessage={me:new Template("
  • #{time} #{player_html} #{text}
  • "),normal:new Template("
  • #{time} #{player_html}: #{text}
  • "),system:new Template('
  • #{time} Игрок #{player_html} #{text}
  • ')};var tplChatUserAvatar=new Template("background: url(#{avatar}) no-repeat left; padding-left: 20px;");var tplDropMessageNewLevel=new Template('

    Новый уровень!

    Поздравляем! Вы достигли #{level}-го уровня!
    Вам начислено #{bonuses} бонусов.

    ');var strLoading='
    Загрузка';var strCheat='

    Игра заблокирована из-за попытки мошенничества.

    Если вы действительно нашли способ обмануть игру, отлично! Может теперь, когда вы достигли своей цели, стоит попрактиковаться в настоящем наборе?

    Если вы видите это сообщение по ошибке, обратитесь по адресу mail@typeracer.ru

    ';var strCaptchaOK='

    Спасибо, тест успешно пройден. Ваш результат зачислен.

    ';var strCaptchaFail='

    Тест пройден неверно. Попробуйте в следующий раз.

    ';var strRatingLoading='';var strRatingFail="Игрок сошел с трассы";var profilesCache=Array();var chatFocused=false;var cachedUsers=new Object();var inputtext_focused=false;var ufopos=0;var ufostr="";var speedpanel_top_loaded=false,speedpanel_arrow_loaded=false,speedpanel_back_loaded=false;Class.Methods.toArray=function(){return"asd"};var Player=Class.create({initialize:function(c){this.pos=0;var b;if(url_suffix&&Prototype.Browser.IE){var a=game.cookies.match(/player!!!(\d+),[a-z0-9]+@@@/);if(a&&a[1]==c.id){this.you=true}}if(b=getCookie("player")){var a=b.split(",");if(a[0]==c.id){this.you=true}}this.move_effect={state:"finished"};this.update(c)},kof5:function(c){tlog("Player::setPos "+this.info.id,{pos:c});this.pos=c;$("car"+this.info.id).style.top=0;var b=url_suffix?380:480;var a=Math.floor(c*b/(game.errorWork?game.original_words.length:game.words.length));if(game.custom&&game.params.mode=="marathon"){a=Math.floor(c*b/game.marathon_length);if(game.finished){a=b}}if(game.custom&&game.params.gametype=="noerror"&&this.info.errors>1){this.bbm3()}else{if(c){if(params.carmove=="smooth"&&(!game.params||!game.params.regular_competition)){if(this.move_effect.state!="finished"){this.move_effect.cancel()}this.move_effect=new Effect.Move($("car"+this.info.id),{x:a,y:0,mode:"absolute"})}else{$("car"+this.info.id).setStyle({left:a+"px",top:0})}}}},bbm3:function(){var a=$("rating"+this.info.id);a.update(strRatingFail);a.show();$("car"+this.info.id).setStyle({left:"480px"})},cjn3:function(){if(!__testmode){return null}var a={};for(var b in this){if(typeof this[b]!="function"&&typeof this[b]!="object"){a[b]=this[b]}}a.info=this.info;return a},update:function(c){tlog("Player::update "+(this.info?this.info.id:"?"),{that:this.cjn3(),info:c});if(this.info&&c.v<=this.info.v){return}this.tpl=tplAnonymPlayer;if(c.user!==null){if(typeof c.user=="object"){cachedUsers[c.user.id]=c.user}if(typeof c.user=="number"){c.user=cachedUsers[c.user]}}if(c.user){this.tpl=tplUserPlayer}var a=clone(this.info);this.info=clone(c);this.info.you="other";if(this.you){this.info.you="you"}if(this.info.user){this.info.color="#000000";if(/#[a-fA-F0-9]+/.test(this.info.user.color)){this.info.color=colortools.capByBrightness(this.info.user.color)}if(c.leave&&Prototype.Browser.Opera){this.info.user.background="white"}}if(this.info.avatar){this.info.avatar_html=''}if(this.info.user){this.info.award_html="";if(!game.params||!game.params.voc||game.params.voc.type!="book"){if(this.info.user.num_races>=20000){this.info.award_html=strAwardPlayer[6]}else{if(this.info.user.num_races>=10000){this.info.award_html=strAwardPlayer[5]}else{if(this.info.user.num_races>=5000){this.info.award_html=strAwardPlayer[4]}else{if(this.info.user.num_races>=2000){this.info.award_html=strAwardPlayer[3]}else{if(this.info.user.num_races>=1000){this.info.award_html=strAwardPlayer[2]}else{if(this.info.user.num_races>=300){this.info.award_html=strAwardPlayer[1]}}}}}}}if(this.info.user.rating7){if(this.info.award_html!=""){this.info.rating_html=tplRatingWAwardPlayer.evaluate(this.info)}else{this.info.rating_html=tplRatingPlayer.evaluate(this.info)}}if(!__user_prefs.no_colored_rangs){this.info.user.colored_rang="rang"+this.info.level}}if(this.you){this.info.rating_loading_html=strRatingLoading}if(this.you&&game.params&&game.params.competition&&this.info.user.scores!=parseInt($("userpanel-scores").innerHTML)){new Effect.NumberChange("userpanel-scores",this.info.user.scores)}if(this.info.ufo&&this.info.level!=9){this.info.level=9}if(game.gamestatus!="racing"||!$("player"+c.id)){if($("player"+c.id)){var b=this.tpl.evaluate(this.info);if(this.cache_content!=b){$("player"+c.id).replace(b)}this.cache_content=b}else{if(this.you){$("players").insert({top:this.tpl.evaluate(this.info)})}else{$("players").insert(this.tpl.evaluate(this.info))}if(params.carmove=="smooth"){new Effect.PlayerEnterRace("car"+this.info.id)}}}else{this.kof5(c.pos);if((this.you&&c._finished||c.finished)&&game.places.indexOf(c.id)==-1){tlog("place push ok - "+c.id);game.places.push(c.id);game.places.sort(function(e,d){if(game.custom&&game.params.mode=="marathon"){var g=game.players[d].info.charsTotal;var f=game.players[e].info.charsTotal}else{var g=game.players[e].info._finished;var f=game.players[d].info._finished}if(g==f){return game.players[e].info.errors-game.players[d].info.errors}else{return g-f}})}}if(a){if(!a.leave&&c.leave){new Effect.Opacity("imgcont"+c.id,{from:1,to:0.3,duration:0.5});if(c.leave&&Prototype.Browser.Opera){$("imgcont"+c.id).setStyle({background:"white"})}}if(a.leave&&!c.leave){new Effect.Opacity("imgcont"+c.id,{from:0.3,to:1,duration:0.5});if(c.leave&&Prototype.Browser.Opera){$("imgcont"+c.id).setStyle({background:c.user?c.user.background:"#777"})}}}}});function inject(e,g){if(e.length<4){return e}var b=15;if(e.length-2'+String.fromCharCode(Math.random()*30+1072)+""+c;if(g==0){return""+a+""}else{return a}}var Track=Class.create({initialize:function(){this.tpl=tplTypetextLine},update:function(){tpl=tplTypetextLine;$("typetext").className="line";var b=game.text.indexOf(" ",game.qao3().pos+50);if(params.typemode=="full"){tpl=tplTypetextFull;$("typetext").className="full";b=-1}if(b==-1){b=game.text.length}var g=game.qao3().word;var h=game.text.substring(game.qao3().pos-1+game.qao3().word.length,b).replace("о","o","g").replace("с","c","g");var f=game.text.substring(0,game.qao3().pos).replace("о","o","g").replace("с","c","g");if(params.highlight=="symbol"){var f=f+g.substring(0,game.last_correct_char);var a=g.substring(game.last_correct_char,game.last_correct_char+1);h=g.substring(game.last_correct_char+1)+h}else{g=inject(g.substring(0,g.length-1),0);h=inject(h,0);var a=g.replace("о","o","g").replace("с","c","g")}var d="";if(params.typemode!="line"){d="
    "}f=f.replace(/\n/g,d);a=a.replace(/\n/g,d);h=h.replace(/\n/g,d);var c=new Date();var e=Math.round((game.begintime-c.getTime())/1000);if(game.gamestatus=="racing"||game.gamestatus=="waiting"&&e<=2){$("typetext").update(tpl.evaluate({hidden:(game.gamestatus=="racing"||game.gamestatus=="waiting"&&e<=2?"":"hidden"),before:f,focus:a,after:h,highlight:params.highlight!="off"&&game.gamestatus=="racing"?(game.error?"highlight_error":"highlight"):""}))}}});var Game=Class.create({initialize:function(c){tlog("Game::initialize");this.tickRequest={_complete:true};this.places=Array();this.id=c;this.track=new Track();this.errors=0;this.error=false;this.chat_num=0;this.chat_last_id=0;this.finished=false;this.ufopos=0;this.failTimer=setTimeout(function(){window.location="/"},1000*18*60);this.url_suffix=url_suffix;this.cookies=new String();this.last_error_pos=-1;this.last_correct_char=0;this.needLine=-1;this.input_words=new Array();this.original_title=document.title;this.keypressesNum=0;this.errors_positions=new Array();this.errors_map=new Array();for(var a=0;a<=49;a++){this.errors_map[a]=0}this.errors_words=[];this.invited_list=new Array();this.charsTyped=0;this.need_text=1;setTimeout(function(){game.need_text=0},10000);this.tick_failures=0;var b=clone(url_params);b.need_text=1;b.cookies=this.cookies;new Ajax.Request("/play/"+this.id+".info",{method:"post",parameters:b,tries:5,timeout:20000,onSuccess:function(d){game.rff1(d)},onFailure:function(){showDisconnectedPopup()}});$("speedpanel-back").onload=function(){speedpanel_back_loaded=true};$("speedpanel-top").onload=function(){speedpanel_top_loaded=true};$("speedpanel-arrow").onload=function(){speedpanel_arrow_loaded=true};if(__user_prefs&&__user_prefs.metronome){metronome.initialize()}},tss3:function(j){tlog("Game::loadInfo",j);var f=0;var c=new Date();if(j.setcookie){for(name in j.setcookie){var b=j.setcookie[name];if(name=="player"&&getCookie("player")&&getCookie("game")==this.id){var g=getCookie("player").split(",")[0];var h=b.value.split(",")[0];if(g!=h&&typeof(g)=="string"&&this.players&&this.players[parseInt(g)]){this.players[g].info.v=-1;if(j.players&&j.players[g]){j.players[g].v=0}this.players[g].you=false}}setCookie(name,b.value,null,b.path,b.domain);if(url_params&&Prototype.Browser.IE){this.cookies+=name+"!!!"+b.value+"@@@"}}}this.begintimeServer=j.begintime;this.endtimeServer=j.endtime;this.begintime=j.begintime*1000-j.time*1000+c.getTime();this.begintime_delayed=0;this.endtime=j.endtime*1000-j.time*1000+c.getTime();this.charsTotal=j.charsTotal;this.type=j.type;if(j.text){this.text=j.text.text;this.textinfo=j.text}if(j.custom&&j.params.mode=="marathon"){this.marathon_length=j.marathon_length;this.nextText=j.nextText;this.linesPos=j.linesPos}this.words=Array();this.host=j.host;if(this.host){$("host_start").show()}this.custom=j.custom;var a="Обычный режим, открытая игра, таймаут 30 сек";if(this.custom){this.params=j.params;a=this.abc5();if(this.params.voc&&this.params.voc.type=="book"){a+=", "+this.textinfo.part+"-й отрывок"}if(this.params.competition){a+=", соревнование";if(this.params.regular_competition){a+=" (x"+this.params.regular_competition+")"}}if(this.params.type=="normal"){a+=", открытая игра";if(this.params.level_from!=1||this.params.level_to!=8){a+=" для ";var e=new Array("","новичков","любителей","таксистов","профи","гонщиков","маньяков","суперменов","кибергонщиков");a+=e[this.params.level_from]+"–"+e[this.params.level_to]}}else{if(this.params.type=="private"){a+=", игра c друзьями"}else{if(this.params.type=="practice"){a+=", одиночный заезд"}}}a+=", таймаут ";if(this.params.timeout<60){a+=this.params.timeout+" сек"}else{a+=this.params.timeout/60+" мин"}}$("gamedesc").update(a);$("gamedesc").show();if(j.invited){for(var d in j.invited){switch(j.invited[d]){case"pending":$("invite-img-loading-"+d).show();$("invite-img-ok-"+d).hide();break;case"received":$("invite-img-loading-"+d).hide();$("invite-img-ok-"+d).show();break;default:$("invite-img-loading-"+d).hide();$("invite-img-ok-"+d).hide();break}}}this.textPos=0;this.line=0;this.psa5();if(j.status=="paused"&&j.can_start){$("host_start").show()}this.bsk8(j.status);setCookie("__game__",this.id);recalcFixedChat()},psa5:function(){this.words=new Array();var b=0;var c=this.text;for(var a=0;a=50){metronome.mdf5(params.metronome)}$("hiddentext").hide();$("typetext").setStyle({color:"black"});$("typetext").show();this.track.update();$("inputtext").value="";$("inputtext").disabled=false;$("inputtext").className="normal";$("inputtext").focus();if($("fore_keyboard")){$("fore_keyboard").show()}updateKeyboard();setTimeout(function(){if(!game.begintime_delayed){game.begintime_delayed=game.begintime}},1000);if(params.meter=="current"){this.mspeedInterval=setInterval(function(){if(game.gamestatus=="racing"){mspeedArrow=mspeedArrow*0.9+mspeed*0.1;updateSpeedpanel(Math.round(mspeedArrow))}},100);setInterval(function(){if(game.gamestatus=="racing"){var c=new Date();if(c.getTime()-lastTimePressed>2000){mspeed=0}}},3000)}if(params.meter=="current"||params.meter=="average"&&__pro__){$("speed-label").update("0");updateSpeedpanel(0)}$("errors-label").update("0");if(params.shadow){$("main-block").setStyle({zIndex:1000});$("shadow").setStyle({height:"2000px",width:$(document.body).getWidth()+"px"});var b=$$("#main-block .r").last();b.removeClassName("r");b.addClassName("r2");if(Prototype.Browser.IE){$$("#shadow .back").last().setStyle({filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=50)"})}$("shadow").show()}if($("params")){$("param_shadow").disabled=true;$("param_meter").addClassName("n")}}},rff1:function(transport){eval("var json="+transport.responseText+";");if(json.error){if(json.error=="players count exceeded"){if(url_suffix){window.location="/go?type=normal&"+url_suffix}else{window.location="/go?type=normal"}}return}this.tss3(json);if(!getCookie("player")&&!url_params){window.location="/";return}if(this.gamestatus=="racing"){window.location="/error?code=already_racing";return}this.pos=0;this.track.update();this.players=Array();for(var i=0;iПремиум.')}}else{if(!__user_prefs.metronome){$("param_metronome").down(".handle").onmousedown=function(){popalert("Для настройки метронома включите соответствующую опцию в профиле.")}}else{var slider_metronome=new Control.Slider($("param_metronome").down(".handle"),$("param_metronome"),{range:$R(40,350),sliderValue:params.metronome,alignX:2,onSlide:function(value){game.mhd2({id:"param_metronome",value:value},"preview")},onChange:function(value){game.mhd2({id:"param_metronome",value:value},true)}})}}};if(!__vk){this.initParamSliders()}this.mhd2({id:"param_textsize"},false);this.mhd2({id:"param_inputsize"},false);if(__pro__){this.mhd2({id:"param_metronome"},false)}}this.timer=new PeriodicalExecuter(function(pe){game.hpq8(pe)},1);this.hpq8(null);var _gametype_="normal";if(this.custom){_gametype_=this.params.gametype}if(/voc-\d+/.test(_gametype_)){_gametype_="voc"}if(!getPrefCookie("hide_gametype_alert_"+_gametype_)){if(_gametype_=="normal"){if(!__user__){show_popup("howtoplay");setPrefCookie("hide_gametype_alert_normal",1)}}else{show_popup("howtoplay")}}$("chat-wrapper")&&$("chat-wrapper").show();this.game_loaded=true},showParams:function(){show_popup("params_popup");this.initParamSliders()},qao3:function(){var a=this.pos-this.textPos;if(a>=this.words.length){a=this.words.length-1}return this.words[a]},qel6:function(d){if(this.enj4(d.value)){if(!this.errorWork){for(var c=0;c=this.linesPos[this.line+3]){this.line+=3;this.text=this.nextText;this.textPos=this.linesPos[this.line]-1;this.psa5();this.needLine=this.line+3}this.track.update()}updateKeyboard()}else{if(params.highlight=="symbol"){this.track.update()}}},iga1:function(d){if(this.custom&&this.params.gametype=="digits"){__same_chars.push(",");__same_chars.push(".")}var c=this.text;for(var a=0;a<__same_chars.length;a+=2){d=d.replace(new RegExp(__same_chars[a],"g"),__same_chars[a+1]);c=c.replace(new RegExp(__same_chars[a],"g"),__same_chars[a+1])}if(c.substring(this.qao3().pos,this.qao3().pos+d.length)==d&&d.length<=this.qao3().word.length+3){return -1}var b=this.qao3().word.replace(/\n/g,"");for(var a=0;aa&&d.charAt(a)!=b.charAt(a)){return a}}return -1},enj4:function(c){if(this.custom&&this.params.gametype=="digits"){__same_chars.push(",");__same_chars.push(".")}var b=this.qao3().word.replace(/\n/g,"");for(var a=0;a<__same_chars.length;a+=2){c=c.replace(new RegExp(__same_chars[a],"g"),__same_chars[a+1]);b=b.replace(new RegExp(__same_chars[a],"g"),__same_chars[a+1])}if(c.indexOf(b)==0&&c.length<=b.length+10){return true}return false},fgj2:function(){$("typeplayblock").hide();$("keyboard_cont").hide();if(!__pro__){setTimeout(function(){Ads.show()},3000)}if(game.errorWork||!this.finished){if(__pro__){metronome.tgk6()}$("bookinfo").show();$("inputtext").blur();game.errorWork=false}if(this.finished){return}tlog("Game::finish",{now:(new Date()).getTime(),begintime_delayed:this.begintime_delayed});this.finished=true;var c=new Date();this.finished_time=c.getTime()-this.begintime_delayed;if($("chat-wrapper")&&!$("chat-wrapper").hasClassName("hidden")){$$('#chat-wrapper .chat:not([style*="display: none"]) input.text')[0].focus()}if(!this.custom||this.params.gametype!="noerror"||this.errors<=1){$("rating_loading").show()}else{for(var l=0;l0){a+=""+o[g].join("")+""+this.words[l].word.charAt(g)+"";b+="[color=#ff4444][s]"+o[g].join("")+"[/s][/color][color=#aa4444]"+this.words[l].word.charAt(g)+"[/color]"}else{a+=this.words[l].word.charAt(g);b+=this.words[l].word.charAt(g)}}q.push(a);h.push(b)}$$("#errors_text p").each(function(i){i.innerHTML=q.join(" ")});this.errors_text_bbcode=h.join(" ");$("errors_tab").show()}clearShadow();if(this.errors&&(!this.custom||this.params.mode!="marathon")){$("errorwork").show()}},sio3:function(){var a=[];for(var b=0;b2){$("status").className="ready"}else{if(f>0){if(!__pro__){Ads.hide()}$("status").className="steady";if(params.preview){$("hiddentext").hide();this.track.update();$("typetext").show()}}else{$("status").className="go"}}document.title="["+(f/60).format()+":"+(f%60).format()+"] "+this.original_title;$("waiting_timeout").update((f/60).format()+":"+(f%60).format());if(f<1){this.bsk8("racing");$("racing_time").update("00:00");document.title="[Идет игра] "+this.original_title}var j=clone(url_params);j.chat_last_id=this.chat_last_id;j.cookies=this.cookies;j.cached_users=g;j.need_text=this.need_text;j.player_v=this.sio3();if(this.invited_list.length){j.invited_list=this.invited_list.join(",")}if(this.type!="practice"&&this.tickRequest._complete&&Math.floor(b.getTime()/1000)%2==0){this.tickRequest=new Ajax.Request("/play/"+this.id+".info",{method:"post",parameters:j,timeout:20000,onSuccess:function(k){game.tgk1(k)},onFailure:function(){game.tqf0()}})}}else{if(this.gamestatus=="paused"){var j=clone(url_params);j.chat_last_id=this.chat_last_id;j.cookies=this.cookies;j.cached_users=g;j.need_text=this.need_text;j.player_v=this.sio3();if(this.invited_list.length){j.invited_list=this.invited_list.join(",")}if(this.type!="practice"&&this.tickRequest._complete&&Math.floor(b.getTime()/1000)%2==0){this.tickRequest=new Ajax.Request("/play/"+this.id+".info",{method:"post",parameters:j,timeout:20000,onSuccess:function(k){game.tgk1(k)},onFailure:function(){game.tqf0()}})}}else{if(this.gamestatus=="racing"){$("status").className="go";var h=Math.round((this.endtime-b.getTime())/1000);if(h<=0){$("racing_time").hide();$("finished").show();h=0;if(!this.errorWork){this.fgj2()}}else{var i=Math.round((b.getTime()-this.begintime)/1000);$("racing_time").update((i/60).format()+":"+(i%60).format())}if(params.meter=="current"){$("speed-label").update(Math.round(mspeedArrow))}if(Math.floor(b.getTime()/1000)%4==0){if((this.type!="practice"||this.custom&&this.params.mode=="marathon")&&this.tickRequest._complete){var j={pos:this.errorWork?-1:this.pos,time:c,errors:this.errors,chat_last_id:this.chat_last_id,needLine:this.needLine,cookies:this.cookies,player_v:this.sio3()};for(var d in url_params){j[d]=url_params[d]}if(this.finished&&(!this.custom||this.params.mode!="marathon")){j.words=this.input_words.join("#")}j.cached_users=g;this.tickRequest=new Ajax.Request("/play/"+this.id+".update",{method:"post",parameters:j,timeout:20000,onSuccess:function(k){game.tgk1(k)},onFailure:function(){game.tqf0()}})}}}}}},tqf0:function(){this.tick_failures++;if(this.tick_failures>=3){this.timer.tgk6();showDisconnectedPopup()}},tgk1:function(transport){eval("var json="+transport.responseText+";");tlog("Game::updateCallback",json);this.tick_failures=0;if(json.error){}$("gameloading").hide();$$(".gameblock").each(function(el){if(el.style.display=="none"){el.show()}});if(this.gamestatus=="waiting"||this.gamestatus=="paused"){this.tss3(json);for(var i=0;i
    '}if(info.speed>0&&info.errors>=0){var j=tplRating.evaluate(info);tlog("show rating data: ",{info:info,str:j});c.update(j);c.show();if(k.you){if(info.speed<200&&!getPrefCookie("lowspeed")){setPrefCookie("lowspeed","1");popalert('Вы набирали со скоростью менее 200 зн/мин. Вероятно, это происходит оттого, что вы не владеете слепым методом печати. Узнать, как можно научиться быстрее печатать с помощью Клавогонок, вы можете в разделе «Обучение».')}else{if(k.info.user){if(info.record.blocked){popalert("Вы набирали со скоростью "+info.speed+' зн/мин, однако результат был временно заблокирован до его подтверждения.

    Мы просим всех, кто достиг определенного результата, пройти специальный тест, доказывающий, что вы не робот-копипастер. Узнать больше и пройти тест вы можете в любое время в своем профиле.

    ')}else{if(info.user.best_speed==undefined||info.speed>info.user.best_speed){var e=this.abc5();$("newrecord_gametype").replace(e);$("newrecord_speed").update(info.speed);show_popup("newrecord");if($("newrecord_ub6")){var f=setInterval(function(){if(game.userpanel_updated){clearInterval(f);$("newrecord_ub2").src="http://img.klavogonki.ru/userbar/ub2-"+info.user.id+".gif?"+info.speed;$("newrecord_ub6").src="http://img.klavogonki.ru/userbar/ub6-"+info.user.id+".gif?"+info.speed}},3000)}}}}}if(info.record.scores){new Effect.NumberChange("userpanel-scores",info.record.scores)}if(info.record.backwork_id){$("gametype-loading").show();var a=0;var g=setInterval(function(){a++;new Ajax.Request("/ajax/check-backwork",{parameters:{id:info.record.backwork_id},onSuccess:function(i){if(i.responseText=="1"){clearInterval(g);loadGametype(game.custom?game.params.gametype:"normal");game.userpanel_updated=true}else{if(a>=5){clearInterval(g)}}}})},3000)}}}if(info.user&&(info.user.best_speed==undefined||info.user.best_speed/g,"");var a=new Date();var f=-1;for(var b=0;bthis.chat_last_id){for(var b=0;b=50){setTimeout(function(){metronome.mdf5(params.metronome)},500)}}}else{if(f=="keyboard"){if(g){params[f]=!params[f]}$("keyboard").style.display=params[f]?"":"none";if(game&¶ms[f]){updateKeyboard()}$("param_keyboard").update(params[f]?"Скрыть экранную клавиатуру":"Показать экранную клавиатуру")}else{if(f=="font"){if(g){params.font=d.value}else{d.value=params.font}$("inputtext").setStyle({fontFamily:params.font.replace(/_/g," ")});$("fontsize_cont").setStyle({fontFamily:params.font.replace(/_/g," ")})}else{var f=a[1];if(g){params[f]=!params[f]}else{d.checked=params[f]}}}}}}}}}}if(g&&g!="preview"){if($("params")){var e=params;e.cookies=this.cookies;for(var b in url_params){e[b]=url_params[b]}new Ajax.Request("/play/"+this.id+".changeparam",{method:"post",parameters:e,timeout:20000,tries:5})}if(f=="keyboard"){setPrefCookie("param_keyboard",params[f])}}},mop2:function(){if(!__pro__){alert("Отмена результатов доступна только пользователям с аккаунтом Премиум.");return}for(var a=0;aОбычный"}else{if(this.params.gametype=="abra"){a="Абракадабра"}else{if(this.params.gametype=="referats"){a="Яндекс.Рефераты"}else{if(this.params.gametype=="noerror"){a="Безошибочный"}else{if(this.params.gametype=="marathon"){a="Марафон"}else{if(this.params.gametype=="digits"){a="Цифры"}else{if(this.params.gametype=="sprint"){a="Спринт"}else{if(this.params.gametype=="chars"){a="Буквы"}else{if(/voc-(\d+)/.test(this.params.gametype)){a='По словарю «'+this.params.voc.name+"»"}}}}}}}}}}return a},doErrorWork:function(){if(!__pro__){popalert('Возможность выполнять работу над ошибками доступна только для пользователей Премиум.');return}this.errorWork=true;this.pos=0;this.original_words=this.words;var d=[];var c=this.errors_words.length;for(var a=0;a=lastPressedNum+3&&f.value.length!=lastLength){if(lastTimePressed){var g=0.25;var c=60*1000*3/(d.getTime()-lastTimePressed);mspeed=mspeed*(1-g)+c*g}lastTimePressed=d.getTime();lastPressedNum=pressedNum}var b=game.iga1(f.value);if(b==-1){$("inputtext").className="";$("typefocus").className=params.highlight=="off"?"":"highlight";$("inputtext").style.background="white";$("fixtypo").hide();game.error=false;game.last_correct_char=f.value.length}else{if(!game.error){game.error=true;game.errors++;$("errors-label").update(game.errors);if(params.sound){soundManager.play("typo")}for(var e=0;eb+30){f.value=f.value.substring(0,b+30)}game.last_correct_char=b;$("inputtext").className="error";if(params.highlight!="off"){$("typefocus").className="highlight_error"}$("inputtext").style.background="#a00";if(params.error){$("fixtypo").show()}if(game.custom&&game.params.mode=="noerror"&&game.errors>1){game.fgj2();if($("message_text")){$("message_text").focus()}}}game.qel6(f);updateKeyboard();lastLength=f.value.length}var keymap={};keymap.ru=new Array({letter:"ё",key:1,shift:0},{letter:"1",key:2,shift:0},{letter:"2",key:3,shift:0},{letter:"3",key:4,shift:0},{letter:"4",key:5,shift:0},{letter:"5",key:6,shift:0},{letter:"6",key:7,shift:0},{letter:"7",key:8,shift:0},{letter:"8",key:9,shift:0},{letter:"9",key:10,shift:0},{letter:"0",key:11,shift:0},{letter:"-",key:12,shift:0},{letter:"=",key:13,shift:0},{letter:"й",key:15,shift:0},{letter:"ц",key:16,shift:0},{letter:"у",key:17,shift:0},{letter:"к",key:18,shift:0},{letter:"е",key:19,shift:0},{letter:"н",key:20,shift:0},{letter:"г",key:21,shift:0},{letter:"ш",key:22,shift:0},{letter:"щ",key:23,shift:0},{letter:"з",key:24,shift:0},{letter:"х",key:25,shift:0},{letter:"ъ",key:26,shift:0},{letter:"\\",key:27,shift:0},{letter:"ф",key:28,shift:0},{letter:"ы",key:29,shift:0},{letter:"в",key:30,shift:0},{letter:"а",key:31,shift:0},{letter:"п",key:32,shift:0},{letter:"р",key:33,shift:0},{letter:"о",key:34,shift:0},{letter:"л",key:35,shift:0},{letter:"д",key:36,shift:0},{letter:"ж",key:37,shift:0},{letter:"э",key:38,shift:0},{letter:"я",key:39,shift:0},{letter:"ч",key:40,shift:0},{letter:"с",key:41,shift:0},{letter:"м",key:42,shift:0},{letter:"и",key:43,shift:0},{letter:"т",key:44,shift:0},{letter:"ь",key:45,shift:0},{letter:"б",key:46,shift:0},{letter:"ю",key:47,shift:0},{letter:".",key:48,shift:0},{letter:"Ё",key:1,shift:1},{letter:"!",key:2,shift:1},{letter:'"',key:3,shift:1},{letter:"№",key:4,shift:1},{letter:";",key:5,shift:1},{letter:"%",key:6,shift:1},{letter:":",key:7,shift:1},{letter:"?",key:8,shift:1},{letter:"*",key:9,shift:1},{letter:"(",key:10,shift:1},{letter:")",key:11,shift:1},{letter:"_",key:12,shift:1},{letter:"+",key:13,shift:1},{letter:"Й",key:15,shift:1},{letter:"Ц",key:16,shift:1},{letter:"У",key:17,shift:1},{letter:"К",key:18,shift:1},{letter:"Е",key:19,shift:1},{letter:"Н",key:20,shift:1},{letter:"Г",key:21,shift:1},{letter:"Ш",key:22,shift:1},{letter:"Щ",key:23,shift:1},{letter:"З",key:24,shift:1},{letter:"Х",key:25,shift:1},{letter:"Ъ",key:26,shift:1},{letter:"/",key:27,shift:1},{letter:"Ф",key:28,shift:1},{letter:"Ы",key:29,shift:1},{letter:"В",key:30,shift:1},{letter:"А",key:31,shift:1},{letter:"П",key:32,shift:1},{letter:"Р",key:33,shift:1},{letter:"О",key:34,shift:1},{letter:"Л",key:35,shift:1},{letter:"Д",key:36,shift:1},{letter:"Ж",key:37,shift:1},{letter:"Э",key:38,shift:1},{letter:"Я",key:39,shift:1},{letter:"Ч",key:40,shift:1},{letter:"С",key:41,shift:1},{letter:"М",key:42,shift:1},{letter:"И",key:43,shift:1},{letter:"Т",key:44,shift:1},{letter:"Ь",key:45,shift:1},{letter:"Б",key:46,shift:1},{letter:"Ю",key:47,shift:1},{letter:",",key:48,shift:1},{letter:" ",key:49,shift:0});keymap.en=new Array({letter:"`",key:1,shift:0},{letter:"1",key:2,shift:0},{letter:"2",key:3,shift:0},{letter:"3",key:4,shift:0},{letter:"4",key:5,shift:0},{letter:"5",key:6,shift:0},{letter:"6",key:7,shift:0},{letter:"7",key:8,shift:0},{letter:"8",key:9,shift:0},{letter:"9",key:10,shift:0},{letter:"0",key:11,shift:0},{letter:"-",key:12,shift:0},{letter:"=",key:13,shift:0},{letter:"q",key:15,shift:0},{letter:"w",key:16,shift:0},{letter:"e",key:17,shift:0},{letter:"r",key:18,shift:0},{letter:"t",key:19,shift:0},{letter:"y",key:20,shift:0},{letter:"u",key:21,shift:0},{letter:"i",key:22,shift:0},{letter:"o",key:23,shift:0},{letter:"p",key:24,shift:0},{letter:"[",key:25,shift:0},{letter:"]",key:26,shift:0},{letter:"\\",key:27,shift:0},{letter:"a",key:28,shift:0},{letter:"s",key:29,shift:0},{letter:"d",key:30,shift:0},{letter:"f",key:31,shift:0},{letter:"g",key:32,shift:0},{letter:"h",key:33,shift:0},{letter:"j",key:34,shift:0},{letter:"k",key:35,shift:0},{letter:"l",key:36,shift:0},{letter:";",key:37,shift:0},{letter:"'",key:38,shift:0},{letter:"z",key:39,shift:0},{letter:"x",key:40,shift:0},{letter:"c",key:41,shift:0},{letter:"v",key:42,shift:0},{letter:"b",key:43,shift:0},{letter:"n",key:44,shift:0},{letter:"m",key:45,shift:0},{letter:",",key:46,shift:0},{letter:".",key:47,shift:0},{letter:"/",key:48,shift:0},{letter:"~",key:1,shift:1},{letter:"!",key:2,shift:1},{letter:"@",key:3,shift:1},{letter:"#",key:4,shift:1},{letter:"$",key:5,shift:1},{letter:"%",key:6,shift:1},{letter:"^",key:7,shift:1},{letter:"&",key:8,shift:1},{letter:"*",key:9,shift:1},{letter:"(",key:10,shift:1},{letter:")",key:11,shift:1},{letter:"_",key:12,shift:1},{letter:"+",key:13,shift:1},{letter:"Q",key:15,shift:1},{letter:"W",key:16,shift:1},{letter:"E",key:17,shift:1},{letter:"R",key:18,shift:1},{letter:"T",key:19,shift:1},{letter:"Y",key:20,shift:1},{letter:"U",key:21,shift:1},{letter:"I",key:22,shift:1},{letter:"O",key:23,shift:1},{letter:"P",key:24,shift:1},{letter:"{",key:25,shift:1},{letter:"}",key:26,shift:1},{letter:"|",key:27,shift:1},{letter:"A",key:28,shift:1},{letter:"S",key:29,shift:1},{letter:"D",key:30,shift:1},{letter:"F",key:31,shift:1},{letter:"G",key:32,shift:1},{letter:"H",key:33,shift:1},{letter:"J",key:34,shift:1},{letter:"K",key:35,shift:1},{letter:"L",key:36,shift:1},{letter:":",key:37,shift:1},{letter:'"',key:38,shift:1},{letter:"Z",key:39,shift:1},{letter:"X",key:40,shift:1},{letter:"C",key:41,shift:1},{letter:"V",key:42,shift:1},{letter:"B",key:43,shift:1},{letter:"N",key:44,shift:1},{letter:"M",key:45,shift:1},{letter:"<",key:46,shift:1},{letter:">",key:47,shift:1},{letter:"?",key:48,shift:1},{letter:" ",key:49,shift:0});var keypos=new Array({},{x:9,y:9,w:35,h:30},{x:44,y:9,w:35,h:30},{x:79,y:9,w:35,h:30},{x:114,y:9,w:35,h:30},{x:149,y:9,w:35,h:30},{x:184,y:9,w:35,h:30},{x:219,y:9,w:35,h:30},{x:254,y:9,w:35,h:30},{x:289,y:9,w:35,h:30},{x:324,y:9,w:35,h:30},{x:359,y:9,w:35,h:30},{x:394,y:9,w:35,h:30},{x:429,y:9,w:35,h:30},{x:464,y:9,w:73,h:30},{x:63,y:39,w:35,h:30},{x:98,y:39,w:35,h:30},{x:133,y:39,w:35,h:30},{x:168,y:39,w:35,h:30},{x:203,y:39,w:35,h:30},{x:238,y:39,w:35,h:30},{x:273,y:39,w:35,h:30},{x:308,y:39,w:35,h:30},{x:343,y:39,w:35,h:30},{x:378,y:39,w:35,h:30},{x:413,y:39,w:35,h:30},{x:448,y:39,w:35,h:30},{x:483,y:39,w:54,h:30},{x:75,y:69,w:35,h:30},{x:110,y:69,w:35,h:30},{x:145,y:69,w:35,h:30},{x:180,y:69,w:35,h:30},{x:215,y:69,w:35,h:30},{x:250,y:69,w:35,h:30},{x:285,y:69,w:35,h:30},{x:320,y:69,w:35,h:30},{x:355,y:69,w:35,h:30},{x:390,y:69,w:35,h:30},{x:425,y:69,w:35,h:30},{x:92,y:99,w:35,h:30},{x:127,y:99,w:35,h:30},{x:162,y:99,w:35,h:30},{x:197,y:99,w:35,h:30},{x:232,y:99,w:35,h:30},{x:267,y:99,w:35,h:30},{x:302,y:99,w:35,h:30},{x:337,y:99,w:35,h:30},{x:372,y:99,w:35,h:30},{x:407,y:99,w:35,h:30},{x:132,y:129,w:242,h:30});var layout="ru";function updateKeyboard(){if(!params.keyboard||!$("fore_keyboard")){return}var d=0;var b=0;if(game.error){d=14;b=0}else{var e=game.qao3().word.charAt($("inputtext").value.length);for(var c=0;c<__same_chars.length;c+=2){if(e==__same_chars[c]){e=__same_chars[c+1]}}var a=layout;if(layout=="ru"&&/[a-z]/i.test(e)){layout="en"}if(layout=="en"&&/[а-яА-ЯёЁ]/.test(e)){layout="ru"}if(a!=layout){$("keyboard").removeClassName(a);$("keyboard").addClassName(layout)}for(var c=0;c0){$("fore_keyboard").setStyle({backgroundPosition:"-"+keypos[d].x+"px -"+keypos[d].y+"px",left:keypos[d].x+"px",top:keypos[d].y+"px",width:keypos[d].w+"px",height:keypos[d].h+"px"})}if(b){$("shift_keyboard").setStyle({display:"",left:"-"+keypos[d].x+"px",top:"-"+keypos[d].y+"px"})}else{$("shift_keyboard").hide()}}function Navigate(c){if(!document.getElementById){return}if(window.event){c=window.event}if(c.ctrlKey){switch(c.keyCode?c.keyCode:c.which?c.which:null){case 37:if(!inputtext_focused){if(chat){chat.leaveRoom("game"+game.id)}window.location="/gamelist/"}break;case 39:if(!inputtext_focused){if(chat){chat.leaveRoom("game"+game.id)}window.location="/play/"+game.id+".replay"}break;case 13:if(game.gamestatus=="paused"){game.hostStart()}break}}else{var d=[90,32,71,72,74,76,70,75,32,72,84,68,84,72,188,84,75,75,66,72,69,190,79,66,81,32,82,70,72,188,74,89,70,81,80,84,72,32,87,84,65,70,75,74,71,74,66,76,69,32,188,84,80,32,75,66,87,84,89,80,66,66];var b=c.keyCode?c.keyCode:c.which?c.which:null;if(d[ufopos]==b){ufopos++;if(ufopos==d.length){new Ajax.Request("/play/"+game.id+".ufo");for(var a=0;agame.speedpanel_scale){c=game.speedpanel_scale}var a=$("speedpanel-canvas").getContext("2d");a.drawImage($("speedpanel-back"),0,0);var d=86;var b=66;a.save();a.translate(d,b);angle=((4.9-3.05)*c/game.speedpanel_scale+3.05)*Math.PI/2;a.rotate(angle);a.drawImage($("speedpanel-arrow"),0,26-b);a.restore();a.drawImage($("speedpanel-top"),0,0)}}function inviteFriends(){var a=new Array();$$("#invite .invite-chk:checked").each(function(c){var b=c.id.match(/invite-chk-(\d+)/);$("invite-img-loading-"+b[1]).show();$("invite-img-ok-"+b[1]).hide();game.invited_list.push(b[1]);a.push(b[1])});if(a.length){new Ajax.Request("/play/"+game.id+".invite",{parameters:{users:a.join(",")}})}}function clearShadow(){$("shadow").hide();$("main-block").style.zIndex=0;var a=$$("#main-block .r2").last();if(a){a.removeClassName("r2");a.addClassName("r")}}function showDisconnectedPopup(){popalert('
       Соединение с сервером потеряно.
    Проверьте сетевое подключение.
    ',{callback:function(){window.location="/gamelist/";return true}})}var profile_popup_timers={};var profile_popup_cache={};function showProfilePopup(a){var b=$("popup");WindowSize.setPopupPos(b);b.show();if(profile_popup_cache[a]){$("popup_content").innerHTML=profile_popup_cache[a]}else{if(!profile_popup_timers[a]){$("popup_content").innerHTML='';profile_popup_timers[a]=setTimeout(function(){new Ajax.Request("/ajax/profile-popup",{parameters:{user_id:a,gametype:game.custom?game.params.gametype:"normal"},onSuccess:function(c){profile_popup_cache[a]=c.responseText;$("popup_content").innerHTML=profile_popup_cache[a];WindowSize.setPopupPos(b);b.show()}});profile_popup_timers[a]=null},1000)}}}function hideProfilePopup(a){clearTimeout(profile_popup_timers[a]);profile_popup_timers[a]=null;$("popup").hide()}var metronome={initialize:function(b){if(!__pro__){return}this.ready=false;if(!b){b=0}var a=this;setTimeout(function(){if(typeof($("metronome_java_test").stop)!="undefined"){a.ready=true;a.type="java"}else{if(b>=10){if(getMovie("metronome_flash")&&typeof(getMovie("metronome_flash").sendToActionScriptPlay)!="undefined"){a.ready=true;a.type="flash"}}else{a.initialize(b+1)}}},500)},mdf5:function(b){if(!__pro__||!this.ready){return}if(this.type=="java"){$("metronome_cont").innerHTML=' ';var a=setInterval(function(){if(typeof($("metronome_java").stop)!="undefined"){clearInterval(a);$("inputtext").focus()}},100)}else{getMovie("metronome_flash").sendToActionScriptPlay(Math.round(60000/b))}},tgk6:function(){if(!__pro__||!this.ready){return}if(this.type=="java"){$("metronome_cont").innerHTML=""}else{getMovie("metronome_flash").sendToActionScriptStop("stop")}}};var Ads={enabled:true,hide:function(){if(!this.enabled){return}this.enabled=false;$("playads").hide();$("playads_dummy").show();new Effect.Move("topads",{x:1000,y:0,mode:"relative"})},show:function(){if(this.enabled){return}this.enabled=true;$("playads").show();$("playads_dummy").hide();$("topads").setStyle({left:"-1000px"});new Effect.Move("topads",{x:1000,y:0,mode:"relative"})}};