/* NAMESPACECHECK */
if (!com) 
{
	var com = {};
}
else if (typeof com != "object")
{
	throw new Error("com already exists and is not an object");
}

if (!com.saspijkerman)
{
	com.saspijkerman = {};
}
else if (typeof com.saspijkerman != "object")
{
	throw new Error("com.saspijkerman already exists and is not an object");
}

if (com.saspijkerman.externalLinks)
{
	throw new Error("com.saspijkerman.externalLinks already exists and is not an object");
}
/* NAMESPACECHECK */

com.saspijkerman.externalLinks = function()
{
	var links = document.getElementsByTagName('a');

	var setLinkTarget = function (e, x)
	{
		e.target = x;
		return;
	}

	var setLinkTitle = function (e, x)
	{
		e.title = x;
		return;
	}

	var setLinkClassName = function (e, x)
	{
		if (e.className == '')
		{
			e.className = x;
		}
		else if (e.className.indexOf(x) == -1)
		{
			e.className = e.className + ' ' + x;
		}
		else
		{
			e.className = e.className;
		}
		return;
	}

	for (l in links)
	{
		var link = links[l];

		if (link.href)
		{

			/* Relation */
			if (link.rel == 'external')
			{
				setLinkTarget(link, '_blank');
				setLinkTitle(link, 'Opent een nieuw venster: ' + link.href);
				setLinkClassName(link, 'external');
			}

			/* Extention */
			else if (link.href.slice(-3) == 'pdf')
			{
				setLinkTarget(link, '_blank');
				setLinkTitle(link, 'Opent een Adobe Acorobat Document');
				setLinkClassName(link, 'acrobat');
			}
			else if (link.href.slice(-3) == 'vcf')
			{
				setLinkTarget(link, '_blank');
				setLinkTitle(link, 'Opent een Vcard');
				setLinkClassName(link, 'vcard');
			}

			/* Protocol */
			else if (link.href.slice(0, 6) == 'mailto')
			{
				setLinkTitle(link, 'Stuur een email naar ' + link.href.slice(7));
				setLinkClassName(link, 'email');
			}
		}

	}

	return;
}
