
// Copyright (C)2001 Interactive Intelligence Inc.
// All rights reserved, for use only by i3 customers
//
// $Archive:  $
// $Date:  $
// $Revision:    $
// $Author:    $

// Requires Config_Variables.js be included first

var ENDL = "\n";
var chatStarted = false;
var collabStarted = false;

function disconnectChat(frm)
{
	frm.action = "/websvc/chat?a=disconnect";
	frm.submit();
	return true;
}

//////////////////////////////////////////////////////////
function getStatusText(statusCode)
{
	var status = "";

    if (statusCode.length == 0)
        statusCode = "0";
    
    // NOCONNECTION
    if (statusCode == "0")
        status = parent.NOCONNECTION_TEXT;
    
    // CONNECTING
    if (statusCode == "1")
        status = parent.CONNECTING_TEXT;
    
    // ALERTING
    if (statusCode == "2")
        status = parent.ALERTING_TEXT;
    
    // CONNECTED
    if (statusCode == "3")
        status = parent.CONNECTED_TEXT;

    // DISCONNECTED
    if (statusCode == "4")
        status = parent.DISCONNECTED_TEXT;

	return status;
}

//////////////////////////////////////////////////////////
function getStatusImage(statusCode)
{
    // NOCONNECTION
    if (statusCode == "0" || statusCode == "")
    {
        image = "/I3Root/Images/DisconnectedStatic.gif";
    }
    
    // ALERTING
    if (statusCode == "2")
    {
        image = "/I3Root/Images/ConnectingDynamic.gif";
    }
    
    // CONNECTING
    if (statusCode == "1")
    {
        image = "/I3Root/Images/ConnectingDynamic.gif";
    }
    
    // CONNECTED
    if (statusCode == "3")
    {
        image = "/I3Root/Images/ConnectingStatic.gif";
    }
        

    // DISCONNECTED
    if (statusCode == "4")
    {
        image = "/I3Root/Images/DisconnectedStatic.gif";
    }
    
    return image;
}

//////////////////////////////////////////////////////////
function setUpPolling()
{
	setTimeout('querySession()', POLL_RATE);
}

//////////////////////////////////////////////////////////
function querySession()
{
	var startChat 	= getCookie(PUSHCHAT_KEY);
	var startCollab = getCookie(PUSHCOLLAB_KEY);
	
	var pushURL = getCookie(PUSHURL_KEY);
	var pushMsg	= getCookie(PUSHMSG_KEY); 
	
	if (startChat == "true" && !chatStarted)
	{
		var interactionId 	= getCookie(INTERACTIONID_KEY);
		var target 			= getCookie(TARGET_KEY);
		var sessionId 		= getCookie(SESSIONID_KEY);
		
		var html = genHTML_chat("User Queue:"+target, "0", sessionId, false, false, false, true);
	    windowFeatures = "width=800,height=440,dependent=no,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes";
		var win = window.open("", "Chat", windowFeatures);
		win.document.write(html);
		
		setCookie(PUSHCHAT_KEY, "", "/");
		startChat = "";
		chatStarted = true;
	}
	
	if (startCollab == "true" && !collabStarted)
	{
		var interactionId 	= getCookie(INTERACTIONID_KEY);
		var target 			= getCookie(TARGET_KEY);
		var sessionId 		= getCookie(SESSIONID_KEY);
		var launchURL 		= getCookie(LAUNCHURL_KEY);

		var html = genHTML_trackerCollaboration("User Queue:"+target, sessionId, launchURL);
		windowFeatures = "width=500,height=40,dependent=no,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no";
		var win = window.open("", "Collaboration", windowFeatures);
		win.document.write(html);

		setCookie(PUSHCOLLAB_KEY, "", "/");
		startCollab = "";
		collabStarted = true;
	}
	
	if (pushURL != null && pushURL.length > 0)
	{
		if (pushURL.indexOf("http") == -1)
			pushURL = "http://" + pushURL;
			
		windowFeatures = "width=800,height=440,dependent=no,toolbar=yes,location=yes,directories=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes";
		var win = window.open(pushURL, "URL", windowFeatures);
		
		setCookie(PUSHURL_KEY, "", "/");
		pushURL = null;
	}

	if (pushMsg != null && pushMsg !="") {
		alert( pushMsg ); 
		setCookie(PUSHMSG_KEY, "", "/"); 
		pushMsg = null;
	}
	
	document.images['tracker'].src = "/websvc/tracker?a=queryStatus";
	eval(document.images['tracker'].src);
	setUpPolling();
	
}

    
//////////////////////////////////////////////////////////
function loadTracker(page,queue) 
{
	var userId = getCookie(LOGINNAME_KEY);
	if (userId == null)
		userId = "";
		
	var dotNet = "false";
	if (isNET)
		dotNet = "true";
		
    var retVal = "";

    var src = "";
    
    src = "/websvc/tracker?a=trackPage&page=" + page + "&queue="+ queue + "&poll=" + POLLING + "&userId=" + userId + "&dotNet=" + dotNet;
    
    retVal += '<html>' + ENDL;
    retVal += '<img src=' + src + ' width=1 length=1 id=tracker>' + ENDL;
//  retVal += '		<!—misc HTML code goes here -->' + ENDL;
    retVal += '</html>';

    document.write(retVal);

    if (POLLING == "true") setUpPolling();
    
}

