function validate(prefix, settings) {
	var siteRootURL = 'http://mypocket.bg/';
	
	var errorMessages = {
							required: 'Полето е задължително.',
							numeric: 'Полето може да съдържа само цифри.',
							invalidMail: 'Моля въведете валиден е-мейл адрес.',
							unique: 'Вече има добавен запис с тази стойност.',
							string: 'Полето може да съдържа само букви.',
							length: 'Максиланият брой символи за това поле е: '
						}
	
	var flag = true;
	
	var numericRegEx = /(^\d+$)|(^\d+\.\d+$)|(^\d+,\d+$)/
	
	for (field in settings) {
		var fieldVal;
		
		switch($('#' + prefix + '_' + field).tagName()) {
			case 'input':
				fieldVal = $('#' + prefix + '_' + field).val();
				break;
			case 'select':
				fieldVal = $('#' + prefix + '_' + field).getSetSSValue();
				break;
			default:
				fieldVal = $('#' + prefix + '_' + field).val();
				break;
		}
		
		for (rule in settings[field]) {
			switch(rule) {
				case 'required':
					if (fieldVal==''){
						$('#' + prefix + '_' + field + '_error').show();
						$('#' + prefix + '_' + field + '_error_td').html(errorMessages.required);
						flag = false;
					}
					else {
						$('#' + prefix + '_' + field + '_error').hide();
						$('#' + prefix + '_' + field + '_error_td').html('&nbsp;');
					}
					
					break;
				case 'numeric':
					if (!numericRegEx.test(fieldVal)) {
						$('#' + prefix + '_' + field + '_error').show();
						$('#' + prefix + '_' + field + '_error_td').html(errorMessages.numeric);
						flag = false;
					}
					else {
						$('#' + prefix + '_' + field + '_error').hide();
						$('#' + prefix + '_' + field + '_error_td').html('&nbsp;');
					}
					
					break;
			}
			
			if (!flag) break;
		}
	}
	
	return flag;
}

$.fn.tagName = function() {
    return this.get(0).tagName.toLowerCase();
}
