/* Добавление заявки */
function coins_tryAddToReqs(i_piaster_id) {
	$('[id=goodcard_'+i_piaster_id+']').append("<div class=\"vrl\"></div>");
	$('[id=goodcard_'+i_piaster_id+'] .vrl').fadeTo('fast', 0.66);
	//
	var hdl = function(oResponce) {
		iElementId = oResponce.iElementId;
		iCount = oResponce.iCount;
		s_addinfo = oResponce.addinfo;
		coins_onAfterAddToReqs(iElementId, iCount, s_addinfo);
	}

	lLt.getInstance().execRemoteJs("/catalog/json_add_to_reqs/"+i_piaster_id+"/?", hdl, "coins_onAddToReqsComplete", "'"+i_piaster_id+"'");
	//
	return false;
}
function coins_onAfterAddToReqs(i_piaster_id, b_succ, s_addinfo) {
	// результаты операции, переданные вызванным на сервере методом
	if (b_succ > 0) {
		$('#toreqs_' + i_piaster_id).css('cursor', "default");
		$('#toreqs_' + i_piaster_id).unbind();
		$('#toreqs_' + i_piaster_id).attr({
			href: "javascript:void(0);",
			onclick: "",
			title: "заявка уже сделана вами"
		});

		$('#toreqs_img_' + i_piaster_id).attr({
			src: "/images/notoreqs.gif"
		});

		coins_updatePiastresReqs();
	} else {
		switch (b_succ) {
			case -1:
				alert("Не удалось оставить заявку. Требуется авторизация.");
				break;
			case -2:
				alert("Не удалось оставить заявку. Передан несуществующий идентификатор (" + i_piaster_id + ").");
				//alert(s_addinfo);
				break;
			case -3:
				alert("Не удалось оставить заявку. Ошибка связи с БД.");
				break;
			default:
				alert("Не удалось оставить заявку. Причина не определена.");
				break;
		}
	}
}
function coins_onAddToReqsComplete(s_status, i_piaster_id) {
	// сигнализирует об окончании сетефого запроса + его статус
	if (s_status !== 'success') {
		alert("Не удалось оставить заявку (ошибка связи с сервером). Попробуйте еще раз.");
	}
	//
	$('[id=goodcard_'+i_piaster_id+'] .vrl').remove();
}

/* Удаление заявки */
function coins_tryRemoveReq(i_req_id) {
	$('#reqrow_'+i_req_id).append("<div class=\"vrl\"></div>");
	$('#reqrow_'+i_req_id+' .vrl').fadeTo('fast', 0.66);
	//
	var hdl = function(oResponce) {
		iElementId = oResponce.iElementId;
		iCount = oResponce.iCount;
		s_addinfo = oResponce.addinfo;
		coins_onAfterRemoveReq(iElementId, iCount, s_addinfo);
	}

	lLt.getInstance().execRemoteJs("/catalog/json_remove_from_reqs/"+i_req_id+"/?", hdl, "coins_onRemoveReqComplete", "'"+i_req_id+"'");
	//
	return false;
}
function coins_onAfterRemoveReq(i_req_id, b_succ, s_addinfo) {
	// результаты операции, переданные вызванным на сервере методом
	switch (b_succ) {
		case 0:
			// все нештяг
			$('#reqrow_'+i_req_id).remove();
			if (!$('#gizmo_reqs ul li').length) $('#gizmo_reqs').toggle('fast');
			break;
		case -3:
			alert("Не удалось удалить заявку. Ошибка связи с БД.");
			break;
		case -2:
			alert("Не удалось удалить заявку. Требуется авторизация.");
			//alert(s_addinfo);
			break;
		case -1:
		default:
			alert("Не удалось удалить заявку. Причина не определена.");
			break;
	}
			/* TODO
				$('#toreqs_' + i_piaster).css('cursor', "pointer");
				$('#toreqs_' + i_piaster).unbind();
				$('#toreqs_' + i_piaster).attr({
					href: "#",
					title: "оставить заявку"
				});
				$('#toreqs_' + i_piaster).bind('click', function() {
					coins_tryAddToReqs(i_piaster);
					return false;
				});
				$('#toreqs_img_' + i_piaster).attr({
					src: "/images/toreqs.gif"
				});
			*/
}
function coins_onRemoveReqComplete(s_status, i_req_id) {
	// сигнализирует об окончании сетефого запроса + его статус
	if (s_status !== 'success') {
		alert("Не удалось удалить заявку (ошибка связи с сервером). Попробуйте еще раз.");
	}
	//
	$('#reqrow_'+i_req_id+' .vrl').remove();
}

/* Апдейт гизмы с заявками */
function coins_updatePiastresReqs() {
	$('#gizmo_reqs ul').append("<div class=\"vrl\"></div>");
	$('#gizmo_reqs ul .vrl').fadeTo('fast', 0.66);
	//
	var hdl = function(oResponce) {
		arr_addinfo = oResponce.addinfo;
		coins_onAfterUpdateReqs(arr_addinfo);
	}

	lLt.getInstance().execRemoteJs("/catalog/json_reqs/?", hdl, "coins_onUpdateReqsComplete", "''");
	//
	return false;
}
function coins_onAfterUpdateReqs(arr_reqs) {
	if (typeof(arr_reqs) == 'object' && arr_reqs.length) {
		var i = 0;
		for (i=0; i<arr_reqs.length; i++) {
			var arr_req = arr_reqs[i];
			var i_req = arr_req[0];
			var i_c = arr_req[1];
			var i_sc = arr_req[2];
			var s_krause = arr_req[3];
			var s_c = arr_req[4];
			var s_sc = arr_req[5];
			var s_h1 = arr_req[6];
			var i_piaster = arr_req[7];
			if (!$('#reqrow_' + i_req).length) {
				var o_li = $(document.createElement('LI'));
				o_li.attr('id', "reqrow_"+i_req);
				o_li.prependTo('#gizmo_reqs ul');

				var o_a_link = $(document.createElement('A'));
				o_a_link.attr('href', "/piastres/?c="+i_c + (parseInt(i_sc) ? "&sc="+i_sc : "") + (s_krause.length ? "&ff_krause="+s_krause : ""));
				o_a_link.text(s_c + (s_sc.length ? " / "+s_sc : "") + " / "+s_h1 + (s_krause.length ? " / KM#"+s_krause : ""));
				o_a_link.prependTo("#reqrow_"+i_req);

				var o_a_del = $(document.createElement('A'));
				o_a_del.attr('href', "#");
				o_a_del.addClass("delete");
				o_a_del.bind('click', function() {
					coins_tryRemoveReq(i_req);
					return false;
				});
				o_a_del.prependTo("#reqrow_"+i_req);

				if ($('#gizmo_reqs').css('display') == "none") $('#gizmo_reqs').toggle('fast');
			}
		}
	}
}
function coins_onUpdateReqsComplete(s_status) {
	// сигнализирует об окончании сетефого запроса + его статус
	if (s_status !== 'success') {
		alert("Не удалось обновить список заявок (ошибка связи с сервером).");
	}
	//
	$('#gizmo_reqs ul .vrl').remove();
}
