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;

}


