	function getCookieVal(offset){
	  var endstr = document.cookie.indexOf (";", offset);
	  if (endstr == -1) { endstr = document.cookie.length; }
	  return unescape(document.cookie.substring(offset, endstr));
	}
	 
	function GetCookie(name){
	  var arg = name + "=";
	  var alen = arg.length;
	  var clen = document.cookie.length;
	  var i = 0;
	  while (i < clen) {
	   var j = i + alen;
	   if (document.cookie.substring(i, j) == arg) {
	    return getCookieVal (j);
	    }
	   i = document.cookie.indexOf(" ", i) + 1;
	   if (i == 0) break; 
	   }
	  return null;
	}
	function setCookie(name,value,expires,path,domain,secure){
		document.cookie = name + "=" +escape( value ) +
		( ( expires ) ? ";expires=" + expires.toGMTString() : "" ) + 
		( ( path ) ? ";path=" + path : "" ) + 
		";domain=.myfuncards.com" +
		( ( secure ) ? ";secure" : "" );
	}
		
	function newCookieParse(sChip,sCookVal){
		var c = new RegExp("(?:\\&|^)"+sChip+"=(?:\\w|\.)+(\\&|$)");
		var tmp = sCookVal;
		var b = 0;
		if ((tmp != null) && (tmp != "")) {	
			var rtmp = c.exec(tmp);
			if ((rtmp != null) && (typeof rtmp.length == 'number')){
				b = rtmp[0];
				if(b.indexOf("&")!=-1){//remove &
					b=b.substring(1,(b.length-1));
				}
				b=b.substring(sChip.length+1);
			}
		}
		return b;
	}
	function setCookieChip(sCookieName,sChipName,sChipVal){	
		var sCookieVal=GetCookie(sCookieName);
		var fSetChip=function(){
			var s=sChipName+'='+sChipVal+'&';
			//format if first chip or just append
			(sCookieVal==null)?sCookieVal='&'+s:sCookieVal+=s;
			//set
			setCookie(sCookieName,sCookieVal,getPermDate(),'/');
		}
		if(sCookieVal==null){//no cookie
			fSetChip();
		}else{
			var sExistChipVal=newCookieParse(sChipName,sCookieVal);
			if((!sExistChipVal) && (sCookieVal.indexOf(sChipName+'=')==-1)){//cookie is set, not the chip
				fSetChip();
			}//else its already set - we're good
		}
	}
	function getPermDate(){
		var dExp = new Date();
		dExp.setTime(dExp.getTime() + (1825*24*60*60*1000));//5 yrs
		return dExp;
	}
	function getToolbarObj(){
		if (typeof(oToolbarController) != "undefined") {
			return oToolbarController.oSettingsCtl;
		}
		var oCntrl=document.getElementById('ToolbarCtlMWS');
		if(oCntrl==null){//try another name
			oCntrl=document.getElementById('SettingsControl');
		}
		return oCntrl;
	}
	
	function testForTrkParams(){	
		var sSHARED_COOKIE_NAME='cssP';
		var sUID_CHIP='uid';
		var sP_CHIP='p';
		
		var oCntrl=getToolbarObj();
		//UID
		if(oCntrl!=null && typeof(oCntrl.I)=='string'){
			var sUID=oCntrl.I;
			setCookieChip(sSHARED_COOKIE_NAME,sUID_CHIP,sUID);
		}
		//partner
		if(oCntrl!=null && typeof(oCntrl.P)=='string'){
			var sPartner=oCntrl.P;
			setCookieChip(sSHARED_COOKIE_NAME,sP_CHIP,sPartner);
		}
	}
	testForTrkParams();
	
	var uid = newCookieParse('uid',GetCookie('cssP'));
	
