var photoCoor = {"lat":"0","lng":"0"}; function initialize() { if(google){ var myLatlng = new google.maps.LatLng(photoCoor.lat,photoCoor.lng); var myOptions = { zoom: 2, center: myLatlng, disableDefaultUI: true, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("map"), myOptions); var marker = new google.maps.Marker({ position: myLatlng, map: map }); } } photoId = 1181025; photoIds = 0; userId = 36956; photoData = {"photo_id":1181025,"user_id":36956,"user_login":"valtsu45","user_name":"Valtteri Mulkahainen","photo_name":"\u041c\u0430\u043c, \u043d\u0435 \u0432\u043e\u043b\u043d\u0443\u0439\u0441\u044f, \u044f \u0443\u0436\u0435 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 ...","src":"http:\/\/ser-apr.35photo.ru\/photos\/20160211\/1181025.jpg","link":"http:\/\/35photo.ru\/photo_1181025\/","bg":333333,"comm_count":56,"photo_see":1349,"photo_fav":5,"photo_rating":218,"var_vote":null,"timeAdd":"11 \u0444\u0435\u0432, 2016","user":{"status":"good"},"buyAllow":0,"photo_type":0,"moder":{"yes":"0","no":"0"},"user_data":{"photo_count":"100"},"photo_desc":"No description<\/i>","exif":true,"tags":null,"other_photos":[{"id":"1690244","src":"http:\/\/ser-apr.35photo.ru\/photos_col\/r2\/338\/1690244_320r.jpg"},{"id":"1649912","src":"http:\/\/ser-apr.35photo.ru\/photos_col\/r2\/329\/1649912_320r.jpg"},{"id":"1636711","src":"http:\/\/ser-apr.35photo.ru\/photos_col\/r2\/327\/1636711_320r.jpg"},{"id":"1415966","src":"http:\/\/ser-apr.35photo.ru\/photos_col\/r2\/283\/1415966_320r.jpg"},{"id":"1412099","src":"http:\/\/ser-apr.35photo.ru\/photos_col\/r2\/282\/1412099_320r.jpg"},{"id":"1407198","src":"http:\/\/ser-apr.35photo.ru\/photos_col\/r2\/281\/1407198_320r.jpg"},{"id":"1398029","src":"http:\/\/ser-apr.35photo.ru\/photos_col\/r2\/279\/1398029_320r.jpg"},{"id":"1287481","src":"http:\/\/ser-apr.35photo.ru\/photos_col\/r2\/257\/1287481_320r.jpg"},{"id":"1283544","src":"http:\/\/ser-apr.35photo.ru\/photos_col\/r2\/256\/1283544_320r.jpg"},{"id":"1281937","src":"http:\/\/ser-apr.35photo.ru\/photos_col\/r2\/256\/1281937_320r.jpg"},{"id":"1269963","src":"http:\/\/ser-apr.35photo.ru\/photos_col\/r2\/253\/1269963_320r.jpg"},{"id":"1257760","src":"http:\/\/ser-apr.35photo.ru\/photos_col\/r2\/251\/1257760_320r.jpg"}],"otherData":"
Taken with: EOS 5D Mark II<\/a><\/div>
Style: Animals<\/a>
<\/div>"}; lastRePost = null; thisPageUrl = "http://valtsu45.35photo.ru/photo_1181025/"; setBgComm = "#444444"; whovotelike = ""; commentTo = "photo_1181025"; allowAddComm = false; jQuery(function( $ ){ SetBG('#333333', '##CCCCCC'); loadComm(); showSimilar(); //resizeAllImages(); ilike.checkAll(); facebookGraph(); showBgBlock(); }); function getPhotoByJson( url ){ showLoadingPhoto( "loading" ); $("#moVotes23").hide(); $.ajax({ type: "GET", dataType: "jsonp", data: {}, url: url, error: function (jqXHR, textStatus, errorThrown) { //console.log("error load Photo"); }, success: function (data) { for (var p in data.data){ if (data.data.propertyIsEnumerable(p)){ //update banner rand = Math.floor(Math.random()*99999999999); clickurl_enc = encodeURI(window.location); $("#a139d7a2").attr( "src", "http://adv.muslib.ru/www/delivery/afr.php?zoneid=4&target=_blank&cb=" + rand + "&ct0=" + clickurl_enc ); //$("#a139d7a2").attr( "src", function ( i, val ) { return val; }); //console.log("banner update: " + $("#a139d7a2").attr( "src" ) ); photoData = data.data[p]; showPhotoByJson(); $("#liveinternetBlock").html( liveinternet() ); //1000x90 $(".ac662eaa").attr( "src", "http://adv.muslib.ru/www/delivery/afr.php?zoneid=5&target=_blank&cb=" + rand + "&ct0=" + clickurl_enc ); return true; }else{ showAlert("Last photo."); return true; } } showAlert("The End. No more photo. Choose other direction"); $( mainPhoto ).hide().fadeIn(100); showLoadingPhoto(); } }); }; function getCommByJson( photoId ){ var url = "http://35photo.ru/show_block.php?type=comments&type2=showAllPhotoComm&photoId=" + photoId; $.ajax({ type: "GET", dataType: "jsonp", data: {}, url: url, error: function (jqXHR, textStatus, errorThrown) { //console.log("error load comm"); }, success: function (data) { //console.log("show comm - ok"); $("#commentsBlock").html( data.data ); loadComm(); } }); }; function showSeriesPohotoPrev(){ //$(".seriesPhotoPrev").remove(); selectPhotoInSeries = 0; $("#zonePhotoInScroll").html(""); $("#zonePhotoInScroll").css("height", "auto" ); //SeriesPhoto if( photoData.series ){ //vertical //$("#zonePhotoInScroll").css("min-height", zonePhotoInScrollH ); //$("#btn_photo_right").hide(); //seriesPoints = $( '
    ' ).appendTo( $("#zonePhotoIn") ).addClass('seriesPhotoPrev'); // console.log('seriestPoints'); $.each( photoData.series, function( index, value ) { //prev // var smallSrc = "http://35photo.ru/photos_series_prev/" + Math.floor( value.id / 1000 ) + "/" + value.id + "_75r.jpg"; // var li = $("
  • ").appendTo( seriesPoints ).attr("id", "seriesRow" + index ); // $('') // .attr("src", smallSrc ) // .attr("height", "100") // .attr("width", "100") // .attr('photo-ids', value.id ) // .attr('photo-src', value.src ) // .on("click", function(){ showPhotoInSeries( index ) } ) // .appendTo( li ); //big var li = $("
    ").appendTo( "#zonePhotoInScroll" ).attr("id", "seriesRowBig" + index ).attr('index-row', index); var serPhoto = $('') .attr("src", value.src ) .addClass("mainPhoto") .attr('photo-ids', value.id ) .on("click", function(){ btnFullScreen.click() } ) .appendTo( li ); //title // if( value.title ){ var description = $('
    ') .addClass("description") .html( value.title ) .appendTo( li ); // } var btnLikeId = 'like2_'+ value.id; var btnLike = $('') .addClass("ilikeitD") .appendTo( description ); $('Like') .appendTo( btnLike ) .on("click", function(){ loadModalWindow('/show_block.php?type=voteClass&type2=cantVote&userId='+userId); return false; }); $(' ' + value.like + '   ') .appendTo( btnLike ) .on("click", function(){ loadModalWindow('/show_block.php?type=voteClass&type2=cantVote&userId='+userId);return false; }); doresize(serPhoto, true ); }); showPhotoInSeries( 0 ); showLoadingPhoto(); //singlePhoto }else{ photoIds = 0; mainPhoto = $('') .addClass("mainPhoto") .appendTo( "#zonePhotoInScroll" ) .on("click", function(){ btnFullScreen.click() } ); $("#btn_photo_right").show(); showPhotoOnDisplay( photoData.src ); doresize(mainPhoto, true ); } if( ( photoData.photo_type == 0 || photoData.photo_type == 1 ) && photoData.buyAllow ) $("#buttonBuyBlock").show(); else{ $("#buttonBuyBlock").hide(); } } function showAuthorPhotos(){ var authorPhotos = $(".authorPhotos"); authorPhotos.html(""); if( photoData.other_photos ){ $.each( photoData.other_photos, function( index, value ) { var authorPhotos = $(".authorPhotos"); var li = $( "
  • " ).appendTo( authorPhotos ); }); } } function showPhotoTags(){ var tagList = $(".tagList"); tagList.html(""); if( photoData.tags ){ $.each( photoData.tags, function( index, value ) { var tagList = $(".tagList"); var li = $( "" + value + "" ).appendTo( tagList ); }); } } function showPhotoInSeries( num, notScroll ){ //showLoadingPhoto( "loading" ); selectPhotoInSeries = num; photoIds = photoData.series[ num ].id; //$( seriesPoints ).find('li').removeClass('active'); $('#seriesRow' + num ).addClass('active'); //if( !notScroll ) $("#zonePhotoInScroll").scrollTo( "#seriesRowBig" + num, 200 ); //fullScreen showSeriesPoints(); showPhotoFull( {src:photoData.series[ num ].src}, selectPhotoInSeries ); //console.log("select " + selectPhotoInSeries); } function showPhotoMenu(){ hrm_data = {1:true}; //no load again show_block_hrm("", "photo_body",1); $("#hrm_1>a").off("click").on("click", function(){ show_block_hrm("", "photo_body",1); return false; }); if( photoData.coor ){ $("#hrm_2").show(); $("#hrm_2>a").off("click").on("click", function(){ show_block_hrm("?type=nearPhotos&photo_id=" + photoId, "photo_body",2); return false; }); }else{ $("#hrm_2").hide(); } if( photoData.exif ){ $("#hrm_3").show(); $("#hrm_3>a").off("click").on("click", function(){ show_block_hrm("?type=exifInfo&photo_id=" + photoId, "photo_body",3); return false; }); }else{ $("#hrm_3").hide(); } } function showPhotoOtherData(){ var otherData = $("#community"); otherData.html(""); if( photoData.otherData ){ otherData.html( photoData.otherData ); } //coor if( photoData.coor ){ $("#map").show(); photoCoor = photoData.coor; initialize(); }else{ $("#map").hide(); } //follow $("#addUserToFav").show(); $("#addUserToFavStatus").hide(); if( photoData.userInFav ){ $("#addUserToFav .unfollow").show(); $("#addUserToFav .follow").hide(); }else{ $("#addUserToFav .unfollow").hide(); $("#addUserToFav .follow").show(); } } function showPhotoByJson(){ //userScrollUsabilty( true ); //$(document).scrollTop( $(".menuLineTop").first().position().top ); photoId = photoData.photo_id; userId = photoData.user_id; avatarSrc = "http://ser-apr.35photo.ru/profile/photos/" + Math.floor( photoData.user_id / 5000) + "/" + photoData.user_id + "_140.jpg"; commentTo = "photo_" + photoId; setBgComm = "#" + photoData.bg; authorLink = "http://35photo.ru/" + photoData.user_login + "/"; thisPageUrl = "http://35photo.ru/photo_" + photoId + "/"; //get url data var ajaxVars = getAjaxVars(); listingBlock = ajaxVars[0] != undefined ? ajaxVars[0] : "author"; ChangeUrl( "Photo page = " + photoId, "/photo_" + photoId + "/#" + listingBlock + "/" + photoId ); getCommByJson( photoId ); showSeriesPohotoPrev(); var url = $(location).attr('href'); decodedUrl = decodeURIComponent(url); //console.log( decodedUrl ); // if( !photoData.series ){ // } showAuthorPhotos(); showPhotoTags(); showPhotoMenu(); showPhotoOtherData(); //share //YaShareInstance.updateShareLink( thisPageUrl + utm_end, photoData.user_name + ( photoData.photo_name ? " - " + photoData.photo_name : "" ) ); //console.log("ya share2"); $("#author_count_photo").attr("href", authorLink ); $("#author_count_photo > .count").html( photoData.user_data.photo_count ); $("#photoAuthor").attr("href", authorLink ); $("#photoAuthor").html( photoData.user_name ); $("#copyrightAuthor>.author").html( photoData.user_name ); $("#copyrightAuthor>.timeAdd").html( photoData.timeAdd ); $("#photoTitle").html( photoData.photo_name ? photoData.photo_name : "//no title" ); $("#userAvatar").attr("href", authorLink ); $("#userAvatar").find(".avator").attr("src", avatarSrc ); $("#photoFav").html( photoData.photo_fav ); $("#photoSee").html( photoData.photo_see ); $("#descPhotoMainBlock").html( photoData.photo_desc ? photoData.photo_desc : "//no description" ); //$("#zonePhotoInScroll").scroll(locateSeriesScreen); if( photoData.photo_type == 4 ){ //Pretendent $(".likeModerBlock").show(); $(".likeBlock").hide(); $(".likeModerBlock .yes").html( photoData.moder.yes ); $(".likeModerBlock .no").html( photoData.moder.no ); if( photoData.user.status == "new"){ $(".likeModerBlock>.votes").show(); $(".likeModerBlock>.approve").hide(); }else{ $(".likeModerBlock>.votes").hide(); $(".likeModerBlock>.approve").show(); } }else{ $(".likeModerBlock").hide(); $(".likeBlock").show(); likeBtnShow( "#likeZone", photoData ); } } function locateSeriesScreen(){ } function locateSeriesScreen_do(){ } function ChangeUrl(title, url) { if (typeof (history.pushState) != "undefined") { var obj = { Title: title, Url: url }; history.pushState(obj, obj.Title, obj.Url); } else { } } function show_next_photo(){ getPhotoByJson( 'http://api.35photo.ru/?method=photo.getNextPrev&direction=next&listing=' + listingBlock + '&photoId=' + photoId); } function show_prev_photo(){ getPhotoByJson( 'http://api.35photo.ru/?method=photo.getNextPrev&direction=prev&listing=' + listingBlock + '&photoId=' + photoId); } function showPhotoOnDisplay( src ){ $('').load( function(){ showLoadingPhoto(); $( mainPhoto ).attr("src", src ).hide().fadeIn(100); //fullScreen showSeriesPoints(); showPhotoFull( {src:src}, selectPhotoInSeries ); }).attr('src',function(){ return src; }).each(function() { if(this.complete){ $(this).load(); } }); } function loadImgToCache( src ){ $('').load(function(){}) .attr('src',function(){ return src; }).each(function() { if(this.complete){ $(this).load(); } }); } function showLoadingPhoto( status ){ if( loadingShowTimer ) clearTimeout( loadingShowTimer ); if( status == "loading" ){ //$( mainPhoto ).hide(); $( "#zonePhotoInScroll").hide(); loadingShowTimer = setTimeout(function() { $( "#loadingPhoto" ).fadeIn(100); }, 200 ); }else{ $( "#loadingPhoto" ).hide(); $( "#zonePhotoInScroll").show(); } } var zonePhotoInScrollH = 0; $(document).ready(function() { mainField2 = $("#zonePhoto"); mainPhoto = $("#mainPhoto"); //noScrollBlock("#zonePhotoInScroll"); // mainPhoto.on("click", function(){ // ; // }); var likeBlock = $( '
    ' + likeBtnText() + '
    ' ).prependTo( "#likeZone" ); var likeModerBlock = $( '
    ' + '
       
    ' + '
    Approve!
    ' + '
    ' ).prependTo( "#likeZone" ); var win_height = $(window).height(); var win_height_available = win_height - 120; $("#zonePhoto").css("min-height", win_height_available + "px" ); $("#zonePhotoIn").css("height", win_height_available + "px" ); zonePhotoInScrollH = ( win_height_available - 20 ) + "px"; //$("#zonePhotoInScroll").css("min-height", zonePhotoInScrollH ); showPhotoByJson( photoData ); $("#btn_photo_left").on("click", function(){ show_next_photo(); return false;} ); $("#btn_photo_right").on("click", function(){ show_prev_photo(); return false;} ); $("#btn_photo_left").css("height", win_height_available + "px" ); $("#btn_photo_right").css("height", win_height_available + "px" ); }); document.onkeydown = checkKey; function show_up_photo(){ if( !photoData.series ) return false; selectPhotoInSeries--; if( selectPhotoInSeries < 0 ) selectPhotoInSeries = photoData.series.length - 1; showPhotoInSeries( selectPhotoInSeries ); } function show_down_photo(){ if( !photoData.series ) return false; selectPhotoInSeries++; if( selectPhotoInSeries >= photoData.series.length ) selectPhotoInSeries = 0; showPhotoInSeries( selectPhotoInSeries ); } function checkKey(e) { e = e || window.event; //console.log( "keypressed = " + e.keyCode ); if( $("textarea:focus").length > 0 ) { return true; } if( $("input:focus").length > 0 ) { return true; } if (e.keyCode == '27') { photoExitFullScreen( false ); return false; } else if (e.keyCode == '37' || e.keyCode == '188') { //prev show_next_photo(); return false; } else if (e.keyCode == '39' || e.keyCode == '190') { //next show_prev_photo(); return false; } else if (e.keyCode == '38') { //up //console.log('up'); show_up_photo(); return false; } else if (e.keyCode == '40') { //down //console.log('down'); show_down_photo(); return false; }else if (e.keyCode == '76') { //like if( $( "#likeZone" ).find('.likePhoto').hasClass('countLikeA') ){ //addToFav if like $( "#likeZone" ).find('.countLikeFav').parent().click(); }else{ $( "#likeZone" ).find('.likePhoto').parent().click(); } return false; } else if (e.keyCode == '70') { //fav //console.log("fav click"); $("#addUserToFav").children().each(function(){ //console.log("fav a"); if( $(this).css("display") != "none" ){ $(this).click(); } }); return false; } } var photoBlock; var photoBlockStart; var photoBlockStop; var photoBlockStatus; var sticky_update_timer; var showPosSeries_timer; var allowShowPhoto = true; var scrollMouseSer; var listingBlock = "author"; var loadingShowTimer; var cantSetLike = true; function sticky_update(){ photoBlockStart = $('#sticky-photo-info-start').offset().top; photoBlockStop = $('#sticky-photo-info-stop').offset().top - photoBlock.height(); var window_top = $(window).scrollTop(); // console.log(photoBlockStart); // if( window_top <= 0 ){ // userScrollUsabilty( true ); // } } function sticky_relocate() { var window_top = $(window).scrollTop(); if (sticky_update_timer) clearTimeout(sticky_update_timer); sticky_update_timer = setTimeout(function() { sticky_update() }, 50 ); // console.log(window_top + "stop:" + photoBlockStop + "; start: " + photoBlockStart); if( window_top > photoBlockStop ){ if( photoBlockStatus != 'stickStop' ){ photoBlock.removeClass('stick'); photoBlock.addClass('stickStop'); photoBlock.css("top", ( photoBlockStop - photoBlock.height() ) + "px" ); photoBlockStatus = 'stickStop'; } } else if (window_top > photoBlockStart) { if( photoBlockStatus != 'stick' ){ photoBlock.css("width", photoBlock.width() + "px" ); photoBlock.addClass('stick'); photoBlock.removeClass('stickStop'); photoBlock.css("top", "" ); photoBlockStatus = 'stick'; } } else { if( photoBlockStatus == 'stick' ){ photoBlock.removeClass('stick'); photoBlock.removeClass('stickStop'); photoBlock.css("top", "" ); photoBlockStatus = ''; } } } $(function () { photoBlock = $('#sticky-photo-info'); sticky_update(); setTimeout(function() { sticky_update() }, 200 ); if( photoBlockStart + photoBlock.height() < photoBlockStop ){ $(window).scroll(sticky_relocate); sticky_relocate(); } }); Photographer Valtteri Mulkahainen - Мам, не волнуйся, я уже большой ... #1181025. 35PHOTO
      10-18 March, last stage voting (short list)   To contribute

    Мам, не волнуйся, я уже большой ...

    No description
    uploaded 11 фев, 2016   Copyright by Valtteri Mulkahainen
    1349
    5
    Юрий Карачев
    Отличный кадр!
    11 фев, 2016
    Юлия Густерина
    Классный кадр!
    11 фев, 2016
    Валерий Козуб
    Great shot!
    11 фев, 2016
    АрсенАл
    классное фото!)
    11 фев, 2016
    Ирина Фурашова
    а мама всё же волнуется, как все мамы
    11 фев, 2016
    Александр Сейд Панов
    Забавная сценка. Смотрю с интересом. Спасибо.
    11 фев, 2016
    Александр Перов
    Славно смотрится!
    12 фев, 2016
    Валерий Пешков
    Очень прикольно...
    12 фев, 2016
    Гагик
    Отлично!
    12 фев, 2016
    Андрей Грачев
    Отлично)
    12 фев, 2016
    Игорь Дубровский
    Классный кадр!
    12 фев, 2016
    Владимир
    Мама всегда начеку! Много не побалуешь. :-)
    12 фев, 2016
    Олег Тыркин
    Ох уж эти мамы...даже на дерево спокойно не дают забраться...)
    12 фев, 2016
    Курочкина Диана
    трогательно)
    12 фев, 2016
    Elizabeth E
    Чудесный кадр!
    12 фев, 2016
    Таймас
    ВАЛЬТЕРИ ОООЧЕНЬ ЛЮБЯТВАС МЕВЕДИ, ТАКИЕ ШЕДЕРЫ ВЫДАЁТЕ!
    12 фев, 2016
    Светлана Щемелева
    Чудесный снимок!
    12 фев, 2016
    Сергей Овчинников
    Продолжение сказки!) Классный снимок!
    12 фев, 2016
    Владимир
    Добрый кадр!
    12 фев, 2016
    Василий Косивцов
    *BRAVO*
    12 фев, 2016
    Scorpio
    хорошая
    12 фев, 2016
    Марина Фомина.
    Мамы всегда волнуются!
    12 фев, 2016
    Yuri Gomelsky
    Отлично!
    12 фев, 2016
    Толмачев Дмитрий
    классные!
    12 фев, 2016
    Александр Чувилин
    Душевный кадр!
    12 фев, 2016
    Лидия Киприч
    12 фев, 2016
    alos
    Мишки-пушистики - отличный момент!
    12 фев, 2016
    Главин Андрей
    Круть несомненная!+
    12 фев, 2016
    Алина Ланкина
    Ой, как здорово!
    comment add by mobile app
    13 фев, 2016
    Антонина
    Прелесть! как мило!
    13 фев, 2016
    Галина
    Замечательный момент!
    13 фев, 2016
    Alexander Krull
    Очень нравится!
    13 фев, 2016
    Григорий Беденко
    трогательно!)
    13 фев, 2016
    Таня She (Aiya)
    Момент какой хороший!
    13 фев, 2016
    Галина Хвостенко
    Трогательный момент! :-)
    14 фев, 2016
    Таня Маркова
    Отлично снято!
    14 фев, 2016
    Оксана Олейниченко
    Какие милые)
    14 фев, 2016
    Дмитрий Д.
    Отличный кадр!
    15 фев, 2016
    Воронцов Игорь
    Отлично!
    17 фев, 2016
    Silfida
    Отличный снимок!
    18 фев, 2016
    алексей овчинников
    Замечательно!
    18 фев, 2016
    Алексей Шандуров
    Славный)
    18 фев, 2016
    Сергей Шабуневич
    Отличный момент!
    21 фев, 2016
    Ашот Григорян
    Отличный снимок!
    26 фев, 2016
    Марина Мудрова
    Замечательный момент! Браво!
    02 мар, 2016
    Михаил Глаголев
    Здорово!
    08 мар, 2016
    Natalya P.
    Супер кадр и название!
    10 мар, 2016
    Rita Gadar
    Отличный кадр!
    13 мар, 2016
    Виктор Зайцев
    Понравилось! Как они Вас подпускают? Ума не приложу)
    18 мар, 2016
    Valtteri Mulkahainen
    Спасибо Виктор. Съемка медведей проводится из укрытия, поэтому фотографа медведи не видят :)
    04 апр, 2016
    Serg
    нравится снимок
    03 апр, 2016
    Матвеев Николай
    Классный момент!
    03 апр, 2016
    Карачкова Татьяна
    классно!
    05 апр, 2016
    Шуриман
    Хороший снимок!
    Для родителей их дети навсегда остаются детьми. Даже когда эти дети сами стали родителями.
    16 апр, 2016
    Евгений Карпенко
    Трогательная сцена!
    28 апр, 2016
    Mauch Larisa
    Замечательный снимок!
    02 сен, 2016



    Like the picture?

    Write a comment!

    To do this, sign in:

    Subscribe and get the best work 35PHOTO 1 time per week

    You can always opt out of receiving the subscription one-click
    Subscribe Now!     OR     Best in Telegram
    Полезные ссылки:

    Android app on Google Play
    About   |   Help   |   Other   |   Models
    18+
    Select language:
    en   ru   uk   cn   fr   de   bg   es   pl   vi   nl   sk   it   id   th   tr   ko
    - promotion
    Design and programming by Kochergin Valery