function showCookies()
{
    alert( "image onLoad cookies - " + document.cookie );
}


//////////////////////////////////////////////////////////
function genHTML_trackerCollaboration (p_qname, p_sessionId, p_launchURL)
{
    var retVal = "";
    var index = navigator.appVersion.indexOf("MSIE ");
    if (index > -1)
    {
		if (parseInt(navigator.appVersion.substring(index)) < 6)
		{
			retVal += '<HTML>BODY><br><br>&nbsp;&nbsp;Version 6.0 or later of Internet Explorer is required to run Collaboration.</BODY></HTML>';
			return retVal;
		}
	}

   	var postUrl = "http://" + parent.location.host+ REL_SERVLET_PATH + "/";
	var cabVersion = "1,0,0,8";

	if (p_launchURL.length == 0) {
		p_launchURL = LAUNCHURL;
	}

	retVal = '<HTML>' + ENDL;
	
	retVal += '<script type="text/JavaScript"><!--' + ENDL;
	retVal += 'function closeIt() { window.close(); }' + ENDL;
	retVal += '//--></script>' + ENDL;

	retVal += '<BODY style="margin:0px;" scroll="no">' + ENDL;

	retVal += '<OBJECT id="Downloader" ';
	retVal += 'codebase="AxDownloader.cab#version='+cabVersion+'"';
	retVal += 'style="WIDTH: 100%; HEIGHT: 100%" ';
	retVal += 'classid="clsid:A01F3506-7399-43CD-941E-C12EEC37E030" >' + ENDL; 
	
	retVal += '<param name="LAUNCHURL"		value=/LAUNCHURL="'		+ p_launchURL	+ '">' + ENDL;
	retVal += ('<param name="NOCHAT"		value=/NOCHAT="'		+ NOCHAT		+ '">') + ENDL;
	retVal += ('<param name="NOCOLLAB"		value=/NOCOLLAB="'		+ NOCOLLAB		+ '">') + ENDL;
	retVal += '<param name="PARTY_NAME"		value=/PARTY_NAME="'	+ removeSpaces(PARTY_NAME)	+ '">' + ENDL;
	retVal += ('<param name="QUEUE"			value=/QUEUE="'			+ removeSpaces(p_qname)		+ '">') + ENDL;
	retVal += ('<param name="POSTURL"		value=/POSTURL="'		+ postUrl		+ '">') + ENDL;
	retVal += '<param name="USERID"			value=/USERID="'		+ removeSpaces(USERID)		+ '">' + ENDL;
	retVal += ('<param name="USER_COLOR0"	value=/USER_COLOR0="'	+ USER_COLOR0		+ '">') + ENDL;
	retVal += ('<param name="USER_COLOR1"	value=/USER_COLOR1="'	+ USER_COLOR1		+ '">') + ENDL;
	retVal += ('<param name="USER_COLOR2"	value=/USER_COLOR2="'	+ USER_COLOR2		+ '">') + ENDL;
	retVal += ('<param name="USER_COLOR3"	value=/USER_COLOR3="'	+ USER_COLOR3		+ '">') + ENDL;
	retVal += ('<param name="USER_COLOR4"	value=/USER_COLOR4="'	+ USER_COLOR4		+ '">') + ENDL;
	retVal += '</OBJECT>';
	
	retVal += '</BODY></HTML>';

	// Removing because it looks like the browser window is
	// closing before the control has a chance to start.
	// SCR 40622.  -Jared Alford
	// retVal += '<script type="text/JavaScript"><!--' + ENDL;
	// retVal += 'setTimeout("closeIt()", 60000)' + ENDL;
	// retVal += '//--></script>' + ENDL;

    return retVal;
}

