xlawrence    2005/11/10 08:57:39 CET

  Modified files:
    src/view/jsp         actions.js 
  Log:
  updated javascript with new AJAX STruts ACtions
  
  Revision  Changes    Path
  1.12      +487 -482  corporate_portal_templates/src/view/jsp/actions.js
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/corporate_portal_templates/src/view/jsp/actions.js.diff?r1=1.11&r2=1.12&f=h
  
  
  
  Index: actions.js
  ===================================================================
  RCS file: 
/home/cvs/repository/corporate_portal_templates/src/view/jsp/actions.js,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- actions.js        2 Nov 2005 17:47:18 -0000       1.11
  +++ actions.js        10 Nov 2005 07:57:38 -0000      1.12
  @@ -1,4 +1,3 @@
  -
   
//*****************************************************************************
   // Do not remove this notice.
   //
  @@ -14,36 +13,38 @@
   
   function Browser() {
   
  -  var ua, s, i;
  +    var ua, s, i;
  +
  +    this.isIE = false;
  +    // Internet Explorer
  +    this.isNS = false;
  +    // Netscape
  +    this.version = null;
  +
  +    ua = navigator.userAgent;
  +
  +    s = "MSIE";
  +    if ((i = ua.indexOf(s)) >= 0) {
  +        this.isIE = true;
  +        this.version = parseFloat(ua.substr(i + s.length));
  +        return;
  +    }
   
  -  this.isIE    = false;  // Internet Explorer
  -  this.isNS    = false;  // Netscape
  -  this.version = null;
  -
  -  ua = navigator.userAgent;
  -
  -  s = "MSIE";
  -  if ((i = ua.indexOf(s)) >= 0) {
  -    this.isIE = true;
  -    this.version = parseFloat(ua.substr(i + s.length));
  -    return;
  -  }
  -
  -  s = "Netscape6/";
  -  if ((i = ua.indexOf(s)) >= 0) {
  -    this.isNS = true;
  -    this.version = parseFloat(ua.substr(i + s.length));
  -    return;
  -  }
  -
  -  // Treat any other "Gecko" browser as NS 6.1.
  -
  -  s = "Gecko";
  -  if ((i = ua.indexOf(s)) >= 0) {
  -    this.isNS = true;
  -    this.version = 6.1;
  -    return;
  -  }
  +    s = "Netscape6/";
  +    if ((i = ua.indexOf(s)) >= 0) {
  +        this.isNS = true;
  +        this.version = parseFloat(ua.substr(i + s.length));
  +        return;
  +    }
  +
  +    // Treat any other "Gecko" browser as NS 6.1.
  +
  +    s = "Gecko";
  +    if ((i = ua.indexOf(s)) >= 0) {
  +        this.isNS = true;
  +        this.version = 6.1;
  +        return;
  +    }
   }
   
   var browser = new Browser();
  @@ -61,127 +62,127 @@
   // deactivated.
   
   if (browser.isIE)
  -  document.onmousedown = pageMousedown;
  +    document.onmousedown = pageMousedown;
   else
  -  document.addEventListener("mousedown", pageMousedown, true);
  +    document.addEventListener("mousedown", pageMousedown, true);
   
   function pageMousedown(event) {
   
  -  var el;
  +    var el;
   
  -  // If there is no active button, exit.
  +    // If there is no active button, exit.
   
  -  if (activeButton == null)
  -    return;
  +    if (activeButton == null)
  +        return;
   
  -  // Find the element that was clicked on.
  +    // Find the element that was clicked on.
   
  -  if (browser.isIE)
  -    el = window.event.srcElement;
  -  else
  -    el = (event.target.tagName ? event.target : event.target.parentNode);
  +    if (browser.isIE)
  +        el = window.event.srcElement;
  +    else
  +        el = (event.target.tagName ? event.target : event.target.parentNode);
   
  -  // If the active button was clicked on, exit.
  +    // If the active button was clicked on, exit.
   
  -  if (el == activeButton)
  -    return;
  +    if (el == activeButton)
  +        return;
   
  -  // If the element is not part of a menu, reset and clear the active
  -  // button.
  +    // If the element is not part of a menu, reset and clear the active
  +    // button.
   
  -  if (getContainerWith(el, "DIV", "menu") == null) {
  -    resetButton(activeButton);
  -    activeButton = null;
  -  }
  +    if (getContainerWith(el, "DIV", "menu") == null) {
  +        resetButton(activeButton);
  +        activeButton = null;
  +    }
   }
   
   // Opens up the menu of the given id
  -function buttonClick (menuId) {
  -  var button = getObjectById ("button_" + menuId);
  +function buttonClick(menuId) {
  +    var button = getObjectById("button_" + menuId);
  +
  +    // Blur focus from the link to remove that annoying outline.
  +    button.blur();
  +
  +    // Associate the named menu to this button if not already done.
  +    // Additionally, initialize menu display.
  +    if (button.menu == null) {
  +        button.menu = getObjectById(menuId);
  +        if (button.menu.isInitialized == null) {
  +            menuInit(button.menu);
  +        }
  +    }
  +
  +    // Reset the currently active button, if any.
  +
  +    if (activeButton != null) {
  +        resetButton(activeButton);
  +    }
   
  -  // Blur focus from the link to remove that annoying outline.
  -  button.blur();
  +    // Activate this button, unless it was the currently active one.
   
  -  // Associate the named menu to this button if not already done.
  -  // Additionally, initialize menu display.
  -  if (button.menu == null) {
  -     button.menu = getObjectById (menuId);
  -    if (button.menu.isInitialized == null) {
  -      menuInit(button.menu);
  -     }
  -  }
  -
  -  // Reset the currently active button, if any.
  -
  -  if (activeButton != null) {
  -    resetButton(activeButton);
  -  }
  -
  -  // Activate this button, unless it was the currently active one.
  -
  -  if (button != activeButton) {
  -    depressButton(button);
  -    activeButton = button;
  -  } else {
  -    activeButton = null;
  -  }
  +    if (button != activeButton) {
  +        depressButton(button);
  +        activeButton = button;
  +    } else {
  +        activeButton = null;
  +    }
   }
   
   // Switches menu if the user's mouse goes on another menu
   function buttonMouseover(event, menuId) {
  -     var button;
  +    var button;
  +
  +    // Find the target button element.
  +    if (browser.isIE) {
  +        button = window.event.srcElement;
  +    } else {
  +        button = event.currentTarget;
  +    }
   
  -     // Find the target button element.
  -     if (browser.isIE) {
  -             button = window.event.srcElement;
  -     } else {
  -             button = event.currentTarget;
  -     }
  -
  -     // If any other button menu is active, make this one active instead.
  -     if (activeButton != null && activeButton != button) {
  -             buttonClick (menuId);
  -     }
  +    // If any other button menu is active, make this one active instead.
  +    if (activeButton != null && activeButton != button) {
  +        buttonClick(menuId);
  +    }
   }
   
   function depressButton(button) {
  -  var x, y;
  +    var x, y;
   
  -  // Update the button's style class to make it look like it's
  -  // depressed.
  +    // Update the button's style class to make it look like it's
  +    // depressed.
   
  -  button.className += " menuButtonActive";
  +    button.className += " menuButtonActive";
   
  -  // Position the associated drop down menu under the button and
  -  // show it.
  +    // Position the associated drop down menu under the button and
  +    // show it.
   
  -  x = getPageOffsetLeft(button);
  -  y = getPageOffsetTop(button) + button.offsetHeight;
  +    x = getPageOffsetLeft(button);
  +    y = getPageOffsetTop(button) + button.offsetHeight;
   
  -  // For IE, adjust position.
  +    // For IE, adjust position.
   
  -  if (browser.isIE) {
  -    x += button.offsetParent.clientLeft;
  -    y += button.offsetParent.clientTop;
  -  }
  +    if (browser.isIE) {
  +        x += button.offsetParent.clientLeft;
  +        y += button.offsetParent.clientTop;
  +    }
   
  -  button.menu.style.left = x + "px";
  -  button.menu.style.top  = y + "px";
  -  button.menu.style.visibility = "visible";
  +    button.menu.style.left = x + "px";
  +    button.menu.style.top = y + "px";
  +    button.menu.style.visibility = "visible";
   }
   
   function resetButton(button) {
   
  -  // Restore the button's style class.
  +    // Restore the button's style class.
   
  -  removeClassName(button, "menuButtonActive");
  +    removeClassName(button, "menuButtonActive");
   
  -  // Hide the button's menu, first closing any sub menus.
  +    // Hide the button's menu, first closing any sub menus.
   
  -  if (button.menu != null) {
  -    closeSubMenu(button.menu);
  -    button.menu.style.visibility = "hidden";
  -  }
  +    if (button.menu != null) {
  +        closeSubMenu(button.menu);
  +        button.menu.style.visibility = "hidden";
  +    }
   }
   
   
//----------------------------------------------------------------------------
  @@ -190,106 +191,106 @@
   
   function menuMouseover(event) {
   
  -  var menu;
  +    var menu;
   
  -  // Find the target menu element.
  +    // Find the target menu element.
   
  -  if (browser.isIE)
  -    menu = getContainerWith(window.event.srcElement, "DIV", "menu");
  -  else
  -    menu = event.currentTarget;
  +    if (browser.isIE)
  +        menu = getContainerWith(window.event.srcElement, "DIV", "menu");
  +    else
  +        menu = event.currentTarget;
   
  -  // Close any active sub menu.
  +    // Close any active sub menu.
   
  -  if (menu.activeItem != null)
  -    closeSubMenu(menu);
  +    if (menu.activeItem != null)
  +        closeSubMenu(menu);
   }
   
   function menuItemMouseover(event, menuId) {
   
  -  var item, menu, x, y;
  -
  -  // Find the target item element and its parent menu element.
  +    var item, menu, x, y;
   
  -  if (browser.isIE)
  -    item = getContainerWith(window.event.srcElement, "A", "menuItem");
  -  else
  -    item = event.currentTarget;
  -  menu = getContainerWith(item, "DIV", "menu");
  +    // Find the target item element and its parent menu element.
   
  -  // Close any active sub menu and mark this one as active.
  +    if (browser.isIE)
  +        item = getContainerWith(window.event.srcElement, "A", "menuItem");
  +    else
  +        item = event.currentTarget;
  +    menu = getContainerWith(item, "DIV", "menu");
   
  -  if (menu.activeItem != null)
  -    closeSubMenu(menu);
  -  menu.activeItem = item;
  +    // Close any active sub menu and mark this one as active.
   
  -  // Highlight the item element.
  +    if (menu.activeItem != null)
  +        closeSubMenu(menu);
  +    menu.activeItem = item;
   
  -  item.className += " menuItemHighlight";
  +    // Highlight the item element.
   
  -  // Initialize the sub menu, if not already done.
  +    item.className += " menuItemHighlight";
   
  -  if (item.subMenu == null) {
  -    item.subMenu = document.getElementById(menuId);
  -    if (item.subMenu.isInitialized == null)
  -      menuInit(item.subMenu);
  -  }
  +    // Initialize the sub menu, if not already done.
   
  -  // Get position for submenu based on the menu item.
  -
  -  x = getPageOffsetLeft(item) + item.offsetWidth;
  -  y = getPageOffsetTop(item);
  -
  -  // Adjust position to fit in view.
  -
  -  var maxX, maxY;
  +    if (item.subMenu == null) {
  +        item.subMenu = document.getElementById(menuId);
  +        if (item.subMenu.isInitialized == null)
  +            menuInit(item.subMenu);
  +    }
   
  -  if (browser.isNS) {
  -    maxX = window.scrollX + window.innerWidth;
  -    maxY = window.scrollY + window.innerHeight;
  -  }
  -  if (browser.isIE) {
  -    maxX = (document.documentElement.scrollLeft   != 0 ? 
document.documentElement.scrollLeft    : document.body.scrollLeft)
  -         + (document.documentElement.clientWidth  != 0 ? 
document.documentElement.clientWidth   : document.body.clientWidth);
  -    maxY = (document.documentElement.scrollTop    != 0 ? 
document.documentElement.scrollTop    : document.body.scrollTop)
  -         + (document.documentElement.clientHeight != 0 ? 
document.documentElement.clientHeight : document.body.clientHeight);
  -  }
  -  maxX -= item.subMenu.offsetWidth;
  -  maxY -= item.subMenu.offsetHeight;
  +    // Get position for submenu based on the menu item.
   
  -  if (x > maxX)
  -    x = Math.max(0, x - item.offsetWidth - item.subMenu.offsetWidth
  -      + (menu.offsetWidth - item.offsetWidth));
  -  y = Math.max(0, Math.min(y, maxY));
  +    x = getPageOffsetLeft(item) + item.offsetWidth;
  +    y = getPageOffsetTop(item);
   
  -  // Position and show it.
  +    // Adjust position to fit in view.
   
  -  item.subMenu.style.left = x + "px";
  -  item.subMenu.style.top  = y + "px";
  -  item.subMenu.style.visibility = "visible";
  +    var maxX, maxY;
   
  -  // Stop the event from bubbling.
  +    if (browser.isNS) {
  +        maxX = window.scrollX + window.innerWidth;
  +        maxY = window.scrollY + window.innerHeight;
  +    }
  +    if (browser.isIE) {
  +        maxX = (document.documentElement.scrollLeft != 0 ? 
document.documentElement.scrollLeft    : document.body.scrollLeft)
  +                + (document.documentElement.clientWidth != 0 ? 
document.documentElement.clientWidth   : document.body.clientWidth);
  +        maxY = (document.documentElement.scrollTop != 0 ? 
document.documentElement.scrollTop    : document.body.scrollTop)
  +                + (document.documentElement.clientHeight != 0 ? 
document.documentElement.clientHeight : document.body.clientHeight);
  +    }
  +    maxX -= item.subMenu.offsetWidth;
  +    maxY -= item.subMenu.offsetHeight;
   
  -  if (browser.isIE)
  -    window.event.cancelBubble = true;
  -  else
  -    event.stopPropagation();
  +    if (x > maxX)
  +        x = Math.max(0, x - item.offsetWidth - item.subMenu.offsetWidth
  +                + (menu.offsetWidth - item.offsetWidth));
  +    y = Math.max(0, Math.min(y, maxY));
  +
  +    // Position and show it.
  +
  +    item.subMenu.style.left = x + "px";
  +    item.subMenu.style.top = y + "px";
  +    item.subMenu.style.visibility = "visible";
  +
  +    // Stop the event from bubbling.
  +
  +    if (browser.isIE)
  +        window.event.cancelBubble = true;
  +    else
  +        event.stopPropagation();
   }
   
   function closeSubMenu(menu) {
   
  -  if (menu == null || menu.activeItem == null)
  -    return;
  +    if (menu == null || menu.activeItem == null)
  +        return;
   
  -  // Recursively close any sub menus.
  +    // Recursively close any sub menus.
   
  -  if (menu.activeItem.subMenu != null) {
  -    closeSubMenu(menu.activeItem.subMenu);
  -    menu.activeItem.subMenu.style.visibility = "hidden";
  -    menu.activeItem.subMenu = null;
  -  }
  -  removeClassName(menu.activeItem, "menuItemHighlight");
  -  menu.activeItem = null;
  +    if (menu.activeItem.subMenu != null) {
  +        closeSubMenu(menu.activeItem.subMenu);
  +        menu.activeItem.subMenu.style.visibility = "hidden";
  +        menu.activeItem.subMenu = null;
  +    }
  +    removeClassName(menu.activeItem, "menuItemHighlight");
  +    menu.activeItem = null;
   }
   
   
//----------------------------------------------------------------------------
  @@ -298,64 +299,64 @@
   
   function menuInit(menu) {
   
  -  var itemList, spanList;
  -  var textEl, arrowEl;
  -  var itemWidth;
  -  var w, dw;
  -  var i, j;
  -
  -  // For IE, replace arrow characters.
  -
  -  if (browser.isIE) {
  -    menu.style.lineHeight = "2.5ex";
  -    spanList = menu.getElementsByTagName("SPAN");
  -    for (i = 0; i < spanList.length; i++)
  -      if (hasClassName(spanList[i], "menuItemArrow")) {
  -        spanList[i].style.fontFamily = "Webdings";
  -        spanList[i].firstChild.nodeValue = "4";
  -      }
  -  }
  -
  -  // Find the width of a menu item.
  -
  -  itemList = menu.getElementsByTagName("A");
  -  if (itemList.length > 0)
  -    itemWidth = itemList[0].offsetWidth;
  -  else
  -    return;
  -
  -  // For items with arrows, add padding to item text to make the
  -  // arrows flush right.
  -
  -  for (i = 0; i < itemList.length; i++) {
  -    spanList = itemList[i].getElementsByTagName("SPAN");
  -    textEl  = null;
  -    arrowEl = null;
  -    for (j = 0; j < spanList.length; j++) {
  -      if (hasClassName(spanList[j], "menuItemText"))
  -        textEl = spanList[j];
  -      if (hasClassName(spanList[j], "menuItemArrow"))
  -        arrowEl = spanList[j];
  -    }
  -    if (textEl != null && arrowEl != null)
  -      textEl.style.paddingRight = (itemWidth
  -        - (textEl.offsetWidth + arrowEl.offsetWidth)) + "px";
  -  }
  -
  -  // Fix IE hover problem by setting an explicit width on first item of
  -  // the menu.
  -
  -  if (browser.isIE) {
  -    w = itemList[0].offsetWidth;
  -    itemList[0].style.width = w + "px";
  -    dw = itemList[0].offsetWidth - w;
  -    w -= dw;
  -    itemList[0].style.width = w + "px";
  -  }
  +    var itemList, spanList;
  +    var textEl, arrowEl;
  +    var itemWidth;
  +    var w, dw;
  +    var i, j;
  +
  +    // For IE, replace arrow characters.
  +
  +    if (browser.isIE) {
  +        menu.style.lineHeight = "2.5ex";
  +        spanList = menu.getElementsByTagName("SPAN");
  +        for (i = 0; i < spanList.length; i++)
  +            if (hasClassName(spanList[i], "menuItemArrow")) {
  +                spanList[i].style.fontFamily = "Webdings";
  +                spanList[i].firstChild.nodeValue = "4";
  +            }
  +    }
  +
  +    // Find the width of a menu item.
  +
  +    itemList = menu.getElementsByTagName("A");
  +    if (itemList.length > 0)
  +        itemWidth = itemList[0].offsetWidth;
  +    else
  +        return;
  +
  +    // For items with arrows, add padding to item text to make the
  +    // arrows flush right.
  +
  +    for (i = 0; i < itemList.length; i++) {
  +        spanList = itemList[i].getElementsByTagName("SPAN");
  +        textEl = null;
  +        arrowEl = null;
  +        for (j = 0; j < spanList.length; j++) {
  +            if (hasClassName(spanList[j], "menuItemText"))
  +                textEl = spanList[j];
  +            if (hasClassName(spanList[j], "menuItemArrow"))
  +                arrowEl = spanList[j];
  +        }
  +        if (textEl != null && arrowEl != null)
  +            textEl.style.paddingRight = (itemWidth
  +                    - (textEl.offsetWidth + arrowEl.offsetWidth)) + "px";
  +    }
  +
  +    // Fix IE hover problem by setting an explicit width on first item of
  +    // the menu.
   
  -  // Mark menu as initialized.
  +    if (browser.isIE) {
  +        w = itemList[0].offsetWidth;
  +        itemList[0].style.width = w + "px";
  +        dw = itemList[0].offsetWidth - w;
  +        w -= dw;
  +        itemList[0].style.width = w + "px";
  +    }
  +
  +    // Mark menu as initialized.
   
  -  menu.isInitialized = true;
  +    menu.isInitialized = true;
   }
   
   
//----------------------------------------------------------------------------
  @@ -364,335 +365,339 @@
   
   function getContainerWith(node, tagName, className) {
   
  -  // Starting with the given node, find the nearest containing element
  -  // with the specified tag name and style class.
  +    // Starting with the given node, find the nearest containing element
  +    // with the specified tag name and style class.
   
  -  while (node != null) {
  -    if (node.tagName != null && node.tagName == tagName &&
  -        hasClassName(node, className))
  -      return node;
  -    node = node.parentNode;
  -  }
  +    while (node != null) {
  +        if (node.tagName != null && node.tagName == tagName &&
  +            hasClassName(node, className))
  +            return node;
  +        node = node.parentNode;
  +    }
   
  -  return node;
  +    return node;
   }
   
   function hasClassName(el, name) {
   
  -  var i, list;
  +    var i, list;
   
  -  // Return true if the given element currently has the given class
  -  // name.
  +    // Return true if the given element currently has the given class
  +    // name.
   
  -  list = el.className.split(" ");
  -  for (i = 0; i < list.length; i++)
  -    if (list[i] == name)
  -      return true;
  +    list = el.className.split(" ");
  +    for (i = 0; i < list.length; i++)
  +        if (list[i] == name)
  +            return true;
   
  -  return false;
  +    return false;
   }
   
   function removeClassName(el, name) {
   
  -  var i, curList, newList;
  +    var i, curList, newList;
   
  -  if (el.className == null)
  -    return;
  +    if (el.className == null)
  +        return;
   
  -  // Remove the given class name from the element's className property.
  +    // Remove the given class name from the element's className property.
   
  -  newList = new Array();
  -  curList = el.className.split(" ");
  -  for (i = 0; i < curList.length; i++)
  -    if (curList[i] != name) {
  -        // Workaround to replace the push method.
  -        var _curList = new Array(curList[i]);
  -        newList.concat(_curList);
  -        // Comment this line because not supported by IE5.0
  -        //newList.push(curList[i]);
  -    }
  -  el.className = newList.join(" ");
  +    newList = new Array();
  +    curList = el.className.split(" ");
  +    for (i = 0; i < curList.length; i++)
  +        if (curList[i] != name) {
  +            // Workaround to replace the push method.
  +            var _curList = new Array(curList[i]);
  +            newList.concat(_curList);
  +            // Comment this line because not supported by IE5.0
  +            //newList.push(curList[i]);
  +        }
  +    el.className = newList.join(" ");
   }
   
   function getPageOffsetLeft(el) {
   
  -  var x;
  +    var x;
   
  -  // Return the x coordinate of an element relative to the page.
  +    // Return the x coordinate of an element relative to the page.
   
  -  x = el.offsetLeft;
  -  if (el.offsetParent != null)
  -    x += getPageOffsetLeft(el.offsetParent);
  +    x = el.offsetLeft;
  +    if (el.offsetParent != null)
  +        x += getPageOffsetLeft(el.offsetParent);
   
  -  return x;
  +    return x;
   }
   
   function getPageOffsetTop(el) {
   
  -  var y;
  +    var y;
   
  -  // Return the x coordinate of an element relative to the page.
  +    // Return the x coordinate of an element relative to the page.
   
  -  y = el.offsetTop;
  -  if (el.offsetParent != null)
  -    y += getPageOffsetTop(el.offsetParent);
  +    y = el.offsetTop;
  +    if (el.offsetParent != null)
  +        y += getPageOffsetTop(el.offsetParent);
   
  -  return y;
  +    return y;
   }
   
   // Check the browser for DOM manipulation
  -function checkBrowser(){
  -     this.ver=navigator.appVersion;
  -     this.dom=document.getElementById?1:0;
  -     this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom)?1:0;
  -     this.ie55=((this.ver.indexOf("MSIE 5.5")>-1 || this.ie6) && 
this.dom)?1:0;
  -     this.ie5=((this.ver.indexOf("MSIE 5")>-1 || this.ie5 || this.ie6) && 
this.dom)?1:0;
  -     this.ie4=(document.all && !this.dom)?1:0;
  -     this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
  -     this.ns4=(document.layers && !this.dom)?1:0;
  -     this.ie4plus=(this.ie6 || this.ie5 || this.ie4);
  -     this.ie5plus=(this.ie6 || this.ie5)
  -     this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns5);
  -     return this;
  +function checkBrowser() {
  +    this.ver = navigator.appVersion;
  +    this.dom = document.getElementById?1:0;
  +    this.ie6 = (this.ver.indexOf("MSIE 6") > -1 && this.dom)?1:0;
  +    this.ie55 = ((this.ver.indexOf("MSIE 5.5") > -1 || this.ie6) && 
this.dom)?1:0;
  +    this.ie5 = ((this.ver.indexOf("MSIE 5") > -1 || this.ie5 || this.ie6) && 
this.dom)?1:0;
  +    this.ie4 = (document.all && !this.dom)?1:0;
  +    this.ns5 = (this.dom && parseInt(this.ver) >= 5) ?1:0;
  +    this.ns4 = (document.layers && !this.dom)?1:0;
  +    this.ie4plus = (this.ie6 || this.ie5 || this.ie4);
  +    this.ie5plus = (this.ie6 || this.ie5)
  +    this.bw = (this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns5);
  +    return this;
   }
   
   bw = new checkBrowser();
   
   // Get an Object contained in a DOM document by its ID attribute
  -function getObjectById (ID) {
  -     var obj;
  -     if (bw.dom)
  -             return document.getElementById (ID);
  -     else if (bw.ie4)
  -             return document.all (ID);
  -     else
  -             alert ("Error: Your browser version is not supported. Please 
upgrade...");
  +function getObjectById(ID) {
  +    var obj;
  +    if (bw.dom)
  +        return document.getElementById(ID);
  +    else if (bw.ie4)
  +        return document.all(ID);
  +    else
  +        alert("Error: Your browser version is not supported. Please 
upgrade...");
   }
   
   // Returns an array of values. The delimiter is the ',' character
  -function getNodeValues (content, nodeName) {
  -     var tag = "<" + nodeName + ">";
  -     var start = content.indexOf (tag);
  -     var end   = content.indexOf ("</" + nodeName + ">");
  -
  -     if (start < end) {
  -         var values = content.substring (start + tag.length, end);
  -             return values.split (";;");
  -     } else {
  -             return new Array (0);
  -     }
  +function getNodeValues(content, nodeName) {
  +    var tag = "<" + nodeName + ">";
  +    var start = content.indexOf(tag);
  +    var end = content.indexOf("</" + nodeName + ">");
  +
  +    if (start < end) {
  +        var values = content.substring(start + tag.length, end);
  +        return values.split(";;");
  +    } else {
  +        return new Array (0);
  +    }
   }
   
   // Returns the value of an XML tag
  -function getNodeValue (content, nodeName) {
  -     var tag = "<" + nodeName + ">";
  -     var start = content.indexOf (tag);
  -     var end   = content.indexOf ("</" + nodeName + ">");
  -
  -     if (start < end) {
  -             return content.substring (start + tag.length, end);
  -     } else {
  -             return null;
  -     }
  +function getNodeValue(content, nodeName) {
  +    var tag = "<" + nodeName + ">";
  +    var start = content.indexOf(tag);
  +    var end = content.indexOf("</" + nodeName + ">");
  +
  +    if (start < end) {
  +        return content.substring(start + tag.length, end);
  +    } else {
  +        return null;
  +    }
   }
   
   // AJAX based function to get all Actions to fill up the Action menu
  -function getActionMenu (context, objectType, objectKey, definitionID, 
parentID, pageID) {
  +function getActionMenu(context, objectType, objectKey, definitionID, 
parentID, pageID) {
       document.body.style.cursor = "wait";
  -     try {
  -             // correct values are "POST" or "GET" (HTTP methods).
  -             var method = "POST" ;
  -             var data = "key=" + objectKey + "&type=" + objectType +
  -                             "&def=" + definitionID + "&parent=" + parentID ;
  -         var url = context + "/menu/op/edit/pid/" + pageID ;
  -
  -             if (method == "GET") {
  -                     url += "?" + data;
  -                     data = null;
  -             }
  -
  -             // Create new XMLHttpRequest request
  -     if (window.XMLHttpRequest) {
  -             req = new XMLHttpRequest ();
  -
  -     } else if (window.ActiveXObject) {
  -             req = new ActiveXObject ("Microsoft.XMLHTTP");
  -
  -     } else {
  -                     alert ("Error: Your Browser does not support 
XMLHTTPRequests, please upgrade...");
  -                     return;
  -             }
  -
  -             req.open (method, url, true);
  -
  -             req.onreadystatechange = function () {
  -                     buildActionMenu();
  -             }
  -
  -             if (method == "POST") {
  -                     req.setRequestHeader ("Content-type", 
"application/x-www-form-urlencoded");
  -             }
  -             req.send (data);
  -
  -     } catch (e) {
  -             alert ("Exception sending the Request: " + e);
  -     }
  +    try {
  +        // correct values are "POST" or "GET" (HTTP methods).
  +        var method = "POST" ;
  +        var data = "key=" + objectKey + "&type=" + objectType +
  +                   "&def=" + definitionID + "&parent=" + parentID +
  +                   "&params=/op/edit/pid/" + pageID;
  +
  +        var url = context + "/ajaxaction/GetMenuItems";
  +
  +        if (method == "GET") {
  +            url += "?" + data;
  +            data = null;
  +        }
  +
  +        // Create new XMLHttpRequest request
  +        if (window.XMLHttpRequest) {
  +            req = new XMLHttpRequest ();
  +
  +        } else if (window.ActiveXObject) {
  +            req = new ActiveXObject ("Microsoft.XMLHTTP");
  +
  +        } else {
  +            alert("Error: Your Browser does not support XMLHTTPRequests, 
please upgrade...");
  +            return;
  +        }
  +
  +        req.open(method, url, true);
  +
  +        req.onreadystatechange = function () {
  +            buildActionMenu();
  +        }
  +
  +        if (method == "POST") {
  +            req.setRequestHeader("Content-type", 
"application/x-www-form-urlencoded");
  +        }
  +        req.send(data);
  +
  +    } catch (e) {
  +        alert("Exception sending the Request: " + e);
  +    }
   }
   
   // Build the Action Menu
  -function buildActionMenu () {
  -     var readyState = req.readyState;
  -     if (req.readyState == 4) {
  -             // alert ("resp: " + req.responseText);
  -     if (req.status == 200) {
  -                     try {
  -                             var response = req.responseText;
  -                             var objectType = getNodeValue (response, 
"type");
  -                             var objectKey  = getNodeValue (response, "key");
  -                             var definitionID = getNodeValue (response, 
"def");
  -                             var parentID = getNodeValue (response, 
"parent");
  -                             var pageID = getNodeValue (response, "page");
  -
  -                             var uniqueID = objectType + "_" + objectKey + 
"_" +
  -                                                     definitionID + "_" + 
parentID + "_" + pageID;
  -
  -                             var methods = getNodeValues (response, 
"method");
  -                             var launchers = getNodeValues (response, 
"launcher");
  -                             var images = getNodeValues (response, "image");
  -
  -                             var fieldset = getNodeValue (response, 
"fieldset");
  -                             updateFieldSet (uniqueID, fieldset);
  -
  -                             addActions (uniqueID, methods, launchers, 
images);
  -
  -                             changeURL (uniqueID);
  -
  -                             buttonClick (uniqueID);
  -
  -                     } catch (e) {
  -                             alert ("Exception building Action Menu: " + e);
  -                     }
  -
  -             } else {
  -                     alert ("There was a problem processing the request. 
Status: " +
  -                                                req.status + ", msg: " + 
req.statusText);
  -             }
  -             document.body.style.cursor = "default";
  -     }
  +function buildActionMenu() {
  +    var readyState = req.readyState;
  +    if (req.readyState == 4) {
  +        // alert ("resp: " + req.responseText);
  +        if (req.status == 200) {
  +            try {
  +                var response = req.responseText;
  +                var objectType = getNodeValue(response, "type");
  +                var objectKey = getNodeValue(response, "key");
  +                var definitionID = getNodeValue(response, "def");
  +                var parentID = getNodeValue(response, "parent");
  +                var pageID = getNodeValue(response, "page");
  +
  +                var uniqueID = objectType + "_" + objectKey + "_" +
  +                               definitionID + "_" + parentID + "_" + pageID;
  +
  +                var methods = getNodeValues(response, "method");
  +                var launchers = getNodeValues(response, "launcher");
  +                var images = getNodeValues(response, "image");
  +
  +                var fieldset = getNodeValue(response, "fieldset");
  +                updateFieldSet(uniqueID, fieldset);
  +
  +                addActions(uniqueID, methods, launchers, images);
  +
  +                changeURL(uniqueID);
  +
  +                buttonClick(uniqueID);
  +
  +            } catch (e) {
  +                alert("Exception building Action Menu: " + e);
  +            }
  +
  +        } else {
  +            alert("There was a problem processing the request. Status: " +
  +                  req.status + ", msg: " + req.statusText);
  +        }
  +        document.body.style.cursor = "default";
  +    }
   }
   
   // Changes the default grey border. Use in case the object is locked for 
example
  -function updateFieldSet (id, param) {
  -     // alert ("Updating fieldSet for " + id + ", param = " + param);
  -     if (param == null) { return; }
  +function updateFieldSet(id, param) {
  +    // alert ("Updating fieldSet for " + id + ", param = " + param);
  +    if (param == null) {
  +        return;
  +    }
   
  -     var setID = "fieldset_" + id;
  -     var setElem = getObjectById (setID);
  +    var setID = "fieldset_" + id;
  +    var setElem = getObjectById(setID);
   
  -     var content;
  -     if (param == "complete") {
  -             content = "completeLocked";
  +    var content;
  +    if (param == "complete") {
  +        content = "completeLocked";
   
  -     } else if (param == "partial") {
  -             content = "partialLocked";
  +    } else if (param == "partial") {
  +        content = "partialLocked";
   
  -     } else {
  -             return;
  -     }
  +    } else {
  +        return;
  +    }
   
  -     setElem.className = content;
  +    setElem.className = content;
   }
   
   // Changes the href value of the given element
  -function changeURL (id) {
  -     var button = getObjectById ("button_" + id);
  -     button.href = "javascript:buttonClick('" + id + "');";
  +function changeURL(id) {
  +    var button = getObjectById("button_" + id);
  +    button.href = "javascript:buttonClick('" + id + "');";
   }
   
   // Adds the Actions to the action menu
  -function addActions (id, methods, launchers, images) {
  -     var menuDiv = getObjectById (id);
  -     var content = "\n";
  -
  -     var i;
  -     for (i=0; i<methods.length; i++) {
  -             if (methods[i].length > 0) {
  -                     // alert ("Adding action: '" + methods[i] + "' in div " 
+ id);
  -                     content += printLauncher(launchers[i]) + 
printImage(images[i]) +
  -                     printMethod(methods[i]);
  -             }
  -     }
  -     menuDiv.innerHTML = content;
  +function addActions(id, methods, launchers, images) {
  +    var menuDiv = getObjectById(id);
  +    var content = "\n";
  +
  +    var i;
  +    for (i = 0; i < methods.length; i++) {
  +        if (methods[i].length > 0) {
  +            // alert ("Adding action: '" + methods[i] + "' in div " + id);
  +            content += printLauncher(launchers[i]) + printImage(images[i]) +
  +                       printMethod(methods[i]);
  +        }
  +    }
  +    menuDiv.innerHTML = content;
   }
   
   // Returns a String for the Action Launcher URI
  -function printLauncher (launcher) {
  -     return "   <a class=\"menuItem\" href=\"javascript:" + launcher + 
"\">\n";
  +function printLauncher(launcher) {
  +    return "   <a class=\"menuItem\" href=\"javascript:" + launcher + 
"\">\n";
   }
   
   // Returns a String for the Action Image
  -function printImage (imageName) {
  -     return "      <img src=\"" + imageName + "\" alt=\"\" border=\"0\" 
/>&nbsp;";
  +function printImage(imageName) {
  +    return "      <img src=\"" + imageName + "\" alt=\"\" border=\"0\" 
/>&nbsp;";
   }
   
   // Returns a String for the Action method name
  -function printMethod (methodName) {
  -     return methodName + "\n   </a>\n";
  +function printMethod(methodName) {
  +    return methodName + "\n   </a>\n";
   }
   
  -function clipboard (context, objectKey, op, pageID) {
  +function clipboard(context, objectKey, op, pageID) {
       document.body.style.cursor = "wait";
  -     try {
  -             // correct values are "POST" or "GET" (HTTP methods).
  -             var method = "POST" ;
  -             var data = "key=" + objectKey + "&cop=" + op;
  -         var url = context + "/Jahia/op/edit/engineName/clipboard/pid/" + 
pageID ;
  -
  -             if (method == "GET") {
  -                     url += "?" + data;
  -                     data = null;
  -             }
  -
  -             // Create new XMLHttpRequest request
  -     if (window.XMLHttpRequest) {
  -             req = new XMLHttpRequest ();
  -
  -     } else if (window.ActiveXObject) {
  -             req = new ActiveXObject ("Microsoft.XMLHTTP");
  -
  -     } else {
  -                     alert ("Error: Your Browser does not support 
XMLHTTPRequests, please upgrade...");
  -                     return;
  -             }
  +    try {
  +        // correct values are "POST" or "GET" (HTTP methods).
  +        var method = "POST" ;
  +        var data = "key=" + objectKey + "&cop=" + op;
  +        var url = context + "/Jahia/op/edit/engineName/clipboard/pid/" + 
pageID ;
  +
  +        if (method == "GET") {
  +            url += "?" + data;
  +            data = null;
  +        }
  +
  +        // Create new XMLHttpRequest request
  +        if (window.XMLHttpRequest) {
  +            req = new XMLHttpRequest ();
  +
  +        } else if (window.ActiveXObject) {
  +            req = new ActiveXObject ("Microsoft.XMLHTTP");
  +
  +        } else {
  +            alert("Error: Your Browser does not support XMLHTTPRequests, 
please upgrade...");
  +            return;
  +        }
   
  -             req.open (method, url, true);
  +        req.open(method, url, true);
   
  -             if (op == "paste") {
  -                 req.onreadystatechange = function () {
  +        if (op == "paste") {
  +            req.onreadystatechange = function () {
                   if (req.readyState == 4) {
                       document.body.style.cursor = "default";
                       window.location.reload();
                   }
  -             }
  -         } else {
  -                 req.onreadystatechange = function () {
  +            }
  +        } else {
  +            req.onreadystatechange = function () {
                   if (req.readyState == 4) {
  -                //copy
  -                                 
myurl="http://"+document.location.host+"/jahia/jsp/jahia/engines/images/clipboard_next.png";;
  -                    myclip=document.getElementById('clipboard');
  -                    myclip.src=myurl;
  -                    myclip.alt="clipboard:"+objectKey;
  +                    //copy
  +                    myurl = "http://"; + document.location.host + 
"/jahia/jsp/jahia/engines/images/clipboard_next.png";
  +                    myclip = document.getElementById('clipboard');
  +                    myclip.src = myurl;
  +                    myclip.alt = "clipboard:" + objectKey;
                       //window.location.reload();
                       document.body.style.cursor = "default";
                   }
               }
  -         }
  +        }
   
  -             if (method == "POST") {
  -                     req.setRequestHeader ("Content-type", 
"application/x-www-form-urlencoded");
  -             }
  -             req.send (data);
  -     } catch (e) {
  -             alert ("Exception sending the Request: " + e);
  -     }
  +        if (method == "POST") {
  +            req.setRequestHeader("Content-type", 
"application/x-www-form-urlencoded");
  +        }
  +        req.send(data);
  +    } catch (e) {
  +        alert("Exception sending the Request: " + e);
  +    }
   }
  

Reply via email to