function getMetaContentValue(mn) {
	try {
		var m = document.getElementsByTagName("meta");
		for (var i = 0; i < m.length; i++) {
			if (m[i].getAttribute("name") == mn) {
				return m[i].getAttribute("content");
			}
		}
	}
	catch (err) {}
	return "";
}

function prepStringCompare(inputString) {
	var outputString = inputString.replace(/^\s+|\s+$/g, "").toLowerCase();
	return outputString;
}

function getCookieDomain() {
	var domainName = window.location.host.toLowerCase();
	if (domainName.indexOf("investopedia.com") >= 0) domainName = ".investopedia.com";
	else if (domainName.indexOf("mnt.vcinv.net") >= 0) domainName = ".mnt.vcinv.net";
	else if (domainName.indexOf("staging.vcinv.net") >= 0) domainName = ".staging.vcinv.net";
	return domainName;
}

/*
CreateInvTargetCookie
Description:
    Adds content targetting cookie if the pages matches the criteria
    All seaching parameters are case-insensitive
Parameters:
    cookieName: the name of the cookie, will be stored as: [cookieName]=IPContentUser
    targetSitePages: comma-separated list of all OAS sitepages that can be matched
    targetQueries: comma-separated list of all OAS query values that can be matched
    targetMetaKeywords: comma-separated list of all meta keyword values that can be matched
*/
function CreateInvTargetCookie(cookieName, targetSitePages, targetQueries, targetMetaKeywords) {
	var createTargetCookie = false;
	var i, j;
	
   	// check the OAS sitepage
    try {
		if ((typeof(OAS_sitepage) != "undefined") && (OAS_sitepage != "") && (targetSitePages != "") && (createTargetCookie == false)) {
			var listTargetSitePages = targetSitePages.split(",");
			for (i = 0; i < listTargetSitePages.length; i++) {
				var targetSitePageCompare = prepStringCompare(listTargetSitePages[i]);
				if (targetSitePageCompare != "") {
					if (prepStringCompare(OAS_sitepage) == targetSitePageCompare) {
						createTargetCookie = true;
					}
				}
			}
		}
	}
	catch (errOasSitepage) {}
	
	// check the OAS query
    try {
		if ((typeof(OAS_query) != "undefined") && (OAS_query != "") && (targetQueries != "") && (createTargetCookie == false)) {
			var listTargetQueries = targetQueries.split(",");
			for (i = 0; i < listTargetQueries.length; i++) {
				var targetQueryCompare = prepStringCompare(listTargetQueries[i]);
				if (targetQueryCompare != "") {
					if (prepStringCompare(OAS_query).indexOf(targetQueryCompare) >= 0) {
						createTargetCookie = true;
					}
				}
			}
		}
	}
	catch (errOasQuery) {}

	// check the meta keywords
    try {
		var metaKeywords = getMetaContentValue("keywords");
		if ((metaKeywords != "") && (targetMetaKeywords != "") && (createTargetCookie == false)) {
			var listTargetMetaKeywords = targetMetaKeywords.split(",");
			var listMetaKeywords = metaKeywords.split(",");
			for (i = 0; i < listTargetMetaKeywords.length; i++) {
				var targetMetaKeywordCompare = prepStringCompare(listTargetMetaKeywords[i]);
				for (j = 0; j < listMetaKeywords.length; j++) {
					var srcMetaKeywordCompare = prepStringCompare(listMetaKeywords[j]);
					if ((targetMetaKeywordCompare != "") && (srcMetaKeywordCompare != "")) {
						if (targetMetaKeywordCompare == srcMetaKeywordCompare) {
							createTargetCookie = true;
						}
					}
				}
			}
		}
    }
    catch (errMetaKeywords) {}

    // create the cookie
    if (createTargetCookie == true) {
        var expires = new Date();
        expires.setDate(expires.getDate() + 30);
        document.cookie = cookieName + "=IPContentUser; expires=" + expires.toUTCString() + "; domain=" + getCookieDomain() + "; path=/";
    }
}

CreateInvTargetCookie("Retarget_Forex", "investopedia.com/forex", "", "");
CreateInvTargetCookie("Retarget_ActiveTrading", "investopedia.com/trading", "", "");
CreateInvTargetCookie("Retarget_ETF", "investopedia.com/etf", "IPCT_ETFs=IP_contentTag,IPCT_ETF=IP_contentTag,ORIPCT_ETFs=IP_contentTag", "exchanged-traded fund,exchanged-traded funds,exchange traded fund,exchange traded funds,etf,etfs");

