function getHttp(){
    var xmlhttp;
    /*@cc_on
    @if (@_jscript_version >= 5)
        try {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                xmlhttp = new
                ActiveXObject("Microsoft.XMLHTTP");
            } catch (E) {
                xmlhttp = false;
            }
        }
    @else
        xmlhttp = false;
    @end @*/
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
        try {
            xmlhttp = new XMLHttpRequest();
        } catch (e) {
            xmlhttp = false;
        }
    }
    return xmlhttp;
}

function doRequest(method, url, data, resultHandler, onHandlerErrorRedirect) {
    if(!this.http){
        this.http = getHttp();
        this.working = false;
    }
    if (!this.working && this.http) {
        var http = this.http;
        var _this = this;
        this.http.open(method, url, true);
        if (method.toLowerCase() == "post") {
            this.http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        }
        this.http.onreadystatechange = function() {
            if (http.readyState == 4) {
                _this.working = false;
                resultHandler(http.responseText, onHandlerErrorRedirect);
            }
        }
        this.working = true;
        if (data != null) {
            this.http.setRequestHeader("Content-length", data.length);
        }
        this.http.send(data);
    }
    if(!this.http){
        alert('Не удалось получить XMLHTTP объект!')
    }
    return false;
}

function addToCartResultHandler(responseText, onHandlerErrorRedirect) {
    try {
        var response = eval('(' + responseText + ')');
        if (response.productid != null && response.quantityInCart > 0) {
            setContent("quantityInCart-" + response.productid, response.quantityInCart);
            show("inCart-" + response.productid);
        }
        if (response.checkedItemsQuantity != null || response.deferredItemsQuantity != null) {
            show("cartSummaryNonEmptyMessages");
            hide("cartSummaryEmptyMessages");
            removeClass("cartSummary", "empty");
        } else {
            hide("cartSummaryNonEmptyMessages");
            show("cartSummaryEmptyMessages");
            addClass("cartSummary", "empty");
        }
        if (response.checkedItemsQuantity != null) {
            setContent("checkedItemsQuantity", response.checkedItemsQuantity);
            show("cartSummaryCheckedItems");
        } else {
            hide("cartSummaryCheckedItems");
        }
        if (response.productsCost != null) {
            setContent("productsCost", response.productsCost);
        }
        if (response.deferredItemsQuantity != null) {
            setContent("deferredItemsQuantity", response.deferredItemsQuantity);
            show("cartSummaryDeferredItems");
        } else {
            hide("cartSummaryDeferredItems");
        }
    } catch (e) {
        location.href=onHandlerErrorRedirect;
    }
}

var contentJsLoaded = true;