<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title>Test</title>
<link rel='stylesheet' media='all' href='style.css'>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js' charset='utf-8'></script>
<script type='text/javascript' src='script3.js' charset='utf-8'></script>
<script>
difference = function (pattern, subject)
{
var result = 0;
for (var i = 0; i < subject.length; ++i)
{
for (var j = 0; j < pattern.length; j += 2)
{
if (pattern[j] == subject[i][0] && pattern[j + 1] == subject[i][1])
{
++result;
break;
}
}
}
return 2 * result / pattern.length - (subject.length - result) / subject.length;
}
letter = function (dots)
{
var abc = [];
abc['a'] = [4,1,3,2,5,2,3,3,5,3,2,4,6,4,2,5,3,5,4,5,5,5,6,5,1,6,7,6,1,7,7,7];
abc['b'] = [1,1,2,1,3,1,4,1,5,1,6,1,1,2,7,2,1,3,7,3,1,4,2,4,3,4,4,4,5,4,6,4,1,5,7,5,1,6,7,6,1,7,2,7,3,7,4,7,5,7,6,7];
abc['c'] = [2,1,3,1,4,1,5,1,6,1,1,2,7,2,1,3,1,4,1,5,1,6,7,6,2,7,3,7,4,7,5,7,6,7];
abc['d'] = [1,1,2,1,3,1,4,1,5,1,6,1,1,2,7,2,1,3,7,3,1,4,7,4,1,5,7,5,1,6,7,6,1,7,2,7,3,7,4,7,5,7,6,7];
abc['e'] = [1,1,2,1,3,1,4,1,5,1,6,1,7,1,1,2,1,3,1,4,2,4,3,4,4,4,1,5,1,6,1,7,2,7,3,7,4,7,5,7,6,7,7,7];
abc['f'] = [1,1,2,1,3,1,4,1,5,1,6,1,7,1,1,2,1,3,1,4,2,4,3,4,4,4,1,5,1,6,1,7];
abc['g'] = [2,1,3,1,4,1,5,1,6,1,1,2,7,2,1,3,1,4,1,5,5,5,6,5,7,5,1,6,7,6,2,7,3,7,4,7,5,7,6,7];
abc['h'] = [1,1,7,1,1,2,7,2,1,3,7,3,1,4,2,4,3,4,4,4,5,4,6,4,7,4,1,5,7,5,1,6,7,6,1,7,7,7];
abc['i'] = [1,1,2,1,3,1,4,1,5,1,6,1,7,1,4,2,4,3,4,4,4,5,4,6,1,7,2,7,3,7,4,7,5,7,6,7,7,7];
abc['j'] = [7,1,7,2,7,3,7,4,7,5,1,6,7,6,2,7,3,7,4,7,5,7,6,7];
abc['k'] = [1,1,7,1,1,2,5,2,6,2,1,3,3,3,4,3,1,4,2,4,1,5,3,5,4,5,1,6,5,6,6,6,1,7,7,7];
abc['l'] = [1,1,1,2,1,3,1,4,1,5,1,6,1,7,2,7,3,7,4,7,5,7,6,7,7,7];
abc['m'] = [1,1,7,1,1,2,2,2,6,2,7,2,1,3,3,3,5,3,7,3,1,4,4,4,7,4,1,5,7,5,1,6,7,6,1,7,7,7];
abc['n'] = [1,1,7,1,1,2,2,2,7,2,1,3,3,3,7,3,1,4,4,4,7,4,1,5,5,5,7,5,1,6,6,6,7,6,1,7,7,7];
abc['o'] = [2,1,3,1,4,1,5,1,6,1,1,2,7,2,1,3,7,3,1,4,7,4,1,5,7,5,1,6,7,6,2,7,3,7,4,7,5,7,6,7];
abc['p'] = [1,1,2,1,3,1,4,1,5,1,6,1,1,2,7,2,1,3,7,3,1,4,2,4,3,4,4,4,5,4,6,4,1,5,1,6,1,7];
abc['q'] = [2,1,3,1,4,1,5,1,6,1,1,2,7,2,1,3,7,3,1,4,7,4,1,5,5,5,7,5,1,6,6,6,2,7,3,7,4,7,5,7,7,7];
abc['r'] = [1,1,2,1,3,1,4,1,5,1,6,1,1,2,7,2,1,3,7,3,1,4,2,4,3,4,4,4,5,4,6,4,1,5,5,5,1,6,6,6,1,7,7,7];
abc['s'] = [2,1,3,1,4,1,5,1,6,1,1,2,7,2,1,3,2,4,3,4,4,4,5,4,6,4,7,5,1,6,7,6,2,7,3,7,4,7,5,7,6,7];
abc['t'] = [1,1,2,1,3,1,4,1,5,1,6,1,7,1,4,2,4,3,4,4,4,5,4,6,4,7];
abc['u'] = [1,1,7,1,1,2,7,2,1,3,7,3,1,4,7,4,1,5,7,5,1,6,7,6,2,7,3,7,4,7,5,7,6,7];
abc['v'] = [1,1,7,1,1,2,7,2,2,3,6,3,2,4,6,4,3,5,5,5,3,6,5,6,4,7];
abc['w'] = [1,1,7,1,1,2,7,2,1,3,7,3,1,4,4,4,7,4,1,5,3,5,5,5,7,5,1,6,2,6,6,6,7,6,1,7,7,7];
abc['x'] = [1,1,7,1,2,2,6,2,3,3,5,3,4,4,3,5,5,5,2,6,6,6,1,7,7,7];
abc['y'] = [1,1,7,1,2,2,6,2,3,3,5,3,4,4,4,5,4,6,4,7];
abc['z'] = [1,1,2,1,3,1,4,1,5,1,6,1,7,1,6,2,5,3,4,4,3,5,2,6,1,7,2,7,3,7,4,7,5,7,6,7,7,7];
abc['0'] = [3,1,4,1,5,1,2,2,6,2,1,3,5,3,7,3,1,4,4,4,7,4,1,5,3,5,7,5,2,6,6,6,3,7,4,7,5,7];
abc['1'] = [4,1,3,2,4,2,2,3,4,3,4,4,4,5,4,6,1,7,2,7,3,7,4,7,5,7,6,7,7,7];
abc['2'] = [2,1,3,1,4,1,5,1,6,1,1,2,7,2,7,3,6,4,4,5,5,5,2,6,3,6,1,7,2,7,3,7,4,7,5,7,6,7,7,7];
abc['3'] = [2,1,3,1,4,1,5,1,6,1,1,2,7,2,7,3,5,4,6,4,7,5,1,6,7,6,2,7,3,7,4,7,5,7,6,7];
abc['4'] = [5,1,4,2,5,2,3,3,5,3,2,4,5,4,1,5,2,5,3,5,4,5,5,5,6,5,7,5,5,6,5,7];
abc['5'] = [1,1,2,1,3,1,4,1,5,1,6,1,7,1,1,2,1,3,2,3,3,3,4,3,5,3,6,3,7,4,7,5,1,6,7,6,2,7,3,7,4,7,5,7,6,7];
abc['6'] = [3,1,4,1,5,1,6,1,2,2,1,3,1,4,2,4,3,4,4,4,5,4,6,4,1,5,7,5,1,6,7,6,2,7,3,7,4,7,5,7,6,7];
abc['7'] = [1,1,2,1,3,1,4,1,5,1,6,1,7,1,6,2,5,3,4,4,3,5,2,6,1,7];
abc['8'] = [2,1,3,1,4,1,5,1,6,1,1,2,7,2,1,3,7,3,2,4,3,4,4,4,5,4,6,4,1,5,7,5,1,6,7,6,2,7,3,7,4,7,5,7,6,7];
abc['9'] = [2,1,3,1,4,1,5,1,6,1,1,2,7,2,1,3,7,3,2,4,3,4,4,4,5,4,6,4,7,4,7,5,6,6,2,7,3,7,4,7,5,7];
var max = 0, temp = 0, result = -1;
for (var letter in abc)
{
if ((temp = difference(abc[letter], dots)) >= max)
{
max = temp;
result = letter;
}
}
return result.toUpperCase();
}
solve = function (params)
{
var result = [];
for (var i = 0; i < params.length; ++i)
{
result[i] = [];
}
for (var i = 0; i < params.data.length; i += 2)
{
result[Math.floor((params.data[i] - 1) / params.size[0])].push([Math.floor((params.data[i] - 1) % params.size[0]) + 1, params.data[i + 1]]);
}
for (var i = 0; i < params.length; ++i)
{
result[i] = letter(result[i]);
}
return result.join('');
}
di_captcha_refresh = function ()
{
$.post('./index3.php', {action: 'captcha_refresh'}, function(data)
{
var data = eval(data);
$('#DICaptchaPic').css('width', ((((cell_size + 2) * 6) + (3 * cell_size) + 1) * data[0]));
var html_p_tag = '';
for (var i = 1; i <= 7 * 7 * data[0]; ++i)
{
var style = (i % 7 == 0) ? 'margin-right: ' + 2 * cell_size + 'px;' : '';
for (var j = 0; j < data[1].length; j += 2)
{
style += (((i % (data[0] * 7) == 0) ? (data[0] * 7) : i % (data[0] * 7)) == data[1][j] && Math.ceil(i / (data[0] * 7)) == data[1][j+1]) ? 'background-color: #000;' : '';
}
html_p_tag += '<p' + ((style == '') ? '' : ' style=\'' + style + '\'') + '></p>';
}
$('#DICaptchaPic').html(html_p_tag);
$("#text_captcha").val(solve(
{
size: [7, 7],
length: data[0],
data: data[1]
}));
$("form").submit();
});
}
$(document).ready(function ()
{
$("form").submit(function ()
{
//alert($("form").serialize());
$.post('./index3.php', $("form").serialize(), function (res)
{
$("#count").html($("#count").html() - -1);
if (res.indexOf("шиб") == -1)
{
$("#right").html($("#right").html() - -1);
}
di_captcha_refresh();
});
return false;
});
});
</script>
</head>
<body>
<p id='Title'>Сим-сим, откройся!</p>
<p id='Msg'>
</p>
<form action='index.php' method='post'>
<div id='DICaptchaPic'></div>
<p style='padding: 0 10px;'>
<input type='text' name='text_captcha' id='text_captcha' value='' placeholder='6 символов с картинки'><br><label for='text_captcha'>*aнти-спам</label> <a href='#' onclick='di_captcha_refresh(); return false;'>Не вижу</a>
</p>
<p style='padding: 10px 0;'>
<input type='hidden' name='action' value='captcha_send' />
<input type='submit' name='submit' value='Проверить' />
</p>
</form>
<span id="right">0</span>/<span id="count">0</span>
</body>
</html>
Comments