var services_url = "/services/2007";
var mars_url = "/mars";
var xml_eca_engine_url = services_url + "/eca-engine";
var rdf_eca_engine_url = services_url + "/eca-engine-rdf";
var ccs_engine_url = services_url + "/ccs";


function refreshXMLRuleIds()
{
  refreshRuleIds(xml_eca_engine_url);
}

function refreshRDFRuleIds()
{
  refreshRuleIds(rdf_eca_engine_url);
}

function refreshRuleIds(engine_url)
{
  _setRuleIds(document.getElementById("rule-id"), engine_url);
}

function refreshXMLRule()
{
  refreshRule(xml_eca_engine_url);
}

function refreshRDFRule()
{
  refreshRule(rdf_eca_engine_url);
}

function refreshRule(engine_url)
{
  var ruleId = document.getElementById("rule-id").value;
  var element = document.getElementById("rule-content");

  _insertRule(ruleId, element, engine_url);
}

function deregisterXMLRule()
{
  deregisterRule(xml_eca_engine_url);
}

function deregisterRDFRule()
{
  deregisterRule(rdf_eca_engine_url);
}

function deregisterRule(engine_url)
{
  var ruleId = document.getElementById("rule-id").value;
  var check = confirm("deregister rule " + ruleId + "\nare you sure?");

  if (check)
    _deregisterRule(ruleId, engine_url);
}

function registerXMLRule()
{
  registerRule(xml_eca_engine_url);
}

function registerRDFRule()
{
  registerRule(rdf_eca_engine_url);
}

function registerRule(engine_url)
{
  var busy_indicator = document.getElementById("busy-indicator");
  var rule = document.getElementById("rule-content").value;
  _registerRule(rule, engine_url, busy_indicator);
}

function refreshXMLRuleTemplate()
{
  refreshRuleTemplate('xml');
}

function refreshRDFRuleTemplate()
{
  refreshRuleTemplate('rdf');
}

function refreshRuleTemplate(type)
{
  var name = document.getElementById("rule-template").value;
  var element = document.getElementById("rule-content");

  if(name!="none")
  	_insertRuleTemplate(name, element, type);
  else
    clearTextArea("rule-content")
}

function refreshCCSProcessTemplate()
{
  var name = document.getElementById("process-template").value;
  var element = document.getElementById("process-content");

  if(name!="none")
  	_insertProcessTemplate(name, element);
  else
    clearTextArea("process-content")
}

function refreshEventTemplate()
{
  var name = document.getElementById("event-template").value;
  var element = document.getElementById("event-content");

  if(name!="none")
    _insertEventTemplate(name, element);
  else
    clearTextArea("event-content")
}

function clearTextArea(name)
{
  var element = document.getElementById(name);
  element.value = "";
}

function runCCSProcess()
{
  var process = document.getElementById("process-content").value.toString();
  process = trim(process);
  _runCCSProcess(process);
}

function sendEvent()
{
  var events = document.getElementById("event-content").value.toString();
  events = trim(events);
  _sendEvent(events);
}

function clearFrameworkLog()
{
  _clearFrameworkLog();
}

function refreshFrameworkLog()
{
  var busy_indicator = document.getElementById("busy-indicator");

  var time = document.getElementById("log-time").value;
  var element = document.getElementById("log-content");

  _insertFrameworkLog(time, element, busy_indicator);
}

function clearActionLog()
{
  _clearActionLog();
}

function refreshActionLog()
{
  var busy_indicator = document.getElementById("busy-indicator");

  var time = document.getElementById("log-time").value;
  var element = document.getElementById("log-content");

  _insertActionLog(time, element, busy_indicator);
/*
  if (time > 0)
  {
    var ms = new Date().getTime();
    time = ms - (time * 60 * 1000);
  }

  _insertActionLog(time, element);
  */
}

function resetAll()
{
	if(confirm("Do you really want to reset the whole framework?"))
    	_resetAll();
}