//////////////////////////////////////////////////////////
function genHTML_collaboration (p_qname)
{
    var retVal = "";
    var index = navigator.appVersion.indexOf("MSIE ");
    if (index > -1)
    {
		if (parseInt(navigator.appVersion.substring(index)) < 6)
		{
			retVal += '<HTML>BODY><br><br>&nbsp;&nbsp;Version 6.0 or later of Internet Explorer is required to run Collaboration.</BODY></HTML>';
			return retVal;
		}
	}

   	var postUrl = "http://" + parent.location.host+ REL_SERVLET_PATH + "/";
	var cabVersion = "1,0,0,8";

	retVal = '<HTML>' + ENDL;
	
	retVal += '<script type="text/JavaScript"><!--' + ENDL;
	retVal += 'function closeIt() { window.close(); }' + ENDL;
	retVal += '//--></script>' + ENDL;

	retVal += '<BODY style="margin:0px;" scroll="no">' + ENDL;

	retVal += '<OBJECT id="Downloader" ';
	retVal += 'codebase="AxDownloader.cab#version='+cabVersion+'"';
	retVal += 'style="WIDTH: 100%; HEIGHT: 100%" ';
	retVal += 'classid="clsid:A01F3506-7399-43CD-941E-C12EEC37E030" >' + ENDL; 
	
	retVal += '<param name="LAUNCHURL"		value=/LAUNCHURL="'		+ LAUNCHURL		+ '">' + ENDL;
	retVal += ('<param name="NOCHAT"		value=/NOCHAT="'		+ NOCHAT		+ '">') + ENDL;
	retVal += ('<param name="NOCOLLAB"		value=/NOCOLLAB="'		+ NOCOLLAB		+ '">') + ENDL;
	retVal += '<param name="PARTY_NAME"		value=/PARTY_NAME="'	+ removeSpaces(PARTY_NAME)	+ '">' + ENDL;
	retVal += ('<param name="QUEUE"			value=/QUEUE="'			+ removeSpaces(p_qname)		+ '">') + ENDL;
	retVal += ('<param name="POSTURL"		value=/POSTURL="'		+ postUrl		+ '">') + ENDL;
	retVal += '<param name="USERID"			value=/USERID="'		+ removeSpaces(USERID)		+ '">' + ENDL;
	retVal += ('<param name="USER_COLOR0"	value=/USER_COLOR0="'	+ USER_COLOR0		+ '">') + ENDL;
	retVal += ('<param name="USER_COLOR1"	value=/USER_COLOR1="'	+ USER_COLOR1		+ '">') + ENDL;
	retVal += ('<param name="USER_COLOR2"	value=/USER_COLOR2="'	+ USER_COLOR2		+ '">') + ENDL;
	retVal += ('<param name="USER_COLOR3"	value=/USER_COLOR3="'	+ USER_COLOR3		+ '">') + ENDL;
	retVal += ('<param name="USER_COLOR4"	value=/USER_COLOR4="'	+ USER_COLOR4		+ '">') + ENDL;
	retVal += '</OBJECT>';
	
	retVal += '</BODY></HTML>';

	// Removing because it looks like the browser window is
	// closing before the control has a chance to start.
	// SCR 40622.  -Jared Alford
	// retVal += '<script type="text/JavaScript"><!--' + ENDL;
	// retVal += 'setTimeout("closeIt()", 60000)' + ENDL;
	// retVal += '//--></script>' + ENDL;

    return retVal;
}

