var CalcunValidate = {
	 validate : function(element) {
	 	
	 	if(!this.replaced) {
	 		this.replaceLabels(element);
	 	} else {
			$(element).validate();
		}
	},
	
	replaceLabels : function(element) {
		$(element + ' input').each(function() {
			$(this).attr('disabled', 'disabled');
		});
		var labels = '[';
		var count = 1;
		for(var x in $.validator.messages) {
			labels += '"validator_' + x + '",';
		}
		labels += '"validator_fake"]';
		
		$.ajax({url: CalcunConfig.basePath + 'Api/Lang/Translate.php', data: {
			labels: labels
		}, 
		dataType: 'json',
		success: function(data) {
			for(var x in data) {
				var label = x.split('validator_')[1];
				$.validator.messages[label] = data[x];
			}
			$(element + ' input').each(function() {
				$(this).attr('disabled', '');
			});
			CalcunValidate.replaced = true;
			CalcunValidate.validate(element);
		}});
	},
	
	replaced : false
};
