function initLoader(){
    var oImg = new Image();
    oImg.src = "images/ajax-loader.gif";

    var iW = document.body.offsetWidth;
    var iH = document.body.offsetHeight;
    var iL = parseInt((iW / 2) - oImg.width);
    var iT = parseInt(iH / 2);

    var oDiv = document.createElement ("div");
    oDiv.id			    = "loader";
 // oDiv.style.border   = "1px solid red";
    oDiv.style.width    = "32px";
    oDiv.style.height   = "32px";
    oDiv.style.position = "absolute";
    oDiv.style.left     = iL + "px";
    oDiv.style.top      = iT + "px";
    
    var oBody = document.getElementsByTagName ("body")[0];
    oDiv.appendChild (oImg);
    oBody.appendChild (oDiv);
}

function finishLoader(){
	var oDiv 	= document.getElementById ("loader");
	var oPerent = oDiv.parentNode;
	oPerent.removeChild (oDiv);
}

function Error(sDesc){
	var sError  = "";
	sError 	   += ":: Error de javascript ::\n";
	sError 	   += "* File: service.js\n";
	sError 	   += "* Function: getService\n";
	sError 	   += "* Descripcion: " + sDesc;
	//alert(sError);
}

function getService(sMethod, sFunction, oParams){
    return;
	if(sMethod 	 == undefined){Error("El parametro [sMethod] no puede estar vacio"); return;}
	if(sFunction == undefined){Error("El parametro [sFunc] no puede estar vacio");   return;}

	if(oParams == null){		
		var oParameters = {method : sMethod};
	}
	else{
		var oParameters       = oParams;
		oParameters["method"] = sMethod;
	} 

	initLoader();

	$.post(
		sURL_PROXY,
		oParameters,
		function(data){
			if(data.result == undefined){
				Error("No existe la propiedad [result] en el objeto [data]");
			}
			else{
				if(data.result == true){
					var bln;
					eval("bln = window." + sFunction);
	
					if(bln){
						eval(sFunction + "(data);");
					}
					else{
						Error("Debe definir la funcion " + sFunction);	
					}
				}
				else{
					Error("Error de respuesta del servicio [" + sMethod + "]\n   " + data.error_message);
				}
			}
			finishLoader();
		},
		"json"
	);
}
