    //meta - this function returns array(engine,query)
    function referer(){
        engines = [
            {start:'http://www.google.', query:'q', name:'google'},
            {start:'http://yandex.', query:'text', name:'yandex'},
            {start:'rambler.ru/search', query:'query', name:'rambler'},
            {start:'http://go.mail.ru/', query:'q', name:'mailru', cp1251:true},
            {start:'http://www.bing.com/', query:'q', name:'bing'},
            {start:'search.yahoo.com/search', query:'p', name:'yahoo'},
            {start:'http://ru.ask.com/', query:'q', name:'ask'},
            {start:'http://search.qip.ru/search', query:'query', name:'qip'}
        ];
     
        var ref=document.referrer,req="",engine="", start, cp1251;
     
        for (var i in engines){
            if  (!engines.hasOwnProperty(i))
                continue;
            if (ref.indexOf(engines[i].start)==-1)
                continue;
            start = ref.indexOf('?' + engines[i].query + '=') 
            if (start == -1){
                start = ref.indexOf('&' + engines[i].query + '=');
                if (start == -1)
                    return false;
            }
            engine = engines[i].name;
            req = engines[i].query;
            cp1251 = engines[i].hasOwnProperty('cp1251');
        }
        if (!engine)
            return false;
        ref = ref.substr(start + req.length + 2);
        var end = ref.indexOf('&');
        if (end != -1)
                ref = ref.substr(0, end);
        if (cp1251){
            function win2unicode(str) {
                var charmap   = unescape(
                "%u0402%u0403%u201A%u0453%u201E%u2026%u2020%u2021%u20AC%u2030%u0409%u2039%u040A%u040C%u040B%u040F"+
                "%u0452%u2018%u2019%u201C%u201D%u2022%u2013%u2014%u0000%u2122%u0459%u203A%u045A%u045C%u045B%u045F"+
                "%u00A0%u040E%u045E%u0408%u00A4%u0490%u00A6%u00A7%u0401%u00A9%u0404%u00AB%u00AC%u00AD%u00AE%u0407"+
                "%u00B0%u00B1%u0406%u0456%u0491%u00B5%u00B6%u00B7%u0451%u2116%u0454%u00BB%u0458%u0405%u0455%u0457")
                var code2char = function(code) {
                   if(code >= 0xC0 && code <= 0xFF) return String.fromCharCode(code - 0xC0 + 0x0410)
                   if(code >= 0x80 && code <= 0xBF) return charmap.charAt(code - 0x80)
                   return String.fromCharCode(code)
                }
                var res = ""
                for(var i = 0; i < str.length; i++) res = res + code2char(str.charCodeAt(i))
                return res
            }
            ref = unescape(ref);
            ref = win2unicode(ref);
        }
        else
            ref = decodeURIComponent(ref);
            ref = ref.replace(/[+]+/g, ' ')
            return {"engine": engine, "query": ref};
    }
    
    
    //meta - cookie functions
    function SetCookie(cookieName,cookieValue,nDays) {
         var today = new Date();
         var expire = new Date();
         if (nDays==null || nDays==0) nDays=1;
         var seconds = nDays * 24 * 60 * 60 * 1000;
         expire.setTime(today.getTime() + seconds);
         document.cookie = cookieName+"="+escape(cookieValue) + ";expires="+expire.toGMTString();
        }
         
    function getCookie(name) {
        var dc = document.cookie;
        var prefix = name + "=";
        var begin = dc.indexOf("; " + prefix);
        if (begin == -1) {
            begin = dc.indexOf(prefix);
            if (begin != 0) return null;
        } 
        else {
            begin += 2;
        }
        var end = document.cookie.indexOf(";", begin);
        if (end == -1) {
            end = dc.length;
        }
        return unescape(dc.substring(begin + prefix.length, end));
    }

    //START variables data
    var phone = new Array();
    phone['default'] = '+7 (495) 510-23-06';
    phone['alt'] = '+7 (495) 984-04-31';
    var img = {
        'right':{
            'default'   :'/tel.jpg',
            'alt'       :'/tel_1.jpg'
        },
        'bottom':{
            'default'   :'/images/zub_24.jpg',
            'alt'       :'/images/zub_24_1.jpg'
        }
    };
    //var ids = new Array('left-img','bottom-img','phone-number','liwil-phone-number');    
    
    var keywords = new Array("а.м.дент",  "ам дент",  "а.м дент", "а м дент", "а.м. дент","ам. дент", "а. м. дент", "амдент", "amdent", "am-dent");
    
    var engines = new Array('google','yandex','rambler','mailru','bing','yahoo','ask','qip');
    //END of variables
    
    //meta - check if SEO
    
    var ref = referer();
    var query = ref['query'];
    
    if(query){query = query.toLowerCase();}
    
    var check = '';
    if(query){
        check = 'not found';
        for(i=0;i<keywords.length;i++){
            var result = query.indexOf(keywords[i])
            //alert(result);
            if(result != -1){           //found
                //change_all();
                check = 'found';
                break;
            }
            else if(result == -1){      //not found
                //change_all();
                continue;
            }
        }
    }

$(document).ready(function(){
    
    
    
    //changing the text    
    function change_all(cookie){
        $('#phone-number').html(phone['alt']);
        $('#liwil-phone-number').html(phone['alt']);
        $('#left-img').attr('src',img['right']['alt']);
        $('#bottom-img').attr('src',img['bottom']['alt']);
        
        //var time = (1 / 24 / 60 / 60) * 5 //in seconds
        var time = 365;  //in days
        if(cookie != 'seo'){
            SetCookie('liwil_visitor_source','seo',time);
        }
    }
    
    var ref = referer();
    var query = ref['query'];
    
    if(query){query = query.toLowerCase();}
    //alert(getCookie('liwil_visitor_source'));
    //alert(query);
    if(getCookie('liwil_visitor_source') == 'seo'){
        //alert(getCookie('liwil_visitor_source'));
        change_all(getCookie('liwil_visitor_source'));    
    }
    else if(query){
        //alert(query);    
        
/*        for(i=0;i<keywords.length;i++){
            var result = query.indexOf(keywords[i])
            //alert(result);
            if(result != -1){           //found
                //change_all();
                check = 'found';
                break;
            }
            else if(result == -1){      //not found
                //change_all();
                continue;
            }
        }*/
        if(check == 'not found'){
            change_all();    
        }
        //alert(check);
    }
        
    //if(ref === false){alert('direct');}
    //else{alert(alert_string);}
    //alert(alert_string);
});
