var tooltip;
var tt_request;

String.prototype.stripHTML = function() {
  return this.replace(/(<([^>]+)>)/ig,"");
}

String.prototype.stripInvalids = function() {
  return this.replace(/[^a-zA-Z]/g, "");
}

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}

function set_tips() {
  $$('#content-main strong').each(function(el) {
    try {
      _parent = el.getParent();
    } catch(e) {
      _parent = null;
    }
    if ((el.innerHTML.indexOf('</') > -1) || el.href || (_parent && _parent.href)) return;

    text = el.innerHTML.stripHTML();
    if (text != '') {
      el.store('tip:title', el.innerHTML);
      _class = text.stripInvalids() + Math.floor(Math.random()* 100);
      try {
        el.addClass(_class);
        el.addClass('tooltip_anchor');
      } catch (e) {alert(e)}
      s = '/definitions/'+text+'/tooltip?element='+_class
      tt_request.get(s)
    }
  });
}

window.addEvent('domready', function() {
  
  tt_request = new Request.HTML({
    async: false,
    onComplete: function(responseTree, responseElements, responseHTML, responseJavascript) {
      pos = responseHTML.indexOf(':');
      el_name = responseHTML.substr(0, pos);
      if (el_name) {
        e = $('content-main').getElement('.' + el_name)
        e.store('tip:text', responseHTML.substr(pos+1));
        tooltip.attach(e);
      }
    }
  });
  
  tooltip = new Tips('', {
    className: 'tips'
  });
  
  set_tips();
  
});