//////////////////////////////////////////////////////////
function genHTML_instant_question (p_qname, p_useDebug, p_usePopup)
{
    var retVal = "";
    
    retVal = genHTMLHeader(IQ_NAME, "0", "0", p_useDebug, p_qname, p_usePopup);
    
	retVal += '<frameset FRAMEBORDER=yes BORDER=5 cols="*,150" marginwidth="0" marginheight="0">' + ENDL;
    retVal += '<frameset FRAMEBORDER="yes" rows="1,*,30" marginwidth="0" marginheight="0">' + ENDL;
    retVal += '    <frame src="/I3Root/IQQuery.html" name="iqAnswer" id="iqAnswer" marginwidth="0" marginheight="0" scrolling="no">' + ENDL;
    retVal += '    <frame src="/I3Root/IQAnswer.html" name="iqAnswer" id="iqAnswer" marginwidth="0" marginheight="0" scrolling="no">' + ENDL;
    retVal += '    <frame src="/I3Root/IQ.html" name="iq" id="iq" marginwidth="0" marginheight="0" scrolling="no">' + ENDL;
    retVal += '</frameset>' + ENDL;
    retVal += '<frameset FRAMEBORDER="yes" rows="150,*" marginwidth="0" marginheight="0">' + ENDL;
    retVal += '    <frame src="/I3Root/Logo.html" name="iqLogo" id="iqLogo" marginwidth="0" marginheight="0" scrolling="no">' + ENDL;
    retVal += '    <frame src="/I3Root/IQConnection.html" name="iqConnection" id="iqConnection" marginwidth="0" marginheight="0">' + ENDL;
    retVal += '</frameset>' + ENDL;
    retVal += '</frameset></html>' + ENDL;

    return retVal;
}

//////////////////////////////////////////////////////////
function genHTML_callback (p_qname, p_useDebug, p_usePopup)
{
    var retVal = "";
    
    retVal = genHTMLHeader(CB_NAME, "0", "0", p_useDebug, p_qname, p_usePopup);

	retVal += '<frameset FRAMEBORDER=yes BORDER=5 cols="*,180">' + ENDL;
	retVal += '    <frameset FRAMEBORDER="yes" rows="1,300,*" >' + ENDL;
	retVal += '        <frame src="/I3Root/CBResponse.html" name="cbResponse" id="cbResponse" scrolling="yes">' + ENDL;
	retVal += '        <frame src="/I3Root/CBInfo.html" name="cbInfo" id="cbInfo" scrolling="no">' + ENDL;
	retVal += '        <frame src="/I3Root/CBResponseText.html" name="cbResponseText" id="cbResponseText" scrolling="yes">' + ENDL;
	retVal += '    </frameset>' + ENDL;
	retVal += '    <frameset FRAMEBORDER="yes" rows="*">' + ENDL;
	retVal += '        <frame src="/I3Root/Logo.html" name="iqLogo" id="iqLogo" scrolling="no">' + ENDL;
	retVal += '    </frameset>' + ENDL;
	retVal += '</frameset>' + ENDL;
    
    return retVal;
}

