if (typeof wdk.xfer == "undefined")
{
wdk.xfer = {};
}
wdk.xfer.ucfRequiredInclude = undefined;
wdk.xfer.ucfRequiredExclude = undefined;
var LISTBOX_SUFFIX = "_listbox";
function httpDownloadContent()
{
if(wdk.xfer.__isDownloadEventStale(arguments) == false)
{
var i, len = arguments.length;
for(i = 1; i < len; i++)
{
var newurl = arguments[i];
if(!wdk.xfer.__isKeyStateArg(newurl))
{
newurl = addBrowserIdToURL(newurl);
if (g_clientInfo.isBrowser(ClientInfo.MSIE))
{
if ((!!(window.dialogArguments)) && (!!(window.dialogArguments.m_isWDKModalPopup)) && (!!(dialogArguments.topLevelWindow)))
{
var newWin = dialogArguments.topLevelWindow.open(newurl);
registerPopupWnd(newWin);
}
else  {
var newWin = window.open(newurl);
registerPopupWnd(newWin);
}
}
else
{
var newWin = window.open(newurl);
registerPopupWnd(newWin);
}
}
}
wdk.xfer.__makeDownloadEventStale(arguments);
}
}
function httpMultiDownloadContent()
{
if(wdk.xfer.__isDownloadEventStale(arguments) == false)
{
var contentIds = new Array();
contentIds.push("Reload");
contentIds.push(new String(new Date().getTime()));
var i, len = arguments.length;
for(i = 1; i < len; i++)
{
if(!wdk.xfer.__isKeyStateArg(arguments[i]))
{
contentIds.push("contentId");
contentIds.push(arguments[i]);
}
}
var componentUrl = generateComponentUrl(getVirtualDir(), "httpmultifiledownload", contentIds);
if (g_clientInfo.isBrowser(ClientInfo.MSIE))
{
if ((!!(window.dialogArguments)) && (!!(window.dialogArguments.m_isWDKModalPopup)) && (!!(dialogArguments.topLevelWindow)))
{
var newWin = dialogArguments.topLevelWindow.open(componentUrl);
}
else  {
var newWin = window.open(componentUrl);
}
}
else
{
var newWin = window.open(componentUrl);
}
wdk.xfer.__makeDownloadEventStale(arguments);
}
}
function httpDownloadContentFromAcs()
{
if(wdk.xfer.__isDownloadEventStale(arguments) == false)
{
var url = arguments[1];
if (url )
{
var newWin = window.open();
registerPopupWnd(newWin);
var formHtml = generateFormHTML('acsForm', url);
if (Trace_CONTENTTRANSFER)
{
wdk.xfer.__trace_contentxfer("Form Parameters for ACS POST:");
wdk.xfer.__dump_contentxfer(formHtml);
}
var childDoc = newWin.document;
childDoc.write("<html><head></head><body>" + formHtml + "</body></html>");
childDoc.close();
childDoc.forms['acsForm'].submit();
}
}
}
wdk.xfer.__isDownloadEventStale = function(callerArgs)
{
var eventId = parseInt(callerArgs[0]);
var lastId = getCookie("lastHttpDownloadContent");
return (lastId != null && parseInt(lastId) >= eventId);
}
wdk.xfer.__makeDownloadEventStale = function(callerArgs)
{
var eventId = parseInt(callerArgs[0]);
setCookie("lastHttpDownloadContent", eventId + 1, null, null);
}
function getUcfSessionId(formElement, reqKey)
{
var retval = null;
var applet = wdk.xfer.__findUcfInvokerApplet(formElement);
if(applet != null)
{
try
{
applet.getSessionRequestKey();
retval = {};
retval.ucfSessionId = reqKey ? applet.getUcfSessionId(reqKey) : applet.getUcfSessionId();
retval.cookieValue = applet.getUcfCookie();
}
catch(e)
{
// TODO: this only works on mozillas - it's ok for now because we come in here only
var cloned = applet.cloneNode(true);
cloned.setAttribute("code", "com.documentum.web.applet.ucfinvoker.InitConnection.class");
if (cloned.tagName == "OBJECT")
{
cloned.setAttribute("classid", "java:com.documentum.web.applet.ucfinvoker.InitConnection.class");
}
cloned.setAttribute("height", "0");
cloned.setAttribute("width", "0");
applet.parentNode.appendChild(cloned);
if (g_clientInfo.isBrowser(ClientInfo.MOZILLA))
{
// this the dom won't update until we return from the caller
req = new XMLHttpRequest();
var url = "/" + getVirtualDir() + "/wdk/blank.htm?Reload=" + (new Date().getTime());
req.open('GET', url, false);
req.send(null);
}
}
}
if(Trace_CONTENTTRANSFER) wdk.xfer.__trace_contentxfer("ucfSessionId=" + retval.ucfSessionId);
return retval;
}
function setUcfSessionIdElement(strFormName, strUcfSessionHiddenName, strUcfCookieHiddenName, reqKey)
{
if (strFormName && strUcfSessionHiddenName && strUcfCookieHiddenName)
{
var ucfForm = document.forms[strFormName];
if (ucfForm)
{
var formId = ucfForm.elements["__dmfFormId"].value;
var action = ucfForm.elements["__dmfAction"].value;
// event name is of the form formId + "_" + handlerMethod;
var handlerMethod = action.substr((formId + "_").length);
if (wdk.xfer.ucfRequiredExclude && wdk.xfer.ucfRequiredExclude[handlerMethod])
{
return;
}
if (wdk.xfer.ucfRequiredInclude && !wdk.xfer.ucfRequiredInclude[handlerMethod])
{
return;
}
var sessionIdElement = ucfForm.elements[strUcfSessionHiddenName];
var cookieElement = ucfForm.elements[strUcfCookieHiddenName];
if (sessionIdElement && cookieElement)
{
function setSessionIdOnForm(retval)
{
if (retval && retval.ucfSessionId != null)
{
sessionIdElement.value = retval.ucfSessionId;
if (Trace_CONTENTTRANSFER) wdk.xfer.__trace_contentxfer("Set element: " + strUcfSessionHiddenName + ", in Form:" + strFormName + " to :" + retval.ucfSessionId);
}
if (retval && retval.cookieValue != null)
{
cookieElement.value = retval.cookieValue;
if (Trace_CONTENTTRANSFER) wdk.xfer.__trace_contentxfer("Set element: " + strUcfCookieHiddenName + ", in Form:" + strFormName + " to :" + retval.cookieValue);
}
}
var retval = getUcfSessionId(ucfForm);
if (retval != null)
{
setSessionIdOnForm(retval);
}
else
{
var topwnd = getTopLevelWndForApplication();
if (topwnd.wdk && topwnd.wdk.xfer && topwnd.wdk.xfer.getInvokerFrame)
{
var invokerWindow = topwnd.wdk.xfer.getInvokerFrame();
for (var i = 0; i < invokerWindow.document.forms.length; i++)
{
var formElement = invokerWindow.document.forms[i];
retval = invokerWindow.getUcfSessionId(formElement, reqKey);
if (retval && retval.ucfSessionId != null)
{
retval.ucfSessionId = retval.ucfSessionId + ";" + reqKey;
}
setSessionIdOnForm(retval);
break;
}
}
}
}
}
}
}
wdk.xfer.__findUcfInvokerAppletByTagName = function(formElement, tagName)
{
var applet = null;
for(var applts = formElement.getElementsByTagName(tagName), i = 0; i < applts.length; i++)
{
// we have to get to parameter invoker_applet_tag_name which carries applet's name
if(g_clientInfo.isBrowser(ClientInfo.SAFARI))
{
for(var params = formElement.ownerDocument.getElementsByName("appletName515f7ddee55e428b964a3839a78fbaa6"), j = 0; j < params.length; j++)
{
if(params[j].tagName == "PARAM" && params[j].parentNode == applts[i])
{
var appletName = params[j].value;
var appletTmp = eval("formElement.ownerDocument." + appletName);
applet = appletTmp;
break;
}
}
}
else
{
var id = applts[i].getAttribute("id");
if(id != null && id.indexOf("515f7ddee55e428b964a3839a78fbaa6") != - 1)
{
applet = applts[i];
}
}
}
return applet;
}
// write applet markup using a script to work around the IE issue of "clicking
// to activate an activeX control"
function activateXAutoActivate(appletMarkup)
{
document.write(appletMarkup);
}
wdk.xfer.__findUcfInvokerApplet = function(formElement)
{
var applet = wdk.xfer.__findUcfInvokerAppletByTagName(formElement, "APPLET");
if (applet == null)
{
applet = wdk.xfer.__findUcfInvokerAppletByTagName(formElement, "OBJECT");
}
return applet;
}
wdk.xfer.__isKeyStateArg = function(argvalue)
{
return (argvalue == "shiftKeyPressed" || argvalue == "ctrlKeyPressed" || argvalue == "altKeyPressed" );
}
wdk.xfer.__trace_contentxfer = function(msg)
{
Trace_println("contenttransfer.js: " + msg);
}
wdk.xfer.__dump_contentxfer = function(obj)
{
Trace_println("contenttransfer.js:");
Trace_dump(obj);
}
if (typeof(wdk.xfer.g_include_contenttransfer) == "undefined")
{
wdk.xfer.g_include_contenttransfer = true;
registerClientEventHandler(null, "httpDownloadContent", httpDownloadContent);
registerClientEventHandler(null, "httpDownloadContentFromAcs", httpDownloadContentFromAcs);
registerClientEventHandler(null, "httpMultiDownloadContent", httpMultiDownloadContent);
}
var g_lastSelection=null;
function startJSFileSelection()
{
g_lastSelection = "AddFiles";
var controlId = document.getElementById("fileselector").id;
if (Trace_CONTENTTRANSFER) wdk.xfer.__trace_contentxfer("Add Files ");
document.getElementById(controlId).openAddFiles();
}
function startJSFolderSelection()
{
g_lastSelection = "AddFolders";
var controlId = document.getElementById("fileselector").id;
if (Trace_CONTENTTRANSFER) wdk.xfer.__trace_contentxfer("Add Folders ");
document.getElementById(controlId).openAddFolders();
}
function startJSRemoveSelections()
{
g_lastSelection = "RemoveFiles";
var controlId = document.getElementById("fileselector").id;
var listBox = document.getElementById(controlId + LISTBOX_SUFFIX);
var strIndex = "";
for (var i=listBox.length-1; i>=0; i--)
{
if (listBox.options[i].selected)
{
strIndex +=i+",";
listBox.remove(i);
}
}
if (listBox.length > 0)
{
listBox.options[0].selected="true";
}
if (strIndex.length > 0)
{
if (Trace_CONTENTTRANSFER) wdk.xfer.__trace_contentxfer("Remove selection, list:"+strIndex);
document.getElementById(controlId).removeSelected(strIndex);
}
}
function updateListbox()
{
var controlId = document.getElementById("fileselector").id;
var listBox = document.getElementById(controlId + LISTBOX_SUFFIX);
for (var i = listBox.length; i >= 0; i--)
{
listBox.remove(i);
}
for (var i = 0; i < updateListbox.arguments.length; i++)
{
var opt = document.createElement("option");
opt.title = opt.text = updateListbox.arguments[i];
listBox.options.add(opt);
if (listBox.length >0)
{
listBox.options[0].selected="true";
}
}
if (Trace_CONTENTTRANSFER) wdk.xfer.__trace_contentxfer("Update listbox");
}
function displayAlert()
{
alert(displayAlert.arguments[0]);
if (g_lastSelection != null && g_lastSelection != undefined)
{
var control = document.getElementById(g_lastSelection);
if (control != null && control != undefined)
{
control.focus();
}
}
}

