if (!window.MooTools) {
  document.write("<sc"+"ript type='text/javascript' src='"+get_full_planyo_file_path("mootools-1.2-core.js")+"'></sc"+"ript>");
  document.write("<sc"+"ript type='text/javascript' src='"+get_full_planyo_file_path("mootools-1.2-more.js")+"'></sc"+"ript>");
}
document.write("<sc"+"ript type='text/javascript' src='"+get_full_planyo_file_path("utils.js")+"'></sc"+"ript>");

if (!window.planyo_show_hourglass) {
  function planyo_show_hourglass(hide_element) {
    document.planyo_ajax_call_pending = true;
    if (hide_element) {
      document.planyo_ajax_call_hide_element = hide_element;
      hide_element.style.display = 'none';
      var parent = hide_element.parentNode;
      if (parent)
        var hourglass_element = document.createElement("div");
      hourglass_element.id = "hourglass_element";
      hourglass_element.innerHTML = "<img src='"+get_full_planyo_file_path("hourglass.gif")+"' align='middle' />";
      parent.insertBefore(hourglass_element, hide_element);
    }
  }
  
  function planyo_hide_hourglass() {
    if (document.planyo_ajax_call_pending) {
      if (document.planyo_ajax_call_hide_element) {
        document.planyo_ajax_call_hide_element.style.display = 'block';
        var parent = document.planyo_ajax_call_hide_element.parentNode;
        if (parent)
          parent.removeChild ($('hourglass_element'));
        document.planyo_ajax_call_hide_element = null;
      }
      document.planyo_ajax_call_pending = false;
    }
  }
}

function do_cater_ring_request(request_url, req_data, on_complete_function) {
  req_data += "&ulap_url=" + request_url;
  request_url = "http://" + window.location.host + "/fileadmin/data/planyo-extras/ulap.php";

  var reference_coords = $('event_code').getCoordinates();
  if (!$('event_res')) {
    var event_res_element = document.createElement('div');
    event_res_element.id = 'event_res';
    document.body.appendChild(event_res_element);
  }
  $('event_res').style.left = reference_coords.left+'px';
  $('event_res').style.top = reference_coords.bottom+'px';
  $('event_res').style.display = 'block';
  $('event_res').style.position = 'absolute';
  $('event_res').style.width='350px';
  planyo_show_hourglass($('event_res'));
  if (planyo_isset(window.Request) && planyo_isset(window.Request.JSON)) {
    var xhr_req = new Request.JSON (
				    {
				    url:request_url,
					method:'post',
					onSuccess: on_complete_function,
					onFailure: on_event_request_failure,
					onException: on_event_request_failure,
					onCancel: on_event_request_failure
					}).send(req_data);
  }
  else {
    var xhr_req = new XHR ({
      method:'post',
					onSuccess: on_complete_function,
					onFailure: on_event_request_failure
	  }).send(request_url, req_data);
  }
}

function close_event_res() {
  if ($('event_res'))
    $('event_res').style.display = 'none';
}

function on_event_search_complete(txt) {
  var obj = null; try {obj = (txt && typeof txt == 'object') ? txt : JSON.decode (txt);} catch (err) {}
  planyo_hide_hourglass();
  var close_code = "<div class='close_res'><a href='#' onclick='close_event_res()'><img src='"+get_full_planyo_extras_path("close.png")+"' style='border:0' /></a></div>";
  var results = close_code;
  results += "Bitte eines der folgenden Events ausw&auml;hlen und buchen:<br/><table><tr><th>Event</th><th>Start Datum</th><th>Dauer</th><th>Verf&uuml;gbarkeit</th></tr>";
  var res_found = false;
  for (var item in obj) {
    var event = obj[item];
    if (planyo_isset(event, 'code')) {
      if (event['tickets_left']>0)
        results += "<tr><td><a href='http://cater-ring.com/index.php?id=484&resource_id="+event['resource_id']+"&one_date="+event['event_date']+"&start_time="+event['event_time']+"&disable_time=1&rental_prop_Event_type="+encodeURIComponent(event['event_name']).replace(/\'/g, "%27")+"&rental_prop_Event_code="+encodeURIComponent(event['code'])+"'>"+event['event_name']+" - "+event['resource_name']+"</a></td><td>"+event['event_date']+" "+event['event_time']+":00"+"</td><td>"+event['duration']+"h</td><td>"+event['tickets_left']+"/"+event['ticket_count']+"</td></tr>";
      else
        results += "<tr><td>"+event['event_name']+" - "+event['resource_name']+"</td><td>"+event['event_date']+" "+event['event_time']+":00"+"</td><td>"+event['duration']+"h</td><td>"+"Ausgebucht"+"</td></tr>";
      res_found = true;
    }
  }
  results += "</table>";
  if (!res_found)
    results = close_code + "Leider ist kein Event mit diesem Code verf&uuml;gbar";
  $('event_res').innerHTML = results;
}

function on_event_request_failure() {
  planyo_hide_hourglass();
  close_event_res();
}

function search_event() {
  do_cater_ring_request("http://www.planyo.com/clients/cater-ring/planyo-files/cater-ring-request.php", "method=find_event&event_code=" + document.getElementById('event_code').value, on_event_search_complete);
  return false;
}

function get_full_planyo_extras_path(f) {
  return "http://cater-ring.com/fileadmin/data/planyo-extras/" + f;
}

function get_full_planyo_file_path(f) {
  return "http://cater-ring.com/typo3conf/ext/planyo/planyo-files/" + f;
}

