var external_querystr;
var external_domain;
var internal_referrer;
var strReferrer = document.referrer;
setExternalReferrer(strReferrer);
setInternalReferrer(strReferrer);
readCookie();
/*
alert("ext domain = " + external_domain);
alert("ext query = " + external_querystr);
alert("int ref = " + internal_referrer);
*/

function setExternalReferrer(m_strRefferrer)
{
	var splitUrlArr = m_strRefferrer.split("/");
	if(splitUrlArr.length>2)
	{
		var externalHostName = splitUrlArr[2];
		var hostname = "";
		var clientCookie=document.cookie;
		var start,end;
		var clientCookieValues;
		var cookieValue;
		var external_querystr;
		start = clientCookie.indexOf("external_ref_domain=");
		//checking that the cookie of external domain is already present or not
		if(start == -1)
		{
			document.cookie="external_ref_domain=" + externalHostName;
			external_querystr = getExternalQueryStr(splitUrlArr);
			document.cookie="external_ref_querystr=" + unescape(external_querystr);
		}
		else
		{

			hostname = document.location.hostname;
			/*start+= new String("external_ref_domain=").length;
			end = clientCookie.indexOf(";",start);
			if(end == -1)
				end=clientCookie.length;
			clientCookieValues = clientCookie.substring(start,end);
			*/

			if(externalHostName.match(hostname) == null)
			{
				document.cookie="external_ref_domain=" + externalHostName;
				external_querystr = getExternalQueryStr(splitUrlArr);
				document.cookie="external_ref_querystr=" + unescape(external_querystr);
			}
		}
	}
}

function getExternalQueryStr(m_splitUrlArr)
{

	var retStr = "";
	var m_queryStr = m_splitUrlArr[m_splitUrlArr.length-1];
	var m_queryStrArr = m_queryStr.split("?");
	if(m_queryStrArr.length > 1)
		retStr =  m_queryStrArr[1];
	return retStr;
}

function setInternalReferrer(strReferrer)
{
	document.cookie = "internal_referrer=" + unescape(strReferrer);
}


function readCookie()
{

		var clientCookie=document.cookie;
		var start,end;
		var clientCookieValues;
		var cookieValue;

		start = clientCookie.indexOf("external_ref_domain=");
		//checking that the client side cookie is valid or not
		if(start == -1)
		{
			external_domain = "";
		}
		else
		{

			start+= new String("external_ref_domain=").length;
			end = clientCookie.indexOf(";",start);
			if(end == -1)
				end=clientCookie.length;
			clientCookieValues = clientCookie.substring(start,end);
			//alert("ext_domain = " +clientCookieValues);
			external_domain = clientCookieValues;
		}

		start = clientCookie.indexOf("external_ref_querystr=");
		//checking that the client side cookie is valid or not
		if(start == -1)
		{
			external_querystr = "";
		}
		else
		{

			start+= new String("external_ref_querystr=").length;
			end = clientCookie.indexOf(";",start);
			if(end == -1)
				end=clientCookie.length;
			clientCookieValues = clientCookie.substring(start,end);

			external_querystr = clientCookieValues;
		}


		start = clientCookie.indexOf("internal_referrer=");
		//checking that the client side cookie is valid or not
		if(start == -1)
		{
			internal_referrer = "";
		}
		else
		{

			start+= new String("internal_referrer=").length;
			end = clientCookie.indexOf(";",start);
			if(end == -1)
				end=clientCookie.length;
			clientCookieValues = clientCookie.substring(start,end);
			//alert("ext_domain = " +clientCookieValues);
			internal_referrer = clientCookieValues;
		}


}