
	var CMXDAYS = 30;	//cookie lifetime value
	var CMSETPRODUCTION="OFF"; //production switch
    if(document.URL.match("[^-\.]+-[^\.]+\.[^\.]+\.com")) {
        CMSETPRODUCTION="OFF";
    } else {
        CMSETPRODUCTION="ON";
    }

	var CMONOFF="ON";	//OPT-OUT switch
	
	if (cmxReadCookie("CMONOFF") == "OFF") { //check if OPT-OUT
		CMONOFF = "OFF";
	}
		
	//send data to production
	if("ON" == CMONOFF)	{
		if("ON" == CMSETPRODUCTION) {
			cmSetProduction();
		}
	}

    function cmxSetCategory(_categoryID) {
		if (CMONOFF == "ON") {
        	cmxCreateCookie("CATEGORYID", _categoryID, CMXDAYS);
		}
    }

    function cmxSetClickedCategory(_categoryID) {
		if (CMONOFF == "ON") {
			cmxCreateCookie("CATEGORYID", _categoryID, CMXDAYS);
			cmxCreateCookie("USECATEGORYID", "FALSE", CMXDAYS);
		}
	}
	
	function cmxExtractHrefs() {
		if (CMONOFF == "ON") {
			var spanElements = window.document.getElementsByTagName("div");
			var spanCategory;
			
			for (var i = 0; i < spanElements.length; i++) {
				spanCategory = spanElements[i].getAttribute("cmxcategoryid");
				
				if (spanCategory) {
					var anchorElements;
						anchorElements = spanElements[i].getElementsByTagName("a");
					
					for (x = 0; x < anchorElements.length; x++) {
                		addAnEvent(anchorElements[x], "click", new Function("cmxSetClickedCategory('" + spanCategory + "');"));
					}
				}
			}
		}
	}
	
	function addAnEvent(_obj, _eventName, _functionName) {
		if (window.addEventListener) {
			_obj.addEventListener(_eventName, _functionName, false);
		} else {
			_obj.attachEvent("on" + _eventName, _functionName);
		}
	}
	
	function cmxCreateCookie(name,value,days) {
		if (CMONOFF == "ON") {
			if (days) {
				var date = new Date();
				date.setTime(date.getTime()+(days*24*60*60*1000));
				var expires = "; expires="+date.toGMTString();
			}
			else var expires = "";
			
			//parse the domain name
			var cmxCurrentCookieDomain = document.domain.split(".");
			var cmxBuiltCookieDomain = "." + cmxCurrentCookieDomain[cmxCurrentCookieDomain.length - 2] + "." + cmxCurrentCookieDomain[cmxCurrentCookieDomain.length - 1];
			
			document.cookie = name + "=" + value + expires + "; path=/; domain=" + cmxBuiltCookieDomain;
		}
	}
	
	function cmxReadCookie(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) return c.substring(nameEQ.length,c.length);
		}
		return null;
	}
	
	function cmxEraseCookie(name) {
		cmxCreateCookie(name,"",-1);
	}
