﻿// Copyright (C)2001 Interactive Intelligence Inc.
// All rights reserved, for use only by i3 customers
// .
// $Archive:  $
// $Date:  $
// $Revision:    $
// $Author:    $
// ----------------------------------------------------------------------

var breaker = "^";

function setCookie(name, value, path)
{
	document.cookie = name + '=' + value + ';path=' + path;
}

// ----------------------------------------------------------------------
function getCookie(name)
{
	var flag = document.cookie.indexOf(name+'=');
	var retVal = "";

	if (flag != -1) {
		flag += name.length + 1;
		end = document.cookie.indexOf("; ", flag );
		if (end == -1) end = document.cookie.length;
		retVal = document.cookie.substring(flag, end );
	}

	return retVal;
}

// ----------------------------------------------------------------------
function setSubCookie(uName, name, value)
{
 	uValue = getCookie(uName);
	if( uValue ) {
		// breaker variable for sub cookie split defined at top of file
		uCookies = uValue.split(breaker);
		var found = -1; // if the sub-cookie for the name is not present, pre-set it to false
		for( c = 0; c < uCookies.length; c++ )
		{
			// '|' is identifier between name and value.
			t = uCookies[c].split('|');
			tName = t[0];
			tValue = t[1];
			if( tName == name ) {
				found = 1;
				tValue = value;
				t[1] = tValue;
				uCookies[c] = t.join('|');
			}
		}
		if( found == -1 )
			uCookies[uCookies.length] = name + '|' + value;
		uValue = uCookies.join(breaker);
	} else {
		uValue = name + '|' + value;
	}
	// update the big cookie
	setCookie(uName, uValue, "/");
}

// ----------------------------------------------------------------------
function getSubCookie(uName, name)
{
	var uValue = getCookie(uName);
	if (uValue == null) return;
	var flag = uValue.indexOf(name+'|');
	if( flag != -1 ) {
		flag += name.length + 1;
		end = uValue.indexOf(breaker, flag);
		if(end == -1) end = uValue.length;
		return uValue.substring(flag, end);
	}
}



// ----------------------------------------------------------------------
function getLoginId ()
{
   // var id = getSubCookie(demoCookie,LOGINNAME_KEY);
   var id = getCookie(LOGINNAME_KEY);
   return id;
}

// ----------------------------------------------------------------------
function logout ()
{
	// setSubCookie(demoCookie,SESSIONID_KEY, "");
	setCookie(SESSIONID_KEY, "", "/");
}

// ----------------------------------------------------------------------
function isLoggedIn ()
{
   var loginId = getLoginId ();
   return (null != loginId && "" != loginId);
}

