window.addEvent('domready', function () {
	// BEGIN Calculate symbols:
	if ($('vect_field_comment_content')) {
		vect_symbols_max = vect_symbols_max.toInt();
		var calcCommentSymbols = function() {
			var value = $('vect_field_comment_content').value;
			var value_length = value.length.toInt();
			if (value_length > vect_symbols_max) {
				value = value.substr(0, vect_symbols_max);
				$('vect_field_comment_content').value = value;
			}
			var symbols_left = vect_symbols_max - value.length;
			$('vect_symbols_left').set('text', symbols_left);
		}
		calcCommentSymbols();
		
		$('vect_field_comment_content').addEvent('keypress', calcCommentSymbols);
		$('vect_field_comment_content').addEvent('keyup', calcCommentSymbols);
		$('vect_field_comment_content').addEvent('change', calcCommentSymbols);
	}
	// END Calculate symbols.
	
	// BEGIN Check fields on submit:
	var funcCheckNotAuthFields = function() {
		var error = false;
		if ($('vect_field_user_name')) {
			$('vect_error_field_user_name').set('html', '&nbsp;');
			var value = $('vect_field_user_name').value.trim();
			$('vect_field_user_name').value = value;
			var value_length = value.length;
			if (value_length < 2 || value_length > 50) {
				error = true;
				if (value == '') {
					$('vect_error_field_user_name').set('html', v['lang']['common']['error_field_empty']);
				} else if (value_length < 2) {
					$('vect_error_field_user_name').set('html', v['lang']['common']['error_field_min'].replace("{$count}", "2"));
				} else if (value_length > 50) {
					$('vect_error_field_user_name').set('html', v['lang']['common']['error_field_max'].replace("{$count}", "50"));
				}
			}
		}
		if ($('vect_field_user_email')) {
			$('vect_error_field_user_email').set('html', '&nbsp;');
			var value = $('vect_field_user_email').value.trim();
			$('vect_field_user_email').value = value;
			var value_length = value.length;
			if (value_length > 255) {
				error = true;
				$('vect_error_field_user_email').set('html', v['lang']['common']['error_field_max'].replace("{$count}", "255"));
			}
			if (value != '') {
				var pattern = RegExp("[a-z0-9\.\-_]+@[a-z0-9\.\-_]+\.[a-z0-9\.\-_]+(\.[a-z0-9\.\-_]+)?", "ig");
				if (!pattern.test(value)) {
					error = true;
					$('vect_error_field_user_email').set('html', v['lang']['common']['error_field_wrong']);
				}
			}
		}
		if ($('vect_field_captcha')) {
			$('vect_error_field_captcha').set('html', '&nbsp;');
			var value = $('vect_field_captcha').value.trim();
			$('vect_field_captcha').value = value;
			var value_length = value.length;
			if (value == '') {
				error = true;
				$('vect_error_field_captcha').set('html', v['lang']['common']['error_field_empty']);
			}
		}
		return error;
	}
	
	if ($('form_vect')) {
		$('form_vect').addEvent('submit', function(e) {
			var error = funcCheckNotAuthFields();
			if (error) e.stop();
		});
	}

	if ($('vect_button_submit_vote')) {
		$('vect_button_submit_vote').addEvent('click', function(e) {
			$('vect_error_field_vote').set('html', '&nbsp;');
			var error = funcCheckNotAuthFields();
			var checked = false;
			for (var i = 1; i <= 10; i++) {
				checked = $('vect_field_vote_' + i).checked;
				if (checked) break;
			}
			if (!checked || error) {
				e.stop();
				if (!checked) $('vect_error_field_vote').set('html', v['lang']['common']['error_field_empty']);
			}
		});
	}

	if ($('vect_button_submit_comment')) {
		$('vect_button_submit_comment').addEvent('click', function(e) {
			$('vect_error_field_comment_content').set('html', '&nbsp;');
			var error = funcCheckNotAuthFields();
			var value = $('vect_field_comment_content').value.trim();
			$('vect_field_comment_content').value = value;
			calcCommentSymbols();
			var value_length = value.length.toInt();
			if (value_length < 2 || value_length > vect_symbols_max || error) {
				e.stop();
				$('vect_field_comment_content').focus();
				if (value == '') {
					$('vect_error_field_comment_content').set('html', v['lang']['common']['error_field_empty']);
				} else if (value_length < 2) {
					$('vect_error_field_comment_content').set('html', v['lang']['common']['error_field_min'].replace("{$count}", "2"));
				} else if (value_length > vect_symbols_max) {
					$('vect_error_field_comment_content').set('html', v['lang']['common']['error_field_max'].replace("{$count}", vect_symbols_max));
				}
			}
		});
	}
	// END Check fields on submit.
	
	// BEGIN Captcha change:
	if ($('vect_captcha_change_button') && $('vect_captcha_image')) {
		$('vect_captcha_change_button').addEvent('click', function() {
			var d = new Date();
			$('vect_captcha_image').setProperty('src', v['link']['captcha'] + '?' + d.getMilliseconds());
		});
	}
	// END Captcha change.
});