//////////////////////////////////////////////////////////
function genHTML_chat (p_qname, p_interactionId, p_sessionId, p_useDebug, p_usePopup, p_useApplet, p_usehtml)
{
   var retVal = "";
   if (!p_usehtml && !p_useApplet)
   {
   		var postUrl = "http://" + parent.location.host+ REL_SERVLET_PATH + "/";
		var cabVersion = "1,0,0,7";
		var noChat = "false";
		var noCollab = "true";

		retVal = '<HTML>' + ENDL;
		
		retVal += '<script type="text/JavaScript"><!--' + ENDL;
		retVal += 'function closeIt() { window.close(); }' + ENDL;
		retVal += '//--></script>' + ENDL;

		retVal += '<BODY style="margin:0px;" scroll="no">' + ENDL;


		retVal += '<OBJECT id="Downloader" ';
		retVal += 'codebase="AxDownloader.cab#version='+cabVersion+'"';
		retVal += 'style="WIDTH: 100%; HEIGHT: 100%" ';
		retVal += 'classid="clsid:A01F3506-7399-43CD-941E-C12EEC37E030" >' + ENDL; 
		
		retVal += ('<param name="WEBSESSIONID"	value=/WEBSESSIONID="'	+ p_sessionId				+ '">') + ENDL;
		retVal += ('<param name="INTERACTIONID"	value=/INTERACTIONID="'	+ p_interactionId			+ '">') + ENDL;
		retVal += ('<param name="NOCHAT"		value=/NOCHAT="'		+ noChat					+ '">') + ENDL;
		retVal += ('<param name="NOCOLLAB"		value=/NOCOLLAB="'		+ noCollab					+ '">') + ENDL;
		retVal += '<param name="PARTY_NAME"		value=/PARTY_NAME="'	+ removeSpaces(PARTY_NAME)	+ '">' + ENDL;
		retVal += ('<param name="QUEUE"			value=/QUEUE="'			+ removeSpaces(p_qname)		+ '">') + ENDL;
		retVal += ('<param name="POSTURL"		value=/POSTURL="'		+ postUrl					+ '">') + ENDL;
		retVal += '<param name="USERID"			value=/USERID="'		+ removeSpaces(USERID)		+ '">' + ENDL;
		retVal += ('<param name="USER_COLOR0"	value=/USER_COLOR0="'	+ USER_COLOR0				+ '">') + ENDL;
		retVal += ('<param name="USER_COLOR1"	value=/USER_COLOR1="'	+ USER_COLOR1				+ '">') + ENDL;
		retVal += ('<param name="USER_COLOR2"	value=/USER_COLOR2="'	+ USER_COLOR2				+ '">') + ENDL;
		retVal += ('<param name="USER_COLOR3"	value=/USER_COLOR3="'	+ USER_COLOR3				+ '">') + ENDL;
		retVal += ('<param name="USER_COLOR4"	value=/USER_COLOR4="'	+ USER_COLOR4				+ '">') + ENDL;
		retVal += ('<param name="LAUNCHURL"		value=/LAUNCHURL="'		+ LAUNCHURL					+ '">') + ENDL;
	
		retVal += '</OBJECT>';
		
		retVal += '</BODY></HTML>';

		// Removing because it looks like the browser window is
		// closing before the control has a chance to start.
		// SCR 40622.  -Jared Alford
		// retVal += '<script type="text/javascript"><!--' + ENDL;
		// retVal += 'setTimeout("closeIt()", 10000)' + ENDL;
		// retVal += '//--></script>' + ENDL;
   }
   else if (p_useApplet)
   {
		retVal = "<HTML><BODY>" + ENDL;
		if (navigator.appVersion.indexOf("MSIE")!=-1)
		{
			retVal += genIEHeader (CHAT_NAME, 
					CHAT_CODE, 
      				CHAT_CODEBASE, 
					CHAT_ARCHIVE, 
					CHAT_WIDTH, 
					CHAT_HEIGHT, 
      				p_useDebug, 
					p_qname, 
					p_usePopup);

			retVal += '<param name="POLL_RATE" value="' + POLL_RATE + '">' + ENDL;
			retVal += '<param name="PROTOCOL" value="' + PROTOCOL + '">' + ENDL;
			retVal += '<param name="USE_DOUBLE_BYTE" value="' + USE_DOUBLE_BYTE	+ '">' + ENDL;
			retVal += '<param name="PARTY_EMAIL" value="' + PARTY_EMAIL + '">' + ENDL;
			retVal += '<param name="PARTY_PHONE" value="' + PARTY_PHONE + '">' + ENDL;
			retVal += '<param name="PARTY_NAME" value="' + PARTY_NAME + '">' + ENDL;
			retVal += 'You must install the Java runtime environment in order to use Java chat' + ENDL;
			retVal += '</object>' + ENDL;
		}
		else
		{
			retVal += genHeader (CHAT_NAME, 
					CHAT_CODE, 
      				CHAT_CODEBASE, 
					CHAT_ARCHIVE, 
					CHAT_WIDTH, 
					CHAT_HEIGHT, 
      				p_useDebug, 
					p_qname, 
					p_usePopup);

			retVal += '<param name="POLL_RATE" value="' + POLL_RATE + '">' + ENDL;
			retVal += '<param name="PROTOCOL" value="' + PROTOCOL + '">' + ENDL;
			retVal += '<param name="USE_DOUBLE_BYTE" value="' + USE_DOUBLE_BYTE	+ '">' + ENDL;
			retVal += '<param name="PARTY_EMAIL" value="' + PARTY_EMAIL + '">' + ENDL;
			retVal += '<param name="PARTY_PHONE" value="' + PARTY_PHONE + '">' + ENDL;
			retVal += '<param name="PARTY_NAME" value="' + PARTY_NAME + '">' + ENDL;
			retVal += 'You must install the Java runtime environment in order to use Java chat' + ENDL;
			retVal += '</applet>' + ENDL;
		}
		retVal += "</BODY></HTML>" + ENDL;
   }
   else
   {
		retVal = genHTMLHeader(CHAT_NAME, p_sessionId, p_interactionId, p_useDebug, p_qname, p_usePopup);
	
		retVal += '<frameset FRAMEBORDER="yes" BORDER=2 cols="*,150" marginwidth="0" marginheight="0">' + ENDL;
		retVal += '    <frameset FRAMEBORDER="yes" rows="1,*,60,20" marginwidth="0" marginheight="0">' + ENDL;
		retVal += '        <frame src="/I3Root/ChatHistory.html" name="chatHistory" id="chatHistory" marginwidth="0" marginheight="0" scrolling="no">' + ENDL;
		retVal += '        <frame src="/I3Root/ChatHistoryText.html" name="chatHistoryText" id="chatHistoryText" marginwidth="0" marginheight="0" scrolling="yes">' + ENDL;
		retVal += '        <frame src="/I3Root/Chat.html" name="chatText" id="chatText" marginwidth="0" marginheight="0" scrolling="no" noresize>' + ENDL;
		retVal += '        <frame src="/I3Root/ChatIndicator.html" name="chatIndicator" id="chatIndicator" marginwidth="0" marginheight="0" scrolling="no" noresize>' + ENDL;
		retVal += '    </frameset>' + ENDL;
		retVal += '    <frameset FRAMEBORDER="yes" rows="150,100,*,60" marginwidth="0" marginheight="0">' + ENDL;
		retVal += '        <frame src="/I3Root/Logo.html" name="chatLogo" id="chatLogo" marginwidth="0" marginheight="0" scrolling="no" noresize>' + ENDL;
		retVal += '        <frame src="/I3Root/ChatParties.html" name="chatParties" id="chatParties" marginwidth="0" marginheight="0">' + ENDL;
		retVal += '        <frame src="/I3Root/ChatAgent.html" name="chatAgent" id="chatAgent" marginwidth="0" marginheight="0" noresize>' + ENDL;
		retVal += '        <frame src="/I3Root/ChatStatus.html" name="chatStatus" id="chatStatus" marginwidth="0" marginheight="0" scrolling="no" noresize>' + ENDL;
		retVal += '    </frameset>' + ENDL;
		retVal += '</frameset></html>' + ENDL;
   }

   return retVal;
}

