var PHP_FILE = "/artsdigital/PHP/tag_gen.php";
var dummy = new Date().getTime();

/* Bits to produce the tag cloud in sites automatically. onto the Right.  Will automatically create Feature Pane if one does not exist 
First option is for old versions of the stylesheet
*/
function additionalScripts() {
  var featurePane;
  var NO = RegExp("(tag_list.php)");
  
  if (document.location.href.match(NO)) {
  } else {
  // For Old Stylesheet
    if (_('contentcol')) {
      if (!_('feature')) {
        var sidebar = document.createElement("td");
        sidebar.setAttribute("id", "feature");
        _('contentcol').parentNode.appendChild(sidebar);
        featurePane = sidebar;
      } else featurePane = _('feature');
      var cloud = document.createElement("div");
      cloud.setAttribute("id", "tagCloud");
      cloud.style.fontSize = ".8em";
      featurePane.appendChild(cloud);
      cloud.style.paddingTop = "3em";
      cloud.innerHTML = getAjax(PHP_FILE+"?generateTagCloud=&dummy="+dummy);
      
    // Create the tag list for the page
      var tagList = document.createElement("div");
      _('contentcol').appendChild(tagList);
      tagList.setAttribute("id", "tagList");
      tagList.style.paddingBottom = "2em";
      tagList.innerHTML = getAjax(PHP_FILE+"?generateTagList="+sanitise(document.location.href)+"&dummy="+dummy);
  
  // For new Stylesheet - works!   
    } else if (_('content')) {
    // Create a sidebar if there currently isn't one.  This is for the newer stylesheet
      if (!_('sidebar')) {
        _('content').className = _('content').className.replace(/nofeature/i, "");
        var sidebar = document.createElement("div");
        sidebar.setAttribute("id", "sidebar");
        sidebar.className = "withtabs";
        _('content').parentNode.insertBefore(sidebar, _('content'));
        featurePane = sidebar;
      } else featurePane = _('sidebar');
    // Create the cloud
      var cloud = document.createElement("dl");
      featurePane.appendChild(cloud);
      cloud.className = "feature";
      cloud.innerHTML = "<div>\n\n<dt>Tag Cloud</dt>\r<dd class='feature'>\n"+getAjax(PHP_FILE+"?generateTagCloud="+"&dummy="+dummy)+"\n</dd>\n</div>\n";
    
    // Create the tag list for the page
      var tagList = document.createElement("div");
      _('content').appendChild(tagList);
      tagList.setAttribute("id", "tagList");
      tagList.innerHTML = getAjax(PHP_FILE+"?generateTagList="+sanitise(document.location.href)+"&dummy="+dummy);
    }
  }
}

function removeTag(tag) {
  if (_('tagCloud')) {
    var RG = RegExp(",*"+tag+",*");
    var tags = _('cloud').getAttribute("_tags").replace(RG, ",");
    _('tagCloud').innerHTML = getAjax(PHP_FILE+"?generateTagCloud=&tags="+tags+"&dummy="+dummy);
  }
  if (_('URLlist')) document.location = document.location.href.replace(/\?tags=.*$/, "?tags="+tags);

  msgBoxOff();
  return;
}

function suggestOn(text, exclude) {
  if (_('addTag')) {
    var response = getAjax(PHP_FILE+"?existingTags="+text+"&exclude="+exclude+"&dummy="+dummy);
    if (response) { 
      if (!_('suggest')) {
        var suggest = document.createElement("div");
        suggest.setAttribute("id", "suggest");
        _('addTag').appendChild(suggest);
      }
      _('suggest').innerHTML = response;
    } else suggestOff();
  }
  return;
}

function suggestOff(auto) {
  if (auto) setTimeout("suggestOff()", 1000);
  else if (_('suggest')) _('suggest').parentNode.removeChild(_('suggest'));
  return;
}
function updateSuggest(text) {
  if (_('newTag')) {
    _('newTag').value = text;
    suggestOff();
  }
  return;
}

// Somethigng to add new tags to a page.
function addNewTag(value, URL) {
  if (value.match(/,/)) { alert("I'm sorry but you cannot use , [commas] within Tags."); return; }
  var response = getAjax(PHP_FILE+"?URL="+URL, "tag="+sanitise(value)+"&dummy="+dummy);
  if (response) {
    if (!_('RESPONSE')) {
      var reply = document.createElement("div");
      reply.setAttribute("id", "RESPONSE");
      reply.innerHTML = "<i>"+response+"</i>\n";
      _('tagList').appendChild(reply);
    } else _('RESPONSE').innerHTML = "<i>"+response+"</i>\n";

    if (response.match(/^Thank you/)) {
      if (_('tags')) _('tags').innerHTML = getAjax(PHP_FILE+"?generateTagList="+document.location.href+"&listOnly=1&dummy="+dummy);
      if (_('tagCloud')) _('tagCloud').innerHTML = getAjax(PHP_FILE+"?generateTagCloud=&dummy="+dummy);
    }
  }
  return;
}
