﻿var ajax = {
    REQ : null,
    isComplete: true,
    go : function(url, dataJsonOrQueryString, successAction, failedAction, dataType, isIgnoreError)
    {
    	  isIgnoreError = typeof isIgnoreError != "boolean" ? false : isIgnoreError;
		  ajax.isComplete = false;
		  ajax.REQ = $.ajax({
			  	type: 'POST', 
			  	url: url, 
			  	dataType: (typeof dataType == 'undefined' ? 'json' : dataType.toLowerCase()), 
			  	data: dataJsonOrQueryString, 
		      	success: function(data)
				{
					ajax.isComplete = true;
					successAction(data);
				}, 
		      	failed: function(data)
				{
					ajax.isComplete = true;
					failedAction(data);
				},
				error: function(error) 
				{
					ajax.isComplete = true;
			        if(!isIgnoreError) alert('Erro. Sem retorno da requisicao.\n\n' + error.toString());
			    }
		
		  });
		  return ajax.REQ;
    },
    cancel : function()
    {
        try
        { 
        	ajax.isComplete = true;
            ajax.REQ.abort(); 
            ajax.REQ = null;
        } finally {}        
        return void(0);
    }       
}
