var timeout = 300;
j(function(){
	// События -------------------------------------------------------------------------------------------------------------
	j("#bulky").click(function(el){
		j("#bulkyToggle").slideToggle(timeout);
		vBulkyPlace.isRequired = j(this).is(":checked");
	});//.attr("checked", false);
	j("#longPlace").click(function(el){
		j("#longPlaceToggle").slideToggle(timeout);
		vLongPlaceCount.isRequired = j(this).is(":checked");
	});//.attr("checked", false);
	j("#Office").click(function(el){
		j("#officeToggle").slideToggle(timeout);
		vOfficeAddress.isRequired = vOfficeWorkingHours_begin.isRequired = vOfficeWorkingHours_end.isRequired = j(this).is(":checked");
	});//.attr("checked", false);
	
	//Автозаполнение -------------------------------------------------------------------------------------------------------------
	formatIt = function(row,pos,Nitems) {
		var tmpArr = eval(row+';');
		if(tmpArr.length == 1 && tmpArr[0] == '0') return ' ';
		if(tmpArr.length == 1) return tmpArr[0];
		if(tmpArr.length == 3) return tmpArr[1] + ' (' + tmpArr[2] + ' км от ' + tmpArr[0] + ')';
		return "broken!";
	}
	fItem = function(row,pos,Nitems) {
		var tmpArr = eval(row+';');
		if(tmpArr.length == 1 && tmpArr[0] == '0') return "Филиал не найден";
		if(tmpArr.length == 1) return "<img src='/images/logo_small.png' /> "+tmpArr[0];
		if(tmpArr.length == 3) return tmpArr[1] + ' (' + tmpArr[2] + ' км от ' + tmpArr[0] + ')';
		return "broken!";
	}
	j("#Ffrom,#Fto").autocomplete("/ajax/sug_des_calc",{
		max:0,
		cacheLength:1,
		minChars:3,
		delay:300,
		formatItem:fItem,
		formatResult:formatIt
			}).each(function() {
				var nme = j(this).attr('name');
				if (nme == 'Ffrom') {var city = j('#Town');var branch = j('#from');}
				if (nme == 'Fto') {var city = j('#OtprTown');var branch = j('#to');}

				j(this).result(function(ev,data,ft) {
					var tmpArr = eval(data+';');
					if(tmpArr.length == 1) {branch.val(tmpArr[0]);city.val(tmpArr[0]);}
					if(tmpArr.length == 3) {branch.val(tmpArr[0]);city.val(tmpArr[1]);}
					if(tmpArr.length == 1 && tmpArr[0] == '0') {branch.val('');city.val('');}
				});
			});
});

// отправка формы -------------------------------------------------------------------------------------------------------------
function submitTrucking(form){
	if(Spry.Widget.Form.validate(form)){
		Spry.Utils.submitForm(form, function(req){
			j("#orderForm").fadeOut("fast", function(){
				j("#orderConfirm").html(req.xhRequest.responseText).fadeIn("fast");
				trackPageView("/form/trucking_request");
			});
		});
	}
	else {
		alert(fillTruckingFormErrorMessage());
	}
	return false;
}
function fillTruckingFormErrorMessage() {
	var n = 0;
	var result = "";
	if(!vfrom.validate()) {n++;result = result + "«Откуда»\n";}
	if(!vto.validate()) {n++;result = result + "«Куда»\n";}
	if(!vSender.validate()) {n++;result = result + "«Отправитель»\n";}
	if(!vSenderPhone.validate()) {n++;result = result + "«Телефон отправителя»\n";}
	if(!vAddressee.validate()) {n++;result = result + "«Получатель»\n";}
	if(!vAdresseePhone.validate()) {n++;result = result + "«Телефон получателя»\n";}
	if(!vAddress.validate()) {n++;result = result + "«Адрес получателя»\n";}
	if(!vTitle.validate()) {n++;result = result + "«Наименование отправления»\n";}
	if(!vBulkyPlace.validate()) {n++;result = result + "«Количество негабаритных мест»\n";}
	if(!vLongPlaceCount.validate()) {n++;result = result + "«Количество мест длиной более 4-х метров»\n";}
	if(!vOfficeAddress.validate()) {n++;result = result + "«Адрес офиса»\n";}
	if(!vOfficeWorkingHours_begin.validate()) {n++;result = result + "«Время начала работы офиса»\n";}
	if(!vOfficeWorkingHours_end.validate()) {n++;result = result + "«Время завершения работы офиса»\n";}
	if(!n && !vAgreed.validate()) return "Необходимо ознакомиться и согласиться с условиями.";
	if(!n) return "";
	if(n == 1) var result = "Необходимо заполнить поле "+result; else var result = "Необходимо заполнить поля, выделенные красным цветом:\n"+result;
	if(!vAgreed.validate()) result = result+"Также необходимо ознакомиться и согласиться с условиями.";
	return result;
}
