/*
	Realty_v2
 */
jQuery.extend(jQuery.validator.messages, {
		required: "Это поле необходимо заполнить",
		remote: "Пожалуйста, введите правильное значение",
		email: "Пожалуйста, введите корректный адрес электронной почты",
		url: "Пожалуйста, введите корректный URL",
		date: "Пожалуйста, введите корректную дату",
		dateISO: "Пожалуйста, введите корректную дату в формате ISO",
		number: "Пожалуйста, введите число",
		digits: "Пожалуйста, вводите только цифры",
		creditcard: "Пожалуйста, введите правильный номер кредитной карты",
		equalTo: "Пожалуйста, введите такое же значение ещё раз",
		accept: "Пожалуйста, выберите файл с правильным расширением",
		maxlength: jQuery.validator.format("Пожалуйста, введите не больше {0} символов"),
		minlength: jQuery.validator.format("Пожалуйста, введите не меньше {0} символов"),
		rangelength: jQuery.validator.format("Пожалуйста, введите значение длиной от {0} до {1} символов"),
		range: jQuery.validator.format("Пожалуйста, введите число от {0} до {1}"),
		max: jQuery.validator.format("Пожалуйста, введите число, меньшее или равное {0}"),
		min: jQuery.validator.format("Пожалуйста, введите число, большее или равное {0}")
});

jQuery.validator.addMethod("not_empty_text", function(value, element) {
	return (value.length > 3);
}, "Обязательное поле должно состоять более, чем из трех букв.");

jQuery.validator.addMethod("not_empty", function(value, element) {
	return (value != 0 && value != '');
}, "Не заполнено обязательное поле");

jQuery.validator.addMethod("phone", function(value, element) {
	if ( value.length == 0 )
		return this.optional(element) || false;
	value = value + ',';
	return /^((\d\d\d-\d\d-\d\d|\(\d\d\d\) \d\d\d-\d\d-\d\d|\(\d\d\d\d\) \d\d-\d\d-\d\d|\(\d\d\d\d\d\) \d-\d\d-\d\d|8-\d\d\d-\d\d\d-\d\d\d\d|\+7-\d\d\d-\d\d\d-\d\d\d\d)\,\s*){1,2}$/.test(value);
}, "Телефон не соответствует установленному формату");

jQuery.validator.addMethod("price", function(value, element) {
	value = value.replace(',','.');
	value = value.replace(' ','').replace(' ','').replace(' ','').replace(' ','');
	var deal = $('#i_deal select').val();
	var rubric = $('#i_rubric select').val();
	var subrubric = $('#i_subrubric select').val();
	
	if ( deal == 'sell' || deal == 'buy' ) {
		if ( $('#i_PriceUnit').val() != 1 ) {
			var BuildingArea = parseInt($('#i_BuildingArea').val());
			if ( $('#i_PriceUnit').val() == 3 )
				BuildingArea *= 100;
			else if ( $('#i_PriceUnit').val() == 4 )
				BuildingArea *= 10000;
			value *= BuildingArea;
		}
		if ( rubric == 'residential' ) {
			if ( value > 200000 )
				return false;
		} else if ( rubric == 'land' ) {
			if ( value > 900000 )
				return false;
		} else if ( rubric == 'garage' ) {
			if ( value > 5000 )
				return false;
		}
		else if ( rubric == 'commerce' || rubric == 'foreign' ) {
			if ( value > 500000 )
				return false;
		}
	} else {
		if ( $('#i_PriceUnit').val() == 2 )
			value *= 30;
		if ( rubric == 'residential' && (subrubric == 'new' || subrubric == 'secondary') ) {
			if ( value > 300000 )
				return false;
		} else if ( rubric == 'residential' && (subrubric == 'houses') ) {
			if ( value > 500000 )
				return false;
		} else if ( rubric == 'residential' && (subrubric == 'gardens') ) {
			if ( value > 300000 )
				return false;
		} else if ( rubric == 'land' ) {
			if ( value > 500000 )
				return false;
		} else if ( rubric == 'garage' ) {
			if ( value > 50000 )
				return false;
		} else if ( rubric == 'commerce' ) {
			if ( value > 20000000 )
				return false;
		} else if ( rubric == 'foreign' ) {
			if ( value > 300000 )
				return false;
		}
	}
	
	return true;
}, "Вы ввели слишком большую цену");

jQuery.validator.addMethod("address", function(value, element) {
	if ( $('.location-suggest-v', $(element).parent()).val() == '' )
		return false;
	return true;
}, "Вы не заполнили адрес");

jQuery.validator.addClassRules({
	Firm: {
		not_empty: true,
		not_empty_text: true
	},
	not_empty: {
		not_empty: true
	},
	priceInput: {
		not_empty: true,
		number: true,
		price: true
	},
	address: {
		address: true
	},
	Name: {
		not_empty: true,
		not_empty_text: true
	}
});
