function checkemail(){
    val = (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test($('email').value);
    err=0
    if(val===false){
        alert('E-mail введен не корректно!');
        err=1;
    }
    if($('name').value==''){
        alert('Не указано имя!');
        err=1;
    }
    if($('textarea').value=='' || $('textarea').value.length<3){
        alert('Сообщение не может быть пустым!');
        err=1;
    }
    if(err==0) $('orderForm').submit();
}

function checkOrderForm(){
    err=0
    if($('name').value==''){
        alert('Не указано имя!');
        err=1;
    }
    if($('phone').value=='' || $('phone').value.length<3){
        alert('Не верно указан телефон!');
        err=1;
    }
    if($('city').value==0 && $('cityExt').value.length<2){
        alert('Не верно указан город!');
        err=1;
    }
    if($('message').value=='' || $('message').value.length<3){
        alert('Сообщение не может быть пустым!');
        err=1;
    }
    if(err==0) {
        $('orderForm').submit();
    }
}

function getSubTree(table, id, module, containerprefix, subtable){
    if($(containerprefix+id).getStyle('display')=="none"){
        $(containerprefix+id).setStyle("display", "block");
        if(containerprefix=='sub'){
            $('gr'+id).src='/images/admin/gro.gif';
        }
        if(subtable!=null) dosub = '&subtable='+subtable; else  dosub = '';
        makeRequest('/utils/ajax/tree.php?id='+id+'&table='+table+'&module='+module+dosub+'&container='+containerprefix+id, module, containerprefix, id);
    }
    else
    {
        $(containerprefix+id).setStyle("display", "none");
        if(containerprefix=='sub'){
            $('gr'+id).src='/images/admin/grc.gif';
        }
    }
}

/* AJAX */

function addToBasket(id, level){
    makeRequest('/utils/ajax/basket.php?id='+id+'&cou='+$('cou'+id).value, 'catalog', 'elem', id, level);
}

function delItem(id, cou){
    ids = $('ids').value;
    couForm = $('cou').value;
    idsarr = ids.split(",");
    couarr = couForm.split(",");
    for(i=0;i<idsarr.length;i++){
        if(idsarr[i]==id){
            arr = i;
            break;
        }
    }
    idsarr.splice(arr,1)
    couarr.splice(arr,1)
    $('ids').value = idsarr.join(',');
    $('cou').value = couarr.join(',');
    makeRequest('/utils/ajax/basket.php?delItem='+id+'&cou='+cou, 'delItem', cou, id);
}

function updateTop(id, cou){
    makeRequest('/utils/ajax/basket.php?updateTop='+id, 'updateTop', cou);
}

function changeItem(id, cou){
    ids = $('ids').value;
    couForm = $('cou').value;
    idsarr = ids.split(",");
    couarr = couForm.split(",");
    for(i=0;i<idsarr.length;i++){
        if(idsarr[i]==id){
            couarr[i] = $('newcou'+id).value;
        }
    }
    $('cou').value = couarr.join(',');
    makeRequest('/utils/ajax/basket.php?changeItem='+id+'&newcou='+$('newcou'+id).value, 'changeItem', cou, id);
}

function makeRequest(url,module,option,id,level) {
//alert(level);
    var http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari, ...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType("text/xml");
            // Читайте ниже об этой строке
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("MSXML2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }
    if (!http_request) {
        alert("Не вышло  Невозможно создать экземпляр класса XMLHTTP ");
        return false;
    }
    switch (module) {
        case "catalog" :
            http_request.onreadystatechange = function() { basket(http_request, option, id, level); };
            break;
        case "getsess" :
            http_request.onreadystatechange = function() { updateSession(http_request, option, id); };
            break;
        case "delItem" :
            http_request.onreadystatechange = function() { outDelItem(http_request, option, id); };
            break;
        case "updateTop" :
            http_request.onreadystatechange = function() { outUpdateTop(http_request, option); };
            break;
        case "changeItem" :
            http_request.onreadystatechange = function() { outChangeItem(http_request, id, option); };
            break;
        default :
            http_request.onreadystatechange = function() { alertContents(http_request); };
    }

    http_request.open("GET", url, true);
    http_request.send(null);
}

function outChangeItem(http_request, id, cou) {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            $("top_order").style['display'] = "block";
            $("top_order_empty").style['display'] = "none";
            $("itemsList").innerHTML = http_request.responseText;
            updateTop(id, cou);
        } else {
            alert("Время запроса истекло, попробуйте, пожалуйста, еще раз.");
        }
    }
}

function outUpdateTop(http_request, cou) {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            if(cou>0){
                $("top_order").style['display'] = "block";
                $("top_order_empty").style['display'] = "none";
                $("top_order").innerHTML = http_request.responseText;
            }
            else
            {
                $("top_order").style['display'] = "none";
                $("top_order_empty").style['display'] = "block";
            }
        } else {
            alert("Время запроса истекло, попробуйте, пожалуйста, еще раз.");
        }
    }
}

function outDelItem(http_request, cou, id) {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            if(cou>1){
                $("top_order").style['display'] = "block";
                $("orderForm").style['display'] = "block";
                $("top_order_empty").style['display'] = "none";
                $("itemsList").innerHTML = http_request.responseText;
            }
            else
            {
                $("top_order").style['display'] = "none";
                $("orderForm").style['display'] = "none";
                $("top_order_empty").style['display'] = "block";
                $("itemsList").innerHTML = http_request.responseText;
            }
            updateTop(id, (cou-1));
        } else {
            alert("Время запроса истекло, попробуйте, пожалуйста, еще раз.");
        }
    }
}

function basket(http_request, containerprefix, id, level) {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            if($(containerprefix+id)!=''){
                $("top_order").style['display'] = "block";
                $("top_order_empty").style['display'] = "none";
                $("top_order").innerHTML = http_request.responseText;
            }
            if(level==null){
                makeRequest('/utils/ajax/basket.php?getsess='+id, 'getsess', 'elem', id);
            }
            $('basket'+id).setProperty('class', 'filled_cart');
        } else {
            alert("Время запроса истекло, попробуйте, пожалуйста, еще раз.");
        }
    }
}

function updateSession(http_request, containerprefix, id) {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            if($(containerprefix+id)!=null){
                $(containerprefix+id).setStyle("display", "block");
                $(containerprefix+id).innerHTML = http_request.responseText;
            }
        } else {
            alert("Время запроса истекло, попробуйте, пожалуйста, еще раз.");
        }
    }
}

function alertContents(http_request) {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            if($("users")!=null){
                $("users").setStyle("display", "block");
                $("users").innerHTML = http_request.responseText;
            }
        } else {
            alert("Время запроса истекло, попробуйте, пожалуйста, еще раз.");
        }
    }
}
