var idn;
var num;
function createRequestObject() 
    {
    var request = null;
    try 
        {
        request=new ActiveXObject('Msxml2.XMLHTTP');
        }
    catch (e){}
    if(!request) 
        try 
            {
            request=new ActiveXObject('Microsoft.XMLHTTP');
            }
        catch (e){}
    if(!request)
        try 
            {
            request=new XMLHttpRequest();
            }
        catch (e){}
    return request;
    }
function serverRequest(request ,url, data, callback) 
    {
    if(!request) return false;
    request.onreadystatechange  = callback;
    request.open('POST', url, true);
    try{
        request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        }
    catch(err){}
    request.send(data);
    return true;
    }
function basket_add(id)
    {
    idn=id;
    ids='num_'+id;
    num=parseInt(document.getElementById(ids).value);
    if(isNaN(num)==false&&num>0)
        {
        a=encodeURIComponent(id);
        b=encodeURIComponent(num);
        var url = '/ajax/basket_add.php';
        var post= 'id='+a+'&num='+b;
        req = createRequestObject();
        serverRequest(req, url, post, processReqChange); 
        }
    }
function processReqChange()
    {
    if (req.readyState == 4)
        {
        if (req.status == 200)
            {
            if(req.responseText!='nonononono')
                {
                try{
                    vv=parseInt(document.getElementById('b_item_v_'+idn).value)+num;
                    document.getElementById('b_item_v_'+idn).value=vv;    
                }
                catch(er)
                    {
                    code='<div id="b_item_'+idn+'"><table width="100" border="0" cellspacing="0" cellpadding="2"><tr><td><input type="text" value="'+req.responseText+'" class="hid" readonly></td><td><input type="text" style="width: 25px;" value="'+num+'" id="b_item_v_'+idn+'"></td><td><a href="#" onClick="basket_edit('+idn+'); return false;"><img src="img/pencil.gif" border="0" alt="" title="Редактировать"></a></td><td><a href="#" onClick="basket_del('+idn+'); return false;"><img src="img/del.gif" border="0" alt="" title="Удалить"></a></td></tr></table></div>';
                    document.getElementById('basket_block_val').innerHTML+=code;
                    document.getElementById('basket_block').style.display='';
                    document.getElementById('emptyb').style.display='none';
                    }
                }
            else
                {
                alert('При обработке возникла ошибка. Операция не выполнена!');
                }
            }
        else
            {
            alert("Не удалось получить данные:\n" +req.statusText);
            }
        }
    }
function basket_del(id)
    {
    idn=id;
    a=encodeURIComponent(id);
    var url = '/ajax/basket_del.php';
    var post= 'id='+a;
    req = createRequestObject();
    serverRequest(req, url, post, processReqChange2); 
    }
function processReqChange2()
    {
    if (req.readyState == 4)
        {
        if (req.status == 200)
            {
            if(req.responseText!='nonononono')
                {
                idname='b_item_'+idn;
                document.getElementById(idname).parentNode.removeChild(document.getElementById(idname));
                if(document.getElementById('basket_block_val').childNodes.length==1)
                    {
                    document.getElementById('basket_block').style.display='none';
                    document.getElementById('emptyb').style.display=''; 
                    }
                }
            else
                {
                alert('При обработке возникла ошибка. Операция не выполнена!');
                }
            }
        else
            {
            alert("Не удалось получить данные:\n" +req.statusText);
            }
        }
    }
function basket_del2(id)
    {
    idn=id;
    a=encodeURIComponent(id);
    var url = '/ajax/basket_del.php';
    var post= 'id='+a;
    req = createRequestObject();
    serverRequest(req, url, post, processReqChange4); 
    }
function processReqChange4()
    {
    if (req.readyState == 4)
        {
        if (req.status == 200)
            {
            if(req.responseText!='nonononono')
                {
                idname='b_item_'+idn;
                document.getElementById(idname).parentNode.removeChild(document.getElementById(idname));
                resum();
                }
            else
                {
                alert('При обработке возникла ошибка. Операция не выполнена!');
                }
            }
        else
            {
            alert("Не удалось получить данные:\n" +req.statusText);
            }
        }
    }
function basket_edit(id)
    {
    idn=id;
    ids='b_item_v_'+id;
    num=parseInt(document.getElementById(ids).value);
    if(isNaN(num)==false&&num>0)
        {
        a=encodeURIComponent(id);
        b=encodeURIComponent(num);
        var url = '/ajax/basket_edit.php';
        var post= 'id='+a+'&num='+b;
        req = createRequestObject();
        serverRequest(req, url, post); 
        }
    }
function basket_edit2(id)
    {
    idn=id;
    ids='b_item_v_'+id;
    num=parseInt(document.getElementById(ids).value);
    if(isNaN(num)==false&&num>0)
        {
        a=encodeURIComponent(id);
        b=encodeURIComponent(num);
        var url = '/ajax/basket_edit.php';
        var post= 'id='+a+'&num='+b;
        req = createRequestObject();
        serverRequest(req, url, post, processReqChange6); 
        }
    }
function processReqChange6()
    {
    if (req.readyState == 4)
        {
        if (req.status == 200)
            {
            resum();
            }
        else
            {
            alert("Не удалось получить данные:\n" +req.statusText);
            }
        }
    }  
function resum()
    {
    var url = '/ajax/basket_resum.php';
    req = createRequestObject();
    serverRequest(req, url, '', processReqChange5);
    }
function processReqChange5()
    {
    if (req.readyState == 4)
        {
        if (req.status == 200)
            {
            document.getElementById('sum').innerHTML=req.responseText;
            }
        else
            {
            alert("Не удалось получить данные:\n" +req.statusText);
            }
        }
    }