//////////////////////////////////////////////////////////
function genParam (p_name, p_value){
   return '<param name="'+p_name+'" value="'+p_value+'"> ' + ENDL;
}

//////////////////////////////////////////////////////////
function genIEHeader (p_name, p_code, p_codebase, p_jarName, p_w, p_h, p_debug, p_queue, p_usePopup)
{
   var val = '<object id="' + p_name + '" classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" ';
   val += 'codebase="http://java.sun.com/update/1.4.2/jinstall-1_4-windows-i586.cab#Version=1,4,0,0" ';

   if (p_usePopup) {
      val += 'width="1" height="1">' + ENDL;
   }
   else{
      val += 'width="'+p_w+'" height="'+p_h+'">' + ENDL;
   }

   if (p_debug) 
   {
      val += genParam ('TRACELEVEL', '15');
   }
   
   val += genParam("archive", p_jarName);
   val += genParam("codebase", p_codebase);
   val += genParam("code", p_code);

   if (p_usePopup) {
      val += genParam ('IS_EMBEDDED', 'false');
   }
   else{
      val += genParam ('IS_EMBEDDED', 'true');
   }

   val += genParam ('WEBFILTER_PATH', REL_SERVLET_PATH);
   val += genParam ('QUEUE', p_queue);

   return val;
}

