function jsRound(num,c)
{
	if (typeof (c) == 'undefined' || c == null)
	{
		return num;
	}

	num = Math.round(num * Math.pow(10,c)) / Math.pow(10,c);

	return num;
}

function SmallFormTester(form)
{
	this.getNumberAtCode = function (form)
	{
		var value = new String(form.keystring.value);

		var symbols_arr = value.split('');
		var sum = 0;
		var x = '';

		for (var i in symbols_arr)
		{
			x = symbols_arr[i].toLowerCase();
			sum = sum + x.charCodeAt(0);
		}
		return jsRound(sum / 30 ,3);
	}

	this.isValid = function (form)
	{
		var kodeStr = this.getNumberAtCode(form);
		var js_key_string = cook.getCookie('js_key_string');

		if (cook.getCookie('js_key_string') == null)
		{
			return true;
		}

		if (kodeStr == js_key_string)
		{
			return true;
		}
		else
		{
			form.keystring.focus();
			alert('Код введен неверно');
			return false;
		}
	}
}


/************************************************************
							Cook ||||_
*************************************************************/

function Cook()
{
	this.setCookie = function (name,value,age,path,domain)
	{
		var cookieString = name+"="+escape(value);

		if (age)
	    {
			var expireDate = new Date();
			var age = age * 24 * 60 * 60 * 1000;
			expireDate.setTime(expireDate.getTime() + age);
			cookieString += "; expires=" + expireDate.toGMTString();
		}

		if (path)
		{
			cookieString += "; path=" + path;
		}

		if (domain)
		{
			cookieString +="; domain=" + domain;
		}
		document.cookie = cookieString;
	}

	this.getCookie = function (name)
	{
		var allCookie = document.cookie.split("; ");
	     for (var i=0;i<allCookie.length;i++)
	     {
	          cookie_name  = allCookie[i].split("=")[0];
	          cookie_value = allCookie[i].split("=")[1];

	          if (cookie_name == name) return unescape(cookie_value);
	     }
	     return null;
	}

	this.deleteCookie = function (name,path,domain)
	{
		var allCookie = document.cookie.split("; ");

		for (var i=0;i<allCookie.length;i++)
		{
			cookie_name  = allCookie[i].split("=")[0];
			cookie_value = allCookie[i].split("=")[1];

			if (cookie_name==name)
			{
				this.setCookie(cookie_name,"",-1,path,domain);
			}
		}
	}
}

var smallFormTester = new SmallFormTester();
var cook = new Cook();
