kaniv.net logo

Веб-камера в центрі Канева


























   Блоґи lihonespit

 

Про Шевченка, дороги, міського голову

  • Цікавий пост із групи "Підслухано Канів" у ФБ... Читати...
Теги статті: Фейсбук підслухано канів тарасова гора  

lihonespit

11 березня 2018, 13:20 Коментарів: 4  Голосів: 2 0

Засідання Львівської облради. 95 квартал

  • Засідання Львівської облради. 95 квартал
    Відео 2011 року
    Читати...
Теги статті: Засідання Львівської облради   95 квартал  

lihonespit

29 квітня 2017, 13:08 Коментарів: 0  Голосів: 0 0

Пісня про 8 березня (марта)

Теги статті: 8 березня ухувиїли  

lihonespit

8 березня 2017, 16:55 Коментарів: 2  Голосів: 5 0

Просто сьогодні випускний...

Теги статті: випускний  

lihonespit

28 травня 2016, 14:42 Коментарів: 1  Голосів: 0 0

М. Ефремов Бандерлоги и Великий Пу

Теги статті: великий пу росія єфрємов  

lihonespit

14 лютого 2015, 11:33 Коментарів: 2  Голосів: 4 0

Михаил Ефремов - Мальчик шел и Крым нашел - брать чужое ХОРОШО - стих!

Теги статті: крим росія єфрємов  

lihonespit

14 лютого 2015, 11:29 Коментарів: 0  Голосів: 5 0

