//CONSTANTES TORTUGUIANAS
//const API_BACKEND = "http://tortugo.dnsalias.net:6636/@api/deki/";
const API_BACKEND = "http://dekiwiki.ath.cx/@api/deki/";
const PORTAL_PUBLICO = "http://mcti.ath.cx/mcti.gob.ve/portal/";
const RAIZ_PORTAL = "/mcti.gob.ve/portal";
window['ttgo_debug'] = false;

//(function($){

	//$.intercept( 'click', {'button':function(e){tortugo_buttonClick(e);}, 'a':function(e){tortugo_linkButtonClick(e);}});
	$.intercept( 'click', {'a.tortugo_restquest':function(e){return tortugo_restquestLink(e);}});
	$.intercept( 'click', {'button.tortugo_restquest':function(e){return tortugo_restquestLink(e);}});
	//$.taconite.debug = true;

	function tortugo_linkButtonClick(evento)
	{
		retorno = true;
		relAction = $(evento.target).attr("rel");
		scrollTarget = $(evento.target).attr("target");
		taconiteContainer = $(evento.target).attr("rev");

		if((relAction!="")&&(relAction!=undefined)&&(relAction!="custom nofollow")&&(relAction!="internal")&&(relAction!="external nofollow"))
		{
			evento.stopPropagation();
			evento.preventDefault();
			tortugo_Request(relAction);
			window.location+="#action/"+relAction;
			if(scrollTarget)
			{
				$.scrollTo(scrollTarget);
			}
			retorno = false;
		}
		return retorno;
	}

	function tortugo_buttonClick(evento)
	{
		retorno = true;
		valAction = $(evento.target).attr("value");

		if(!(valAction==""))
		{
			evento.stopPropagation();
			tortugo_Request(valAction);
			retorno = false;
		}

		/*
		if($(evento.target).hasClass("eksactoToolbarButton"))
		{
			eksacto_setSelectedButton(evento.target,evento.target.parentNode);
		}
		*/

		return retorno;
	}
		
	function tortugo_Request(mappedAction)
	{
		//evento.preventDefault();
		//window.console.log("[eksacto] Accion: "+mappedAction);
		$.post('index.php', { length: 1000, peticion: mappedAction});
	}

function tortugo_setSelectedButton(activatedElement,container)
{
	jQuery.each($("#"+container.id+" button"), function(a,b){$(b).removeClass("ui-state-active ui-priority-primary");});
	if(!activatedElement)
	{
		activatedElement=$("#"+container+" .ui-corner-left");
	}
	$(activatedElement).addClass("ui-state-active ui-priority-primary");
}

function tortugo_restquestLink(e)
{
	restUrl = ($(e.target).attr("href")) ? $(e.target).attr("href") : $(e.target).attr("value");

	if(restUrl)
	{
		tortugo_restquest(restUrl);
	}
	return false;
}
function tortugo_restquest(action,data,headers)
{
	datos = (data!=undefined) ? data : jQuery.url.setUrl(action).attr("query");
	datosObj = jQuery.url.setUrl(action).param();
	host = jQuery.url.setUrl(action).attr("host");
	path = jQuery.url.setUrl(action).attr("path");
	direccion = RAIZ_PORTAL+"/"+host+path;
	protocolo = jQuery.url.setUrl(action).attr("protocol");
	//alert(protocolo);
	
	switch(protocolo)
	{
		case "post":
		case "get":
		case "put":
		case "delete":
			$.ajax
			({
				url: direccion,
				data: datos,
				type: protocolo,
				beforeSend: function(xhr) {
					xhr.setRequestHeader('x-nodolibre-tortugo', 'x-nodolibre-dangie');
			        for (var header in headers)
			        {
			        	xhr.setRequestHeader(header, headers[header]);
			        }
					return true;
					}
			});
			break;
		case "event":
			break;
		case "bus":
			subject="tortugo.pagebus."+host+"."+path.replace(/\//g,".");
			window.PageBus.publish(subject,datosObj);
			break;
		default:
			tortugo_error('Protocolo TortuGO.RESTeado no implementado: '+protocolo);
			break;
	}
}

function tortugo_error(string)
{
	//alert($("#tortugo_errores"));
	$("#tortugo_errores").append("<p class='error_js'>"+string+"</p>");
}

//OBJETO DE AMARRE PARA JAVASCRIPT
if (!window['tortugo'])
{
	window['tortugo'] = {};
}
//NOMENCLATURA DE TORTUGO $_$(); (OJOS, PICO, CAPARAZON Y COLITA!)
$_$=tortugo_restquest;
//})(jQuery);

window.PageBus.subscribe("tortugo.pagebus.test.alert", this, function(a,b){alert(b.contenido);}, null);
