function AddItem(id, price, currency) {
var fparams=sObj.serialize(new Array(id, price, currency));
fparams="01"+fparams;
ajax_make_request(ajax_host+ajax_script, "ajax/cart/", "AddItem", fparams, Msq_callback);
}
function GetCart() {
ajax_make_request(ajax_host+ajax_script, "ajax/cart/", "GetItems", "", GetItems_callback);
}
function ClearCart() {
ajax_make_request(ajax_host+ajax_script, "ajax/cart/", "ClearCart", "");
}
function Msq_callback(oReq) {
var response=trim(oReq.responseText);
msg_dialog(sObj.unserialize(response));
GetCount();
}
function GetCount() {
ajax_make_request(ajax_host+ajax_script, "ajax/cart/", "GetCount", "", GetCount_callback);
}
function RemoveItem(id) {
var fparams = sObj.serialize(new Array(id, "z"));
fparams="01"+fparams;
ajax_make_request(ajax_host+ajax_script, "ajax/cart/", "RemoveItem", fparams);
}
function GetCount_callback(oReq) {
var response=trim(oReq.responseText);
var c = sObj.unserialize(response);
var prefix = '
';
var inner = 'ВАША КОРЗИНА ПУСТА
';
if (c[0] > 0) {
if (c[1] && parseInt(c[1]) > parseInt(c[0])) {
inner = 'ВСЕГО ТОВАРОВ В КОРЗИНЕ: ' + c[1] + '';
inner += '
из них различных: '+ c[0] +'
';
inner += 'ОБЩАЯ СУММА: ';
}
else {
inner = '
ТОВАРОВ В КОРЗИНЕ: '+ c[0] +'
ОБЩАЯ СУММА: ';
}
inner += '' + c[2] + ' руб.
';
inner += 'очистить корзину
'
}
$("cart_info").innerHTML=prefix+inner+suffix;
}
function GetItems_callback(oReq) {
var response=trim(oReq.responseText);
//var aItems = sObj.unserialize(sObj.unserialize(response));
var aItems = sObj.unserialize(response);
if (aItems == "0") {
$("order_form_box").innerHTML='Ваша корзина пуста.
';
$("order_form_box").style.display="block";
}
else {
$("order_form_box").style.display="block";
for (i=0; i < aItems.length; i++) {
style = ((i%2)>0) ? "cart1" : "cart2";
newrow = '';
newrow +='| '+aItems[i]["name"]+' | ';
newrow +=''+aItems[i]["price"]+' | ';
newrow +=' | ';
newrow +=' | ';
newrow += ' | ';
newrow +='
';
new Insertion.Bottom('order_pos', newrow);
}
recalc();
}
}
function MakeOrder_callback(oReq){
var response=trim(oReq.responseText);
ajax_make_request(ajax_host+ajax_script, "ajax/cart/", "ClearCart", "", nop_callback);
$("order_form").style.display='none';
$("end_order").style.display='inline';
}
function MarkErrorField(infoarray, field) {
if (infoarray[field] == "") {
$(field + "_row").style.backgroundColor = "#f1adc6";
return false;
}
else {
$(field + "_row").style.backgroundColor = "";
return true;
}
}
function MakeOrder(){
var infoarray = new Array();
var ret = false;
infoarray[0] = new Array();
infoarray[0]["contact_name"] = trim($("contact_name").value);
//ret = MarkErrorField(infoarray[0], "contact_name");
infoarray[0]["client_type"] = trim($("type").value);
if (infoarray[0]["client_type"] == 2) {
infoarray[0]["org_name"] = trim($("org_name").value);
//ret = MarkErrorField(infoarray[0], "org_name");
}
infoarray[0]["contact_phone"] = trim($("contact_phone").value);
ret = MarkErrorField(infoarray[0], "contact_phone");
infoarray[0]["contact_mail"] = trim($("contact_mail").value);
ret = MarkErrorField(infoarray[0], "contact_mail");
infoarray[0]["dost_city"] = trim($("dost_city").value);
infoarray[0]["dost_metro"] = trim($("dost_metro").value);
infoarray[0]["dost_index"] = trim($("dost_index").value);
infoarray[0]["dost_street"] = trim($("dost_street").value);
//ret = MarkErrorField(infoarray[0], "dost_street");
infoarray[0]["dost_house"]=trim($("dost_house").value);
//ret = MarkErrorField(infoarray[0], "dost_house");
infoarray[0]["dost_build"] = trim($("dost_build").value);
infoarray[0]["dost_stroenie"] = trim($("dost_stroenie").value);
infoarray[0]["dost_approach"] = trim($("dost_approach").value);
infoarray[0]["dost_floor"] = trim($("dost_floor").value);
infoarray[0]["dost_flat"] = trim($("dost_flat").value);
//ret = MarkErrorField(infoarray[0], "dost_flat");
infoarray[0]["dost_code"] = trim($("dost_code").value);
infoarray[0]["dost_notes"] = trim($("dost_notes").value);
if (ret == true) {
var fparams = sObj.serialize(infoarray);
fparams = "01" + fparams;
ajax_make_request(ajax_host+ajax_script, "ajax/cart/", "MakeOrder", fparams, MakeOrder_callback);
}
else {
msg_dialog("Заполнены не все обязательные поля формы!");
}
}
function step1() {
$("step2").style.display="none";
(btn_bar.getElementsByTagName('input'))[1].value = "Далее";
(btn_bar.getElementsByTagName('input'))[1].onclick = step2;
return recalc();
}
function recalc(commit){
var frm=$('order_form');
var pr_pos=(frm.getElementsByTagName('tbody'))[0].getElementsByTagName('tr');
var summ=0;
var summ_cnt=0;
var newItemsCount = new Array();
newItemsCount[0] = new Array();
var recursion = 0;
for (i=0; i < pr_pos.length; i++) {
var pos_id = pr_pos[i].id;
pos_id = pos_id.replace("pos_","");
(pr_pos[i].getElementsByTagName('input'))[0].disabled = false; //Enabling input fields
price = (pr_pos[i].getElementsByTagName('div'))[0].innerHTML;
var cnt = (pr_pos[i].getElementsByTagName('input'))[0].value;
cnt = parseInt(cnt);
price = parseFloat(price);
if (!cnt || cnt < 0) cnt=0;
pos_sum = price*cnt;
(pr_pos[i].getElementsByTagName('div'))[1].innerHTML = number_crop(pos_sum,2);
summ_cnt += cnt;
summ += pos_sum;
if (commit && cnt>0) {
(pr_pos[i].getElementsByTagName('input'))[0].disabled = true; //Disabling input fields if Step2
newItemsCount[0][pos_id] = cnt; //Fill new count array for ajax request for save entered items count
}
}
if (commit && summ_cnt > 0) {
var fparams = sObj.serialize(newItemsCount);
fparams = "01"+fparams;
ajax_make_request(ajax_host+ajax_script, "ajax/cart/", "EditCount", fparams, nop_callback);
}
var sum_bar = ((frm.getElementsByTagName('tbody'))[1].getElementsByTagName('tr'))[0].getElementsByTagName('div');
sum_bar[0].innerHTML = summ_cnt;
sum_bar[1].innerHTML = number_crop(summ,2);
return summ_cnt;
}
function nop_callback(oReq){ return true; }
function dbg_callback(oReq){ $("dbg_text").value=trim(oReq.responseText); }
function step2(){
var frm=$('order_form');
var step2_form=((frm.getElementsByTagName('tbody'))[2].getElementsByTagName('div'))[0];
var btn_bar=$("btn_bar");
if (recalc(true)>0) {
step2_form.style.display='inline';
(btn_bar.getElementsByTagName('input'))[0].onclick = step1;
(btn_bar.getElementsByTagName('input'))[1].value = 'Заказать';
(btn_bar.getElementsByTagName('input'))[1].onclick = MakeOrder;
}
else {
msg_dialog("Ошибка! Вы должны заказать хотя бы одно наименование товара.");
step2_form.style.display='none';
}
}
function show_rekv(obj){
if(obj.value==1){
$("rek_table").style.display="none";
$("of_name").innerHTML='Квартира
';
}else{
$("rek_table").style.display="inline";
$("of_name").innerHTML='Офис
';
}
}