MS IE Script Error in Skin Editor

When I try to edit a skin, the Skin edit window opens and the
follow error message displays:
Internet Explorer Script Error
!!! An error has occured in the script on this page.
Line: 222
Char: 3
Error: An automation server can't create object
Code: 0
URL: file//C:\Documents and Settings\Local
Settings\Temp\skinpreview_1\whskin_pdhtml.htm
Do you want to continue running the scripts on this page?
Yes/No
If I continue, the editor seems to function normally.
However, strange things happen in the WebHelp systems published on
a file system (local and on the LAN). The Table of Contents does
not display on some instances of MS IE. The "highlight search
results" demo does not highlight the search term in the topics.
I thought these issues were connected to a recent push of
Windows XP SP 2. However, site support completely uninstalled
RoboHelp from my computer and did a clean reinstall, according to
the Adboe TechNote.
I am wondering if they are connected or not, and how I can
get rid of the error message.
Text

I have tried the javascript edit in http://forums.adobe.com/message/3826014#3826014#3826014.
Both of the forum posts you referenced are addressing the issue in RoboHelp 9. I know there was an patch for chrome in 9 (http://helpx.adobe.com/robohelp/kb/enter-key-doesnt-launch-search.html).
I'm running 8.0.2 and I work in a company where I cannot get IT to unistall the plug-in companywide.
Just an update to my previoud post: I did realize the javascript edits I made were written over by another publish. With the edit in place however, my output still isn't working.
Editing the .js in the webhelp folder hasn't worked to fix the functioning of the TOC and Search and why the error in the Skin Editor at all?

Similar Messages

  • Re: Script Error in Skin Editor

    I posted this as a reply to the following discussion: http://forums.adobe.com/thread/603151 but believe it merits its own post as it was not resolved by the solution that was presented.
    My company runs Internet Explorer 7 as its default browser and recently installed chrome frame. I was editing a robohelp project this week and encountered the following error message when I opened the skin editor:
    When I opened up the published webhelp I had the same issues described elsewhere in the forums with the TOC and Search not working. I edited the whver.js file using the specifications outlined by piersh in the forum discussion noted above without success.
    Additional information:
    I am using RoboHelp 8
    Functuonality is fine when tested in Firefox
    Published and tested locally
    Tested from two additional company computers from a network shared drive

    I have tried the javascript edit in http://forums.adobe.com/message/3826014#3826014#3826014.
    Both of the forum posts you referenced are addressing the issue in RoboHelp 9. I know there was an patch for chrome in 9 (http://helpx.adobe.com/robohelp/kb/enter-key-doesnt-launch-search.html).
    I'm running 8.0.2 and I work in a company where I cannot get IT to unistall the plug-in companywide.
    Just an update to my previoud post: I did realize the javascript edits I made were written over by another publish. With the edit in place however, my output still isn't working.
    Editing the .js in the webhelp folder hasn't worked to fix the functioning of the TOC and Search and why the error in the Skin Editor at all?

  • SQL editor script error

    When opening the sql editor I get an Internet Explorer script error:
    Line: 4438
    Char: 1
    Error: Object expected
    Code: 0
    URL: http://osldep2.agra.int:50100/VCRes/webContent/VisualComposer/6.00/bin/14463730.htm?2882006.935
    Any ideas?
    Henning

    OK. I'm reaching here, but maybe this is it. The SQL Editor requires that you have specified that you have permissions to run this in the Visual Administrator. If this isn't done, then it pops up a window saying this isn't enabled. If you have a popup blocker, this could cause such a message.

  • Help Contents gives Script error

    I have Robohelp for HTML installed and when I go to
    Help/Contents I get a script error and the contents does not
    display. I have the most recent version of JAVA installed. Robohelp
    for Word and Starter Help/Contents work and display fine. I have
    IE6 SP2 and run out of ideas.

    We had a similar situation. We installed our RH X5 a few
    years ago, then within the last several months, every author
    (except me) couldn't see the Contents pane at all on their local
    machine or if they were viewing the output only (outside of the
    project) on one of our network drives. They also saw the
    "whskin_pdhtml.htm" error also whenever they tried to access the
    skin editor.
    I suspected, but was never able to prove, that the issue was
    related to how IE interpreted Javascript and/or various add-ons
    based on a user's permissions. I even tried to find out if a recent
    Microsoft security patch was the culprit, but still couldn't be
    100% sure.
    Our solution was to uninstall RH X5, get local box admin
    rights granted permanently to the user of the PC, then reinstall
    RoboHelp X5. We've done three of these in the last two weeks and no
    one has had an issue since. We've found that having local box admin
    rights granted to the user permanently rather than temporarily
    seems to work.
    Look for an Adobe Knowledge Base article on Uninstalling
    RoboHelp. I would include the link to it here, but the Knowledge
    Base search feature seems to be on the fritz today. I copied the
    uninstall info into a Word doc a while back and I have it on file
    if you need it. Let me know - my email is [email protected]
    Jim

  • IE Script error when double clicking on a view in Abap Webdynpro component

    Hello experts,
    I am running mini SAP trial version 2004 with Internet explorer 7.0 and also installed gui patch 23.
    I am making a sample application in SE80 and when double clicking on a view in Abap Webdynpro component I get following error:
    <b>Internet Explorer Script Error</b>
    An error has occured in the script on this page.
    Line: 1
    Char: 1
    Error: 'wdp_show_menu' is undefined
    Code: 0
    URL: http://satellite5200:8000/sap/bc/wdvd/painting.html?_vdrespkey=EOJ6V1JQMX0VLTQ7AP6DQM64Y&_vdframe=painting&sap-client=000
    Do you want to continue running scripts on this page?
    Thanks in advance.
    Bhupendra

    Hi Bhupendra,
       If you are seeing this error in the Se 80 editor , i guess you can ignoire that ...While running the application it will not show any error.
    Thanks
    Anzy

  • UI rendering issue in Skin editor (11.1.2) on Mac

    Hi,
    I just tried to run the stand alone skin editor (11.1.2) on Mac OS X and noticed some UI rendering issue - All the icon and menu are hidden unless I move the mouse cursor over them. (sometimes they don't even show up if I do so) And every time when I launch the program, I see lots of null pointer exception from "com.apple.laf.AquaMenuPainter.paintMenuBarBackground(AquaMenuPainter.java:140)"
    It looks like a platform specific issue, since the Oracle claims Mac is also certified. Is there any work around for that?
    Mac OS X: 10.6.7
    JVM: 1.6.0_24
    JDev: 11.1.1.5 (may be not relevant here)
    Thanks,
    Steven
    Edited by: Steven on Jul 18, 2011 11:03 AM

    Hi Steven,
    I just downloaded standalone SkinEditor 11.1.2.1 and had the same problem as you.
    I managed to get round it thankfully.
    As you mentioned, the menu items become visible sometimes when moving the mouse over them. I managed to find the Preferences menu item and opened it. In the Environment section I changed the Look and Feel from Oracle to Mac OS X. When I restarted the editor came up with no errors.
    I don't think the Mac OS X look and feel is as nice though so I did some more digging.
    I found a file called jdev-Darwin.conf in jdev/bin that contains Mac specific configuration for JDeveloper. In here I noticed the following line:
    AddVMOption    -Dapple.laf.useScreenMenuBar=trueAs the error we were getting was to do with menus I copied the line into skineditor.conf and hey presto it works for the Oracle look and feel. The app menus are on the Apple menu bar rather than the Java app window but I can live with that.
    Cheers,
    Kevin

  • Scripting Error in CIC Web

    hi
                  Iam working on scripting for CIC Web Client. After completion of scripting and saving when iam trying to generate the Transport request for the same the movement i click on the Transport icon it populate the error message like      "ERROR OCCURED"
    Please give the solution for above Error
    i will appreciate with full points for correct answer
    Regards
    sreedhar

    Hi, friends,
    actually i am designing the scripts with the same logic,
    after designing i am uploading to desktop and attaching the required  production client,
    but still while i am executing the scripts , some time the "error occured " message is displaying ,
    it displays for every mouse click on the Editor,
    Note:
    steps to transport scritps,
    create scripts in Client A editor ,
    go to Scripting profile attach the same scripts to the profile with Valid date.
    then
    upload the scripts to desktop
    open IS Editor B  ,
    download scripts, in to editor
    then create a transport from Client A to Client B,
    this is the actual procedure to make the scripts work,
    but now,
    some time the trasported scripts name are displaying in the webclient , but when you tried to execute it doesnt show any results,
    any input ,????

  • Captivate 5.5 freezing when opening Project Skin Editor Settings

    When I open Project > Skin Editor > Setting to adjust the font, my Captivate freezes completely.  My only option is to  ctrl+alt+delete to end the session and restart. I am using Captivate 5.5 and windows 7.  On the the fourth attempt, i received the fatal error message of "A fatal error has occurred and the application is being terminated...". Has anyone experienced this or have any resolution?

    I followed the path to the Adobe Captivate 5.5 folder and i do not see a preferences folder to delete....Any advice? 

  • ReportServer Manager Script Error

    Hi All,
    I have been using ssrs for quite some time now.And All of a sudden, I have started getting
    scripts errors in reportingservices.js.
    Error:"Uncaught TypeError: Cannot set property 'className' of null
    Now I am not able to deploy new rdl files
    Many Thanks
    Deepak

    HI All, 
    Actually I have found the answer for that,thought that some one might get useful with this.ReportingServices.js in the path"C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER20122012\Reporting Services\ReportManager\js"
     was causing the problem.Kindly replace the script with the following one
    var checkBoxCount;
    var checkBoxId;
    var checkBoxHead;
    // Context menu
    var _divContextMenu; // The container for the context menu
    var _selectedIdHiddenField; // The id of the item that opened th context menu
    var _timeOutLimit = 3000; // How long the context menu stays for after the cursor in no longer over it
    var _timeOutTimer; // The timout for the context menu
    var _itemSelected = false;
    var _mouseOverContext = false; // If the mouse is over the context menu
    var _contextMenusIds; // The array of the diffrent context menus
    var _fadeTimeouts; // The array of timouts used for the fade effect
    var _onLink = false; // If the user is over a name link
    var _selectedItemId;
    var _tabFocusedItem = '';
    var _mouseOverItem = '';
    var _unselectedItemStyle;
    var _currentContextMenuId; // ID of currently displayed context menu
    var _currentMenuItemId = null; // ID of currently selected context menu item
    // Search bar
    var _searchTextBoxID;
    var _defaultSearchValue; // The value that the box defaults to.
    // start chris edit
    // new functions to find firstChild and lastChild but skipping whitespace elements
    function firstChildNoWS(element) {
    var child = element.firstChild;
    while (child != null && child.isElementContentWhitespace) {
    child = child.nextSibling;
    return child;
    function lastChildNoWS(element) {
    var child = element.lastChild;
    while (child != null && child.isElementContentWhitespace) {
    child = child.previousSibling;
    return child;
    // end chris edit
    function ToggleItem(itemId) {
    var item = document.getElementById(itemId);
    if (item.style.display == 'none')
    item.style.display = 'inline';
    else
    item.style.display = 'none';
    function ToggleButtonImage(image1ID, image2ID) {
    var image1 = document.getElementById(image1ID);
    var image2 = document.getElementById(image2ID);
    if (image1.style.display == 'none') {
    image1.style.display = 'inline-block';
    image2.style.display = 'none';
    else {
    image1.style.display = 'none';
    image2.style.display = 'inline-block';
    function SetFocus(id) {
    var obj = document.getElementById(id);
    if (obj != null && !obj.disabled)
    obj.focus();
    // Validates that an extension has been selected
    function ValidateDropDownSelection(source, args) {
    var obj = document.getElementById(source.controltovalidate);
    if (obj.options[0].selected && !obj.disabled)
    args.IsValid = false;
    else
    args.IsValid = true;
    /// selectAll
    /// selects all the checkBoxes with the given id
    function selectAll() {
    var i;
    var id;
    var checked = checkBoxHead.checked;
    for (i = 0; i < checkBoxCount; i++) {
    id = checkBoxId + i;
    document.getElementById(id).checked = checked;
    /// onSglCheck
    /// performs actions when a single checkBox is checked or unchecked
    /// cb -> the checkBox generating the event
    /// topId -> id of the "select all" checkBox
    function onSglCheck() {
    // uncheck the top checkBox
    checkBoxHead.checked = false;
    /// ToggleButton
    /// Toggle a buttons enable state
    function ToggleButton(id, disabled) {
    if (document.getElementById(id) != null)
    document.getElementById(id).disabled = disabled;
    function ToggleValidator(id, enabled) {
    document.getElementById(id).enabled = enabled;
    function SetCbVars(cbid, count, cbh) {
    checkBoxCount = count;
    checkBoxId = cbid;
    checkBoxHead = cbh;
    /// Check to see if any check boxes should disable
    /// a control
    /// cbid -> id prefix of the checkBoxes
    /// cbCount -> total checkBoxes to check
    /// hidden -> input to look for
    /// display -> control to disable
    function CheckCheckBoxes(cbid, hidden, display) {
    var i;
    var id;
    var disable;
    disable = false;
    for (i = 0; i < checkBoxCount; i++) {
    id = cbid + i;
    if (document.getElementById(id).checked) {
    id = hidden + id;
    if (document.getElementById(id) != null) {
    disable = true;
    break;
    ToggleButton(display, disable);
    function HiddenCheckClickHandler(hiddenID, promptID, promptStringID) {
    var hiddenChk = document.getElementById(hiddenID);
    var promptChk = document.getElementById(promptID);
    // prompt should be in opposite state of hidden
    promptChk.checked = !hiddenChk.checked;
    function validateSaveRole(source, args) {
    var i;
    var id;
    var c = 0;
    for (i = 0; i < checkBoxCount; i++) {
    id = checkBoxId + i;
    if (document.getElementById(id).checked) c++;
    if (0 == c)
    args.IsValid = false;
    else
    args.IsValid = true;
    /// Pad an integer less then 10 with a leading zero
    function PadIntWithZero(val) {
    var s = val.toString();
    if (val < 10 && val >= 0) {
    if (s.length == 1)
    s = "0" + s;
    else if (s.length > 2)
    s = s.substring(s.length - 2, s.length);
    return s;
    /// Pad the contents of an input with leading zeros if necesarry
    function PadInputInteger(id) {
    document.getElementById(id).value = PadIntWithZero(document.getElementById(id).value);
    /// text of confirmation popup when a single item is selected for deletion
    /// e.g. "Are you sure you want to delete this item"
    var confirmSingle;
    /// text of confirmation popup when multiple items are selected for deletion
    /// e.g. "Are you sure you want to delete these items"
    var confirmMultiple;
    function SetDeleteTxt(single, multiple) {
    confirmSingle = single;
    confirmMultiple = multiple;
    /// doCmDel: DoConfirmDelete
    /// Given a number of checked items, confirm their deletion
    /// return true if OK was clicked; false otherwise
    function doCmDel(checkedCount) {
    var confirmTxt = confirmSingle;
    if (checkedCount == 0)
    return false;
    if (checkedCount > 1)
    confirmTxt = confirmMultiple;
    return confirm(confirmTxt);
    /// on non-Netscape browsers, confirm deletion of 0 or more items
    function confirmDelete() {
    return doCmDel(getChkCount());
    /// confirm deletion of policies
    function confirmDeletePlcies(alertString) {
    var count = getChkCount();
    if (count >= checkBoxCount) {
    alert(alertString);
    return false;
    return doCmDel(count);
    /// counts whether 0, 1, or more than 1 checkboxes are checked
    /// returns 0, 1, or 2
    function getChkCount() {
    var checkedCount = 0;
    for (i = 0; i < checkBoxCount && checkedCount < 2; i++) {
    if (document.getElementById(checkBoxId + i).checked) {
    checkedCount++;
    return checkedCount;
    function ToggleButtonBasedOnCheckBox(checkBoxId, toggleId, reverse) {
    var chkb = document.getElementById(checkBoxId);
    if (chkb != null) {
    if (chkb.checked == true)
    ToggleButton(toggleId, reverse); // enable if reverse == false
    else
    ToggleButton(toggleId, !reverse); // disable if reverse == false
    function ToggleButtonBasedOnCheckBoxWithOverride(checkBoxId, toggleId, overrideToDisabled, reverse) {
    if (overrideToDisabled == true)
    ToggleButton(toggleId, true); // disable
    else
    ToggleButtonBasedOnCheckBox(checkBoxId, toggleId, reverse);
    function ToggleButtonBasedOnCheckBoxes(checkBoxId, checkboxId2, toggleId) {
    var chkb = document.getElementById(checkBoxId);
    if (chkb != null) {
    if (chkb.checked == true)
    ToggleButtonBasedOnCheckBox(checkboxId2, toggleId, false);
    else
    ToggleButton(toggleId, true); // disable
    function ToggleButtonBasedOnCheckBoxesWithOverride(checkBoxId, checkboxId2, toggleId, overrideToDisabled) {
    if (overrideToDisabled == true)
    ToggleButton(toggleId, true); // disable
    else
    ToggleButtonBasedOnCheckBoxes(checkBoxId, checkboxId2, toggleId);
    function ToggleValidatorBasedOnCheckBoxWithOverride(checkBoxId, toggleId, overrideToDisabled, reverse) {
    if (overrideToDisabled == true)
    ToggleValidator(toggleId, false);
    else {
    var chkb = document.getElementById(checkBoxId);
    if (chkb != null) {
    ToggleValidator(toggleId, chkb.checked != reverse);
    function ToggleValidatorBasedOnCheckBoxesWithOverride(checkBoxId, checkBoxId2, toggleId, overrideToDisabled, reverse) {
    if (overrideToDisabled == true)
    ToggleValidator(toggleId, false);
    else {
    var chkb = document.getElementById(checkBoxId);
    if (chkb != null) {
    if (chkb.checked == reverse)
    ToggleValidator(toggleId, false);
    else
    ToggleValidatorBasedOnCheckBoxWithOverride(checkBoxId2, toggleId, overrideToDisabled, reverse);
    function CheckButton(buttonID, shouldCheck) {
    document.getElementById(buttonID).checked = shouldCheck;
    function EnableMultiButtons(prefix) {
    // If there are no multibuttons, there is no reason to iterate the
    // list of checkboxes.
    if (checkBoxCount == 0 || multiButtonList.length == 0)
    return;
    var enableMultiButtons = false;
    var multipleCheckboxesSelected = false;
    // If the top level check box is checked, we know the state of all
    // of the checkboxes
    var headerCheckBox = document.getElementById(prefix + "ch");
    if (headerCheckBox != null && headerCheckBox.checked) {
    enableMultiButtons = true;
    multipleCheckboxesSelected = checkBoxCount > 1;
    else {
    // Look at each checkbox. If any one of them is checked,
    // enable the multi buttons.
    var foundOneChecked = false;
    var i;
    for (i = 0; i < checkBoxCount; i++) {
    var checkBox = document.getElementById(prefix + 'cb' + i);
    if (checkBox.checked) {
    if (foundOneChecked) {
    multipleCheckboxesSelected = true;
    break;
    else {
    enableMultiButtons = true;
    foundOneChecked = true;
    // Enable/disable each of the multi buttons
    var j;
    for (j = 0; j < multiButtonList.length; j++) {
    var button = document.getElementById(multiButtonList[j]);
    if (button.allowMultiSelect)
    button.disabled = !enableMultiButtons;
    else
    button.disabled = !enableMultiButtons || multipleCheckboxesSelected;
    //function ShadowCopyPassword(suffix)
    function MarkPasswordFieldChanged(suffix) {
    if (event.propertyName == "value") {
    var pwdField = document.getElementById("ui_txtStoredPwd" + suffix);
    //var shadowField = document.getElementById("ui_shadowPassword" + suffix);
    var shadowChanged = document.getElementById("ui_shadowPasswordChanged" + suffix);
    // Don't shadow copy during initialization
    if (pwdField.IsInit) {
    //shadowField.value = pwdField.value;
    //pwdField.UserEnteredPassword = "true";
    shadowChanged.value = "true";
    // Update validator state (there is no validator on the data driven subscription page)
    var validator = document.getElementById("ui_validatorPassword" + suffix)
    if (validator != null)
    ValidatorValidate(validator);
    function InitDataSourcePassword(suffix) {
    var pwdField = document.getElementById("ui_txtStoredPwd" + suffix);
    var shadowChanged = document.getElementById("ui_shadowPasswordChanged" + suffix);
    // var shadowField = document.getElementById("ui_shadowPassword" + suffix);
    var storedRadioButton = document.getElementById("ui_rdoStored" + suffix);
    var pwdValidator = document.getElementById("ui_validatorPassword" + suffix);
    pwdField.IsInit = false;
    // Initialize the field to the shadow value (for when the user clicks back/forward)
    // Or to a junk initial value.
    if (pwdValidator != null && storedRadioButton.checked) {
    /* if (shadowField.value.length > 0)
    pwdField.value = shadowField.value;
    else*/
    pwdField.value = "********";
    else
    shadowChanged.value = "true"; // shadowChanged will be ignored if the page is submitted without storedRadioButton.checked
    // Now that the initial value is set, track changes to the password field
    pwdField.IsInit = true;
    // There is no validator on the data driven subscription page (no stored radio button either)
    if (pwdValidator != null)
    ValidatorValidate(pwdValidator);
    function SetNeedPassword(suffix) {
    // Set a flag indicating that we need the password
    var pwdField = document.getElementById("ui_txtStoredPwd" + suffix);
    pwdField.NeedPassword = "true";
    // Make the validator visible
    ValidatorValidate(document.getElementById("ui_validatorPassword" + suffix));
    function UpdateValidator(src, validatorID) {
    if (src.checked) {
    var validator = document.getElementById(validatorID);
    ValidatorValidate(validator);
    function ReEnterPasswordValidation(source, arguments) // source = validator
    var validatorIdPrefix = "ui_validatorPassword"
    var suffix = source.id.substr(validatorIdPrefix.length, source.id.length - validatorIdPrefix.length);
    var storedRadioButton = document.getElementById("ui_rdoStored" + suffix);
    var pwdField = document.getElementById("ui_txtStoredPwd" + suffix);
    var shadowChanged = document.getElementById("ui_shadowPasswordChanged" + suffix);
    var customDataSourceRadioButton = document.getElementById("ui_rdoCustomDataSource" + suffix);
    var isCustomSelected = true;
    if (customDataSourceRadioButton != null)
    isCustomSelected = customDataSourceRadioButton.checked;
    if (!isCustomSelected || // If the custom (vs shared) data source radio button exists and is not selected, we don't need the pwd.
    storedRadioButton.checked == false || // If the data source is not using stored credentials, we don't need the password
    pwdField.UserEnteredPassword == "true" || // If the password has changed, we don't need to get it from the user
    pwdField.NeedPassword != "true" || // If no credentials have changed, we don't need the password
    shadowChanged.value == "true") // If the user has typed a password
    arguments.IsValid = true;
    else
    arguments.IsValid = false;
    function ValidateDataSourceSelected(source, arguments) {
    var validatorIdPrefix = "ui_sharedDSSelectedValidator"
    var suffix = source.id.substr(validatorIdPrefix.length, source.id.length - validatorIdPrefix.length);
    var sharedRadioButton = document.getElementById("ui_rdoSharedDataSource" + suffix);
    var hiddenField = document.getElementById("ui_hiddenSharedDS" + suffix);
    arguments.IsValid = (sharedRadioButton != null && !sharedRadioButton.checked) || hiddenField.value != "NotSelected";
    // MultiValueParamClass
    function MultiValueParamClass(thisID, visibleTextBoxID, floatingEditorID, floatingIFrameID, paramObject,
    hasValidValues, allowBlank, doPostbackOnHide, postbackScript) {
    this.m_thisID = thisID;
    this.m_visibleTextBoxID = visibleTextBoxID;
    this.m_floatingEditorID = floatingEditorID;
    this.m_floatingIFrameID = floatingIFrameID;
    this.m_paramObject = paramObject;
    this.m_hasValidValues = hasValidValues;
    this.m_allowBlank = allowBlank;
    this.m_doPostbackOnHide = doPostbackOnHide;
    this.m_postbackScript = postbackScript;
    this.UpdateSummaryString();
    function ToggleVisibility() {
    var floatingEditor = GetControl(this.m_floatingEditorID);
    if (floatingEditor.style.display != "inline")
    this.Show();
    else
    this.Hide();
    MultiValueParamClass.prototype.ToggleVisibility = ToggleVisibility;
    function Show() {
    var floatingEditor = GetControl(this.m_floatingEditorID);
    if (floatingEditor.style.display == "inline")
    return;
    // Set the correct size of the floating editor - no more than
    // 150 pixels high and no less than the width of the text box
    var visibleTextBox = GetControl(this.m_visibleTextBoxID);
    if (this.m_hasValidValues) {
    if (floatingEditor.offsetHeight > 150)
    floatingEditor.style.height = 150;
    floatingEditor.style.width = visibleTextBox.offsetWidth;
    var newEditorPosition = this.GetNewFloatingEditorPosition();
    floatingEditor.style.left = newEditorPosition.Left;
    floatingEditor.style.top = newEditorPosition.Top;
    floatingEditor.style.display = "inline";
    var floatingIFrame = GetControl(this.m_floatingIFrameID);
    floatingIFrame.style.left = floatingEditor.style.left;
    floatingIFrame.style.top = floatingEditor.style.top;
    floatingIFrame.style.width = floatingEditor.offsetWidth;
    floatingIFrame.style.height = floatingEditor.offsetHeight;
    floatingIFrame.style.display = "inline";
    // If another multi value is open, close it first
    if (this.m_paramObject.ActiveMultValue != this && this.m_paramObject.ActiveMultiValue != null)
    ControlClicked(this.m_paramObject.id);
    this.m_paramObject.ActiveMultiValue = this;
    if (floatingEditor.childNodes[0].focus) floatingEditor.childNodes[0].focus();
    this.StartPolling();
    MultiValueParamClass.prototype.Show = Show;
    function Hide() {
    var floatingEditor = GetControl(this.m_floatingEditorID);
    var floatingIFrame = GetControl(this.m_floatingIFrameID);
    // Hide the editor
    floatingEditor.style.display = "none";
    floatingIFrame.style.display = "none";
    this.UpdateSummaryString();
    if (this.m_doPostbackOnHide)
    eval(this.m_postbackScript);
    // Check that the reference is still us in case event ordering
    // caused another multivalue to click open
    if (this.m_paramObject.ActiveMultiValue == this)
    this.m_paramObject.ActiveMultiValue = null;
    MultiValueParamClass.prototype.Hide = Hide;
    function GetNewFloatingEditorPosition() {
    // Make the editor visible
    var visibleTextBox = GetControl(this.m_visibleTextBoxID);
    var textBoxPosition = GetObjectPosition(visibleTextBox);
    return { Left: textBoxPosition.Left, Top: textBoxPosition.Top + visibleTextBox.offsetHeight };
    MultiValueParamClass.prototype.GetNewFloatingEditorPosition = GetNewFloatingEditorPosition;
    function UpdateSummaryString() {
    var summaryString;
    if (this.m_hasValidValues)
    summaryString = GetValueStringFromValidValueList(this.m_floatingEditorID);
    else
    summaryString = GetValueStringFromTextEditor(this.m_floatingEditorID, false, this.m_allowBlank);
    var visibleTextBox = GetControl(this.m_visibleTextBoxID);
    visibleTextBox.value = summaryString;
    MultiValueParamClass.prototype.UpdateSummaryString = UpdateSummaryString;
    function StartPolling() {
    setTimeout(this.m_thisID + ".PollingCallback();", 100);
    MultiValueParamClass.prototype.StartPolling = StartPolling;
    function PollingCallback() {
    // If the editor isn't visible, no more events.
    var floatingEditor = GetControl(this.m_floatingEditorID);
    if (floatingEditor.style.display != "inline")
    return;
    // If the text box moved, something on the page resized, so close the editor
    var expectedEditorPos = this.GetNewFloatingEditorPosition();
    if (floatingEditor.style.left != expectedEditorPos.Left + "px" ||
    floatingEditor.style.top != expectedEditorPos.Top + "px") {
    this.Hide();
    else {
    this.StartPolling();
    MultiValueParamClass.prototype.PollingCallback = PollingCallback;
    function GetObjectPosition(obj) {
    var totalTop = 0;
    var totalLeft = 0;
    while (obj != document.body) {
    // Add up the position
    totalTop += obj.offsetTop;
    totalLeft += obj.offsetLeft;
    // Prepare for next iteration
    obj = obj.offsetParent;
    totalTop += obj.offsetTop;
    totalLeft += obj.offsetLeft;
    return { Left: totalLeft, Top: totalTop };
    function GetValueStringFromTextEditor(floatingEditorID, asRaw, allowBlank) {
    var span = GetControl(floatingEditorID);
    var editor = span.childNodes[0];
    var valueString = editor.value;
    // Remove the blanks
    if (!allowBlank) {
    // Break down the text box string to the individual lines
    var valueArray = valueString.split("\r\n");
    var delimiter;
    if (asRaw)
    delimiter = "\r\n";
    else
    delimiter = ", ";
    var finalValue = "";
    for (var i = 0; i < valueArray.length; i++) {
    // If the string is non-blank, add it
    if (valueArray[i].length > 0) {
    if (finalValue.length > 0)
    finalValue += delimiter;
    finalValue += valueArray[i];
    return finalValue;
    else {
    if (asRaw)
    return valueString;
    else
    return valueString.replace(/\r\n/g, ", ");
    function GetValueStringFromValidValueList(editorID) {
    var valueString = "";
    // Get the table
    var div = GetControl(editorID);
    var table = div.childNodes[0];
    if (table.nodeName != "TABLE") // Skip whitespace if needed
    table = div.childNodes[1];
    // If there is only one element, it is a real value, not the select all option
    var startIndex = 0;
    if (table.rows.length > 1)
    startIndex = 1;
    for (var i = startIndex; i < table.rows.length; i++)
    // Get the first cell of the row
    var firstCell = table.rows[i].cells[0];
    var span = firstCell.childNodes[0];
    var checkBox = span.childNodes[0];
    var label = span.childNodes[1];
    if (checkBox.checked) {
    if (valueString.length > 0)
    valueString += ", ";
    // chris edit - valueString += label.firstChild.nodeValue;
    valueString += firstChildNoWS(label).nodeValue;
    return valueString;
    function MultiValidValuesSelectAll(src, editorID)
    // Get the table
    var div = GetControl(editorID);
    var table = div.childNodes[0];
    if (table.nodeName != "TABLE")
    table = div.childNodes[1];
    for (var i = 1; i < table.rows.length; i++)
    // Get the first cell of the row
    var firstCell = table.rows[i].cells[0];
    var span = firstCell.childNodes[0];
    var checkBox = span.childNodes[0];
    checkBox.checked = src.checked;
    function ValidateMultiValidValue(editorID, errMsg)
    var summaryString = GetValueStringFromValidValueList(editorID);
    var isValid = summaryString.length > 0;
    if (!isValid)
    alert(errMsg)
    return isValid;
    function ValidateMultiEditValue(editorID, errMsg) {
    // Need to check for a value specified. This code only runs if not allow blank.
    // GetValueStringFromTextEditor filters out blank strings. So if it was all blank,
    // the final string will be length 0
    var summaryString = GetValueStringFromTextEditor(editorID, true, false)
    var isValid = false;
    if (summaryString.length > 0)
    isValid = true;
    if (!isValid)
    alert(errMsg);
    return isValid;
    function GetControl(controlID) {
    var control = document.getElementById(controlID);
    if (control == null)
    alert("Unable to locate control: " + controlID);
    return control;
    function ControlClicked(formID) {
    var form = GetControl(formID);
    if (form.ActiveMultiValue != null)
    form.ActiveMultiValue.Hide();
    // --- Context Menu ---
    // This function is called in the onload event of the body.
    // It hooks the context menus up to the Javascript code.
    // divContextMenuId, is the id of the div that contains the context menus
    // selectedIdHiddenFieldId, is the id of the field used to post back the name of the item clicked
    // contextMenusIds, is an array of the ids of the context menus
    // searchTextBox ID, is the id of the search box
    // defaultSearchValue. the value the search box has by default
    function InitContextMenu(divContextMenuId, selectedIdHiddenFieldId, contextMenusIds, searchTextBoxID, defaultSearchValue ) {
    ResetSearchBar( searchTextBoxID, defaultSearchValue );
    _divContextMenu = document.getElementById(divContextMenuId);
    _selectedIdHiddenField = document.getElementById(selectedIdHiddenFieldId);
    _contextMenusIds = contextMenusIds;
    _divContextMenu.onmouseover = function() { _mouseOverContext = true; };
    _divContextMenu.onmouseout = function() {
    if (_mouseOverContext == true) {
    _mouseOverContext = false;
    if (_timeOutTimer == null) {
    _timeOutTimer = setTimeout(TimeOutAction, _timeOutLimit);
    document.body.onmousedown = ContextMouseDown;
    AddKeyDownListener();
    // This handler stops bubling when arrow keys Up or Down pressed to prevent scrolling window
    function KeyDownHandler(e)
    // Cancel window scrolling only when menu is opened
    if(_currentContextMenuId == null)
    return true;
    if(!e)
    e = window.event;
    var key = e.keyCode;
    if(key == 38 || key == 40)
    return false;
    else
    return true;
    function AddKeyDownListener()
    if(document.addEventListener)
    document.addEventListener('keydown', KeyDownHandler, false);
    else
    document.onkeydown = KeyDownHandler;
    // This function starts the context menu timeout process
    function TimeOutAction() {
    if (_mouseOverContext == false) {
    UnSelectedMenuItem()
    _timeOutTimer = null;
    // This function is called when a name tag is clicked, it displays the contextmenu for a given item.
    function Clicked(event, contextMenuId) {
    if (!_onLink) {
    ClearTimeouts();
    SelectContextMenuFromColletion(contextMenuId);
    _itemSelected = true;
    // **Cross browser compatibility code**
    // Some browsers will not pass the event so we need to get it from the window instead.
    if (event == null)
    event = window.event;
    var selectedElement = event.target != null ? event.target : event.srcElement;
    var outerTableElement = GetOuterElementOfType(selectedElement, 'table');
    var elementPosition = GetElementPosition(outerTableElement);
    _selectedItemId = outerTableElement.id;
    // chris edit - _selectedIdHiddenField.value = outerTableElement.value;
    _selectedIdHiddenField.value = outerTableElement.attributes["value"].value;
    outerTableElement.className = "msrs-SelectedItem";
    ResetContextMenu();
    var contextMenuHeight = _divContextMenu.offsetHeight;
    var contextMenuWidth = _divContextMenu.offsetWidth;
    var boxHeight = outerTableElement.offsetHeight;
    var boxWidth = outerTableElement.offsetWidth;
    var boxXcoordinate = elementPosition.left;
    var boxYcooridnate = elementPosition.top;
    var pageWidth = 0, pageHeight = 0;
    // **Cross browser compatibility code**
    if (typeof (window.innerWidth) == 'number') {
    //Non-IE
    pageWidth = window.innerWidth;
    pageHeight = window.innerHeight;
    } else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
    //IE 6+ in 'standards compliant mode'
    pageWidth = document.documentElement.clientWidth;
    pageHeight = document.documentElement.clientHeight;
    } else if (document.body && (document.body.clientWidth || document.body.clientHeight)) {
    //IE 4 compatible
    pageWidth = document.body.clientWidth;
    pageHeight = document.body.clientHeight;
    // **Cross browser compatibility code**
    var iebody = (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body
    var pageXOffSet = document.all ? iebody.scrollLeft : pageXOffset
    var pageYOffSet = document.all ? iebody.scrollTop : pageYOffset
    _divContextMenu.style.left = SetContextMenuHorizonatalPosition(pageWidth, pageXOffSet, boxXcoordinate, contextMenuWidth, boxWidth) + 'px';
    _divContextMenu.style.top = SetContextMenuVerticalPosition(pageHeight, pageYOffSet, boxYcooridnate, contextMenuHeight, boxHeight) + 'px';
    ChangeOpacityForElement(100, _divContextMenu.id);
    // chris edit - document.getElementById(_currentContextMenuId).firstChild.focus();
    firstChildNoWS(document.getElementById(_currentContextMenuId)).focus();
    // Context menu keyboard navigation
    // Opens context menu via keyboard. Context menu
    // is opened by selecting an item and pressing
    // Alt + Down.
    function OpenMenuKeyPress(e, contextMenuId)
    // Alt key was pressed
    if (e.altKey)
    var keyCode;
    if (window.event)
    keyCode = e.keyCode;
    else
    keyCode = e.which;
    // Down key was pressed
    if (keyCode == 40)
    // Open context menu.
    Clicked(event, contextMenuId);
    // Highlight the first selectable item
    // in the context menu.
    HighlightContextMenuItem(true);
    // Performs keyboard navigation within
    // opened context menu.
    function NavigateMenuKeyPress(e)
    var keyCode;
    if (window.event)
    keyCode = e.keyCode;
    else
    keyCode = e.which;
    // Down key moves down to the next context menu item
    if (keyCode == 40)
    HighlightContextMenuItem(true);
    // Up key moves up to the previous context menu item
    else if (keyCode == 38)
    HighlightContextMenuItem(false);
    // Escape key closes context menu
    else if (keyCode == 27)
    // Close context menu
    UnSelectedMenuItem();
    // Make sure focus is given to the catalog item
    // in the folder view.
    document.getElementById(_selectedItemId).focus();
    // Highlights context menu item.
    // Parameter: highlightNext
    // - If true, highlights menu item below current menu item.
    // If current menu item is the last item, wraps around and
    // highlights first menu item.
    // - If false, highlights menu item above current menu item.
    // If current menu item is the first item, wraps around and
    // highlights last menu item.
    function HighlightContextMenuItem(highlightNext)
    var contextMenu = document.getElementById(_currentContextMenuId);
    // chris edit - var table = contextMenu.lastChild;
    var table = lastChildNoWS(contextMenu);
    var currentMenuItemIndex = -1;
    if (_currentMenuItemId != null)
    currentMenuItemIndex = document.getElementById(_currentMenuItemId).parentNode.rowIndex;
    var index = currentMenuItemIndex;
    while (true)
    if (highlightNext)
    index++;
    // If the index is out of range,
    // reset it to the beginning
    if (index < 0 || index >= table.cells.length)
    index = 0;
    else
    index--;
    // If the index is out of range,
    // reset it to the end
    if (index < 0 || index >= table.cells.length)
    index = table.cells.length - 1;
    // Each context menu item has an associated
    // group ID. Make sure the table cell has a valid
    // group ID, otherwise it is not a menu item (e.g.
    // an underline separator).
    if (table.cells[index].group >= 0)
    FocusContextMenuItem(table.cells[index].id, 'msrs-MenuUIItemTableHover', 'msrs-MenuUIItemTableCell');
    break;
    // If we reach the orignal index, that means we looped
    // through all table cells and did not find a valid context
    // menu item. In that case, stop searching.
    if (index == currentMenuItemIndex)
    break;
    // *** End keyboard navigation ***
    // This function resets the context menus shape and size.
    function ResetContextMenu() {
    _divContextMenu.style.height = 'auto';
    _divContextMenu.style.width = 'auto';
    _divContextMenu.style.overflowY = 'visible';
    _divContextMenu.style.overflowX = 'visible';
    _divContextMenu.style.overflow = 'visible';
    _divContextMenu.style.display = 'block';
    // This function sets the horizontal position of the context menu.
    // It also sets is the context menu has vertical scroll bars.
    function SetContextMenuHorizonatalPosition(pageWidth, pageXOffSet, boxXcoordinate, contextMenuWidth, boxWidth) {
    var menuXCoordinate = boxXcoordinate + boxWidth - contextMenuWidth;
    var spaceRightBox = (pageWidth + pageXOffSet) - menuXCoordinate;
    var spaceLeftBox = menuXCoordinate - pageXOffSet;
    var returnValue;
    if ((contextMenuWidth < spaceRightBox) && (pageXOffSet < menuXCoordinate)) {
    returnValue = menuXCoordinate;
    else if ((contextMenuWidth < spaceRightBox)) {
    returnValue = pageXOffSet;
    else if (contextMenuWidth < spaceLeftBox) {
    returnValue = menuXCoordinate - (contextMenuWidth - (pageWidth + pageXOffSet - menuXCoordinate));
    else {
    _divContextMenu.style.overflowX = "scroll";
    if (spaceLeftBox < spaceRightBox) {
    _divContextMenu.style.width = spaceRightBox;
    returnValue = pageXOffSet;
    else {
    _divContextMenu.style.width = spaceLeftBox;
    returnValue = menuXCoordinate - (spaceLeftBox - (pageWidth + pageXOffSet - menuXCoordinate));
    return returnValue;
    // This function sets the vertical position of the context menu.
    // It also sets is the context menu has horizontal scroll bars.
    function SetContextMenuVerticalPosition(pageHeight, pageYOffSet, boxYcooridnate, contextMenuHeight, boxHeight) {
    var spaceBelowBox = (pageHeight + pageYOffSet) - (boxYcooridnate + boxHeight);
    var spaceAboveBox = boxYcooridnate - pageYOffSet;
    var returnValue;
    if (contextMenuHeight < spaceBelowBox) {
    returnValue = (boxYcooridnate + boxHeight);
    else if (contextMenuHeight < spaceAboveBox) {
    returnValue = (boxYcooridnate - contextMenuHeight);
    else if (spaceBelowBox > spaceAboveBox) {
    _divContextMenu.style.height = spaceBelowBox;
    _divContextMenu.style.overflowY = "scroll";
    returnValue = (boxYcooridnate + boxHeight);
    else {
    _divContextMenu.style.height = spaceAboveBox;
    _divContextMenu.style.overflowY = "scroll";
    returnValue = (boxYcooridnate - spaceAboveBox);
    return returnValue;
    // This function displays a context menu given its id and then hides the others
    function SelectContextMenuFromColletion(contextMenuConfigString) {
    var contextMenuId = SplitContextMenuConfigString(contextMenuConfigString);
    for (i = 0; i < _contextMenusIds.length; i++) {
    var cm = document.getElementById(_contextMenusIds[i]);
    if (cm.id == contextMenuId) {
    cm.style.visibility = 'visible';
    cm.style.display = 'block';
    _currentContextMenuId = contextMenuId;
    else {
    cm.style.visibility = 'hidden';
    cm.style.display = 'none';
    function SplitContextMenuConfigString(contextMenuConfigString) {
    var contextMenuEnd = contextMenuConfigString.indexOf(":");
    var contextMenuId = contextMenuConfigString;
    var contextMenuHiddenItems;
    if (contextMenuEnd != -1)
    contextMenuId = contextMenuConfigString.substr(0, contextMenuEnd);
    var cm = document.getElementById(contextMenuId);
    // chris edit - var table = cm.firstChild;
    var table = firstChildNoWS(cm);
    var groupItemCount = []; // The items in each group
    var groupUnderlineId = []; // The Id's of the underlines.
    // Enable all menu items counting the number of groups,
    // number of items in the groups and underlines for the groups as we go.
    // start chris edit
    /* for (i = 0; i < table.cells.length; i++)
    table.cells[i].style.visibility = 'visible';
    table.cells[i].style.display = 'block'
    if ((groupItemCount.length - 1) < table.cells[i].group) {
    groupItemCount.push(1);
    groupUnderlineId.push(table.cells[i].underline);
    else {
    groupItemCount[table.cells[i].group]++;
    AlterVisibilityOfAssociatedUnderline(table.cells[i], true)
    if (table != null && table.rows != null)
    for (r = 0; r < table.rows.length; r++) {
    for (i = 0; i < table.rows[r].cells.length; i++)
    table.rows[r].cells[i].style.visibility = 'visible';
    table.rows[r].cells[i].style.display = 'block'
    if ((groupItemCount.length - 1) < table.rows[r].cells[i].group) {
    groupItemCount.push(1);
    groupUnderlineId.push(table.rows[r].cells[i].underline);
    else {
    groupItemCount[table.rows[r].cells[i].group]++;
    AlterVisibilityOfAssociatedUnderline(table.rows[r].cells[i], true)
    // end chris edit
    // If hidden items are listed, remove them from the context menu
    if (contextMenuEnd != -1)
    contextMenuHiddenItems = contextMenuConfigString.substr((contextMenuEnd + 1), (contextMenuConfigString.length - 1)).split("-");
    var groupsToHide = groupItemCount;
    // Hide the hidden items
    for (i = 0; i < contextMenuHiddenItems.length; i++)
    var item = document.getElementById(contextMenuHiddenItems[i]);
    item.style.visibility = 'hidden';
    item.style.display = 'none'
    groupsToHide[item.group]--;
    var allHidden = true;
    // Work back through the groups hiding the underlines as required.
    for (i = (groupsToHide.length - 1); i > -1; i--) {
    if (groupsToHide[i] == 0) {
    AlterVisibilityOfAssociatedUnderline(groupUnderlineId[i], false);
    else if (allHidden && i == (groupsToHide.length - 1)) {
    allHidden = false;
    // If all the items have been hidden so far hide the last underline too.
    else if (allHidden) {
    allHidden = false;
    AlterVisibilityOfAssociatedUnderline(groupUnderlineId[i], false);
    return contextMenuId;
    function AlterVisibilityOfAssociatedUnderline(underLineId, visibility) {
    if (underLineId != null && underLineId != "") {
    var underlineElement = document.getElementById(underLineId);
    if (underlineElement != null) {
    if (visibility) {
    underlineElement.style.visibility = 'visible';
    underlineElement.style.display = 'block'
    else {
    underlineElement.style.visibility = 'hidden';
    underlineElement.style.display = 'none'
    function ClearTimeouts() {
    if (_fadeTimeouts != null) {
    for (i = 0; i < _fadeTimeouts.length; i++) {
    clearTimeout(_fadeTimeouts[i]);
    _fadeTimeouts = [];
    // This function chnages an elements opacity given its id.
    function FadeOutElement(id, opacStart, opacEnd, millisec) {
    ClearTimeouts();
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;
    for (i = opacStart; i >= opacEnd; i--) {
    _fadeTimeouts.push(setTimeout("ChangeOpacityForElement(" + i + ",'" + id + "')", (timer * speed)));
    timer++;
    // This function changes the opacity of an elemnent given it's id.
    // Works across browsers for different browsers
    function ChangeOpacityForElement(opacity, id) {
    var object = document.getElementById(id).style;
    if (opacity != 0) {
    // **Cross browser compatibility code**
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
    else {
    object.display = 'none';
    // This function is the click for the body of the document
    function ContextMouseDown() {
    if (_mouseOverContext) {
    return;
    else {
    HideMenu()
    // This function fades out the context menu and then unselects the associated name control
    function UnSelectedMenuItem() {
    if (_itemSelected) {
    FadeOutElement(_divContextMenu.id, 100, 0, 300);
    UnselectCurrentMenuItem();
    // Hides context menu without fading effect
    function HideMenu()
    if (_itemSelected)
    ChangeOpacityForElement(0, _divContextMenu.id);
    UnselectCurrentMenuItem();
    function UnselectCurrentMenuItem()
    _itemSelected = false;
    _currentContextMenuId = null;
    SwapStyle(_currentMenuItemId, 'msrs-MenuUIItemTableCell');
    _currentMenuItemId = null;
    ChangeReportItemStyle(_selectedItemId, "msrs-UnSelectedItem");
    // This function walks back up the DOM tree until it finds the first occurrence
    // of a given element. It then returns this element
    function GetOuterElementOfType(element, type) {
    while (element.tagName.toLowerCase() != type) {
    element = element.parentNode;
    return element;
    // This function gets the corrdinates of the top left corner of a given element
    function GetElementPosition(element) {
    element = GetOuterElementOfType(element, 'table');
    var left, top;
    left = top = 0;
    if (element.offsetParent) {
    do {
    left += element.offsetLeft;
    top += element.offsetTop;
    } while (element = element.offsetParent);
    return { left: left, top: top };
    function FocusContextMenuItem(menuItemId, focusStyle, blurStyle)
    SwapStyle(_currentMenuItemId, blurStyle);
    SwapStyle(menuItemId, focusStyle);
    // chrid edit - document.getElementById(menuItemId).firstChild.focus();
    firstChildNoWS(document.getElementById(menuItemId)).focus();
    _currentMenuItemId = menuItemId;
    // This function swaps the style using the id of a given element
    function SwapStyle(id, style) {
    if (document.getElementById) {
    var selectedElement = document.getElementById(id);
    if (selectedElement != null)
    selectedElement.className = style;
    // This function changes the style using the id of a given element
    // and should only be called for catalog items in the tile or details view
    function ChangeReportItemStyle(id, style)
    if (!_itemSelected)
    if (document.getElementById)
    var selectedElement = document.getElementById(id);
    selectedElement.className = style;
    // Change the style on the end cell by drilling into the table.
    if (selectedElement.tagName.toLowerCase() == "table")
    // chris edit - var tbody = selectedElement.lastChild;
    var tbody = lastChildNoWS(selectedElement);
    if (tbody != null)
    // chris edit - var tr = tbody.lastChild;
    var tr = lastChildNoWS(tbody);
    if (tr != null)
    // chris edit - tr.lastChild.className = style + 'End';
    trLastChild = lastChildNoWS(tr);
    if (trLastChild != null)
    trLastChild.className = style + 'End';
    function ChangeReportItemStyleOnFocus(id, currentStyle, unselectedStyle)
    _unselectedItemStyle = unselectedStyle;
    _tabFocusedItem = id;
    // We should unselect selected by mouse over item if there is one
    if(_mouseOverItem != '')
    ChangeReportItemStyle(_mouseOverItem, _unselectedItemStyle);
    _mouseOverItem = '';
    ChangeReportItemStyle(id, currentStyle);
    function ChangeReportItemStyleOnBlur(id, style)
    ChangeReportItemStyle(id, style);
    _tabFocusedItem = '';
    function ChangeReportItemStyleOnMouseOver(id, currentStyle, unselectedStyle)
    _unselectedItemStyle = unselectedStyle;
    _mouseOverItem = id;
    // We should unselect tabbed item if there is one
    if(_tabFocusedItem != '')
    ChangeReportItemStyle(_tabFocusedItem, _unselectedItemStyle);
    _tabFocusedItem = '';
    ChangeReportItemStyle(id, currentStyle);
    function ChangeReportItemStyleOnMouseOut(id, style)
    ChangeReportItemStyle(id, style);
    _mouseOverItem = '';
    // This function is used to set the style of the search bar on the onclick event.
    function SearchBarClicked(id, defaultText, style) {
    var selectedElement = document.getElementById(id);
    if (selectedElement.value == defaultText) {
    selectedElement.value = "";
    selectedElement.className = style;
    // This function is used to set the style of the search bar on the onblur event.
    function SearchBarBlured(id, defaultText, style) {
    var selectedElement = document.getElementById(id);
    if (selectedElement.value == "") {
    selectedElement.value = defaultText;
    selectedElement.className = style;
    function ResetSearchBar(searchTextBoxID,defaultSearchValue) {
    var selectedElement = document.getElementById(searchTextBoxID);
    if (selectedElement != null) {
    if (selectedElement.value == defaultSearchValue) {
    selectedElement.className = 'msrs-searchDefaultFont';
    else {
    selectedElement.className = 'msrs-searchBarNoBorder';
    function OnLink()
    _onLink = true;
    function OffLink()
    _onLink = false;
    function ShouldDelete(confirmMessage) {
    if (_selectedIdHiddenField.value != null || _selectedIdHiddenField.value != "") {
    var message = confirmMessage.replace("{0}", _selectedIdHiddenField.value);
    var result = confirm(message);
    if (result == true) {
    return true;
    else {
    return false;
    else {
    return false;
    function UpdateValidationButtonState(promptCredsRdoBtnId, typesDropDownId, forbiddenTypesConfigString, validateButtonId)
    var dropdown = document.getElementById(typesDropDownId);
    if(dropdown == null)
    return;
    var selectedValue = dropdown.options[dropdown.selectedIndex].value;
    var forbiddenTypes = forbiddenTypesConfigString.split(":");
    var chosenForbiddenType = false;
    for (i = 0; i < forbiddenTypes.length; i++)
    if(forbiddenTypes[i] == selectedValue)
    chosenForbiddenType = true;
    var isDisabled = chosenForbiddenType || IsRadioButtonChecked(promptCredsRdoBtnId);
    ChangeDisabledButtonState(validateButtonId, isDisabled);
    function ChangeDisabledButtonState(buttonId, isDisabled)
    var button = document.getElementById(buttonId);
    if(button != null)
    button.disabled = isDisabled;
    function IsRadioButtonChecked(radioButtonId)
    var rbtn = document.getElementById(radioButtonId);
    if(rbtn != null && rbtn.checked)
    return true;
    return false;
    For More info refer this
    http://stackoverflow.com/questions/7837259/ssrs-report-manager-javascript-fails-in-non-ie-browsers-for-drop-down-menus

  • When I try to use the print/save as pdf option, I get a scripting error and Firefox usually freezes.

    On my MacBook Pro running OS 10.5.8 and Firefox 3.6.13, I am trying to save documents as pdfs under the print window, I get a scripting error and Firefox usually freezes/becomes nonresponsive. This happens every time I tried to perform this task.

    This is a fresh install of Windows 7.  It is installed on virtual environment on my mac mini using the parallels virtualization application.
    I purchased the windows version of dream weaver CS 6 through an online website which I tried to install to my new windows instance.   This is the academic version of the Dreamweaver application with a perpetual license that I am trying to install.
    I verified my eligibility through adobe which gave me a link to download the CreateiveCloud Set-up program.  I downloaded the install program in my windows environment and program and the gave the above error message.  Below is a copy of my computers specs. 

  • Playbar options are greyed out on skin editor Captivate 6

    Hi Everyone,
    I am building modules and all of a sudden when I went to publish the module the playbar is gone, I went to the skin editor and now the playbar options are completely greyed out and nothing I do will allow me to turn them back on....PLEASE HELP!!!

    Hello and welcome to the forum,
    Are you new to Captivate? Did you ever create an advanced action? I have several tutorials on my blog, and some articles as well:
    http://kb2.adobe.com/community/publishing/858/cpsid_85847.html has a video tutorial that shows how to create a conditional advanced action. Even though it is created for CP5, nothing has changed in CP6 (except perhaps the names of some system variables)
    http://blog.lilybiri.com/system-variables-in-captivate-6
    You do not need 3 variables at all, which was the reason why I asked my 'new' question. Are you using real pretest question slides or normal question slides or custom question slides?
    If you use Pretest question slides, the score will be stored in cpQuizInfoPretestPointsscored and the percentage in  cpQuizInfoPretestScorePercentage
    If you use normal question slides, the score will be stored in cpQuizInfoPointsscored and the percentage in  cpInfoPercentage
    If you use custom question slides, you'll have user variables in which you calculate both score and percentage
    If the numbers you are mentioning are percentages you'll create one conditional action with 3 decisions (here example for normal question slides):
    First decision: IF cpInfoPercentage is greater or equal to 70
                                 Jump to slide CHP3_1
    Second decision:  IF cpInfoPercentage is less than 70   AND
                                   cpInfoPercentage is greater or equal to 50
                                       Jump to slide CP2_1
    Third decision: IF cpInfoPercentage is less than 50
                               Jump to slide CHP1_1
    The slide labels CHPx_1 are for the first slides of each chapter.
    Lilybiri

  • Firefox is slow to open and close. I get a "script error" that says it may be caused by a recently opened tab. What do I do to correct this problem. It is wreaking havoc when trying to open/close or move around the internet.

    I am getting a "script error" when I close out the internet, specifically Firefox. My backup internet explorer does not do this. This is slowing down the process of opening/closing Firefox. When I open Mozilla, I get "restore session" even though I have closed everything down. I have "removed program" and re-downloaded Mozilla 3 times and still this problem persists. What is causing it and how do I fix it?

    -> Update All your Firefox Plugins
    * https://www.mozilla.org/en-US/plugincheck/
    * '''When Downloading Plugins Update setup files, Remove Checkmark from Downloading other Optional Softwares with your Plugins (e.g. Toolbars, McAfee, Google Chrome, etc.)'''
    * Restart Firefox
    Check and tell if its working.

  • Running reports in SCCM: ActiveX Script Error

    When I try to run some reports, I authenticate then it throws a Script Error.  Error:  ActiveX component can't create object:  'Microsoft.XMLDOM'.
    This only happens on some reports and it only happens remotely.  If I try to run the same reports on the local server, there aren't any issues. 

    Have enabled remote errors?
    http://be.enhansoft.com/post/2013/01/16/Enabling-Remote-Errors-in-SQL.aspx
    What exactly is the error that your are getting!
    http://www.enhansoft.com/

  • Firefox 4.0 is my default browser, and I am receiving a script error message when I try to view online images in Family Tree Maker 2011, a genealogy program. Have not had problems until Firefox 4.0. Can't seem to find a setting in Firefox to fix this.

    Error is as follows: Line: 63 Char: 4344 Error: Unable to get value of the property 'offsetHeight': object is null or undefined Code: 0 URL: http://yui.yahooapis.com/combo?2.8.0/build/yuiloader-dom- event/yuiloader-dom-event.js&2.8.0/build/dragdrop/dragdrop- min.js&2.8.0/build/stylesheet/stylesheet- Do you want to continue running scripts on this page? Y/N buttons."

    I see. Well, I just tried to make IE my default browser, but it did not solve the problem. I receive the same script error when I view the image. (I may not have explained this thoroughly enough at first - I do get to view the image after answering the error message, but the print button embedded in the window doesn't work. Before, I never had a problem with viewing or printing.)
    I imagine that at this point I will either need to communicate this to the IE people, or possibly revert to an older version of IE.

  • I can't get Firefox to open on my computer. I've been using it for a year and a half with no problems until now. I keep getting the following "Unresponsive script" error message: Script: resource:///components/nsHandlerService.js:432 How do I fix this?

    Unresponsive script error message keeps popping up, Firefox will not open.

    Try to delete the mimeTypes.rdf file in the Firefox Profile Folder.
    * http://kb.mozillazine.org/mimeTypes.rdf
    * http://kb.mozillazine.org/File_types_and_download_actions#Resetting_download_actions
    You can use this button to go to the Firefox profile folder:
    *Help > Troubleshooting Information > Profile Directory: Open Containing Folder

Maybe you are looking for

  • The back up is on my work computer. Can I set it up as a new iphone and then later upload the info from itunes

    Hi, My phone got stolen and I just got my replacement iphone 4 today. I don't have the itunes back up on my computer, but I do have it backed up at work. I want to start using th phone- can i set it up as a new phone and then update it in a few days

  • GPS! SOMEONE realize this is an issue!!

    So Iphones so called GPS has issues. I understand that its using a mixture of cell towers and other various tools to triangulate a location BUT! IT DOESNT WORK. I have contacted Apple support on several occasions but ironically, they dont even acknol

  • Unicode conversion on Informix

    Hello All, We are doing unicode conversion on SAP ECC 5.0 system running on Informix database. We want to use the table split method. In the table split preparation step, we give the file with the large tables and the number of splits the file is as

  • Purchase classroom in a book for Adobe pre 12 cannot open lessons

    pruchased Classroom in a book for Adobe premiere elements 12 I downloaded the lessons but cannot open with Adobe premiere elements 12 Adobe premiere elements 12 is new to me not sure what needs to be done to open lessons. Jack

  • How to notify the rejected Purchase Requisition to the sender?

    We are working on Oracle Apps.11.0.3. Could anyone help me in this respect? My query is that : Suppose the Min-max planning is executed by an Inventory user.Then the Requisition Import Program executes,which has been scheduled to run at 17.00 hrs. Th