if(!cookiesMsg) var cookiesMsg='Cookies are disabled on your browser.\nAfter registering, please click on the piece of content again to open it.';
if(!defaultKeyCode) var defaultKeyCode='TEST';
var args=getArgs();
var theSearch=document.location.search.toString();

function saveLink(theLink)
{
	if(document.getElementsByTagName)//DOM browsers
	{
		var links=document.getElementsByTagName('a');
		for(var i=0;i<links.length;i++)
		{
			if(theLink==links[i])
			{
				writeCookie('cdc_cl',i);
				if(readCookie('cdc_cl')==null)
				{
					alert(cookiesMsg);
				}
			}
		}
	}
}

function launchLink(theURL,inPopup)
{
	writeCookie('cdc_cl',-1);
	if(inPopup!=true)
	{
		window.location.href=theURL;
	}
	else
	{
		window.open(theURL,'','');
	}
}

function rewriteLinks()
{
	premiumURL+=((premiumURL.indexOf('?')!=-1)?'&':'?')+'keyCode='+((args.keyCode)?args.keyCode:defaultKeyCode);
	if(document.getElementsByTagName)//DOM browsers
	{
		var links=document.getElementsByTagName('a');
		for(var i=0;i<links.length;i++)
		{
			if(links[i].attributes.target&&links[i].getAttribute('target').indexOf('_premium')==0)
			{
				//rewrite content links
				links[i].setAttribute('href',premiumURL);
				links[i].setAttribute('target','_self');
				links[i].onclick=function (){saveLink(this)};
				if(args.paintlinks) links[i].style.color='#990000';
			}
		}
	}
	else if(document.links)//Old browsers
	{
		var links=document.links;
		for(var i=0;i<links.length;i++)
		{
			if(links[i].target&&links[i].target.indexOf('_premium')==0)
			{
				//rewrite content links
				links[i].href=premiumURL;
				links[i].target='_self';
				if(args.paintlinks) links[i].style.color='#990000';
			}
		}
	}
}

function mergeURL(theURL)
{
	var thisHref=theURL.toString();
	if(thisHref.indexOf('?')==-1)
	{
		if(thisHref.indexOf('#')==-1)
		{
			thisHref+=theSearch;
		}
		else
		{
			thisHref=thisHref.replace(/#/,theSearch+'#');
		}
	}
	else
	{
		if(thisHref.indexOf('#')==-1)
		{
			thisHref+='&'+theSearch.substring(1);
		}
		else
		{
			thisHref=thisHref.replace(/#/,'&'+theSearch.substring(1)+'#');
		}
	}
	return thisHref;
}

function writeLinks()
{
	var linkToOpen=readCookie('cdc_cl');
	var theURL='';
	var inPopup=false;
	if(document.getElementsByTagName)//DOM browsers
	{
		var links=document.getElementsByTagName('a');
		for(var i=0;i<links.length;i++)
		{
			var navlink=(links[i].className.indexOf('parent')!=-1||links[i].className.indexOf('peer')!=-1||links[i].className.indexOf('selected')!=-1)?true:false;
			if(theSearch!=''&&links[i].attributes.href&&links[i].getAttribute('href').indexOf('javascript')==-1&&navlink)
			{
				//rewrite you inc page links
				links[i].href=mergeURL(links[i].href.toString());
				if(args.paintlinks) links[i].style.color='#009900';
			}
			if(i==linkToOpen)
			{
				theURL=links[i].getAttribute('href');
				inPopup=(links[i].getAttribute('target').indexOf('_blank')!=-1)?true:false;
			}
			if(links[i].attributes.target&&links[i].getAttribute('target').indexOf('_premium')==0)
			{
				links[i].setAttribute('target',((links[i].getAttribute('target')=='_premium')?'_self':links[i].getAttribute('target').replace(/_premium/,'')));
			}
		}
	}
	else if(document.links)//Old browsers
	{
		var links=document.links;
		for(var i=0;i<links.length;i++)
		{
			var navlink=(links[i].className.indexOf('parent')!=-1||links[i].className.indexOf('peer')!=-1||links[i].className.indexOf('selected')!=-1)?true:false;
			if(theSearch!=''&&links[i].href.indexOf('javascript')==-1&&navlink)
			{
				//rewrite you inc page links
				links[i].href=mergeURL(links[i].href.toString());
				if(args.paintlinks) links[i].style.color='#009900';
			}
			if(links[i].target&&links[i].target.indexOf('_premium')==0)
			{
				links[i].target=(links[i].target=='_premium')?'_self':links[i].target.replace(/_premium/,'');
			}
		}
	}
	if(theURL!='') launchLink(theURL,inPopup);
}