$(document).ready(function(){
	//Динамический select
	var model_auto = $("#model_auto").children();
	$("#mark_auto").change(fdynamSelect = function dynamSelect(){
		$("#model_auto").children().remove();
		var mark_auto = $("#mark_auto").val();
		if (mark_auto != ""){
			$(model_auto).each(function(){
				if ($(this).attr("title") == mark_auto){
					$(this).clone().appendTo($("#model_auto"));
				}
			});
		} else {
			$("#model_auto").append("<option value=''></option>");
		}	
	});
	
	var model_auto_rec = $("#model_auto_rec").children();
	$("#mark_auto_rec").change(fdynamSelectRec = function dynamSelectRec(){
		$("#model_auto_rec").children().remove();
		var mark_auto_rec = $("#mark_auto_rec").val();
		if (mark_auto_rec != ""){
			$(model_auto_rec).each(function(){
				if ($(this).attr("title") == mark_auto_rec){
					$(this).clone().appendTo($("#model_auto_rec"));
				}
			});
		} else {
			$("#model_auto_rec").append("<option value=''></option>");
		}
	});

	//конфиг календаря
	$("#date_record").datepicker({
		changeYear: true,
		yearRange: "-5:+5"	
	});

	fdynamSelect();
	fdynamSelectRec();
	
	//валидация полей форм
	$("#mark_auto").blur(fvalidMarkAuto = function validMarkAuto(){
		valid_input("mark_auto","^(.+){2,20}$","validMarkAuto");
	});
	$("#mark_auto_rec").blur(fvalidMarkAutoRec = function validMarkAutoRec(){
		valid_input("mark_auto_rec","^(.+){2,20}$","validMarkAutoRec");
	});
	$("#model_auto").blur(fvalidModelAuto = function validModelAuto(){
		valid_input("model_auto","^(.+){2,20}$","validModelAuto");
	});
	$("#model_auto_rec").blur(fvalidModelAutoRec = function validModelAutoRec(){
		valid_input("model_auto_rec","^(.+){2,20}$","validModelAutoRec");
	});
	$("#vin_code").blur(fvalidVinCode = function validVinCode(){
		valid_input("vin_code","^[0-9A-Za-z]{17}$","validVinCode");
	});
	$("#vin_code_rec").blur(fvalidVinCodeRec = function validVinCodeRec(){
		valid_input("vin_code_rec","^[0-9A-Za-z]{17}$","validVinCodeRec");
	});
	$("#spare").blur(fvalidSparePart = function validSparePart(){
		valid_input("spare","^(.+?){4,300}$","validSparePart");
	});
	$("#descr_work").blur(fvalidDescrWorkRec = function validDescrWorkRec(){
		valid_input("descr_work","^(.+?){4,300}$","validDescrWorkRec");
	});
	$("#mail").blur(fvalidMail = function validMail(){
		valid_input("mail","^[0-9a-z_]+@[0-9a-z_^\\.]+\\.[a-z]{2,4}$","validMail");
	});
	$("#mail_rec").blur(fvalidMailRec = function validMailRec(){
		valid_input("mail_rec","^[0-9a-z_]+@[0-9a-z_^\\.]+\\.[a-z]{2,4}$","validMailRec");
	});
	$("#time_record").blur(fvalidTimeRec = function validTimeRec(){
		valid_input("time_record","[0-9-\\s:]","validTimeRec");
	});
	$("#date_record").change(fvalidDateRec = function validDateRec(){
		valid_input("date_record","[0-9\.]","validDateRec");
	});
});

/*
Функция проверки введённых данных по шаблону регулярного выражения
id - id элемента, значение которого нужно проверять
filter - шаблон регулярного выражения
idResult - id элемента, в котором будет отображаться результат проверки
*/
function valid_input(id,filter,idResult){
	var inputVal = $("#"+id).val();
	var rule = inputVal.match(filter);
	if(rule != null)
	{
	$("#"+idResult).css({
  "background-image": "url('/forms/images/validyes.png')"
	});
	}
	else {
	$("#"+idResult).css({
  "background-image": "url('/forms/images/validno.png')"
	});
	}
}

//Проверка при отправке формы
function validate_form_send_spare() {
	valid = false;
	mark_auto = document.getElementById("validMarkAuto").style.backgroundImage;
	model_auto = document.getElementById("validModelAuto").style.backgroundImage;
	vin_code_auto = document.getElementById("validVinCode").style.backgroundImage;
	mail = document.getElementById("validMail").style.backgroundImage;
	spare_part = document.getElementById("validSparePart").style.backgroundImage;
	captcha_cod =  document.getElementById("captcha_cod").value;
	if (mark_auto.search(/(validyes)/) != "-1" && model_auto.search(/(validyes)/) != "-1" && vin_code_auto.search(/(validyes)/) != "-1" && mail.search(/(validyes)/) != "-1" && spare_part.search(/(validyes)/) != "-1" && captcha_cod != ""){
		valid = true;
		}
		else {
		alert ("Заполните все поля, отмеченные *, правильно!");
		valid = false;
		}
		return valid;
}

function validate_form_send_record(){
	valid = false;
	mark_auto = document.getElementById("mark_auto_rec").value;
	model_auto = document.getElementById("model_auto_rec").value;
	vin_code_auto = document.getElementById("validVinCodeRec").style.backgroundImage;
	mail = document.getElementById("validMailRec").style.backgroundImage;
	descr_work = document.getElementById("validDescrWorkRec").style.backgroundImage;
	captcha_cod = document.getElementById("captcha_cod_rec").value;
	date_record = document.getElementById("date_record").value;
	time_record = document.getElementById("time_record").value;
	if (mark_auto != "" && model_auto != "" && vin_code_auto.search(/(validyes)/) != "-1" && mail.search(/(validyes)/) != "-1" && descr_work.search(/(validyes)/) != "-1" && captcha_cod != "" && date_record != "" && time_record != ""){
		valid = true;
	} else {
		alert ("Заполните все поля, отмеченные *, правильно!");
		valid = false;
	}
	return valid;
}

//Проверка всех пунктов при наведении курсора на кнопку отправки
function validFormAuto(){
	fvalidVinCode();
	fvalidSparePart();
	fvalidMail();
	fvalidMarkAuto();
	fvalidModelAuto();
}

function validFormRecordSto(){
	fvalidVinCodeRec();
	fvalidMailRec();
	fvalidDateRec();
	fvalidTimeRec();
	fvalidDescrWorkRec();
	fvalidMarkAutoRec();
	fvalidModelAutoRec();
}

//Отображение резальтата отправки сообщения
function showMessage(msg){
	$('body').append("<div id='message'>"+msg+"</div>");
	setTimeout(function(){$("#message").fadeIn("slow");},1000);
	setTimeout(function(){$("#message").fadeOut("slow",function(){$("#message").remove();});},3000);
}
