var MCV = {
	API : function(api_class, api_method, params, callback, anon_request){
		if (logged_in == false && anon_request != true)
		{
			prompt_login();
			return false;
		}
		
		params["class"] = api_class;
		params["method"] = api_method;
		params["format"] = "json";
        if(api_class == "add_coupon")
        {
        	BASE_URL = BASE_URL.replace("http:","https:");
        }
        var url = BASE_URL + "/action/proxy?url="+ API_URL;

		$.ajax({
			"type"		: "POST",
			"url"		: url	,
			//data		: "class="+class+"&method="+method+"&format=json&"+params,
			"data"		: params,
			"cache"		: false,
			"dataType"	: "json",
			"success"	: 	function(response)
			{
				if(callback)
					callback(response.data)
			},
			"error"	: 	function(xhr){
				var response = $.evalJSON(xhr.responseText);
				var error_msg = "(" + xhr.status + ") Error " + response.error_code + " : " + response.message
				if(callback)
					callback(response, error_msg)
			}
		});               
	},
	
	"ajax" : function(the_class, the_method, params, callback){
		if (!callback)
			var callback = function(){};
		
		var url = BASE_URL + "/"+ the_class + "/" + the_method;
		/*if (the_class == "action" && the_method == "login" && document.domain == "www2.mycatholicvoice.com")
		{
		    url = url.replace("http://", "https://");
		}*/
		params.format = "json";

		$.ajax({
			"type"		: "POST",
			"url"		: url	,
			"data"		: params,
			"dataType"	: "json",
			"success"	: 	function(response)
			{
				callback(response)
			},
			"error"	: 	function(xhr){
			}
		});               
	},
	
	user : {
		login : function (callback)
		{
			$("#invalid_login").hide();
			MCV.ajax("action", "login", $('#loginForm').formSerialize(), 
				function(response){
					if (response.success == "true")
					{
						var params = get_querystring_object();
						 
						if (params.return_page)
						{
							var return_page = params.return_page;
						}
						
						if (return_page)
						{
							window.location.href = return_page;
						}
						else
						{
							window.location.reload();
						}
					}
					else
					{
						$("#invalid_login").show();
					}
				}
			);
		}
	}
}

function API(the_class, the_method, params, callback)
{
	MCV.API(the_class, the_method, params, callback);
}







/*
function Helper(class, method, params){
	p = new Object();
	p.class = class;
	p.method = method;
	p.format = "json";
	
	url = BASE_URL + "/action/helper";

	$.ajax({
		"type"		: "POST",
		"url"		: url	,
		"data"		: p,
		"cache"		: false,
		"dataType"	: p.format,
		"success"	: 	function(response)
		{
			return response;
		},
		"error"	: 	function(){
			//alert("Error");
		}
	});
}
*/
