/* Показывает ошибки Ajax обращений */
var AjaxErrorHandler = function () {

    function handleFail(o) {
        alert(o.responseText);
    }

   // Public interface
    return {

        failHandler : function(o) {
            handleFail(o);
        },


        JSONRequest : function(method, url, successHandler, postData, argument) {
            var handleSuccess = function(obj) {
                var resp;
                try {
                    resp = eval("(" + obj.responseText + ")");
                } catch (e) {
                    handleFail(obj);
                    return;
                }
                var arg = obj.argument;
                successHandler(resp, arg);
            };

            var handleUpload = function(obj) {
                var text = obj.responseText;
                obj.responseText = text.replace(/<PRE>(.*)<\/PRE>/i, "$1");
                handleSuccess(obj);
            };


            YAHOO.util.Connect.asyncRequest(method, url,
                {success:handleSuccess, upload:handleUpload, failure:AjaxErrorHandler.failHandler, argument:argument}, postData);

        }
    };
}();

