function addExternalLinkBehaviour(root)
{
	if (!root)
		root = document;

	var externalLinks = window.externalLinks == undefined ? 1 : window.externalLinks;

	var c = root.getElementsByTagName('a'), a, i = 0, attr, match;
	var external = getClassRegExp('external');
	while ((a = c[i++]))
	{
		if ((attr = a.getAttribute('rel')))
		{
			if (externalLinks && (attr == 'external' || external.test(attr)))
				a.target = '_blank';
		}
	}
	return true;
}

var regExpCache = {};
function getClassRegExp(className)
{
	if (!(className in regExpCache))
		regExpCache[className] = new RegExp('(^|\\s)' + className + '(\\s|$)');

	return regExpCache[className];
}

function changeInputLayout(el,border,bg)
{
  el.style.borderColor=border;
  el.style.background=bg;
}

function imgHover(el,src)
{
  el.src='http://www.devtrix.be/gamevibes/images/'+src;
}

function slideToggle(speed,button,content)
{
  //hide the all of the element with class msg_body
  $(content).hide();
  //toggle the componenet with class msg_body
  $(button).click(function()
  {
    $(this).next(content).slideToggle(speed);
  });
};

function slideMenu(button,list)
{
  $(button).click(function () 
  {
    var cssObj = {'color' : 'rgb(191,191,191)'}

    $(button).css(cssObj);
    $(list).slideToggle(10);
  });
  $(document).click(function ()
  {
    var cssObj = {'color' : 'rgb(112,112,112)'}

    $(button).css(cssObj);
    $(list).hide();
  });
}

function startClock()
{
  $(function($) 
  {
    var options = {format: '%H:%M'}
    $('.jclock').jclock(options);
  });
}

function createTree(element)
{
  $(element).dynatree(
  {
    rootVisible: false,
    minExpandLevel: 1,
    fx: { height: "toggle", duration: 200 },

    onClick: function(dtnode) {
        if( dtnode.data.url )
          window.location.href=dtnode.data.url;
    }

  });
}
