/**
  * Cookie lib.js
  * written by: Jesse Houwing
  */

/**
  * Getcookie ~ geeft de waarde van het cookie dat je opvraagt. 
  * Deze is een lege string (eg "") als het cookie niet geset is of is ge-expired.
  * @arg CookieName De naam van de cookie die je wilt opvragen.
  */
function getCookie (CookieName) {
	var CookieString = document.cookie;
	var CookieSet = CookieString.split (';');
	var SetSize = CookieSet.length;
	var CookiePieces
	var ReturnValue = "";
	var x = 0;

	for (x = 0; ((x < SetSize) && (ReturnValue == "")); x++) {
		CookiePieces = CookieSet[x].split ('=');
		if (CookiePieces[0].substring (0,1) == ' ') {
			CookiePieces[0] = CookiePieces[0].substring (1, CookiePieces[0].length);
		}
		if (CookiePieces[0] == CookieName) {
			ReturnValue = CookiePieces[1];
		}
	}
	return ReturnValue;;
}

/**
  * SetCookie ~ set een cookie voor het huidige pad/domein. Alle pagina's ONDER dat pad kunnen ook bij dit cookie
  * anderen niet.
  * @arg cookieaName Naam van het cookie dat je wilt opslaan
  * @arg cookieValue Waarde die je dit cookie wilt geven
  * @arg expiry      Aantal eenheden tot het cookie moet expireen
  * @arg lentgh      1	-	Dagen
  *	                 2	-	Maanden
  * 				         3	-	Jaren
  *                  4  - minuten
  *					         * 	-	miliseconden
  */
function setCookie (cookieName, cookieValue, expiry, length){
	var expDate = new Date();
	if(expiry){
		switch (length){
			case 1:
				var times=1000 * 60 * 60 * 24;
				break;
			case 2:
				var times=1000 * 60 * 60 * 24 * 31;
				break;
			case 3:
				var times=1000 * 60 * 60 * 24 * 365;
				break;
      case 4:
				var times=1000 * 60;
				break;
			default:
				var times=1;
		}
		expDate.setTime (expDate.getTime() + (expiry*times));
		document.cookie = cookieName + "=" + escape (cookieValue) + "; expires=" + expDate.toGMTString();
	} else {
		document.cookie = cookieName + "=" + escape (cookieValue);
	}
}