function $(object) {
	return document.getElementById(object);
}

function hoverImg(oImg,fileName){
	var regExpFileName = /[^\/]+$/ig;
	oImg.src = oImg.src.replace(regExpFileName,fileName);
}

function toggleError (key) {
	var errors = $('errors');
	
	errors.innerHTML = $('error-' + key).innerHTML;
	errors.style.display = '';
}

function registration () {
	var common = ['photo', 'firstname', 'lastname', 'middlename', 'year', 'month', 'day', 
		'country', 'city', 'email', 'phone', 'card', 'scope', 'captcha'];
	
	for (var i = 0, n = common.length; i < n; ++ i) {
		var field = $('registration-' + common[i]);
		if (!field.value.replace(/\s/, '').length) {
			field.focus();
			toggleError(common[i]);
			return false;	
		}
	}	
	
	var reNonAlpha   = /\d+/;
	if (reNonAlpha.test($('registration-scope').value)) {
		$('registration-scope').focus();
		toggleError('scope_incorrect');
		return;
	}

	var reNonNumeric = /[^\d]+/;
	if (reNonNumeric.test($('registration-card').value)) {
		$('registration-card').focus();
		toggleError('card_incorrect');
		return;
	}
	
	var confirm = $('registration-confirm');
	if (!confirm.checked) {
		confirm.focus();
		toggleError('confirm');
		return false;
	}	
	
	
}

function vote () {
	var error = 'vote';
	for (var i = 1; i < 6; ++ i) {
		if ($('rate' + i).checked) {
			error = '';
			break;
		}
	}

	if (error) {
		error = toggleError(error);
		return false;
	}
	
	if (!$('captcha').value.replace(/\s/, '').length) {
		error = 'captcha_empty';
		document.getElementById('captcha').value = '';
		document.getElementById('captcha').style.border = '1px solid red';

		error = toggleError(error);
		return false;
	}
	
	var postData = 'captcha-keystring=' + $('captcha').value;
	var url = PLUGINS + 'ajax/captcha.php';
	YAHOO.util.Connect.asyncRequest('POST', url, vote_callback_1, postData);
}

var vote_callback_1 = {success : function (o) {
	if (Number(o.responseText)) {
		$('form1').submit();
	} else {
		$('captcha').value = '';
		$('captcha').style.border = '1px solid red';
	
		toggleError('captcha_incorrect');
		return false;
	}
}}

