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 suffix = '
'; 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='

Офис

'; } }