var AttractionSearch = {
/* Variables */
 data: null,
/* Functions */
 init: function(data) {
  this.data = data;
  this.getResults();
 },
 sortIds: function(ids) {
  var elems = document.getElementsByName("sort"), sort = null;
  for(var i=0;i<elems.length;++i)
   if (elems[i].checked)
    sort = elems[i].id;
  if (sort=="date")
   var func = function(a, b) {
    var a_obj = AttractionSearch.data[a], b_obj = AttractionSearch.data[b];
    var a_dat = new Date(a_obj.date), b_dat = new Date(b_obj.date);
    return a_dat >= b_dat;
   }
  else if (sort=="name")
   var func = function(a, b) {
    var a_obj = AttractionSearch.data[a], b_obj = AttractionSearch.data[b];
    return a_obj.title >= b_obj.title;
   }
  if (typeof(func)=="function")
   ids.sort(func);
  return ids;
 },
 search: function() {
  var list = [], d = this.data
  for(var i=0,j=d.length;i<j;++i)
   list.push(i);
  return this.sortIds(list);
 },
 getResults: function() {
  if (this.data==null) {
   setTimeout(function(){AttractionSearch.getResults()}, 100);
   return;
  }
  var s = this.search();
  var content = document.getElementById("panelAttractions");
 /*   Delete current children... */
  for(var j=content.children,i=j.length-1;i>=0;--i)
   content.removeChild(j[i]);  
  var pp = document.createElement("div");
  pp.id = "projectsPage"; pp.style.cssText = "width:760px; float:left; z-index:6000; position:relative";
  content.appendChild(pp);
  for(var i=0;i<s.length;++i) {
   var d = this.getData(s[i]);
   pp.appendChild(d);
  }
 },
 show: function(id) {
  var content = document.getElementById("panelAttractions");
  // Delete current children...
  location.hash = this.data[id].url;
  for(var j=content.children,i=j.length-1;i>=0;--i)
   content.removeChild(j[i]);
  content.innerHTML = " <div id='block_item_complex'><div width='100%'><a href='?'> &larr; Go back</a> <br /><br /><b>" + this.data[id].title + "</b></div><br/>" + this.data[id].content + "</div>";
  return false;
 },
 getData: function(id) {
  var div = document.createElement("div");
  var html = "<h3><a style=\"text-decoration:none; border:0px; font-size: 10px; text-decoration:capitalize;  padding-top:5px; color: #FFF\" " +
     "href=\"#\" onclick=\"return AttractionSearch.show(" + id + ")\">" + this.data[id].title + "</a></h3>";
  html += "<center><a style=\"text-decoration:none;border:0px\" title=\""+this.data[id].title+"\" href=\"#\" onclick=\"return AttractionSearch.show(" + id + ")\">";
  html += "<img style=\"border:0;width:165px;height:95px\" src=\""+this.data[id].image+"\" alt=\""+this.data[id].title+"\"/></a>";
  html += "</center><div style=\"padding-left:10px; \">";
  html += "<a style=\"text-decoration:none;border:0px;color:#FFF; font-size: 10px;\" title=\""+this.data[id].title+"\" href=\"#\" onclick=\"return AttractionSearch.show("+id+")\">";
  html += "<label>" + this.data[id].summary + "</label></a> </div> ";
  div.innerHTML = html; div.style.cssText = "width:174px; float:left"; div.className = "insideDrama_projects";
  return div;
 },
};
jQuery(document).ready(function() {
 // Get all data from the server
 jQuery.ajax({
  method: "get",
  url:"/ajax_show_attractions.php",
  beforeSend: function() {
   jQuery("#loading").show("fast");
  },
  complete: function(data) {
   jQuery("#loading").hide("fast");
  },
  success: function(d) {
   var data = [];
   eval("data = " + d + ";");
   AttractionSearch.init(data); 
   for(var i=0;i<data.length;i++)
    if (location.hash.toString().replace("#", "")==data[i].url)
     return AttractionSearch.show(i);
  }
 });
});


