var game;var params={};var __same_chars=["ё","е","«",'"',"»",'"',"—","-","–","-"];var tplAnonymPlayer=new Template('
Игра заблокирована из-за попытки мошенничества.
Если вы действительно нашли способ обмануть игру, отлично! Может теперь, когда вы достигли своей цели, стоит попрактиковаться в настоящем наборе?
Если вы видите это сообщение по ошибке, обратитесь по адресу 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 зн/мин. Вероятно, это происходит оттого, что вы не владеете слепым методом печати. Узнать, как можно научиться быстрее печатать с помощью Клавогонок, вы можете в разделе «