function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}
 
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function setCookie(name){
       var options = { path: '/', expires: 60 };
       createCookie('cookie', name, options);
       window.location.reload();
}

function vote(id, type, uID) {
	var votes = $("#serv" + id + "-layer").get(0);
	x = Math.round(Math.random()*(20));
	y = Math.round(Math.random()*(20));
	sum = prompt (jtext7 + ' ' + x + ' + ' + y + ' ?', '');	if (sum!=(x+y)) {
		alert(jtext8);
	        return;
	}
	$.get("engine/ajax/ajax.php", { ajax: "vote", id: id, type: type, uID: uID},
	function(data){
		if(data=='thanks')
		{
			var new_rate = votes.innerHTML;
                        if (type == 'up') {
				new_rate++;
			}
			else
			{
				new_rate--;
			}
                        if(!new_rate) new_rate = '0';
			$("#serv" + id + "-layer").html(new_rate);
			alert(jtext);
		}
		else if(data=='already')
		{
			alert(jtext2);
		}
		else if(data=='already2')
		{
			alert(jtext3);
		}
		else if(data=='golmin')
		{
			alert(jtext4);
		}
		else
		{
			alert(jtext5);
		}
	});
}

function cache_update(game){
       var ajax = new lm_ajax();
       var varsString = "";
       ajax.setVar("ajax", "cache" );     
       ajax.setVar("game", game );
       ajax.requestFile = "engine/ajax/ajax.php";
       ajax.method = 'GET';
       ajax.element = 'cache-layer';
       ajax.sendAJAX(varsString);
}

function popup(id, fl) {
       if (fl=='on') document.getElementById(id).style.display = 'block';
       else document.getElementById(id).style.display = 'none';
}

function favourites(uID, sID, act){
	document.getElementById( 'favourites-layer' ).innerHTML = ajax_info;
	var ajax = new lm_ajax();
	var varsString = "";
	ajax.setVar("ajax", "favourites" );     
	ajax.setVar("uID", uID );
	ajax.setVar("sID", sID );
	ajax.setVar("act", act );
	ajax.requestFile = "engine/ajax/ajax.php";
	ajax.method = 'GET';
	ajax.sendAJAX(varsString);
	ajax.onCompletion = function ()
	{
		if(this.response == 'add')
		{
			document.getElementById('favourites-layer').innerHTML = jtext11;
		}
		else
		{
			document.getElementById('favourites-layer').innerHTML = jtext12;
		}
	}
}

function show(name, id) {
	if($( '#'+name +'_' + id ).css( 'display' ) == 'none' ) {
		$( '#'+name +'_' + id ).animate( { height: 'show' }, 300 );
	}
	else {
		$( '#'+name +'_' + id ).animate( { height: 'hide' }, 300, 'linear' );
	}
}

function checkEmail( fieldObject ) {
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)([a-z.0-9]{2,15})+$/;
	if ( !filter.test( fieldObject.value ) ) {
		fieldObject.focus();
		fieldObject.select();
		fieldObject.style.borderColor='#DB8180';
		alert(jtext6);
		return false;
	}
	else return true;
}

function password_test() {
	var password1 = document.getElementById('pass').value;
	var password2 = document.getElementById('repass').value;

	if(password1 != password2 && password2 != '') {
		document.getElementById('status_quality').className = 'status_error';
		$.msgbox("<p>"+jtext10+"</p>", {type: "error", buttons : [{type: "submit", value: "OK"}]});
		return false;
	}
	status_test();
	return true;
}