//////////////////////////////////////////////////////////
function genHeader (p_name, p_code, p_codebase, p_jarName, p_w, p_h, p_debug, p_queue, p_usePopup)
{
   var val = '<applet id="'+p_name+'" code="'+p_code;
   val += '" archive="'+p_jarName+'" codebase="'+p_codebase+'" ';

   if (p_usePopup) {
      val += 'width="1" height="1">' + ENDL;
   }
   else{
      val += 'width="'+p_w+'" height="'+p_h+'">' + ENDL;
   }

   if (p_debug) 
   {
      val += genParam ('TRACELEVEL', '15');
   }


   if (p_usePopup) {
      val += genParam ('IS_EMBEDDED', 'false');
   }
   else{
      val += genParam ('IS_EMBEDDED', 'true');
   }

   val += genParam ('WEBFILTER_PATH', REL_SERVLET_PATH);
   val += genParam ('QUEUE', p_queue);

   return val;
}

//////////////////////////////////////////////////////////
function genHTMLHeader(p_name, p_sessionId, p_interactionId, p_debug, p_queue, p_usePopup)
{
    var retVal = "";

	retVal =  '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">' + ENDL;
	retVal += '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >' + ENDL;
	retVal += '<?xml version="1.0" encoding="UTF-8" ?>' + ENDL;
	retVal += '<meta name="author" content="Interactive Intelligence">' + ENDL;
	retVal += '<meta http-equiv="content-type" content="text/html; charset=UTF-8">' + ENDL;
	retVal += '<meta http-equiv="cache-control" content="no-cache">' + ENDL;
	retVal += '<meta http-equiv="expires" content="0">' + ENDL;
    retVal += '<head><title>' + p_name + '</title>' + ENDL;
    retVal += '<base target="top"></head>' + ENDL;
    
    retVal += '<link REL="stylesheet" TYPE="text/css" HREF="/I3Root/Styles/Text.css">' + ENDL;
	retVal += '<script type="text/JavaScript"><!--' + ENDL;

	retVal += 'document.cookie = "cookies=true";' + ENDL;
	retVal += 'if (document.cookie == "") {' + ENDL;
	retVal += '	document.write("Web Interactions cannot be run without session cookies enabled.  If you are using IE 6.x, select Tools|Internet Options from the browser menu.  Select the Privacy tab, then the Advanced button.  Make sure the <u>Always allow session cookies</u> option is enabled.  This does not write any cookies to your machine, but allows a particular web session to pass cookies back and forth.");' + ENDL;
	retVal += '	document.close();' + ENDL;
	retVal += '}' + ENDL;

	if (p_debug)
	    retVal += 'var TRACELEVEL=15;' + ENDL;
	else
	    retVal += 'var TRACELEVEL=1;' + ENDL;


	retVal += 'var WEBSESSIONID="'			+ p_sessionId			+ '";' + ENDL;
	retVal += 'var INTERACTIONID="'			+ p_interactionId		+ '";' + ENDL;
	retVal += 'var POLL_RATE="'				+ POLL_RATE				+ '";' + ENDL;
	retVal += 'var PROTOCOL="'				+ PROTOCOL				+ '";' + ENDL;
	retVal += 'var QUEUE="'					+ p_queue				+ '";' + ENDL;
	retVal += 'var I3PATH="'				+ I3PATH				+ '";' + ENDL;
	retVal += 'var LAUNCHURL="'				+ LAUNCHURL				+ '";' + ENDL;

	retVal += 'var PARTY_NAME="'			+ PARTY_NAME			+ '";' + ENDL;
	retVal += 'var PARTY_EMAIL="'			+ PARTY_EMAIL			+ '";' + ENDL;
	retVal += 'var PARTY_PHONE="'			+ PARTY_PHONE			+ '";' + ENDL;
	retVal += 'var USERID="'				+ USERID				+ '";' + ENDL;
	retVal += 'var CUSTOM_INFO="'			+ CUSTOM_INFO			+ '";' + ENDL;
	
	retVal += 'var IMG_ROOT="'				+ IMG_ROOT				+ '";' + ENDL;
	retVal += 'var IMG_SUFFIX="'			+ IMG_SUFFIX			+ '";' + ENDL;
	retVal += 'var IMG_DEFAULT="'			+ IMG_DEFAULT			+ '";' + ENDL;
	retVal += 'var IMG_LOGO_ACTIVE="'		+ IMG_LOGO_ACTIVE		+ '";' + ENDL;
	
	retVal += 'var TYPING_INDICATOR_TEXT="'	+ TYPING_INDICATOR_TEXT	+ '";' + ENDL;
	retVal += 'var NOCONNECTION_TEXT="'		+ NOCONNECTION_TEXT		+ '";' + ENDL;
	retVal += 'var CONNECTING_TEXT="'		+ CONNECTING_TEXT		+ '";' + ENDL;
	retVal += 'var ALERTING_TEXT="'			+ ALERTING_TEXT			+ '";' + ENDL;
	retVal += 'var CONNECTED_TEXT="'		+ CONNECTED_TEXT		+ '";' + ENDL;
	retVal += 'var DISCONNECTED_TEXT="'		+ DISCONNECTED_TEXT		+ '";' + ENDL;
	
	retVal += 'var USER_COLOR0="'			+ USER_COLOR0			+ '";' + ENDL;
	retVal += 'var USER_COLOR1="'			+ USER_COLOR1			+ '";' + ENDL;
	retVal += 'var USER_COLOR2="'			+ USER_COLOR2			+ '";' + ENDL;
	retVal += 'var USER_COLOR3="'			+ USER_COLOR3			+ '";' + ENDL;
	retVal += 'var USER_COLOR4="'			+ USER_COLOR4			+ '";' + ENDL;
	
	retVal += '//--></script>' + ENDL;

    return retVal;
}

