
function GetCatFromDNNURL(url)
{

var end = url.lastIndexOf("/tabid");
// remove /tabid and everything beyond
var cat = url.slice(0,end);

// find the starting location of the last /
var end = cat.lastIndexOf("/");
// remove what is there and store it in cat1 
var cat1 = cat.slice(0,end);

// find the starting location of the last /
var start = cat1.lastIndexOf("/");
var cat1 = cat1.substring(start+1);

if(cat1==="highreach_cms")
{
var start = cat.lastIndexOf("/");
var cat = cat.substring(start+1);
}
else
{
var cat = cat1;
}

return cat;
}

function GetPageIDFromDNN()
{
var pageID=document.getElementById("pageID").value;
pageID = ReplaceTags(pageID);
pageID = "DNN: " + pageID;

if(pageID=="DNN: Home")
{
  if(psIsLoginSuccessDNN())
  {
  if(document.referrer=="https://www.highreach.com/highreach/User/login.aspx?ReturnUrl=/highreach_cms/default.aspx&referrer=highreach_cms")
      {
  	   psPostRegistration();
      }	
  }
}
return pageID;
}

function ReplaceTags(xStr)
{
      var regExp = /<\/?[^>]+>/gi;
        xStr = xStr.replace(regExp,"");
        return xStr;
}

function psIsLoginSuccessDNN()
{
	var btnLogout = document.getElementById("dnn_LoginStatusCtrl_LoginStatusLink");
	if(psCheckElementExist(btnLogout))
	{
		var temp = psTrim(psGetInnerText(btnLogout));
		if (temp != null && temp.toLowerCase() == "logout") {
			return true;
		}
	}
	return false;
}

function psCheckElementExist(pElement)
{
    if(typeof(pElement) == "undefined" || pElement == null)
    {
        return false;
    }

    return true;
}

/* PURPOSE: Remove all leading & trailing spaces of a string
 * Note: [&nbsp;] is also considered as a space
 * RETURN: string
 */
function psTrim(pStr)
{
	if (pStr == null || typeof(pStr) != "string")
		return pStr;
	return (pStr != null) ? pStr.replace(/&nbsp;|\u00A0/gi, ' ').replace(/^\s+|\s+$/g, '') : null;
}


/* PURPOSE: Get inner text of an object or remove html tags of a particular string
 *          work properly even when the designated tag/text has script tag inside
 * RETURN: resultant string or null object
 */
function psGetInnerText(pTagOjb){
	var pattern = /<script[\s\S]*?<\/script>/gi; // question mark means non-greedy
	if (pTagOjb != null)
	{
		var sT = (typeof(pTagOjb) == "object") ? pTagOjb.innerHTML : pTagOjb;
		// remove all script tags and its content
		while (sT.search(pattern) > -1)
		{
			sT = sT.replace(pattern, "");
		}
		return sT.replace(/\<+.+?\>+/g, "");
	}
	return null;
}

