function createCookie(name,value,days) {
	var expires = "";
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		expires = "; expires="+date.toGMTString();
	}
	document.cookie = name+"="+value+expires+"; path=/";
}

function createCookieWithDomain(name,value,days,domain) {
	var expires = "";
	var domainStr = "";
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		expires = "; expires="+date.toGMTString();
	}
	if (domain) {
		domainStr = "; domain="+domain;
	}
	document.cookie = name+"="+value+expires+domainStr+"; path=/";
}

function readCookie(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 eraseCookie(name) {
	createCookie(name,"",-1);
}

function readDFPCookie(name) {
	var nameEQ = "doubleclickserved=" + 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 true;}
	}
	return null;
}

function checkViewed(adID) {
	var currentCookie = readDFPCookie(adID);
	var returnValue;
	if (currentCookie) {
		returnValue = 'yes';
	} else {
		createCookie('doubleclickserved',adID,1);
		returnValue = 'no';	
	}
	return returnValue;
}

function cookieEncode(value) {
    if (value== null || value== "")
		return "";
   var keyStr = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+/=";
   var output = "";
   var char1, char2, char3;
   var enc1, enc2, enc3, enc4;
   var i = 0;
   do {
      char1 = value.charCodeAt(i++);
      char2 = value.charCodeAt(i++);
      char3 = value.charCodeAt(i++);
      enc1 = char1 >> 2;
      enc2 = ((char1 & 3) << 4) | (char2 >> 4);
      enc3 = ((char2 & 15) << 2) | (char3 >> 6);
      enc4 = char3 & 63;
      if (isNaN(char2)) {
         enc3 = enc4 = 64;
      } else if (isNaN(char3)) {
         enc4 = 64;
      }
      output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) + 
         keyStr.charAt(enc3) + keyStr.charAt(enc4);
   } while (i < value.length);
   return output;
}

function cookieDecode(value) {
	  if (value== null || value== "")
		return "";
      var keyStr = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+/=";
      var output = "";
      var char1, char2, char3 = "";
      var enc1, enc2, enc3, enc4 = "";
      var i = 0;
      value = value.replace(/[^A-Za-z0-9\+\/\=]/g, "");
      do {
         enc1 = keyStr.indexOf(value.charAt(i++));
         enc2 = keyStr.indexOf(value.charAt(i++));
         enc3 = keyStr.indexOf(value.charAt(i++));
         enc4 = keyStr.indexOf(value.charAt(i++));
         char1 = (enc1 << 2) | (enc2 >> 4);
         char2 = ((enc2 & 15) << 4) | (enc3 >> 2);
         char3 = ((enc3 & 3) << 6) | enc4;
         output = output + String.fromCharCode(char1);
         if (enc3 != 64) {
            output = output + String.fromCharCode(char2);
         }
         if (enc4 != 64) {
            output = output + String.fromCharCode(char3);
         }
         char1 = char2 = char3 = "";
         enc1 = enc2 = enc3 = enc4 = "";
      } while (i < value.length);
      return output;
 }


function readCvalue(cookie, name) {
	var nameEQ = name + ":";
	var ca = 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 addCvalue(cookie,name,value) {
	var nameEQ = name + ":";
	if (cookie)
		cookie = cookie + "|" + nameEQ + value;
	else
		cookie = nameEQ + value;
	return cookie;
}

function makeSessionFrame() {
	var iframeHTML='\<iframe id="SessionIFrame" src="/services/site/registration/get-session" style="';
    iframeHTML+='border:0px;';
    iframeHTML+='width:0px;';
    iframeHTML+='height:0px;';
    iframeHTML+='"><\/iframe>';
    document.getElementById('sessionchk').innerHTML=iframeHTML;
}

