/*
   $Header: mngCookies.js  Revision:1.3  Friday, May 14, 2004 3:29:14 PM  Brooking $

   $Log3: C:\Documents and Settings\jwbrooking\My Documents\Personal\QVCS Archives\Shoestring\htdocs\mngCookies.kt $

     Javascript function to test the username cookie for the username, and
     display text if there is a match.

   Revision 1.3  by: Brooking  Rev date: 5/14/2004 3:29:14 PM
     * Made getCookie take a cookie name, so it could be used for either.
     * Fixed delCookie (pathing issue)

   Revision 1.2  by: Brooking  Rev date: 5/3/2004 1:02:26 PM
     Added generic ssGetCookie and ssDelCookie functions.

   Revision 1.1  by: Brooking  Rev date: 4/22/2004 1:06:50 PM
     Allows more options for writing if not logged in as user, with wildcard
     options.

   $Endlog$

   The displayForUser function can be used in a variety of ways:

      displayForUser( "username", "text" )
         Display text if user logged in as "username"

      displayForUser( "!username", "text" )
         Display text if user not logged in as "username" (could be logged in
         as someone else, or just not logged in)

      displayForUser( "*", "text" )
         Display text if user logged in as anyone

      displayForUser( "-", "text" )
         Display text if user not logged in at all

*/

var SS_USER_COOKIE_NAME = "cookuser";
var SS_SESSION_COOKIE_NAME = "cooksess";

function ssGetCookie( name ) {
   var cookie = document.cookie;
   var startPos, endPos, cookieVal = "";
   if(( startPos = cookie.indexOf( name + "=" )) >= 0 ) {
      startPos += name.length + 1;
      if(( endPos = cookie.indexOf( ";", startPos )) == -1 ) {
         endPos = cookie.length;
      }
      cookieVal = unescape( cookie.substring( startPos, endPos ));
   }
   return cookieVal;
}

function ssDelCookies() {
   var inThePast = new Date();
   inThePast.setFullYear(1999);
   document.cookie = SS_USER_COOKIE_NAME + "= " + "; path=/; expires=" + inThePast.toGMTString();
   document.cookie = SS_SESSION_COOKIE_NAME + "= " + "; path=/; expires=" + inThePast.toGMTString();
}

function ssDisplayForUser( user, text ) {

   var inverse = 0, wildcard = 0, okay = 0;
   switch( user.substr( 0, 1 )) {
      case '!':
         user = substr( user, 1 );
         inverse = -1;
         break;
      case '*':
         wildcard = -1;
         break;
      case '-':
         inverse = -1;
         wildcard = -1;
         break;
   }

   var cookieVal = ssGetCookie(SS_USER_COOKIE_NAME);

   if((!wildcard) && (!inverse)) okay = ( cookieVal        == user );
   if((!wildcard) &&   inverse ) okay = ( cookieVal        != user );
   if(  wildcard  && (!inverse)) okay = ( cookieVal.length != 0    );
   if(  wildcard  &&   inverse ) okay = ( cookieVal.length == 0    );

   if(okay) document.write(text);
}
