Check Point UserCheck Portal Script
Check Point UserCheck Portal Script
01//EN"
"[Link]
<html>
<head>
<meta name="robots" content="noindex,nofollow" />
<meta content="yes" name="apple-mobile-web-app-capable" />
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<script type="text/javascript">
//Create a dynamic element to allow sending of the document mode
of IE.
//This way we can notify PHP that it can display modern content
instead of classic, despite the browser's reporting of being IE7.
var headID = [Link]("head")[0];
var cssNode = [Link]('link');
[Link] = 'text/css';
[Link] = 'stylesheet';
[Link] = "/UserCheck/css/UserCheckCSS" +
([Link] !== undefined ? "?documentMode=" + [Link] :
"");
[Link](cssNode);
/*
===================================================================================
=====================================
PORTAL IS - ESSENTIALS INCLUSION - START
___________________________________________________________________________________
_____________________________________
*/
// Set global PORTAL_IS namespace.
window.PORTAL_IS = {};
// Set namespace.
PORTAL_IS.CONF = {};
PORTAL_IS.CONF.AJAX_REQ_TIMEOUT = 15000;
// Debug configurations
PORTAL_IS.CONF.MAX_STACK_SIZE = 1000;
PORTAL_IS.CONF.QUIET_MODE = "on".toLowerCase() == "on";
PORTAL_IS.CONF.DEBUG_LEVEL = 0;
// Set namespace.
window.PORTAL_IS.L10N = {}
// Localization object.
//=================================================================================
============
function __L10N()
{
[Link] = new Array();
[Link] = new Array();
[Link] = function()
{
var obj = {"UC_TITLE":"Check Point
UserCheck","UC_TITLE_MOBILE_DLP":"Check Point UserCheck Mobile
DLP","[Link]":"OK","[Link]":"Cancel","[Link]":"Send","[Link]
":"Discard","[Link]":"Approve","[Link]":"Confirm","[Link]":"C
lose","WRONG_ID":"This notification page has expired. You can safely close the
page. ","TIMEOUT":"This notification page has expired. You can safely close the
page. ","RETRY":"Reload the original page.","REPORT_SUCCESS":"Report was sent
successfully.","REPORT_ERROR":"An error occured while sending the
report.","REQUIRED_FIELDS":"Required fields","ENTER_TEXT":"Enter
text","TEXT_TOO_LONG":"Your text is too long!","RETURN_TO_SITE":"Return to
site","UC.BLOCKED_IFRAME":"Learn more...","UC.INFO_IFRAME":"Click to
resolve...","PLEASE_WAIT":"Please wait . . .","NO_SCRIPT":"This portal requires a
browser which supports JavaScript.<br>Please make sure that you are using an
updated browser and that JavaScript is
enabled.","MSGBOX_TITLE_CONFIRMATION":"Confirmation","MSGBOX_TITLE_JUSTIFICATION":"
Justification","MSGBOX_TITLE_APPROVER":"Approver","MSGBOX_TITLE_WARNING":"Warning",
"MSGBOX_TITLE_ATTENTION":"Attention","MSGBOX_TITLE_ERROR":"Error","MSGBOX_TITLE_REP
ORT_ERROR":"Report an error","MSGBOX_TITLE_EXTEND_EXPIRATION":"Extend expiration
date","DEFAULT_GENERIC_CLIENT_ERROR":"An unexpected error has occurred.\nYou may
still be able to continue working normally.\nPlease retry accessing the web page in
a short while.\n\n","DEFAULT_GENERIC_TIMEOUT_CLIENT_ERROR":"You may not access this
page, or this page has expired.\nPlease sign in.","LOG_REFERENCE_ID":"Log reference
id: ","[Link].SEND_ERROR_REPORT":"Send error
report","[Link].IM_HAVING_PROBLEMS":"I am having problems with this
Portal.","CHECKPOINT_COPY_RIGHTS":"©2018 Check Point Software Technologies
Ltd.","EMAIL_SENT":"The email has been sent","EMAIL_DISCARDED":"The email has been
discarded","EMAIL_ALREADY_SENT":"The email has already been
sent","EMAIL_ALREADY_DISCARDED":"The email has already been
discarded","UNKOWN_INCIDENT_STATUS":"An unexpected error has occurred.\nThe
incident status is unknown","REVIEW_TEXT":"Review issue in
portal","[Link]":"Attachments","HTTP_LEARNING":"To complete the
operation, <b>please return to site and resend the information<\/b>,
thanks.","HTTP_LEARNING_ERROR_MSG":"Sending the message cannot be approved,<\/br>
please contact your system administrator.","HTTP_LEARNING_ERROR_TOOLTIP":"Sending
the message cannot be approved, please contact your system
administrator.","IE6_MESSAGE1":"Please update your browser in order to use
UserCheck","IE6_MESSAGE2":"This browser is not supported. <br\/>This site requires
Internet Explorer 8+, Chrome, Firefox or Opera.","CP_SCRUB_WAIT_MESSAGE":"Please
wait while loading files...","CP_SCRUB_RESULT_SUCCESS":"Threat Prevention didn't
detect cleanable parts","CP_SCRUB_RESULT_FAILURE":"File structure may be
corrupted","CP_SCRUB_RESULT_TIMEOUT":"","CP_SCRUB_RESULT_UNSUPPORTED_FILE":"File
contents do not match the
extension","CP_SCRUB_RESULT_NOT_SCRUBBED":"","CP_SCRUB_RESULT_INTERNAL_ERROR":"","C
P_SCRUB_RESULT_NO_VALID_CONTRACT":"","CP_SCRUB_RESULT_SKIPPED_BY_TE_CONFIDENCE":"",
"CP_SCRUB_RESULT_OUT_OF_MEMORY":"","CP_SCRUB_RESULT_DOCSEC_FILE":"File encrypted
using Checkpoint's Document Security","CP_SCRUB_RESULT_ENCRYPTED_FILE":"contains
encrypted
data","CP_SCRUB_RESULT_SKIPPED_BY_SCRIPT":"","CP_SCRUB_RESULT_DISK_LIMIT_REACHED":"
","CP_SCRUB_RESULT_BYPASS_SCRUB":"","CP_SCRUB_RESULT_WATERMARK_FAILED":"","CP_SCRUB
_INVALID_EMAIL":"Invalid Email Address","CP_SCRUB_SEND_MAIL_STRING":"Send the
original mail to
me:","CP_SCRUB_SEND_EMAIL_EXAMPLE":"john@[Link]","CP_SCRUB_SEND_EMAIL_SUCCESS":
"Mail was sent successfully, please check your
inbox","CP_SCRUB_SEND_EMAIL_ERROR":"Could not send mail to the recipient, please
verify your address","CTNT_EMAIL_CONFIRM":"Thank you for your input. To complete
the operation, <b>please resend the email<\/b>.\n <br\/>It is safe to close this
page.","CP_SCRUB_FILE_STATUS_WAITING_FOR_TE_DESC":"scanning...","CP_SCRUB_FILE_STAT
US_WAITING_FOR_TE":"Please wait while file is being
scanned","CP_SCRUB_FILE_STATUS_BLOCKED_BY_TE_DESC":"blocked - file is
malicious","CP_SCRUB_FILE_STATUS_BLOCKED_BY_TE":"File is malicious - blocked for
download","CP_SCRUB_FILE_STATUS_BLOCKED_BY_POLICY_DESC":"blocked according to
company policy","CP_SCRUB_FILE_STATUS_BLOCKED_BY_POLICY":"File is blocked for
download according to company policy"};
for(val in obj)
[Link][val] = obj[val];
obj = ["en"];
for(val in obj)
{
[Link][val] = obj[val].split(';')[0];
}
}
[Link] = function(stringId)
{
return [Link][stringId];
}
[Link] = function(languageArray)
{
for(lang in [Link])
{
if(languageArray[[Link][lang]] === true)
return [Link][lang];
[Link] = lang;
[Link] = fallbackLang;
sendAsynchronousRequest(sAbsoluteURL,
flattenObject(requestData),
[Link],
this,
[callback]);
}
for(val in obj)
[Link][val] = obj[val];
callback();
}
}
//=================================================================================
============
//Localization object.
L10N_Obj = new __L10N();
L10N_Obj.init();
PORTAL_IS.L10N.L10N_Obj = L10N_Obj;
/*
___________________________________________________________________________________
_____________________________________
// Create namespace
[Link] = {};
[Link] = {};
//
===================================================================================
====
function parseSender(value)
{
return [Link];
}
//
===================================================================================
====
//
===================================================================================
====
// Render recipient list from and array.
// String[] recipientsArr - Array of recipients.
// [int ellipsisLimit] - A string beyond this length will be cut and added
ellipsis. Optional, default is 0 - no ellipsis.
// [bool useLinebreakes] - Should a line break be added after each recipient.
Optional, default is true.
function recipientsArr2StrInTable(recipientsArr, ellipsisLimit, useLinebreakes)
{
if (ellipsisLimit == undefined)
{
ellipsisLimit = 0;
}
if (useLinebreakes == undefined)
{
useEllipsis = true;
}
if (ellipsisLimit > 0)
{
//recipientsList = [Link](recipientsList,
ellipsisLimit);
recipientsList = recipientsList;
}
return recipientsList;
}
//
===================================================================================
====
//
===================================================================================
====
// Render recipient list from and array.
// Sender sender - The sender data.
// [int ellipsisLimit] - A string beyond this length will be cut and added
ellipsis. Optional, default is 0 - no ellipsis.
// [bool useLinebreakes] - Should a line break be added after each recipient.
Optional, default is true.
function getSenderName(sender, ellipsisLimit)
{
var output = "";
if (ellipsisLimit == undefined)
{
ellipsisLimit = 0;
}
if ([Link]())
{
output = [Link];
}
else
{
output = [Link];
}
// if (ellipsisLimit > 0)
// {
// output = [Link](output, ellipsisLimit);
// }
return output;
}
//
===================================================================================
====
//
===================================================================================
====
// Render recipient list from and array.
// String sender - The subject string.
// [int ellipsisLimit] - A string beyond this length will be cut and added
ellipsis. Optional, default is 0 - no ellipsis.
// [bool useLinebreakes] - Should a line break be added after each recipient.
Optional, default is true.
function getSubject(subject, ellipsisLimit)
{
var output = subject;
if (ellipsisLimit == undefined)
{
ellipsisLimit = 0;
}
// if (ellipsisLimit > 0)
// {
// output = [Link](output, ellipsisLimit);
// }
return output;
}
//
===================================================================================
====
//
===================================================================================
====
// tranform recipients array to string
function recipientsArr2Str(recipientsArr,type)
{
var recipientsList = "";
var address = "";
var commaNeeded = false;
for (var i=0; i<[Link]; i++)
{
if (type == recipientsArr[i].recipientType)
{
if (!commaNeeded)
commaNeeded = true;
else
recipientsList += ", ";
address = HTMLEncode(recipientsArr[i].address);
if (recipientsArr[i].isExternal)
{
address = '<span ' + GetDomainColor(recipientsArr[i].address)+' >'
+ address + '</span>'
}
recipientsList += address;
}
}
return recipientsList;
}
//
===================================================================================
====
function arr2Str(arr)
{
var str = "";
var commaNeeded = false;
for (var i=0; i<[Link]; i++)
{
if (!commaNeeded)
{
commaNeeded = true;
}
else
{
str += ", ";
}
str += arr[i];
}
return str;
}
function GetDomainColor(str)
{
// var highlightColors = new
Array("FFFF00","00FF00","00FFFF","FF00FF","FF0000","FFFF99","99FF99","CCFFFF","FFCC
FF", "FF9999")
var highlightColors = new
Array("FFFF00","FF00FF","FF0000","FFBB00","FF9999");
domainName = GetDomainName(str);
if (domainName==null) return null;
hash=0;
for (i=0; i<[Link]; i++)
{
hash += [Link](i);
}
hash = hash % ([Link]);
return 'style="background-color: #' + highlightColors[hash] + '; text-
decoration: underline;"';
}
/*
//
===================================================================================
====
[Link] = function(containerId)
{
[Link]("Clear container: "+containerId);
var container = [Link](containerId);
if ((container) && ([Link]))
{
[Link](
function(item)
{
[Link](item, true);
}
);
}
}
//
===================================================================================
====
*/
genericPostErrorHandler(event);
//=================================================================================
============
[Link] = function(portalException, callback)
{
[Link]("UserCheck::genericErrorHandler.");
if ((portalException == undefined) || (portalException == null))
{
portalException = new PortalException();
}
if (isNothingness(callback))
{
callback = new Callback();
}
//=================================================================================
============
[Link] = function(event)
{
[Link]("UserCheck::genericPostErrorHandler.");
// Just hide the error.
hidePortalErrorMessage();
}
//=================================================================================
============
//=================================================================================
============
[Link] = function(userDesc, callback)
{
[Link]("[Link] in.");
//=================================================================================
============
[Link] = function(xhrStatus, xhrResponse,
callback)
{
[Link]("[Link] in.");
// Set error flag.
PORTAL_IS.[Link] = false;
if (isNothingness(callback))
{
callback = new Callback();
}
if (xhrStatus != 200)
{
// TODO: Handle error.
[Link]('Submitting error report failed. ('+xhrStatus+')',
[Link]);
[Link]();
showPortalMessage("Sending of error report failed.");
return;
}
[Link]();
//=================================================================================
============
[Link] = function(callback)
{
[Link]("[Link] in.");
// Create new callback with send report and store previous callback in it.
submitCallback = new Callback();
[Link] = [Link];
[Link] = [callback];
//=================================================================================
============
//=================================================================================
============
[Link] = [Link];
[Link] = [Link];
[Link] =
{
timerID: -1,
startTimeoutTimer: function(duration, callback)
{
var milisecs = duration * 1000;
if (milisecs > 2147483646)
{
milisecs = 2147483646;
}
[Link]("[Link]: Starting timer for " +
duration + " seconds.");
[Link] = callback;
[Link] = setTimeout("[Link]();", milisecs);
},
stopTimeoutTimer: function()
{
clearTimeout(timerID);
timerID = -1;
}
};
[Link] = {};
// TODO: This should be defined as an "interface" class and other view managers
should implement it.
if (isNothingness(view))
{
view = "UserAction";
}
return view;
}
// Queries the server for next desired view and than call for rendering it.
// Will call upon callback when done rendering the view.
//===========================================================================
==================
[Link] = function(requestedView, callback)
{
[Link]("UCViewManager::gotoNextView");
if (isNothingness(callback))
{
callback = new Callback();
}
// Check what is the next view.
var sAbsoluteURL = PORTAL_IS.[Link]("GetNextView");
var parameters = (isNothingness(requestedView)) ? ("") :
("requestedView=" + encodeURIComponent(requestedView));
PORTAL_IS.AJAX_MGR.sendAsyncReq(sAbsoluteURL, parameters,
gotoNextViewCallback);
}
//===========================================================================
==================
if (isNothingness(callback))
{
callback = new Callback();
}
if (xhrStatus != 200)
{
[Link]('Retreiving next view failed. ('+xhrStatus+')',
[Link]);
[Link]();
return;
}
// Extract the data (request params) from hash and relay it onto next
hash.
// As hash changing handler will be passed back to this method we set
the Ignore flag to TRUE
// and call for the gotoView method.
[Link](nextView, [Link]().data, true);
[Link](nextView, callback);
}
//===========================================================================
==================
if (callback == undefined)
{
callback = new Callback();
}
sendAsynchronousRequest(PORTAL_IS.[Link]("viewManager/GetViewData"),
parameters,
[Link],
this,
[callback]);
}
//===========================================================================
==================
if (xhrStatus != 200)
{
// TODO: Handle error.
[Link]('Retreiving view failed. ('+xhrStatus+')',
[Link]);
[Link]();
return;
}
switch (newView)
{
default: // View will be rendered into main page view.
useDefaultContainerId = true;
requiredContainerId = [Link];
break;
}
if (container != undefined)
{
// Render CSS. - Not needed, all CSS loads from one blob file.
//evaluateCSS([Link], "");
}
else if (requiredContainerId == [Link])
{
}
else // The container is not present and needs to be rendered first.
{
var sAbsoluteURL =
PORTAL_IS.[Link]("JSONViewData/GetViewCustomContent");
sendAsynchronousRequest(sAbsoluteURL,
"view="+view,
[Link],
this,
[]);
}
//===========================================================================
==================
if (xhrStatus != 200)
{
// TODO: Handle error.
[Link]('Retreiving custom content failed. ('+xhrStatus+')',
[Link]);
[Link]();
return;
}
// Override view.
switch (view)
{
case "ICS": // No brake, group these views.
case "Authentication":
case "ISW":
case "MultiChallenge":
case "IswEntry":
var usedView = "LoginSequencePage";
break;
default:
var usedView = view;
break;
}
//=================================================================================
============
//=================================================================================
============
[Link] = function()
{}
//===========================================================================
=======================================
//===========================================================================
=======================================
[Link] = function()
{}
//=================================================================================
=================================
// DEPRECATED METHODS
//
___________________________________________________________________________________
______________________________
</script>
<div id='portalErrorMessage'
class="portalErrorMessageDivHide">
<tr id="portalErrorMessage_title_container_row"
class="portalMessage_title show" width="100%">
<td
id="portalErrorMessage_title_container" height="10px" valign="middle" align="left"
colspan="2"> </td>
</tr>
<tr>
<td id="portalErrorMessage_container"
align="left" style="padding: 10px;" colspan="2"> </td>
</tr>
<tr>
<td>
<table cellpadding="0px"
cellspacing="0px" width="100%"style=" padding: 10px;">
<tr>
<td
id="portalMessage_error_report_container" align="left" valign="buttom"
class="hide">
<span
id="portalMessage_error_report_link" onclick="[Link]();"
class="portal_link" style="left: 10px;">
Send error
report </span>
</td>
<td
id="portalMessage_error_button_container" align="right" height="10px;"
valign="buttom">
<button
id="portalErrorMessage_button" class="portalErrorMessage_button"
onclick="hidePortalErrorMessage();">
OK
</button>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<tr id="portalMessage_title_container_row"
class="portalMessage_title show">
<td id="portalMessage_title_container"
class="portalMessage_title_td" valign="middle" align="left">
</td>
</tr>
<tr>
<td id="portalMessage_container"
align="left" style="padding: 10px;">
</td>
</tr>
<tr id="portalMessage_textarea_container_row"
class="hide">
<td id="portalMessage_textarea_container"
align="left" style="padding: 10px;">
</td>
</tr>
<tr
id="portalMessage_validation_message_container_row" class="show">
<td
id="portalMessage_validation_message_container" align="left"
class="portalMessage_validation_submessage" style="padding: 10px;">
</td>
</tr>
<tr id="portalMessage_submessage_container_row"
class="hide">
<td
id="portalMessage_submessage_container" align="left"
class="portalMessage_submessage" style="padding: 10px;">
</td>
</tr>
<tr>
<td align="center" height="10px;"
valign="buttom" style="padding: 10px;" colspan="2">
<div
id="portalMessage_ok_button_container" class="show" style="text-align: right;">
<button
id="portalMessage_button" class="portalMessage_button"
onclick="hidePortalMessage();">
OK
</button>
</div>
<div
id="portalMessage_bool_button_container" class="hide">
<button
id="portalMessage_yes_button" class="portalMessage_button"
onclick="hidePortalMessage();">
[Link]
</button>
<button
id="portalMessage_no_button" class="portalMessage_button"
onclick="hidePortalMessage();">
[Link]
</button>
</div>
<div
id="portalMessage_submit_button_container" class="hide">
<button
id="portalMessage_submit_button" class="portalMessage_button"
onclick="hidePortalMessage();">
[Link]
</button>
<button
id="portalMessage_cancel_button" class="portalMessage_button"
onclick="hidePortalMessage();">
Cancel
</button>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div id='portalGeneralContainer' class="portalMessageDivHide">
<tr
id="portalGeneralContainer_title_container_row" class="portalMessage_title show"
width="100%">
<td
id="portalGeneralContainer_title_container" height="10px" valign="middle"
align="left">
</td>
</tr>
<tr>
<td id="portalGeneralContainer_container"
align="left" style="padding: 10px;">
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<script type="text/javascript">
[Link] = "6D58A228-1B54-7532-F743-E0D65F409612";
[Link] = 0;
/*this is a common object for PortalMain and PortalMainDlp. functions here
should be empty */
[Link] = function()
{
[Link] = function(adminMessage,HttpLearningEnabled)
{
}
[Link] = function(action)
{
}
}
//Toggles the button's state from enabled to disabled and vice versa.
setButtonMode = function(buttonState, buttonID)
{
var button = [Link](buttonID);
if(button == null)
return;
[Link] = function()
{
[Link] = {};
[Link] = "";
[Link] = function()
{
var correctClass = "class";
//Choose the correct class attribute name (in IE6-7 we need "className"
instead of "class") according to IE version - but check for compatibility first!
if([Link] == [Link] &&
[Link] <= 7 && [Link] === undefined)
{
correctClass = "className";
}
return correctClass;
}
// Initialize.
//===========================================================================
==================
[Link] = function(cancelPage)
{
if([Link] == [Link] &&
[Link] <= 7 && [Link] === undefined)
{
[Link]('usercheck_main_div').innerHTML = "<h3>"
+ PORTAL_IS.L10N.L10N_Obj.getStr("IE6_MESSAGE1") + "</h3><p>"+
PORTAL_IS.L10N.L10N_Obj.getStr("IE6_MESSAGE2") + "</p>";
return;
}
if (typeof cancelPage == 'undefined')
{
cancelPage = false;
}
var requestData = {
IID: "-1",
UserID: "",
IsThinPortal: false,
UserLang: "",
GetCancelPage: cancelPage
};
[Link] = [Link];
var sAbsoluteURL =
PORTAL_IS.[Link]("data/GetUserCheckIncidentData");
sendAsynchronousRequest(sAbsoluteURL,
flattenObject(requestData),
[Link],
this,
[new Callback()]);
}
//Changes the button CSS class (support for IE6-8). buttonCLS is for
additional classes to be added to the button.
[Link] = function(state, buttonID, buttonCLS)
{
if (!buttonID)
{
buttonID = 'UserCheck_OK_Button';
buttonCLS = '';
}
if([Link](correctClass).indexOf("Disabled") == -1)
{
//The button is not disabled.
[Link](correctClass, "button button" + state + " " +
buttonCLS);
}
}
//Changes the button CSS class (support for IE6-8). buttonCLS is for additional
classes to be added to the button.
[Link] = function(state, buttonID, buttonCLS)
{
if (!buttonID)
{
buttonID = 'UserCheck_OK_Button';
buttonCLS = '';
}
if([Link](correctClass).indexOf("Disabled") == -1)
{
//The button is not disabled.
[Link](correctClass, buttonCLS);
}
}
if (callback == undefined)
{
callback = new Callback();
}
if (xhrStatus != 200)
{
[Link]('Retreiving UserCheck Incident Data failed.
('+xhrStatus+')', [Link]);
[Link]();
return;
}
[Link] = [Link](xhrResponse);
var Languages = [Link];
var UserCheckLogoID = [Link];
var RedirectToAddr = [Link];
var AutoRedirect = [Link];
var ExternalSystemURL = [Link];
var Action = [Link];
var Variables = [Link];
[Link] = false;
[Link] = RedirectToAddr;
}
else
[Link] = "about:blank"; //No reason to redirect
in the Thin Portal
}
}
else
{
if (Action == "SCRUB-SUCCESS")
{
// in scrub success page, if not mobile or thin, give more
space for the list of original files names and info
if([Link]() === false &&
[Link] === undefined)
{
var content_table =
[Link]("usercheck_content_table");
if (content_table != null)
{
content_table.[Link]="auto";
}
var message_div =
[Link]("usercheck_main_div");
if (message_div != null)
{
message_div.[Link]="auto";
message_div.[Link]="1000px";
message_div.[Link]="normal";
message_div.[Link]="auto";
}
}
var requestData = {
IID: "-1"
};
[Link] = [Link];
var sAbsoluteURL =
PORTAL_IS.[Link]("data/GetScrubFiles");
sendAsynchronousRequest(sAbsoluteURL,
flattenObject(requestData),
[Link],
this,
[new Callback()]);
}
}
if(ExternalSystemURL != "")
//We have an external system address so redirect to that URL.
// [Link] = ExternalSystemURL +
([Link] == true ? "?IncidentID=" + [Link]
+ "&UserID=" + [Link] : "");
if ([Link] == true)
{
[Link] = ExternalSystemURL + "?
IncidentID=" + [Link] + "&UserID=" + [Link];
}
else
{
[Link] = ExternalSystemURL;
}
[Link]();
[Link] = url;
[Link] = 'none';
[Link] = 'center';
[Link] = 'text-bottom';
}
thin_table.setAttribute(correctClass,
"usercheck_main_mobile_background_class with_logo");
}
}
else
{
var logo_footer = [Link]('footer_table_logo');
if(logo_footer != null && Action != 'BLOCK' && Action != 'LIMIT')
{
var correctClass = [Link]();
logo_footer.setAttribute(correctClass,
"usercheck_footer_table_class footer_logo");
}
}
if(Action == 'BLOCK'){
[Link]("usercheck_title_div").[Link] =
"#ed5552";
[Link]("usercheck_logo_img_div").[Link] =
"none";
}else{
[Link]("usercheck_title_div").[Link] =
"#0d87cd";
}
g_userID = [Link];
if (Action == "SCRUB-SUCCESS")
{
Action = "INFORM";
}
//Draw incident image according to the incident type
if([Link]('usercheck_img_div') !== null){
[Link]('usercheck_img_div').innerHTML =
draw_img_tag(getURL("img/" + [Link]() + ".png"));
if([Link])
{
//The page has a logo defined in the GUI - load it.
//Desktop header.
var header_right_logo =
[Link]('usercheck_header_right_logo');
if(header_right_logo != null)
if([Link] ==
[Link] && [Link] <= 7)
header_right_logo.[Link] = "block";
else
header_right_logo.[Link] = "table-cell";
var header_right_empty =
[Link]('usercheck_header_right_empty');
if(header_right_empty != null)
header_right_empty.[Link] = "none";
//Mobile header.
var mobile_header = [Link]('header_mobile_div');
if(mobile_header != null)
{
mobile_header.[Link] = "block";
}
//Company logo.
var company_logo =
[Link]('usercheck_company_logo');
if(company_logo != null)
company_logo.src = getURL("images/interactions/" +
UserCheckLogoID + ".png");
}
else
{
//If there is no logo defined, hide it as it will cause an error
on IE
//additionally, according to preview design the agent should not
have logo in this case too
var company_logo =
[Link]('usercheck_company_logo');
if(company_logo != null)
company_logo.[Link] = "none";
}
//Start the timeout manager. Do not start this for TeX as its timeout
is huge and will fail verification in the daemon
if (Variables['product'] != 'Threat Extraction')
[Link]([Link] -
15, [Link]);
[Link]();
}
[Link] = function()
{
//This function determines if it is OK to proceed with sending a
response if all validation criteria are met.
if([Link]('UserCheck_Textual_Input') != null)
//Verify we have the real textarea!
if([Link]('UserCheck_Textual_Input').value !==
undefined)
//Unfocus the text-area.
[Link]('UserCheck_Textual_Input').blur();
if(![Link]())
//There was some user input missing - don't continue.
return;
[Link] = "-1";
[Link] = "OK";
[Link] = cookie;
[Link] = true;
if([Link]('UserCheck_Textual_Input') != null)
{
var reason =
[Link]('UserCheck_Textual_Input').value;
[Link] = reason;
}
else
{
[Link] = false;
}
[Link] = [Link];
var sAbsoluteURL =
PORTAL_IS.[Link]("data/GetUserCheckUserChoiceData");
sendAsynchronousRequest(sAbsoluteURL,
flattenObject(requestData),
[Link],
this,
[new Callback()]);
}
[Link] = function()
{
if([Link] !== undefined &&
[Link] !== "")
{
[Link] = [Link];
return;
}
else
{
if ([Link] == true)
{
[Link] = "about:blank";
return;
}
[Link](true);
}
}
[Link]("UserAction::handleUserCheckChoiceData");
if (callback == undefined)
{
callback = new Callback();
}
if (xhrStatus != 200)
{
[Link]('Retreiving UserCheck Incident Data failed.
('+xhrStatus+')', [Link]);
[Link]();
return;
}
frame = [Link];
//handle case of Ok on an email message approval of a content
awareness violation. In this case we dont want to redirect, but show a message that
tells to resend
if
([Link]['violation_protocol'] === 'Email
message' && [Link]['product'] === 'apcl'){
var usercheck_main_div =
[Link]('usercheck_main_div');
if (usercheck_main_div != null)
usercheck_main_div.innerHTML = "<p>"
+PORTAL_IS.L10N.L10N_Obj.getStr("CTNT_EMAIL_CONFIRM")+"</p>";
var okbtnDiv = [Link]('usercheck_ok_div');
var cancelbtnDiv =
[Link]('usercheck_cancel_div');
if (okbtnDiv != null && cancelbtnDiv != null){
if ([Link] === undefined){
[Link] = "none";
[Link] = "none";
}
else {
//handle client case - need to show a cancel
button so the client window can be closed
[Link] = "none";
[Link] = "auto";
[Link] = "auto";
var span =
[Link]('UserCheck_Cancel_Button_span');
if(span != null)
[Link] =
PORTAL_IS.L10N.L10N_Obj.getStr('[Link]');
}
}
return;
}
[Link] = RedirectToAddr;
}
else
{
[Link] = "about:blank";
}
[Link]();
}
}
else
{
var frame = "0";
frame = [Link];
if(typeof frame === "undefined" || frame == "0" || frame ==
"")
{
if ([Link] == true)
{
[Link] = "about:blank";
}
}
else
{
if ([Link] == true)
{
[Link] = "about:blank";
}
[Link]();
}
}
}
else
{
[Link]();
}
}
[Link] = function(xhrStatus, xhrResponse,
callback)
{
[Link]("UserAction::handleUserLogData");
[Link] = function()
{
var requestData = {
IID: "-1"
};
[Link] = [Link];
sendAsynchronousRequest(sAbsoluteURL,
flattenObject(requestData),
[Link],
this,
[new Callback()]);
}
if (callback == undefined)
{
callback = new Callback();
}
if (xhrStatus != 200)
{
if ([Link] === undefined)
{
[Link]('Retreiving UserCheck Timeout Extension data
failed. ('+xhrStatus+')', [Link]);
[Link]();
return;
}
else
{
[Link] = "about:blank";
return;
}
}
var extensionObject = [Link](xhrResponse);
if([Link] == "SUCCESS")
{
if([Link] > 15){
[Link]([Link]
- 15, [Link]);
}
}
else
{
if([Link] === undefined)
{
var button = [Link]('UserCheck_OK_Button');
if(button !=null)
[Link] = "none";
var select =
[Link]('usercheck_language_selection');
if(select != null)
[Link] = true;
showPortalMessage(PORTAL_IS.L10N.L10N_Obj.getStr("TIMEOUT") + "
<a href='" + [Link] + "'>" +
PORTAL_IS.L10N.L10N_Obj.getStr("RETRY") + "</a>", null,
PORTAL_IS.MESSAGE_TYPE.Display, true);
}
else
{
/* If we are in thin portal, redirect to about:blank
so that client can catch it and act accordingly. */
[Link] = "about:blank";
}
}
}
prevSelectedLanguage =
PORTAL_IS.L10N.L10N_Obj.selectLanguage(langArr);
}
if([Link]('usercheck_language_selection_div') != null)
{
count = 0;
var select =
[Link]('usercheck_language_selection');
[Link] = 0;
for(var Language in Languages)
{
select =
[Link]('usercheck_language_selection');
[Link][[Link]] = new
Option(Languages[Language].Language, Language, false, Language ===
prevSelectedLanguage);
count++;
}
//Display language selection only if NOT in thin portal.
if(count > 1 && [Link] === undefined)
[Link]('usercheck_language_selection_div').[Link] =
"block";
else
{
[Link]('usercheck_language_selection_div').[Link] =
"none";
}
}
[Link](true, userSelected);
}
[Link] = function(adminMessage)
{
if([Link]("UserCheck_Confirm_Checkbox") != -1)
return true;
return false;
}
[Link] = function(adminMessage)
{
if([Link]("UserCheck_Textual_Input") != -1)
return true;
return false;
}
[Link] = function(userSelected)
{
if (userSelected === undefined)
{
userSelected = true;
}
var select = [Link]('usercheck_language_selection');
var check = [Link]('UserCheck_Confirm_Checkbox');
sendAsynchronousRequest(getURL("UpdateUserData"),
"Language="+encodeURIComponent(selectedLanguage) +
"&IID="+encodeURIComponent([Link])+"&UserID="+cookieVal,
handleUpdateUserDataResponse,
this,
[new Callback()]);
}
else
{
[Link]('usercheck_title_div').innerHTML =
TitleText;
if([Link] ===
undefined || [Link] === false)
{
if ([Link] == 0
|| [Link] == 2 ||
[Link] == 8)//ok or cancel or
ok_scrubbing
{
[Link]('usercheck_main_div').innerHTML = AdminMessage;
}
else if ([Link]
== 3)// sent
{
// if http learning is enabled on action succeded
show the HTTP_LEARNING message
if (HTTPLearningEnabled == true &&
[Link] != "")
{
var usercheck_main_div =
[Link]('usercheck_main_div')
if (usercheck_main_div != null)
usercheck_main_div.innerHTML = "<p>"
+PORTAL_IS.L10N.L10N_Obj.getStr("HTTP_LEARNING")+"</p>";
}
else // an SMTP message
{
[Link]('usercheck_main_div').innerHTML = AdminMessage;
}
}
else if ([Link]
== 4)//discarded
{
[Link]('usercheck_main_div').innerHTML = AdminMessage;
}
else if ([Link]
== 5)//already sent
{
if (HTTPLearningEnabled == true &&
[Link] != "")
{
//if approved http and then refreshed the page
var usercheck_main_div =
[Link]('usercheck_main_div')
if (usercheck_main_div != null)
usercheck_main_div.innerHTML = "<p>"
+PORTAL_IS.L10N.L10N_Obj.getStr("HTTP_LEARNING")+"</p>";
}
else
{
[Link]('usercheck_main_div').innerHTML = AdminMessage;
var return_to_site_div =
[Link]('usercheck_return_to_site_div')
if (return_to_site_div != null)
return_to_site_div.innerHTML = "<p
style='color: #FF5000;font-weight: bold;'>"
+PORTAL_IS.L10N.L10N_Obj.getStr("EMAIL_ALREADY_SENT") +"</p>";
}
}
else if ([Link]
== 6)//already discarded
{
[Link]('usercheck_main_div').innerHTML = AdminMessage;
var return_to_site_div =
[Link]('usercheck_return_to_site_div')
if (return_to_site_div != null)
return_to_site_div.innerHTML = "<p
style='color: #FF5000;font-weight: bold;'>"
+PORTAL_IS.L10N.L10N_Obj.getStr("EMAIL_ALREADY_DISCARDED") +"</p>";
}
else
{
[Link]('usercheck_main_div').innerHTML = "<p>" +
PORTAL_IS.L10N.L10N_Obj.getStr("UNKOWN_INCIDENT_STATUS") + "</p>" +
[Link];
}
[Link]('usercheck_cancel_div').[Link] = "none";
if( [Link]('usercheck_ok_div')
!= null){
//alert("entered first");
[Link]('usercheck_ok_div').[Link] = "auto";
[Link]('usercheck_ok_div').[Link] = "auto";
}
var dlp_block_div =
[Link]('usercheck_cancel_div');
if(dlp_block_div != null)
{
[Link]('usercheck_cancel_div').[Link] = "0px";
}
dlp_block_div =
[Link]('usercheck_scrollable_div'); //if this is the client
if(dlp_block_div != null){
[Link]('usercheck_scrollable_div').[Link] = "250px";
}
}
if([Link] ==
"ASK"){
var is_client =
[Link]('usercheck_scrollable_div'); //if this is the client
if(is_client != null){
var checkBox_td =
[Link]('UserCheck_checkbox_td');
if(checkBox_td != null){
//for ask client with
checkbox, move padding-top to 0px
[Link]('UserCheck_checkbox_td').[Link] = "0px";
}
}
}
}
btnDiv = [Link]('usercheck_send_div');
// show the send button on SMTP (which is actually the send
button) OR show it on inform action (which is actually OK button)
if (btnDiv != null &&
([Link] == "" ||
[Link] == "INFORM") )
{
[Link] = SendButtonMessage;
var is_client =
[Link]('usercheck_scrollable_div'); //if this is the client
if(is_client != null)
{
[Link]('usercheck_send_div').[Link] = "15%";
}else
{
[Link]('usercheck_send_div').[Link] = "auto";
}
if([Link]('usercheck_middle_div') != null)
{
[Link]('usercheck_middle_div').[Link] = "auto";
[Link]('usercheck_middle_div').[Link] = "auto";
}
}else if(btnDiv != null &&
[Link] == "ASK"){
[Link]('usercheck_send_div').[Link] = "none";
}
btnDiv = [Link]('usercheck_middle_div');
if (btnDiv != null)
{
[Link] = MiddleButtonMessage;
}
var goBackDiv =
[Link]('usercheck_return_to_site_div');
if (goBackDiv)
{
// show return to site only when its http violation
AND if the action is: sent or discarded or already sent or already discarded or
cancelled.
if
([Link] != "" &&
([Link] == 3 ||
[Link] == 4 ||
[Link] == 5 ||
[Link] == 6 ||
[Link] == 2))
{
[Link] = '<a href="' +
[Link] + '">' +
PORTAL_IS.L10N.L10N_Obj.getStr("RETURN_TO_SITE") + '</a>';
}
}
}
else
[Link]('usercheck_main_div').innerHTML =
CancelMessage;
span = [Link]('UserCheck_Send_Button_span');
if(span != null)
[Link] =
PORTAL_IS.L10N.L10N_Obj.getStr('[Link]');
span = [Link]('UserCheck_Middle_Button_span');
if(span != null)
{
if ([Link] == "")
{
[Link] =
PORTAL_IS.L10N.L10N_Obj.getStr('[Link]');
}
else{
[Link] =
PORTAL_IS.L10N.L10N_Obj.getStr("[Link]");
[Link] = "27px";
[Link] = "29px";
}
}
var reportLink =
[Link]('UserCheck_Wrong_Category');
if(reportLink != null)
{
var correctClass = [Link]();
[Link](correctClass,
"usercheck_url_class");
[Link] = function(e)
{ [Link](); }
}
if([Link](AdminMessage))
{
textarea_element =
[Link]('UserCheck_Textual_Input');
//If the textarea is an incorrect element or length is
correct, check passes.
if(textarea_element.value === undefined)
{
//This element is not really our text area so we
don't need it.
textarea_element = null;
}
}
if(textarea_element != null)
{
[Link] = textarea_element.value;
textarea_element.onfocus = function()
{ [Link](); };
}
//disable the approve button only on PortalMaindlp. on thin
client approve button should always be enabled
if ([Link] != "" &&
[Link] != true)
{
[Link](AdminMessage,HTTPLearningEnabled);
}
// hiding the cancel and middle button on inform and block on dlp
only
[Link]([Link])
;
}
}
//Get the application name. If this variable has been modified (added
application icon for example), take the original.
var appname = Variables['application_name_orig'];
var malwareID = Variables['application_id'];
if(appname === undefined)
appname = Variables['application_name'];
[Link] = "-1";
[Link] = "LOG-WRONG-CATEGORY";
[Link] = cookie;
[Link] = false;
[Link] = [Link];
var sAbsoluteURL =
PORTAL_IS.[Link]("data/GetUserCheckUserChoiceData");
sendAsynchronousRequest(sAbsoluteURL,
flattenObject(requestData),
[Link],
this,
[new Callback()]);
[Link] = function()
{
var elem = [Link]('testID');
[Link]('head')[0].removeChild(elem);
}
var AdminMessage =
[Link][[Link]
tedLanguage].AdminMessage;
//If the checkbox exists (and it is a correct element), its value will
determine the button status.
if([Link] == true &&
[Link](AdminMessage) == true &&
[Link]('UserCheck_Confirm_Checkbox').checked !== undefined)
{
checkbox_element =
[Link]('UserCheck_Confirm_Checkbox');
checkbox_ready = checkbox_element.checked;
}
else
checkbox_ready = true;
//If the reason textbox exists and is enforced, its value will
determine the button status.
if([Link] === true &&
[Link](AdminMessage))
{
textarea_element =
[Link]('UserCheck_Textual_Input');
if(checkbox_element != null)
{
checkbox_element.[Link](correctCl
ass, (checkbox_ready ? "usercheck_red_no_highlight" : "usercheck_red_highlight" ));
elememt_to_scroll = checkbox_ready ? elememt_to_scroll :
checkbox_element.[Link];
}
if(textarea_element != null)
{
textarea_element.setAttribute(correctClass,
"usercheck_message_class usercheck_textual_input_class " + (textarea_ready ?
"usercheck_red_no_highlight" : "usercheck_red_highlight
usercheck_textual_input_class_required" ));
elememt_to_scroll = textarea_ready ? elememt_to_scroll :
textarea_element;
if(!textarea_ready)
{
if([Link] === "" ||
textarea_element.value !== [Link])
{
if([Link] != "")
textarea_element.value =
[Link];
else
textarea_element.value =
PORTAL_IS.L10N.L10N_Obj.getStr("ENTER_TEXT");
}
textarea_element.onfocus = function()
{ [Link](); };
}
}
if(checkbox_element.[Link] >
textarea_element.offsetTop)
elememt_to_scroll = checkbox_element;
if(elememt_to_scroll!=null){
elememt_to_scroll.scrollIntoView(false);
var scrollableDiv =
[Link]("usercheck_scrollable_div");
if (scrollableDiv !== null)
[Link] = 0;
}
return all_ready;
}
[Link] = function()
{
textarea_element = [Link]('UserCheck_Textual_Input');
textarea_element.value = "";
if(textarea_element.getAttribute(correctClass).indexOf("usercheck_red_highlight") !
== -1){
textarea_element.setAttribute(correctClass, "usercheck_message_class
usercheck_textual_input_class usercheck_red_highlight");
}
else
textarea_element.setAttribute(correctClass,
"usercheck_message_class usercheck_textual_input_class");
textarea_element.onfocus = function() { };
}
[Link] = function()
{
[Link]("UserAction::sendMail");
this.last_action = 'sent';
if(![Link]())
//There was some user input missing - don't continue.
return;
[Link] = function()
{
[Link]("UserAction::deleteMail");
this.last_action = 'delete';
[Link] = reason;
}
else
{
[Link] = false;
}
}
//Sometimes the cookie is not written correctly, so used global
user.
if([Link] == null || [Link] == "")
[Link] = g_userID;
[Link] = [Link];
var sAbsoluteURL =
PORTAL_IS.[Link]("data/GetUserCheckUserChoiceData");
sendAsynchronousRequest(sAbsoluteURL,
flattenObject(requestData),
[Link],
this,
[new Callback()]);
}
}
[Link] = function()
{
[Link] = "about:blank";
}
[Link] = function()
{
[Link]();
}
this.name_show = function(target)
{
[Link](target).[Link] = 'inline';
}
this.name_hide = function(target)
{
[Link](target).[Link] = 'none';
}
this.expand_link = function(target,data)
{
//simple code for chrome and FF
//[Link](target).innerHTML = data;
[Link] = function(inputvalue)
{
var pattern=/^[^@;\s<>]+@[^@;\s<>]+\.[^@;\s<>]+$/;
if([Link](inputvalue))
{
return true;
}
else
{
return false;
}
}
[Link] = function()
{
var correctClass = [Link]();
var textarea_ready = false;
textarea_element = [Link]('send_original_email_textarea');
var errorElement = [Link]('scrub_error_div');
var isValidEmail = false;
//If the textarea is an incorrect element or length is correct, check
passes.
if(textarea_element.value != null)
{
isValidEmail =
[Link](textarea_element.value);
error_string = isValidEmail ? "" :
PORTAL_IS.L10N.L10N_Obj.getStr("CP_SCRUB_EMAIL_INVALID");
if(errorElement != null)
{
[Link] = isValidEmail ? "" : "<br/><span
style='color: #FF0000; display=inline'>* " +
PORTAL_IS.L10N.L10N_Obj.getStr("CP_SCRUB_INVALID_EMAIL") + "</span>";
}
}
textarea_element.setAttribute(correctClass, (textarea_ready ?
"usercheck_red_no_highlight" : "usercheck_red_highlight " ));
if(!textarea_ready)
{
if(textarea_element.value === "")
{
textarea_element.value =
PORTAL_IS.L10N.L10N_Obj.getStr("CP_SCRUB_SEND_EMAIL_EXAMPLE");
textarea_element.setAttribute(correctClass,
"usercheck_red_highlight");
}
if(textarea_element.value ===
PORTAL_IS.L10N.L10N_Obj.getStr("CP_SCRUB_SEND_EMAIL_EXAMPLE"))
{
textarea_element.onfocus = function()
{ [Link](); };
}
}
}
var scrub_send_email_result =
[Link]('scrub_send_email_result_div');
if(scrub_send_email_result != null)
{
scrub_send_email_result.innerHTML = "";
}
return textarea_ready;
}
[Link] = function()
{
textarea_element =
[Link]('send_original_email_textarea');
textarea_element.value = "";
var correctClass = [Link]();
if(textarea_element.getAttribute(correctClass) &&
textarea_element.getAttribute(correctClass).indexOf("usercheck_red_highlight") !==
-1)
textarea_element.setAttribute(correctClass,
"usercheck_red_highlight");
else
textarea_element.setAttribute(correctClass, "");
textarea_element.onfocus = function() { };
}
[Link] = function(IID)
{
receipientarea_element =
[Link]('send_original_email_textarea');
if(receipientarea_element != null)
{
if([Link]('send_original_email_textarea').value !==
undefined)
//Unfocus the text-area.
[Link]('send_original_email_textarea').blur();
if(![Link]())
//There was some user input missing - don't continue.
return;
textarea_element =
[Link]('send_original_email_textarea');
sendAsynchronousRequest(sAbsoluteURL,
flattenObject(requestData),
[Link],
this,
[new Callback()]);
}
}
if (xhrStatus != 200)
{
[Link]('Scrub Sending Email failed. ('+xhrStatus+')',
[Link]);
[Link]();
return;
}
[Link] = [Link](xhrResponse);
[Link] = [Link];
var scrub_send_email_result =
[Link]('scrub_send_email_result_div');
if(scrub_send_email_result == null)
{
return;
}
setCookie('Scrub_UserEmail',PORTAL_IS.L10N.L10N_Obj.getStr("CP_SCRUB_SEND_EMAIL_EXA
MPLE") , 30);
scrub_send_email_result.innerHTML = "<br/><span style='color:
#FF0000;'>" + PORTAL_IS.L10N.L10N_Obj.getStr("CP_SCRUB_SEND_EMAIL_ERROR") +
"</span>";
}
[Link] = function()
{
var send_orig_option = "";
var cookie = getCookie('Scrub_UserEmail');
var image = "images/[Link]";
var toolTip =
PORTAL_IS.L10N.L10N_Obj.getStr("CP_SCRUB_SEND_ORIGINAL_EMAIL");
if(g_BlockSendMail == true)
{
image = "img/[Link]";
toolTip =
PORTAL_IS.L10N.L10N_Obj.getStr("CP_SCRUB_MAIL_BLOCKED_BY_POLICY");
if(g_refreshFiles == true)
{
image = "img/[Link]";
toolTip =
PORTAL_IS.L10N.L10N_Obj.getStr("CP_SCRUB_FILE_STATUS_WAITING_FOR_TE");
}
}
send_orig_option += "</li>";
send_orig_option += "</ul>";
send_orig_option += "</div>";
return send_orig_option;
}
if (xhrStatus != 200)
{
[Link]('Retreiving UserCheck Incident Data failed.
('+xhrStatus+')', [Link]);
[Link]();
return;
}
[Link] = [Link](xhrResponse);
g_refreshFiles = false;
g_BlockSendMail = false;
var scrub_links_simple = [Link]('links_simple');
if (scrub_links_simple != null)
{
if (scrub_links_simple.hasChildNodes())
scrub_links_simple.removeChild(scrub_links_simple.childNodes[0]);
var tmp = [Link]("div");
[Link] =
[Link](attachments, false);
scrub_links_simple.appendChild(tmp);
}
scrub_links_extended.removeChild(scrub_links_extended.childNodes[0]);
var tmp = [Link]("div");
[Link] =
[Link](attachments, true);
scrub_links_extended.appendChild(tmp);
}
[Link]('usercheck_content_table').[Link] =
'auto';
if (scrub_send_orig_mail != null)
{
if (scrub_send_orig_mail.hasChildNodes())
scrub_send_orig_mail.removeChild(scrub_send_orig_mail.childNodes[0]);
var tmp = [Link]("div");
[Link] =
[Link]();
scrub_send_orig_mail.appendChild(tmp);
var scrub_orig_eml_textarea =
[Link]('send_original_email_textarea');
if(scrub_orig_eml_textarea != null)
{
scrub_orig_eml_textarea.onfocus = function()
{ [Link](); };
}
if(g_BlockSendMail == true)
{
setButtonMode(false,'send_original_email_button')
}
}
if (g_refreshFiles)
{
[Link](30,
[Link]);
}
[Link]();
}
[Link] = function()
{
var requestData = {
IID: "-1"
};
[Link] = [Link];
var sAbsoluteURL = PORTAL_IS.[Link]("data/GetScrubFiles");
sendAsynchronousRequest(sAbsoluteURL,
flattenObject(requestData),
[Link],
this,
[new Callback()]);
}
[Link] = function(FileIndex)
{
var infoimg_element = [Link]('infoimg_' + FileIndex);
var removed_parts_element = [Link]('removed_parts_' +
FileIndex);
</script>
</html>