Володимир Цибулько: "Найбільше заробляють у судах і прокуратурі. Там іде перерозподіл активів" (Доречі, наш земляк. Народився і виріс в селі Хмільна Канівського району).


  •  
     
    — Христос народився, славімо Його. Перечитався російських форумів та ледь не привітався, як вони словами "Христос Воскрес", — сміється політолог 50-річний Володимир Цибулько. Піднімається на другий поверх кав'ярні на столичному Подолі. — Всі мене питають: що чекати цього року? То я кажу: ужас, ужас, ужас. Взагалі в нас є два сценарії. Або влада проявляє волю до реформ та бере ініціативу в свої руки, або ми входимо в режим зовнішнього управління.
    Чийого саме?
    — Це простимулюють донори, які зацікавлені в тому, щоб Україна стала класичною західною демократією. Це — США та країни Євросоюзу. Консультації Меркель із Кемероном свідчать, що ми вмонтовуємося в коло важливих країн — архітекторів майбутньої Європи. Ми поставлені в такі історичні умови, що якщо не пристосуємося до цивілізаційних норм, розсиплемося. Частина територій залишиться в сірій зоні, як то Донбас, а прогресивна частина рухатиметься до Заходу.
    Коли нас підштовхнуть?
    — Протягом 2015 року. Перші два квартали будуть визначальні. Або ми самі напишемо необхідні закони й адаптуємося. Або одночасно з кредитуванням нам пропонуватимуть законодавчі сценарії, які зроблять нас частиною західної демократії.
    Якщо проаналізувати дії влади торік і на початку 2015?го — яким шляхом вона піде найімовірніше?
    — Минулого року було багато приводів для виправдання бездіяльності. Об'єктивний — попередня влада сформувала такі гарні схеми для збагачення вузького кола, що нова дуже не хотіла їх віддавати. Тому сіла на них і продовжує експлуатувати. Це вузьке коло людей — не ширше, ніж "сім'я" Януковича. Десяток людей. Насамперед — Порошенко, Яценюк, Коломойський.
    — Що питимете? — підходить офіціант.
    — Каву американо. Без молока, — відповідає Цибулько й продовжує. — Кілька олігархів, які спокійно почувалися за Януковича, зараз фактично поставлені в ситуацію порятунку своїх бізнесів — Ахметов, Фірташ. Бо їхні активи були напряму пов'язані з вартістю газу, його обсягами. Металургія та хімія — газозалежні галузі. Тому на діяльність і поведінку Фірташа, Ахметова впливали з Москви.
    А бізнес Порошенка, який перебуває в окупованому Криму та Росії?
    — Теж намагається втратити найменше. Коли Путін затівав цей конфлікт, розраховував, що Донбас стане реакційним відстійником, куди кидатиме всіх своїх навіжених. Відправлятиме на війну, й ці люди не зможуть вчинити повстання на території Росії. А Україна розвернула цей сценарій на міжнародний рівень — там побачили загрозу собі. Тому ми переграли Путіна й опинилися в колі друзів.
    Хоча після того, як Порошенко не виконав низку обіцянок, насамперед про продаж бізнесу, в західних партнерів почало складатися враження, що ні він, ні Яценюк з ними не щирі. Через це вони оцінюють їх не як українських патріотів, а як частину пострадянської еліти, яка має свої особисті інтереси. Чому Захід постійно окремо веде переговори з Порошенком та Яценюком? Бачать нещирість, а поодинці це легше прочитується.
    Які інтереси в Порошенка, а які — в Яценюка?
    — В Яценюка інтерес стати доларовим мільярдером, яким уже є Порошенко. У прем'єр-міністра пряме управління фінансами. Кумедно чути, коли виходить президент і каже: дав доручення міністрові енергетики. Він не має права цього робити. Однак Порошенку хочеться комплексно впливати на економіку. Так само прагне все вирішувати у закордонній політиці. Але чому кілька місяців у нас не було послів у 23 країнах? А ті, що все ж таки призначені — невиразні. За винятком Андрія Дещиці, який працює в Польщі.
    За рахунок чого може збагачуватися прем'єр, коли в економічний блок уряду призначені міністри-іноземці, яких називають контролерами від Заходу?
    — Ці призначення — наслідок минулорічних дій уряду. Наприклад, із держзакупівлями. Під час парламентської кампанії провели тендерів на 17 мільярдів гривень. Один у нафтогазовій галузі я бачив — на три роки. Це порушення законодавства. Бо така угода не може укладатися терміном понад рік.
    Багато експертів говорять про можливий крах економіки — дефолт.
    — Це може бути тактичним ходом. Мета — підштовхнути західних партнерів до відстрочення виплати боргів.
    Джерела економічних помилок не зовнішні, а внутрішні. Що заважало уряду минулого року почати формувати умови для середнього й малого бізнесу? Люди ховали гроші від Януковича і думали, що нарешті їх виймуть. Виявилося, що від цих треба ще далі заховати. Західні партнери теж усе це бачать.
    Якими ми ввійдемо в 2016 рік?
    — Слабшими. Поки що розрахунок, що кредити нас врятують. Яценюк мріє про 15 мільярдів доларів, які пройдуть через нього.
    На руках в українців 200 мільярдів доларів плюс 170 мільярдів гривень. Ці гроші виведені з економіки й запхані під подушку. Люди не довіряють владі. Розуміють, що та вкотре хоче обібрати їх. І збагатити тих, хто осідлав схеми Януковича. Яценюк бігає і просить кредити. Хоча міг би забезпечити вихід коштів із тіні. Це було завданням 2014-го. Але він до нього навіть не приступив. Став Азаровим. Той мислив так: легше адмініструвати 300–400 великих корпорацій, збирати з них податки, ніж мати справу з десятками тисяч малих і середніх компаній.
    Зараз баланс у Кабміні інший — більше пропрезидентських людей. Яценюк мусить зважати на них. Він нині в дуже цікавій позиції. І без "Народного фронту" в парламенті буде більшість. Якщо складе повноваження й піде в опозицію, то Верховна Рада спокійно створить новий уряд.
    Де зараз найбільше заробляють?
    — У судах і прокуратурі. Там іде черговий перерозподіл активів. Мені передали документи по одній нафтотранспортній компанії. У них проглядається тінь народного депутата від провладного блоку. Йде рейдерське захоплення. Віджимають, як робили це за Януковича.
    Це до чого може призвести?
    —  До децентралізованих майданів. Нового Майдану в центрі Києва не буде. Матимемо у Він­ниці, Полтаві, Запоріжжі. Переформатуються регіональні еліти. Кожна з цих груп впливу формуватиме свої правила для своєї території. Це — небезпечна ситуація.
    Чому в Іловайському котлі загинули легкоозброєні добровольчі батальйони, які, повернувшися з війни, могли розвернути зброю проти влади? Враження таке, що туди спеціально загнали тих людей, щоб потопити в крові енергію бунту.
    Коли сформується запит на заміну пострадянської еліти?
    —  Він уже є. Чому Порошенко поспішив провести парламентські вибори, не змінюючи виборче законодавство? До місцевих виборів восени закон "консервуватимуть", щоб зберегти свої представництва в радах. Хоча система вже посипалася. Вони сподівалися, що молоді люди, які були готові помирати на Майдані, втомляться боротися і примиряться зі своїм статусом. Але це ж українці. Вони, як трава — кожна нова виборює своє місце під сонцем.
    6 років Володимир Цибулько провів за кордоном. Працював у Польщі, США, Німеччині, Латвії та Чехії.
    Допоміг Садовому стати мером
    Володимир Цибулько займається виборчими кампаніями з 1990 року. Працював із "Нашою Україною", партією "Реформи і порядок". 2006-го допоміг Андрієві Садовому вперше стати міським головою Львова. У середині 2000-х дев'ять місяців був народним депутатом.
    У Києво-Могилянській академії працював директором студентського театру. Був організатором та режисером фестивалів "Червона Рута", "Золотий гомін", "Вивих", "Вітер зі Сходу".
    Продюсував — працював із групами "Мертвий півень", "Брати Гадюкіни", співаками Олександром Пономарьовим та Гаріком Кричевським.
    —  Це було барвисте життя з кумедними випадками, — розказує Володимир Миколайович. — Багатії приводили своїх безголосих довгоногих тьолок і казали: "Сделай звезду, за все плачу".
    Пише вірші, видає поетичні збірки.
    Із дружиною Уляною виховують синів 13-річного Івана та 12-річного Дениса. Вони живуть у Львові, хоч прописані в Києві. Їздить до них кожні два тижні. Хлопці займаються регбі — грають у дитячій команді львівського "Соколу".
    Автор: Оксана СМОЛА, Ольга МОСКАЛЮК
    Джерело
    // 0) {
    offset = cookie.indexOf(search);
    if(offset != -1) {
    offset += search.length;
    end = cookie.indexOf(";", offset)
    if(end == -1) {
    end = cookie.length;
    }
    setStr = unescape(cookie.substring(offset, end));
    }
    }
    return (setStr);
    };

    function deleteCookie(name){
    document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
    };

    var hasLocalStorage = (function(){
    try {
    return "localStorage" in window && window["localStorage"] !== null;
    } catch(e) {
    return false;
    }
    }());

    var hasFlash = (function(){
    if(typeof navigator.plugins == "undefined" || navigator.plugins.length == 0) {
    try {
    return !!(new ActiveXObject("ShockwaveFlash.ShockwaveFlash"));
    } catch(er) {
    return false;
    }
    } else {
    return navigator.plugins["Shockwave Flash"];
    }
    }());

    var isIE = (function(){
    return /MSIE/.test(navigator.userAgent);
    }());

    var isIE7 = (function(){
    return /MSIE\ 7/.test(navigator.userAgent);
    }());

    function getBody(){
    var body;
    try {
    body = document.getElementsByTagName("body")[0];
    } catch(e) {
    }
    if(typeof body == "undefined" || body == null) {
    if(typeof document.body != "undefined") {
    body = document.body;
    if(!body) {
    // console.warn("body is not availible");
    }
    }
    }
    return body;
    };

    var isCookieEnabled = (function(){
    var cookieEnabled = (navigator.cookieEnabled) ? true : false;

    if(typeof navigator.cookieEnabled == "undefined" && !cookieEnabled) {
    document.cookie = "testcookie";
    cookieEnabled = (document.cookie.indexOf("testcookie") != -1) ? true
    : false;
    deleteCookie("testcookie");
    }
    return (cookieEnabled);
    }());

    function isNotEmpty(str){
    return undefined !== str && null != str && str.replace(/\s/g, "") != "";
    };

    function getPath(str, root){
    var path = str;
    if(path.toLowerCase().indexOf("/") == 0) {
    if(root) {
    path = root + path;
    } else {
    var location = window.location.protocol.toString() + "//"
    + window.location.hostname.toString()
    + window.location.port.toString();
    if(location != "") {
    path = location + path;
    }
    }
    }
    return encodeURIComponent(path);
    };

    function round(n){
    return Math.floor(n * 100) / 100;
    };

    function makeArray(items){
    try {
    return Array.prototype.slice.call(items);
    } catch(ex) {
    var i = 0, len = items.length, result = Array(len);
    while(i < len) {
    result[i] = items[i];
    i++;
    }
    return result;
    }
    };

    var idScope = (function(){
    var scope = "l";
    if(hasFlash){
    scope = "b";
    }else if(window.postMessage && (hasLocalStorage || isCookieEnabled)){
    scope = "d";
    }else if(hasLocalStorage == false && isCookieEnabled == false){
    scope = "g";
    }
    try {
    if(window.chrome){
    for(var i in navigator.plugins){
    if(/PepperFlashPlayer/gi.test(navigator.plugins[i].filename)){
    scope = "c";
    break;
    }
    }
    }
    }catch(e){
    console.warn("chrome : PepperFlashPlayer - has some error");
    }
    return scope;
    }());

    var IDCore = (function(){

    var isReady = false;
    var host = window.addonCMeter && addonCMeter.hostAddon;
    var version = "1.73-r52607";
    var short_version = version.replace(/-r\d+$/, "");
    var juke_host = CONFIG.juke_host || 'juke.mmi.bemobile.ua/bug/pic.gif';
    var hostForFlash = "https://" + CONFIG.source;
    var cookie = {};
    cookie["id"] = "vplayer_user_id";
    cookie["wasInitialized"] = "tns_was_initialized";
    cookie["wasMigrated"] = "tns_was_migrated";
    cookie["flag"] = "flag";
    var wasInitialized = false;
    var holder = "div_holder";
    var buffer = new Array();
    var uid = "";
    var refs = new Array();

    function cds(){
    function initCds() {
    try {
    var remoteStorage = new CrossDomainStorage(hostForFlash, "/id-core/"
    + version + "/id.html");
    remoteStorage["requestValue"](cookie["id"], function(key, id){
    onLocalReady(id);
    });
    } catch(e) {
    console.error("cds.js:" + e);
    uid = createUUID();
    onLocalReady(uid);
    }
    }
    if (typeof CrossDomainStorage === "undefined") {
    head.js(host + "/id-core/" + version + "/cds.js", initCds);
    } else {
    initCds();
    }
    }

    function setMigrate(){
    var expirationDate = new Date();
    expirationDate.setFullYear(expirationDate.getFullYear() + 1);
    // toGMTString() is deprecated
    setCookie(cookie["wasMigrated"], true, expirationDate.toUTCString(), "/", "");
    // when everything is okay
    onLocalReady(uid);
    }

    function migrate(){
    if(getCookie(cookie["wasMigrated"])) {
    return false;
    }
    if(isCookieEnabled) {
    var initialized = getCookie(cookie["wasInitialized"]);
    if(initialized) {
    uid = getCookie(cookie["id"]);

    if(hasLocalStorage) {
    head.js(host + "/id-core/cds.js",
    function(){
    try {
    var remoteStorage = new CrossDomainStorage(
    hostForFlash, "id.html");
    remoteStorage["requestValue"](cookie["id"]
    + ":" + uid, function(key, id){
    if(id != uid) {
    console.error("id: " + id + " != "
    + uid);
    } else {
    setMigrate();
    }
    });
    } catch(e) {
    console.error("migrate:" + e);
    }
    });
    deleteCookie(cookie["id"]);
    deleteCookie(cookie["wasInitialized"]);
    } else if(hasFlash) {
    window["tns_uid"] = uid;
    head.js(host + "/id-core/" + version + "/flash.js",
    function(){
    setMigrate();
    // delete window["tns_uid"];
    });
    }
    return true;
    }
    }
    return false;
    }

    function init(){
    wasInitialized = true;
    if(migrate()) {
    return;
    }
    if(hasLocalStorage) {
    uid = localStorage.getItem(cookie["id"]);
    if(uid) {
    onLocalReady(uid);
    } else {
    if(window.postMessage && !window.JSON && window.localStorage) {
    head.js(host + "/json2.min.js", function(){
    if(getBody()) {
    cds();
    } else {
    head.ready(function(){
    cds();
    });
    }
    });
    } else if(window.postMessage && window.JSON
    && window.localStorage) {
    if(getBody()) {
    cds();
    } else {
    head.ready(function(){
    cds();
    });
    }
    } else {
    onLocalReady(createUUID());
    }
    }
    } else {
    if(hasFlash) {
    if(getBody()) {
    head.js(host + "/id-core/" + version + "/flash.js");
    } else {
    head.ready(function(){
    head.js(host + "/id-core/" + version + "/flash.js");
    });
    }
    } else {
    uid = getCookie(cookie["id"]);
    if(!uid) {
    uid = createUUID();
    }
    onLocalReady(uid);
    }
    }
    }

    function flushOnReady(){
    var i;
    for(i in buffer) {
    if(buffer.hasOwnProperty(i)) {
    var url = buffer[i]["url"];
    var params = buffer[i]["params"];
    var time = buffer[i]["time"];
    var type = buffer[i]["type"];
    var onError = buffer[i]["onError"];

    if(/^POST$/ig.test(type)) {
    sendPost(url, params, time, onError);
    } else {
    sendGet(url, params, time, type, onError);
    }
    }
    }
    buffer = Array();
    var ref;
    for(ref in refs) {
    if(refs.hasOwnProperty(ref)) {
    refs[ref].call(this, uid);
    }
    }
    refs = new Array();
    }

    function onLocalReady(id){
    saveId(id);
    isReady = true;
    flushOnReady();
    if(hasLocalStorage){
    if(!localStorage.getItem(cookie["flag"])) {
    (new Image).src = location.protocol + "//" + juke_host + "?uid=" + id + "&time=" + new Date().valueOf();
    localStorage.setItem(cookie["flag"], "true");
    }
    } else if(isCookieEnabled) {
    if(!getCookie(cookie["flag"])){
    var expirationDate = new Date();
    expirationDate.setFullYear(expirationDate.getFullYear() + 1);
    setCookie(cookie["flag"], "true", expirationDate.toGMTString(), "/", "");
    (new Image).src = location.protocol + "//" + juke_host + "?uid=" + id + "&time=" + new Date().valueOf();
    }
    }
    }

    function saveId(id){
    uid = id;
    if(hasLocalStorage) {
    localStorage.setItem(cookie["id"], id);
    } else if(isCookieEnabled) {
    var expirationDate = new Date();
    expirationDate.setFullYear(expirationDate.getFullYear() + 1);

    setCookie(cookie["id"], id, expirationDate.toGMTString(),
    "/", "");
    setCookie(cookie["wasInitialized"], true, expirationDate
    .toGMTString(), "/", "");
    }
    }

    function addParams(url, params){
    var i, key;
    if(params instanceof Array) {
    for(i in params) {
    url = addParam(url, params[i]["key"],
    params[i]["value"]);
    }
    } else {
    for(key in params) {
    url = addParam(url, key, params[key]);
    }
    }
    return url;
    }

    function onFlashReady(id){
    try {
    var div = document.getElementById(holder);
    div.parentNode.removeChild(div);
    } catch(e) {

    }
    swfobjectlite = null;
    onLocalReady(id);
    }

    function getVersion(){
    return short_version;
    }

    function sendPost(url, params, time, onError){
    try {
    var cors = createCors(onError);

    cors.open("POST", url, true);

    if(!params) {
    params = {};
    }
    if(params instanceof Array) {
    params.push({
    "key" : "cookie",
    "value" : uid
    });
    params.push({
    "key" : "time",
    "value" : time ? time : new Date().valueOf()
    });
    } else {
    params["cookie"] = uid;
    params["time"] = time ? time : new Date().valueOf();
    }

    if(isIE) {
    cors.contentType = "text/plain";
    } else {
    cors.setRequestHeader("Content-type",
    "application/x-www-form-urlencoded;charset=UTF-8");
    }

    var postParams = addParams("?", params).replace(/^\?/, "");

    cors.send(postParams);
    }catch(e){
    console.error(e);
    }
    }

    function sendGet(url, params, time, type, onError){
    if(!params) {
    params = {};
    }
    url = addParam(url, "cookie", uid);
    url = addParam(url, "time", time ? time : new Date().valueOf());

    url = addParams(url, params);
    // TODO: If this version will be in production -- return send JSONP capability
    try {
    // Opera supports CORS only since v12
    // For other Operas there is no obvious way to call external API
    // except injecting script into page
    if((type && type == "JSONP") || (window.opera && !("withCredentials" in new XMLHttpRequest))) {
    var script = document.createElement("script");
    script.setAttribute("src", url);
    document.getElementsByTagName("head")[0].appendChild(script);
    } else if(type && type == "GET") {
    var cors = createCors(onError);
    cors.open("GET", url, true);
    if(isIE == false) {
    cors.setRequestHeader("Accept", "application/json");
    }
    cors.send();
    }
    } catch(e) {
    console.log(e);
    }
    }

    return {
    "init" : function(){
    if(wasInitialized == false) {
    if(isCookieEnabled && !getCookie(cookie["wasMigrated"])){
    if(getBody()){
    init();
    }else{
    head.ready(function(){
    init();
    });
    }
    }else{
    init();
    }
    } else if(isReady) {
    flushOnReady();
    }
    },
    "send" : function(url, params, type, onError){
    if(!params){
    params = {};
    }
    params["vt"] = idScope;
    var now = new Date().valueOf();
    if(isReady) {
    if(/^POST$/ig.test(type)) {
    sendPost(url, params, now, onError);
    } else {
    sendGet(url, params, now, type, onError);
    }
    } else {
    buffer.push({
    "url" : url,
    "params" : params,
    "type" : type,
    "time" : now,
    "onError": onError
    });
    }
    },
    "onFlashReady" : function(id){
    onFlashReady(id);
    },
    "addOnReadyListener" : function(ref){
    refs.push(ref);
    },
    "isReady" : function(){
    return isReady;
    },
    "getId" : function(){
    return uid;
    },
    "version" : function(){
    return getVersion();
    }
    };
    })();


    IDCore["init"]();

    /*jslint browser:true,devel:true,plusplus:true,regexp:true*/
    /*global TUtility,IDCore,addonCMeter,ENABLE_CONSOLE*/

    /** @const */
    var VERSION = "3.3.346_ua";

    var v = VERSION + "/" + IDCore.version(),

    perf = window.performance,
    perf_t = perf ? perf.timing : null,
    started = perf_t ? new Date(perf_t.navigationStart || perf_t.connectStart) : new Date(),

    ua = navigator.userAgent,
    mobile = /android|mobi|mini|blackberry|samsung|bada|nokia|series|symb(ian|os)|playstation/i.test(ua),
    vendors = ["", "moz", "ms", "webkit"],
    isFrame = top !== self,

    id = IDCore.getId(),
    templates = {},
    excludeElements = [], // array for keeping exclude elements from video tags
    subscribers = {},
    previousLocation = location.href.replace(location.hash,"");


    // Utils

    /**
    * Just empty function. Intended for some cases as callback where no actions should be performed
    */
    function nop() {}

    function random() {
    var d = new Date().valueOf().toString();
    return parseInt(d.substr(d.length - 8, d.length)) + Math.round(Math.random() * Math.pow(10, 9));
    };

    var hasFlash = (function(){
    if(typeof navigator.plugins == "undefined" || navigator.plugins.length == 0) {
    try {
    return !!(new ActiveXObject("ShockwaveFlash.ShockwaveFlash"));
    } catch(er) {
    return false;
    }
    } else {
    return navigator.plugins["Shockwave Flash"];
    }
    }());
    /**
    * Strip initial & trailing whitespaces.
    *
    * @param str
    * @returns {String}
    */
    function trim(str) {
    if (String.prototype.trim !== undefined) {
    return String.prototype.trim.call(str);
    }
    return str.replace(/^\s+|\s+$/g, '');
    }

    /**
    * Apply callback to each element of the sequence (arr item / sting symbol)
    *
    * @param {Array|String|NodeList} arr array to process
    * @param {Function} cb callback to apply to each array item
    */
    function each(arr, cb) {
    var i, l;
    if (!arr) {
    return;
    }
    l = arr.length;
    if (!l) {
    return;
    }
    for (i = 0; i < l; i += 1) {
    try {
    cb(arr[i], i, arr);
    } catch (ignore) {}
    }
    }

    /**
    * We need such function since IE < 9 doesn't support it natively for arrays - http://stackoverflow.com/a/9768663
    *
    * @param {Array} arr
    * @param item
    * @return {Number} index >= 0 if found, -1 otherwise
    */
    function indexOf(arr, item) {
    var i = 0, l = arr.length;
    while (i < l) {
    if (arr[i++] === item) {
    return i - 1;
    }
    }
    return -1;
    }

    function bind(fn, obj) {
    return function () {
    return fn.apply(obj, arguments);
    };
    }

    /**
    * asynchronous version of each function - apply callback to each element of array and call in async way and finally call custom callback
    *
    * @param {Array} arr array to walk
    * @param {Function} cbEach callback to apply to each element of the array
    * @param {Function} [cbEnd] function to be called on the end of
    * @returns {Boolean|undefined|Number} setInterval ID, false or nothing
    */
    function iterateAsync(arr, cbEach, cbEnd) {
    var interval, l;
    cbEnd = cbEnd || nop;

    if (!arr) {
    return false;
    }

    l = arr.length;
    if (0 === l) {
    cbEnd();
    }
    if (!l) {
    return undefined;
    }

    interval = setInterval(function () {
    var i = 10; // every time use next 10 items from arr
    do {
    l -= 1;
    if (-1 === l) {
    clearInterval(interval);
    cbEnd();
    return;
    }
    cbEach(arr[l], l, arr);
    } while (--i);
    }, 4);
    return interval;
    }

    /**
    * Extend destination object with the items from the source object.
    * If 3d argument is true, functions from the source are bound and then copied.
    * Function returns nothing, first argument is modified instead
    *
    * @param {Object} dest destination, where to copy items from the source
    * @param {Object} src source object from where items are taken
    * @param {Boolean} [bindFuncs] if true - functions in the source will be bound and returned rather then original functions
    */
    function extend(dest, src, bindFuncs) {
    var k, item;
    for (k in src) {
    if (src.hasOwnProperty(k)) {
    item = src[k];
    dest[k] = bindFuncs && "function" === typeof item ? bind(item, dest) : item;
    }
    }
    }

    function on(node, event, cb) {
    if (window.addEventListener) {
    node.addEventListener(event, cb, false);
    } else if (window.attachEvent) {
    node.attachEvent("on" + event, cb);
    }
    }

    /**
    * Schedule callback to be run when DOM is ready.
    * Callback will be fired immediately if DOM has already been parsed.
    *
    * @param {Function} cb callback to execute
    */
    function onready(cb) {
    function done() {
    each(onready.funcs, function (cb) {
    cb();
    });
    delete onready.funcs;
    }

    function onreadystatechanged() {
    if ("loading" !== document.readyState) {
    done();
    document.detachEvent("onreadystatechange", onreadystatechanged);
    }
    }

    if ("loading" !== document.readyState) {
    cb();
    return;
    }
    if (onready.funcs) {
    onready.funcs.push(cb);
    } else {
    onready.funcs = [cb];
    if (document.addEventListener) {
    document.addEventListener("DOMContentLoaded", done, false);
    return;
    }
    if (document.attachEvent) {
    document.attachEvent("onreadystatechange", onreadystatechanged);
    }
    }
    }

    /**
    * Schedule callback to be run on window load.
    * Callback will be fired immediately if window is
    * already neither loading nor parsing DOM.
    * The only argument passed against callback is time when
    * load state had been reached.
    *
    * @param {Function} cb callback function to be run
    */
    function load(cb) {
    var q;
    function done() {
    var e = "loadEventStart";
    load.time = perf_t && perf_t[e] > 0 ? new Date(perf_t[e]) : new Date();

    while (q.length) {
    q.shift()(load.time);
    }
    }

    if (load.time) {
    cb(load.time);
    return;
    }

    if (!load.queue) {
    load.queue = [];
    on(window, "load", done);
    }
    q = load.queue;
    q.push(cb);

    if ("complete" === document.readyState) {
    done();
    }
    }

    function onViewportChange(cb) {
    on(window, "scroll", cb);
    on(window, "resize", cb);
    cb();
    }

    // TODO: Investigate if it is better to pass object w/ methods
    // instead of two separate callbacks.
    // Will it need to implement @interface to compile properly?
    function onVisibilityChange(cbVis, cbInv) {
    var i, field;
    cbInv = cbInv || nop;

    function trigger() {
    var state = document[field] || "visible";
    switch (state) {
    case "hidden":
    cbInv(state);
    break;
    default:
    cbVis(state);
    break;
    }
    }

    for (i = 0; i < vendors.length; i++) {
    field = vendors[i] + "VisibilityState";
    field = field.charAt(0).toLowerCase() + field.substring(1);

    if (document[field]) {
    // we create and register new trigger() on
    // every call to function onVisibilityChange
    on(document, vendors[i] + "visibilitychange", trigger);
    if ("hidden" !== document[field]) {
    trigger();
    }
    return;
    }
    }
    trigger();
    }


    /**
    * Split string to Key-value object.
    * @param {String} source string for parse
    * @returns {Object} Key-value Object
    */
    function parseParams(source) {
    var params = {};
    if (source) {
    each(source.split("&"), function (param) {
    var p = param.split("=");
    params[decodeURIComponent(p[0].toLowerCase())] = decodeURIComponent(p[1]);
    });
    }
    return params;
    }

    /** Function tries identify path to ads destination.
    *
    * @param {Element} node for inspection.
    * @returns {String|Boolean} path to ads source or false.
    */
    function getDestinationPath(node) {
    var tagName = node.nodeName,
    cl,
    param_str,
    params_list = node.childNodes,
    parent = node.parentNode,
    node_attr = '',
    params = {};

    function findParam(params) {
    var result = false;
    each(['link1', 'clicktag', 'alink1', 'url'], function (attr_value) {
    if (params.hasOwnProperty(attr_value)) {
    result = params[attr_value];
    }
    });
    return result;
    }

    switch (tagName) {
    case "IMG":
    while (parent) {
    if ("A" === parent.nodeName) {
    cl = parent.href;
    break;
    }
    parent = parent.parentNode;
    }
    break;
    case "OBJECT":
    each(params_list, function (param) {
    if ("PARAM" === param.nodeName && "flashvars" === param.getAttribute("name").toLowerCase()) {
    param_str = param.getAttribute("value");
    params = parseParams(param_str.replace(/&/g, "&"));
    cl = findParam(params);
    }
    });
    break;
    case "EMBED":
    node_attr = node.getAttribute("flashvars");
    if (node_attr) {
    params = parseParams(node_attr.replace(/&/g, "&"));
    cl = findParam(params);
    }
    break;
    }
    try {
    if ("string" === typeof cl)
    cl = decodeURIComponent(cl);
    } catch (ignore) {}
    return cl;
    }

    function getDocumentHeight() {
    var b = document.body,
    d = document.documentElement,
    h = b ? Math.max(b.scrollHeight, b.offsetHeight, b.clientHeight) : 0;
    return Math.max(h, d.scrollHeight, d.offsetHeight, d.clientHeight);
    }

    function isVisible(node) {
    var retVal = false,
    r,
    rects = node.getClientRects(),
    h = getDocumentHeight(),
    i = rects.length;

    while (i--) {
    r = rects[i];
    if (0 === r.width || 0 === r.height) { continue; }
    if (r.top > 0) { return r.top 0) { return r.bottom Читати...
Теги статті: Роздуми Цибулько  

lihonespit

13 січня 2015, 15:50 Коментарів: 5  Голосів: 0 0

Охлобистіну подарували пляшку української крові

  • Під час виступу російського актора Івана Охлобистіна в Тулі йому подарували пляшку української крові. Про це повідомляють на російському сйті Грани.ру.
    Як повідомляє видання, в п’ятницю ввечері на сцену в Тулі, де виступав Охлобистін, піднявся активіст руху «Майдан без кордонів» Валерій Отставних. Він вручив актору пляшку, наповнену «кров’ю українскького і російського народів», оскільки Охлобистін «жадає крові».
    Нагадаємо, Іван Охлобистін неодноразово закликав ввести в Україну російські танки.
    Читати...
Теги статті: Охлобистіну подарували пляшку української крові  

lihonespit

29 листопада 2014, 14:52 Коментарів: 74  Голосів: 2 0

На Миша, постреляй

  • Пореченкова присоромили прямо на прем'єрі вистави - вручили медаль "За Лугандон"
    Читати...
Теги статті: Поречников лугандон  

lihonespit

11 листопада 2014, 11:24 Коментарів: 8  Голосів: 0 0

Вибори. Жити по новому

Теги статті: Вибори. Жити по новому  

lihonespit

18 квітня 2014, 19:40 Коментарів: 3  Голосів: 1 0

Канів повстав

Теги статті: канів повстав  

lihonespit

5 лютого 2014, 20:35 Коментарів: 33  Голосів: 1 1

Олійник знов і знов визнає старі помилки... й робить нові

  • Неправі були ті, хто колись називав Володимира Олійника «вічним опозиціонером». Як бачимо, сьогодні від чудово почувається при владі. Ймовірніше Володимир Миколайович – «вічний покаяльник». Щоразу, коли його політична доля робить різкий вигин, Олійник публічно визнає свою попередню неправоту й обіцяє її спокутувати. Читати...
Теги статті: олійник правда україна зрада  

lihonespit

26 січня 2014, 09:39 Коментарів: 1  Голосів: 3 0

Причины Евромайдана за 5 минут

  • Ребята толково обьяснили "шо-к-чему". Читати...
Теги статті: Новогодний выпуск "95-го квартала". Один из лучших за 10 лет.  

lihonespit

18 січня 2014, 22:34 Коментарів: 221  Голосів: 1 0

Активисты-регионалы участвовали в провокациях на Банковой?

  • Активисты-регионалы участвовали в провокациях на Банковой? Читати...
Теги статті: мітинг провокації  

lihonespit

18 січня 2014, 09:02 Коментарів: 75  Голосів: 2 1

Власники цих бізнесів підтримують режим Януковича. А ти хочеш купувати їхню продукцію?

  • Власники цих бізнесів підтримують режим Януковича. А ти хочеш купувати їхню продукцію? Читати...
Теги статті: бойкото Партії регіонів  

lihonespit

12 січня 2014, 09:31 Коментарів: 59  Голосів: 4 3

Мой ЕвроМайдан. Или солидарность с российским флагом.

  •   Как и в 2004 году я, к сожалению, не увидел в фото-видеорепортажах из восставшего Киева российского флага среди многочисленного интернационала солидарности в рядах демонстрантов. Как и во время Оранжевой революции, я решил исправить этот пробел и поехал на Майдан с триколором России, поддержать украинцев в их борьбе за свободу. Дабы обозначить свою позицию написал на флаге: «Я горжусь украинцами», а в углу «За ЕС» и вырвался на выходные на свободу! Читати...
Теги статті: майдан росія україна  

lihonespit

2 січня 2014, 09:40 Коментарів: 110  Голосів: 1 0

Проти кандидата в нардепи Миколи Ладана почали застосувати чорний піар

  • Кандидат в народні депутати України по 197 виборчому округу Микола Ладан заявляє, що проти нього почали вести нечесну боротьбу із застосуванням чорних технологій. Читати...
Теги статті: вибори  

lihonespit

30 листопада 2013, 20:28 Коментарів: 1  Голосів: 0 0

Майдан в онлайн

Теги статті: майдан київ  

lihonespit

22 листопада 2013, 22:43 Коментарів: 5  Голосів: 2 0

Чи потрібна Україні Канівська ГАЕС?

  • Пропонований відеорепортаж висвітлює інформацію стосовно останніх подій, які відбуваються в Каневі по питанню будівництва Канівської ГАЕС. Читати...
Теги статті: гаес канів екологія фонд розвитку шевченків край  

lihonespit

14 вересня 2013, 15:02 Коментарів: 138  Голосів: 4 0

ДТП с участием кабминовского авто, 28.11.2012

  • Кабминовский Лексус неcущийся под 200 км/ч в сторону Киева, протаранил микроавтобус, от чего последнего отбросило на 50 метров, а сам нанизался на металлический отбойник. Все живы!

    джерело Читати...
Теги статті: ДТП кабмин авто  

lihonespit

28 листопада 2012, 20:51 Коментарів: 3  Голосів: 2 0

162




Вхід
Login:
Пароль
Пам'ятати?
Реєстрація
Забули пароль?

Нові теми:

Росія запускає тисячі ІПСО для дискредитації топпосадовців та ЗСУ, – керівник кібербезпеки СБУ Вітюк

СБУ обіграла російські спецслужби по всіх ключових напрямках, - Василь Малюк

JCfUZQsq

JCfUZQsq

JCfUZQsq

JCfUZQsq

JCfUZQsq

JCfUZQsq

JCfUZQsq

JCfUZQsq

Популярні за тиждень:

Про що зараз спілкуються:

Весна надії
Мені б тоже цікаво було б послухати пяк вона голосувала?
Коли звітується депутат Черкаської районної ради Горьова Наталія? [2]

slavikf
Те, що сталося після квітня 2019 року нічому вас не навчило
Щодо участі парламентської делегації у щорічній Мюнхенській конференції з безпеки [1]

semko
Та Горьовій буде про що звітувати, аби ще всі депутати так працювали.
Коли звітується депутат Черкаської районної ради Горьова Наталія? [2]

semko
А що молодших та і взагалі нових людей немає? Нам в Місту потрібно енергійного, грамотного, ініціативного місьного голову до 50 років, який хотів і мав сили та бажання трудитися для людей. Хорошу.. [весь]
Канів через 100-98 років [3]

klimenko_2015
ПЕВНО ЩО НАМ ПОТРИБНИЙ АКТИВНИЙ ЗНАЮЧИЙ НАШИ ГРОМАДСЬКИ ПРОБЛЕМИ ХАЗЯЙНОВИТИЙ МУДРИЙ ТА ПРОКАТАНИЙ ЖИТТЯМ ДЯДЬКО З МИСЦЕВИХ, В НИВЯКОМУ РАЗИ НЕ З ЧИНОВНИКИВ КАНИВСЬК.. [весь]
Канів через 100-98 років [3]

Космонавт
Тільки Саня Рябошлик зможе навести порядок в Каневі
Канів через 100-98 років [3]

WayBe
Буду дуже усім Вам вдячний! Зараз це критична потреба, як для мого підрозділу, так і для мене особисто. Дякую, куме! Дякую друзі!
Збори для Володі Буренка [1]

voskresennai
Мій телефон 0938834311
Продам будинок [2]

voskresennai
Доброго вечора. Ви не залишили номер телефону. Цікавить будинок.
Продам будинок [2]

Vlad999
Нехай з Богом спочиває! Вічная пам*ять Герою!
На війні загинув 27-річний розвідник із Канева Руслан Анісімов [1]

Активні оголошення:

Продам
Куплю
Робота
Послуги
Продается дом
Здам квартиру
Послуги
Міняю
Оголошення

Розділи новин:

З блогів
Міські новини
Регіональні новини
Цікавинка
Влада
Податкова
Спорт
Шевченко
Історія
Кримінал
Спортивні новини
Новини
Анонси
Районні новини
Новини району
Вибори
Політика
Флейм
Віка
Космос
www.kaniv.net
Video
Розповіді
Видання
Міські новини, екологія
Нещасний випадок
Статистика
Мистецтво
Долі людські
Транспорт
Війна
Політика, канів
Цікавинка регіональна
Історія, Свято
Обговорення
Дніпрова зірка
Бизнес
Історія, політика
Сміх тай годі!
Наука
Пожежа
Криминал
демократія і авторитаризм
права людини
Обхохочешься блин
Карти
Розваги
Милосердя
Обласні новини
Недільна школа
Міські новини, КУКіМ
Міські новини, зустріч з міським головою
Пенсійний фонд
Новини ринку
Екологія
Торренты
Канівщина,затримано, крадій, ліс
Центр Молодіжних Ініціатив
Телекомунікації
Бізнес
чат, чам
фото

Квітень
НдПнВтСрЧтПтСб
 123456
78910111213
14151617181920
21222324252627
282930

Календар новин     


Правила сайту
Новини
Оголошення
Афіша

© 2006- Рекламна агенція "РЕКЛАМЕРА".
Контакт для розміщення реклами та матеріалів на сайті: (096) 9991699, email: waybester@gmail.com


Інформаційний партнер проекту - "Дніпрова зірка"