function status_test(e) {
	var password = document.getElementById('pass').value;
	var username = document.getElementById('mail').value;
	var length = password.length;
	var score = 0;
	var small_ascii_exp = /[a-z]/;
	var big_ascii_exp = /[A-Z]/;
	var num_exp = /[0-9]/;
	var sym_exp = /[\x21-\x2F]|[\x3A-\x40]|[\x5B-\x60]|[\x7B-\x7E]/;
	var status;
	if (password.search(small_ascii_exp) != -1) score++;
	if (password.search(big_ascii_exp) != -1) score++;
	if (password.search(num_exp) != -1) score++;
	if (password.search(sym_exp) != -1) score++;
	if (length == 0) status = '';
	else if (password == username) status = 'coincide';
	else if (length < 4) status = 'short';
	else if (length < 8 || score < 2) status = 'weakpasswd';
	else status = 'ok';

	if(e) {
		if (e.charCode != null && e.charCode != 0) var code = e.charCode;
		else if (e.keyCode) var code = e.keyCode;
		if(code == 9) return false;
	}

	if (status == 'short') {
		document.getElementById('status_quality').className = 'status_bad';
		document.getElementById('status_text').className = 'status_text_bad';
		document.getElementById('status_text').innerHTML = 'короткий (' + length + ' cимвол' + accus125(length, '', 'а', 'ов') + ')';
		return false;
	}
	else if (status == 'coincide') {
		document.getElementById('status_quality').className = 'status_bad';
		document.getElementById('status_text').className = 'status_text_bad';
		document.getElementById('status_text').innerHTML = 'совпадает с логином (' + length + ' символ' + accus125(length, '', 'а', 'ов') + ')';
		return false;
	}
	else if (status == 'badchars') {
		document.getElementById('status_quality').className = 'status_error';
		document.getElementById('status_text').className = 'status_text_error';
		document.getElementById('status_text').innerHTML = 'Недопустимые символы в пароле. Возможно, у вас включена русская раскладка клавиатуры. (' + length + ' символ' + accus125(length, '', 'а', 'ов') + ')';
		return false;
	}
	else if (status == 'badpasswd') {
		document.getElementById('status_quality').className = 'status_error';
		document.getElementById('status_text').className = 'status_text_error';
		document.getElementById('status_text').innerHTML = 'Недопустимый (' + length + ' символ' + accus125(length, '', 'а', 'ов') + ')';
		return false;
	}
	else if (status == 'weakpasswd') {
		document.getElementById('status_quality').className = 'status_intermediate';
		document.getElementById('status_text').className = 'status_text_intermediate';
		document.getElementById('status_text').innerHTML = 'простой (' + length + ' символ' + accus125(length, '', 'а', 'ов') + ')';
	}
	else if (status == 'ok') {
		document.getElementById('status_quality').className = 'status_good';
		document.getElementById('status_text').className = 'status_text_good';
		document.getElementById('status_text').innerHTML = 'надёжный (' + length + ' символ' + accus125(length, '', 'а', 'ов') + ')';
	}
	else {
		document.getElementById('status_quality').className = '';
		document.getElementById('status_text').className = '';
		document.getElementById('status_text').innerHTML = '&nbsp;';
		return false;
	}
}

function accus125(num, word1, word2, word5) {
	if ((num >= 10) && (num <= 20)) return word5;
	else if ((num % 10) == 1) return word1;
	else if (((num % 10) == 2) || ((num % 10) == 3) || ((num % 10) == 4)) return word2;
	else return word5;
}

function checkReview( fieldObject ) {
	if ( !fieldObject.value ) {
		fieldObject.focus();
		fieldObject.select();
		fieldObject.style.borderColor='#DB8180';
		return false;
	}
	else return true;
}

function checkbl( fieldObject ) {
	if ( fieldObject.value < 1 ) {
		fieldObject.focus();
		fieldObject.select();
		fieldObject.style.borderColor='#DB8180';
		return false;
	}
	else return true;
}

function ch_lth() {
	s = 140 - $('#postsender').val().length;
	if( s < 0 ) {
		s_val = $('#postsender').val().substring(0, 140);
		$('#postsender').val(s_val);
		s = 0;
	}
	$('#postcounter').html(s);
	return;
}

function getConfirm(msg) 
{
	if (confirm(msg))
	{
		return true;
	}
	else
	{
		return false;
	}
}

$(document).ready(function() {
	$(':password').keyboardLayout();
});

function displ(nnn) {
if (document.getElementById(nnn).style.display == 'none')
{document.getElementById(nnn).style.display = 'block'}
else {document.getElementById(nnn).style.display = 'none'}
}

jQuery( document ).ready( function($) {
	$('a[rel*=lightmon]').facebox();
})
