// ---------------------------

function getCookie(name) {
  name += "=";
  var laenge = name.length;
  var cookie_laenge = document.cookie.length;
  var i = 0;
  while (i < cookie_laenge) {
    var j = i + laenge;
    if (document.cookie.substring(i, j) == name) 
      return getCookieValue (j);
    
    i = document.cookie.indexOf(" ", i) + 1;

    if (i == 0)
      break;
  }
  return "";
}

// ---------------------------

function getCookieValue(position) {
  var ende = document.cookie.indexOf (";", position);
  if (ende == -1) 
    ende = document.cookie.length;

  return unescape(document.cookie.substring(position, ende));
}

// ---------------------------

// Excample:
// putCookie ('EMAIL', 'aaa@bbbb.cc', '/', null, null);
// putCookie ('LANG',  'DE/FR/IT/SP', '/', null, null);

function putCookie (name, wert, path, domain, secure, expires) {
  if (wert != '') {
    var arg_wert   = putCookie.arguments;
    var arg_laenge = putCookie.arguments.length;
    
    var lpath       = (arg_laenge > 2) ? path   : null;
    var ldomain     = (arg_laenge > 3) ? domain : null;
    var lsecure     = (arg_laenge > 4) ? secure : false;
    if(lsecure == null)
    {
    	lsecure = false;
    }
    // expireDate ist 1 Jahr, wenn kein Übergabewert vorhanden ist - use getFullYear due to a constraint in Firefox Javascript
    var date        = new Date ();
    if(arg_laenge > 5)
    {
    	if(expires == null)
    	{
    		lexpires = null;
    	}
    	else
    	{
    		lexpires = expires;
    	}
    }
    else
    {
    	lexpires = new Date ((date.getFullYear() + 1), date.getMonth(), date.getDate());
    }
   
    document.cookie =
        name + "=" + escape (wert)
      + ((lexpires == null)  ? "" : ("; expires=" + lexpires.toGMTString()))
      + ((lpath    == null)  ? "" : ("; path="    + lpath                 ))
      + ((ldomain  == null)  ? "" : ("; domain="  + ldomain               ))
      + ((lsecure  == false) ? "" : ("; secure"                           ))
    ;
  }
}

// ---------------------------

// Excample:
// deleteCookie ('EMAIL', null, '/');

function deleteCookie (name, path, domain) {
  document.cookie = name + "=" +
  ((path) ? ";path=" + path : "") +
  ((domain) ? ";domain=" + domain : "" ) +
  ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

// ---------------------------