//////////////////////////////////////////////////////////
function getFrame(p_name, p_qname, p_interactionId, p_sessionId, p_useDebug, p_usePopup, p_useApplet, p_usehtml)
{
    var retVal = "";

	retVal = genHTMLHeader(p_name, p_sessionId, p_interactionId, p_useDebug, p_qname, p_usePopup);
	retVal += ENDL;

	retVal += '<body>' + ENDL;
    if (p_name == "chat")
    {
		retVal += '<iframe src="/I3Root/ChatFrame.html" FRAMEBORDER=0 name="frameit" id="frameit" class="IFrameStyle"';
		retVal += ' height=' + CHAT_HEIGHT;
		retVal += ' width=' + CHAT_WIDTH;
	}
	else if (p_name == "instantquestion")
	{
		retVal += '<iframe src="/I3Root/IQFrame.html" FRAMEBORDER=0 name="frameit" id="frameit" class="IFrameStyle"';
		retVal += ' height=' + IQ_HEIGHT;
		retVal += ' width=' + IQ_WIDTH;
	}
	else if (p_name == "callback")
	{
		retVal += '<iframe src="/I3Root/CBFrame.html" FRAMEBORDER=0 name="frameit" id="frameit" class="IFrameStyle"';
		retVal += ' height="' + CB_HEIGHT;
		retVal += '" width="' + CB_WIDTH + '"';
	}
    retVal += '></iframe>' + ENDL;
	
    retVal += '</body></html>';
    
    return retVal;
}

//////////////////////////////////////////////////////////
function removeSpaces(p_string)
{
	p_string = p_string.replace(" ", "^");
	return p_string;
}

//////////////////////////////////////////////////////////
function getColors(p_parties)
{
}
