var userCookieName = "img";
var pageCookieName = "thresholdPgCount";
var pageCountThreshold = 4;
var pageCookieExpireDays = 0;


var imgFound = checkForIMGCookie(userCookieName);

if(!imgFound){
	pageThresholdCheck(pageCookieName, pageCountThreshold, pageCookieExpireDays);
}

function pageThresholdCheck(cookieName, thresholdCount, cookieExpireDays){
	var pagesLeft = checkRemainingPagesCookie(cookieName);

	if(pagesLeft == null){
		createCookie(cookieName, thresholdCount, cookieExpireDays);
	}
	else{
		if(pagesLeft>0){
			if( !document.DoNeRaN )
			{
				pagesLeft = pagesLeft - 1;

				//Set var in DOM to handle multiple instaces of redir.js being included
				document.DoNeRaN = new Number(0);

				createCookie(cookieName, pagesLeft, cookieExpireDays);	
			}
		}
		else if(pagesLeft<1){
			redirect();
		}
	}

}

function redirect(){
	var currentDomain = document.domain;
	var referrerURL = document.referrer;
	index = referrerURL.indexOf(currentDomain);
	if(index>-1){
		window.location.replace("/sharedcontent/registration/index.jsp?fw=" + document.URL);
	}
}

function checkRemainingPagesCookie(cookieName){
	var pageCount = readCookieInt(cookieName);
	if(pageCount == null){
		return null;
	}
	if(!isNaN(pageCount)){
		return pageCount;		
	}
	else{
		return -1;
	}
}

function checkForIMGCookie(cookieName){
	if (document.cookie.length > 0)
	{
		offset = document.cookie.indexOf(cookieName);
		if (offset != -1) 
		{ 
			return true;
		}
	}
	return false;
}

function createCookie(name,value,days) {
	if (days) {
   	var date = new Date();
    	date.setTime(date.getTime()+(days*24*60*60*1000));
    	var expires = '; expires='+date.toGMTString();
  	}
  	else{
  		expires = '';
  	}
  	document.cookie = name+'='+value+expires+'; path=/';
}


function readCookieInt(name) {
	var nameEQ = name + '=';
  	var ca = document.cookie.split(';');
  	for(var i=0;i < ca.length;i++) {
   	var c = ca[i];
   	while (c.charAt(0)==' '){ 
    		c = c.substring(1,c.length);
    	}
    	if (c.indexOf(nameEQ) == 0) {
    		str = c.substring(nameEQ.length,c.length);
    		return parseInt(str);
    	}	
  	}
  	return null;
}
