Please Help! There has to be a quick .js fix for Spry dropdown to work for iPads...

I know I can upgrade, download, purchase or any combination of these to get and use a new dropdown menu format that would work, but that is not what I want to work on learning today.  Our top coder/developer is out of town right now, and I am just trying to fix a menu bar that was done in CS4 with Spry 1.6.1, and I have to believe that someone out there knows the fix to get it to work on an ipad.  I can make the parent li not a link and it still does not work.  Here is my .JS code:
// SpryMenuBar.js - version 0.12 - Spry Pre-Release 1.6.1
// Copyright (c) 2006. Adobe Systems Incorporated.
// All rights reserved.
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//   * Redistributions of source code must retain the above copyright notice,
//     this list of conditions and the following disclaimer.
//   * Redistributions in binary form must reproduce the above copyright notice,
//     this list of conditions and the following disclaimer in the documentation
//     and/or other materials provided with the distribution.
//   * Neither the name of Adobe Systems Incorporated nor the names of its
//     contributors may be used to endorse or promote products derived from this
//     software without specific prior written permission.
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
SpryMenuBar.js
This file handles the JavaScript for Spry Menu Bar.  You should have no need
to edit this file.  Some highlights of the MenuBar object is that timers are
used to keep submenus from showing up until the user has hovered over the parent
menu item for some time, as well as a timer for when they leave a submenu to keep
showing that submenu until the timer fires.
var Spry; if (!Spry) Spry = {}; if (!Spry.Widget) Spry.Widget = {};
Spry.BrowserSniff = function()
          var b = navigator.appName.toString();
          var up = navigator.platform.toString();
          var ua = navigator.userAgent.toString();
          this.mozilla = this.ie = this.opera = this.safari = false;
          var re_opera = /Opera.([0-9\.]*)/i;
          var re_msie = /MSIE.([0-9\.]*)/i;
          var re_gecko = /gecko/i;
          var re_safari = /(applewebkit|safari)\/([\d\.]*)/i;
          var r = false;
          if ( (r = ua.match(re_opera))) {
                    this.opera = true;
                    this.version = parseFloat(r[1]);
          } else if ( (r = ua.match(re_msie))) {
                    this.ie = true;
                    this.version = parseFloat(r[1]);
          } else if ( (r = ua.match(re_safari))) {
                    this.safari = true;
                    this.version = parseFloat(r[2]);
          } else if (ua.match(re_gecko)) {
                    var re_gecko_version = /rv:\s*([0-9\.]+)/i;
                    r = ua.match(re_gecko_version);
                    this.mozilla = true;
                    this.version = parseFloat(r[1]);
          this.windows = this.mac = this.linux = false;
          this.Platform = ua.match(/windows/i) ? "windows" :
                                                  (ua.match(/linux/i) ? "linux" :
                                                  (ua.match(/mac/i) ? "mac" :
                                                  ua.match(/unix/i)? "unix" : "unknown"));
          this[this.Platform] = true;
          this.v = this.version;
          if (this.safari && this.mac && this.mozilla) {
                    this.mozilla = false;
Spry.is = new Spry.BrowserSniff();
// Constructor for Menu Bar
// element should be an ID of an unordered list (<ul> tag)
// preloadImage1 and preloadImage2 are images for the rollover state of a menu
Spry.Widget.MenuBar = function(element, opts)
          this.init(element, opts);
Spry.Widget.MenuBar.prototype.init = function(element, opts)
          this.element = this.getElement(element);
          // represents the current (sub)menu we are operating on
          this.currMenu = null;
          this.showDelay = 250;
          this.hideDelay = 600;
          if(typeof document.getElementById == 'undefined' || (navigator.vendor == 'Apple Computer, Inc.' && typeof window.XMLHttpRequest == 'undefined') || (Spry.is.ie && typeof document.uniqueID == 'undefined'))
                    // bail on older unsupported browsers
                    return;
          // Fix IE6 CSS images flicker
          if (Spry.is.ie && Spry.is.version < 7){
                    try {
                              document.execCommand("BackgroundImageCache", false, true);
                    } catch(err) {}
          this.upKeyCode = Spry.Widget.MenuBar.KEY_UP;
          this.downKeyCode = Spry.Widget.MenuBar.KEY_DOWN;
          this.leftKeyCode = Spry.Widget.MenuBar.KEY_LEFT;
          this.rightKeyCode = Spry.Widget.MenuBar.KEY_RIGHT;
          this.escKeyCode = Spry.Widget.MenuBar.KEY_ESC;
          this.hoverClass = 'MenuBarItemHover';
          this.subHoverClass = 'MenuBarItemSubmenuHover';
          this.subVisibleClass ='MenuBarSubmenuVisible';
          this.hasSubClass = 'MenuBarItemSubmenu';
          this.activeClass = 'MenuBarActive';
          this.isieClass = 'MenuBarItemIE';
          this.verticalClass = 'MenuBarVertical';
          this.horizontalClass = 'MenuBarHorizontal';
          this.enableKeyboardNavigation = true;
          this.hasFocus = false;
          // load hover images now
          if(opts)
                    for(var k in opts)
                              if (typeof this[k] == 'undefined')
                                        var rollover = new Image;
                                        rollover.src = opts[k];
                    Spry.Widget.MenuBar.setOptions(this, opts);
          // safari doesn't support tabindex
          if (Spry.is.safari)
                    this.enableKeyboardNavigation = false;
          if(this.element)
                    this.currMenu = this.element;
                    var items = this.element.getElementsByTagName('li');
                    for(var i=0; i<items.length; i++)
                              if (i > 0 && this.enableKeyboardNavigation)
                                        items[i].getElementsByTagName('a')[0].tabIndex='-1';
                              this.initialize(items[i], element);
                              if(Spry.is.ie)
                                        this.addClassName(items[i], this.isieClass);
                                        items[i].style.position = "static";
                    if (this.enableKeyboardNavigation)
                              var self = this;
                              this.addEventListener(document, 'keydown', function(e){self.keyDown(e); }, false);
                    if(Spry.is.ie)
                              if(this.hasClassName(this.element, this.verticalClass))
                                        this.element.style.position = "relative";
                              var linkitems = this.element.getElementsByTagName('a');
                              for(var i=0; i<linkitems.length; i++)
                                        linkitems[i].style.position = "relative";
Spry.Widget.MenuBar.KEY_ESC = 27;
Spry.Widget.MenuBar.KEY_UP = 38;
Spry.Widget.MenuBar.KEY_DOWN = 40;
Spry.Widget.MenuBar.KEY_LEFT = 37;
Spry.Widget.MenuBar.KEY_RIGHT = 39;
Spry.Widget.MenuBar.prototype.getElement = function(ele)
          if (ele && typeof ele == "string")
                    return document.getElementById(ele);
          return ele;
Spry.Widget.MenuBar.prototype.hasClassName = function(ele, className)
          if (!ele || !className || !ele.className || ele.className.search(new RegExp("\\b" + className + "\\b")) == -1)
                    return false;
          return true;
Spry.Widget.MenuBar.prototype.addClassName = function(ele, className)
          if (!ele || !className || this.hasClassName(ele, className))
                    return;
          ele.className += (ele.className ? " " : "") + className;
Spry.Widget.MenuBar.prototype.removeClassName = function(ele, className)
          if (!ele || !className || !this.hasClassName(ele, className))
                    return;
          ele.className = ele.className.replace(new RegExp("\\s*\\b" + className + "\\b", "g"), "");
// addEventListener for Menu Bar
// attach an event to a tag without creating obtrusive HTML code
Spry.Widget.MenuBar.prototype.addEventListener = function(element, eventType, handler, capture)
          try
                    if (element.addEventListener)
                              element.addEventListener(eventType, handler, capture);
                    else if (element.attachEvent)
                              element.attachEvent('on' + eventType, handler);
          catch (e) {}
// createIframeLayer for Menu Bar
// creates an IFRAME underneath a menu so that it will show above form controls and ActiveX
Spry.Widget.MenuBar.prototype.createIframeLayer = function(menu)
          var layer = document.createElement('iframe');
          layer.tabIndex = '-1';
          layer.src = 'javascript:""';
          layer.frameBorder = '0';
          layer.scrolling = 'no';
          menu.parentNode.appendChild(layer);
          layer.style.left = menu.offsetLeft + 'px';
          layer.style.top = menu.offsetTop + 'px';
          layer.style.width = menu.offsetWidth + 'px';
          layer.style.height = menu.offsetHeight + 'px';
// removeIframeLayer for Menu Bar
// removes an IFRAME underneath a menu to reveal any form controls and ActiveX
Spry.Widget.MenuBar.prototype.removeIframeLayer =  function(menu)
          var layers = ((menu == this.element) ? menu : menu.parentNode).getElementsByTagName('iframe');
          while(layers.length > 0)
                    layers[0].parentNode.removeChild(layers[0]);
// clearMenus for Menu Bar
// root is the top level unordered list (<ul> tag)
Spry.Widget.MenuBar.prototype.clearMenus = function(root)
          var menus = root.getElementsByTagName('ul');
          for(var i=0; i<menus.length; i++)
                    this.hideSubmenu(menus[i]);
          this.removeClassName(this.element, this.activeClass);
// bubbledTextEvent for Menu Bar
// identify bubbled up text events in Safari so we can ignore them
Spry.Widget.MenuBar.prototype.bubbledTextEvent = function()
          return Spry.is.safari && (event.target == event.relatedTarget.parentNode || (event.eventPhase == 3 && event.target.parentNode == event.relatedTarget));
// showSubmenu for Menu Bar
// set the proper CSS class on this menu to show it
Spry.Widget.MenuBar.prototype.showSubmenu = function(menu)
          if(this.currMenu)
                    this.clearMenus(this.currMenu);
                    this.currMenu = null;
          if(menu)
                    this.addClassName(menu, this.subVisibleClass);
                    if(typeof document.all != 'undefined' && !Spry.is.opera && navigator.vendor != 'KDE')
                              if(!this.hasClassName(this.element, this.horizontalClass) || menu.parentNode.parentNode != this.element)
                                        menu.style.top = menu.parentNode.offsetTop + 'px';
                    if(Spry.is.ie && Spry.is.version < 7)
                              this.createIframeLayer(menu);
          this.addClassName(this.element, this.activeClass);
// hideSubmenu for Menu Bar
// remove the proper CSS class on this menu to hide it
Spry.Widget.MenuBar.prototype.hideSubmenu = function(menu)
          if(menu)
                    this.removeClassName(menu, this.subVisibleClass);
                    if(typeof document.all != 'undefined' && !Spry.is.opera && navigator.vendor != 'KDE')
                              menu.style.top = '';
                              menu.style.left = '';
                    if(Spry.is.ie && Spry.is.version < 7)
                              this.removeIframeLayer(menu);
// initialize for Menu Bar
// create event listeners for the Menu Bar widget so we can properly
// show and hide submenus
Spry.Widget.MenuBar.prototype.initialize = function(listitem, element)
          var opentime, closetime;
          var link = listitem.getElementsByTagName('a')[0];
          var submenus = listitem.getElementsByTagName('ul');
          var menu = (submenus.length > 0 ? submenus[0] : null);
          if(menu)
                    this.addClassName(link, this.hasSubClass);
          if(!Spry.is.ie)
                    // define a simple function that comes standard in IE to determine
                    // if a node is within another node
                    listitem.contains = function(testNode)
                              // this refers to the list item
                              if(testNode == null)
                                        return false;
                              if(testNode == this)
                                        return true;
                              else
                                        return this.contains(testNode.parentNode);
          // need to save this for scope further down
          var self = this;
          this.addEventListener(listitem, 'mouseover', function(e){self.mouseOver(listitem, e);}, false);
          this.addEventListener(listitem, 'mouseout', function(e){if (self.enableKeyboardNavigation) self.clearSelection(); self.mouseOut(listitem, e);}, false);
          if (this.enableKeyboardNavigation)
                    this.addEventListener(link, 'blur', function(e){self.onBlur(listitem);}, false);
                    this.addEventListener(link, 'focus', function(e){self.keyFocus(listitem, e);}, false);
Spry.Widget.MenuBar.prototype.keyFocus = function (listitem, e)
          this.lastOpen = listitem.getElementsByTagName('a')[0];
          this.addClassName(this.lastOpen, listitem.getElementsByTagName('ul').length > 0 ? this.subHoverClass : this.hoverClass);
          this.hasFocus = true;
Spry.Widget.MenuBar.prototype.onBlur = function (listitem)
          this.clearSelection(listitem);
Spry.Widget.MenuBar.prototype.clearSelection = function(el){
          //search any intersection with the current open element
          if (!this.lastOpen)
                    return;
          if (el)
                    el = el.getElementsByTagName('a')[0];
                    // check children
                    var item = this.lastOpen;
                    while (item != this.element)
                              var tmp = el;
                              while (tmp != this.element)
                                        if (tmp == item)
                                                  return;
                                        try{
                                                  tmp = tmp.parentNode;
                                        }catch(err){break;}
                              item = item.parentNode;
          var item = this.lastOpen;
          while (item != this.element)
                    this.hideSubmenu(item.parentNode);
                    var link = item.getElementsByTagName('a')[0];
                    this.removeClassName(link, this.hoverClass);
                    this.removeClassName(link, this.subHoverClass);
                    item = item.parentNode;
          this.lastOpen = false;
Spry.Widget.MenuBar.prototype.keyDown = function (e)
          if (!this.hasFocus)
                    return;
          if (!this.lastOpen)
                    this.hasFocus = false;
                    return;
          var e = e|| event;
          var listitem = this.lastOpen.parentNode;
          var link = this.lastOpen;
          var submenus = listitem.getElementsByTagName('ul');
          var menu = (submenus.length > 0 ? submenus[0] : null);
          var hasSubMenu = (menu) ? true : false;
          var opts = [listitem, menu, null, this.getSibling(listitem, 'previousSibling'), this.getSibling(listitem, 'nextSibling')];
          if (!opts[3])
                    opts[2] = (listitem.parentNode.parentNode.nodeName.toLowerCase() == 'li')?listitem.parentNode.parentNode:null;
          var found = 0;
          switch (e.keyCode){
                    case this.upKeyCode:
                              found = this.getElementForKey(opts, 'y', 1);
                              break;
                    case this.downKeyCode:
                              found = this.getElementForKey(opts, 'y', -1);
                              break;
                    case this.leftKeyCode:
                              found = this.getElementForKey(opts, 'x', 1);
                              break;
                    case this.rightKeyCode:
                              found = this.getElementForKey(opts, 'x', -1);
                              break;
                    case this.escKeyCode:
                    case 9:
                              this.clearSelection();
                              this.hasFocus = false;
                    default: return;
          switch (found)
                    case 0: return;
                    case 1:
                              //subopts
                              this.mouseOver(listitem, e);
                              break;
                    case 2:
                              //parent
                              this.mouseOut(opts[2], e);
                              break;
                    case 3:
                    case 4:
                              // left - right
                              this.removeClassName(link, hasSubMenu ? this.subHoverClass : this.hoverClass);
                              break;
          var link = opts[found].getElementsByTagName('a')[0];
          if (opts[found].nodeName.toLowerCase() == 'ul')
                    opts[found] = opts[found].getElementsByTagName('li')[0];
          this.addClassName(link, opts[found].getElementsByTagName('ul').length > 0 ? this.subHoverClass : this.hoverClass);
          this.lastOpen = link;
          opts[found].getElementsByTagName('a')[0].focus();
        //stop further event handling by the browser
          return Spry.Widget.MenuBar.stopPropagation(e);
Spry.Widget.MenuBar.prototype.mouseOver = function (listitem, e)
          var link = listitem.getElementsByTagName('a')[0];
          var submenus = listitem.getElementsByTagName('ul');
          var menu = (submenus.length > 0 ? submenus[0] : null);
          var hasSubMenu = (menu) ? true : false;
          if (this.enableKeyboardNavigation)
                    this.clearSelection(listitem);
          if(this.bubbledTextEvent())
                    // ignore bubbled text events
                    return;
          if (listitem.closetime)
                    clearTimeout(listitem.closetime);
          if(this.currMenu == listitem)
                    this.currMenu = null;
          // move the focus too
          if (this.hasFocus)
                    link.focus();
          // show menu highlighting
          this.addClassName(link, hasSubMenu ? this.subHoverClass : this.hoverClass);
          this.lastOpen = link;
          if(menu && !this.hasClassName(menu, this.subHoverClass))
                    var self = this;
                    listitem.opentime = window.setTimeout(function(){self.showSubmenu(menu);}, this.showDelay);
Spry.Widget.MenuBar.prototype.mouseOut = function (listitem, e)
          var link = listitem.getElementsByTagName('a')[0];
          var submenus = listitem.getElementsByTagName('ul');
          var menu = (submenus.length > 0 ? submenus[0] : null);
          var hasSubMenu = (menu) ? true : false;
          if(this.bubbledTextEvent())
                    // ignore bubbled text events
                    return;
          var related = (typeof e.relatedTarget != 'undefined' ? e.relatedTarget : e.toElement);
          if(!listitem.contains(related))
                    if (listitem.opentime)
                              clearTimeout(listitem.opentime);
                    this.currMenu = listitem;
                    // remove menu highlighting
                    this.removeClassName(link, hasSubMenu ? this.subHoverClass : this.hoverClass);
                    if(menu)
                              var self = this;
                              listitem.closetime = window.setTimeout(function(){self.hideSubmenu(menu);}, this.hideDelay);
                    if (this.hasFocus)
                              link.blur();
Spry.Widget.MenuBar.prototype.getSibling = function(element, sibling)
          var child = element[sibling];
          while (child && child.nodeName.toLowerCase() !='li')
                    child = child[sibling];
          return child;
Spry.Widget.MenuBar.prototype.getElementForKey = function(els, prop, dir)
          var found = 0;
          var rect = Spry.Widget.MenuBar.getPosition;
          var ref = rect(els[found]);
          var hideSubmenu = false;
          //make the subelement visible to compute the position
          if (els[1] && !this.hasClassName(els[1], this.MenuBarSubmenuVisible))
                    els[1].style.visibility = 'hidden';
                    this.showSubmenu(els[1]);
                    hideSubmenu = true;
          var isVert = this.hasClassName(this.element, this.verticalClass);
          var hasParent = els[0].parentNode.parentNode.nodeName.toLowerCase() == 'li' ? true : false;
          for (var i = 1; i < els.length; i++){
                    //when navigating on the y axis in vertical menus, ignore children and parents
                    if(prop=='y' && isVert && (i==1 || i==2))
                              continue;
                    //when navigationg on the x axis in the FIRST LEVEL of horizontal menus, ignore children and parents
                    if(prop=='x' && !isVert && !hasParent && (i==1 || i==2))
                              continue;
                    if (els[i])
                              var tmp = rect(els[i]);
                              if ( (dir * tmp[prop]) < (dir * ref[prop]))
                                        ref = tmp;
                                        found = i;
          // hide back the submenu
          if (els[1] && hideSubmenu){
                    this.hideSubmenu(els[1]);
                    els[1].style.visibility =  '';
          return found;
Spry.Widget.MenuBar.camelize = function(str)
          if (str.indexOf('-') == -1){
                    return str;
          var oStringList = str.split('-');
          var isFirstEntry = true;
          var camelizedString = '';
          for(var i=0; i < oStringList.length; i++)
                    if(oStringList[i].length>0)
                              if(isFirstEntry)
                                        camelizedString = oStringList[i];
                                        isFirstEntry = false;
                              else
                                        var s = oStringList[i];
                                        camelizedString += s.charAt(0).toUpperCase() + s.substring(1);
          return camelizedString;
Spry.Widget.MenuBar.getStyleProp = function(element, prop)
          var value;
          try
                    if (element.style)
                              value = element.style[Spry.Widget.MenuBar.camelize(prop)];
                    if (!value)
                              if (document.defaultView && document.defaultView.getComputedStyle)
                                        var css = document.defaultView.getComputedStyle(element, null);
                                        value = css ? css.getPropertyValue(prop) : null;
                              else if (element.currentStyle)
                                                  value = element.currentStyle[Spry.Widget.MenuBar.camelize(prop)];
          catch (e) {}
          return value == 'auto' ? null : value;
Spry.Widget.MenuBar.getIntProp = function(element, prop)
          var a = parseInt(Spry.Widget.MenuBar.getStyleProp(element, prop),10);
          if (isNaN(a))
                    return 0;
          return a;
Spry.Widget.MenuBar.getPosition = function(el, doc)
          doc = doc || document;
          if (typeof(el) == 'string') {
                    el = doc.getElementById(el);
          if (!el) {
                    return false;
          if (el.parentNode === null || Spry.Widget.MenuBar.getStyleProp(el, 'display') == 'none') {
                    //element must be visible to have a box
                    return false;
          var ret = {x:0, y:0};
          var parent = null;
          var box;
          if (el.getBoundingClientRect) { // IE
                    box = el.getBoundingClientRect();
                    var scrollTop = doc.documentElement.scrollTop || doc.body.scrollTop;
                    var scrollLeft = doc.documentElement.scrollLeft || doc.body.scrollLeft;
                    ret.x = box.left + scrollLeft;
                    ret.y = box.top + scrollTop;
          } else if (doc.getBoxObjectFor) { // gecko
                    box = doc.getBoxObjectFor(el);
                    ret.x = box.x;
                    ret.y = box.y;
          } else { // safari/opera
                    ret.x = el.offsetLeft;
                    ret.y = el.offsetTop;
                    parent = el.offsetParent;
                    if (parent != el) {
                              while (parent) {
                                        ret.x += parent.offsetLeft;
                                        ret.y += parent.offsetTop;
                                        parent = parent.offsetParent;
                    // opera & (safari absolute) incorrectly account for body offsetTop
                    if (Spry.is.opera || Spry.is.safari && Spry.Widget.MenuBar.getStyleProp(el, 'position') == 'absolute')
                              ret.y -= doc.body.offsetTop;
          if (el.parentNode)
                              parent = el.parentNode;
          else
                    parent = null;
          if (parent.nodeName){
                    var cas = parent.nodeName.toUpperCase();
                    while (parent && cas != 'BODY' && cas != 'HTML') {
                              cas = parent.nodeName.toUpperCase();
                              ret.x -= parent.scrollLeft;
                              ret.y -= parent.scrollTop;
                              if (parent.parentNode)
                                        parent = parent.parentNode;
                              else
                                        parent = null;
          return ret;
Spry.Widget.MenuBar.stopPropagation = function(ev)
          if (ev.stopPropagation)
                    ev.stopPropagation();
          else
                    ev.cancelBubble = true;
          if (ev.preventDefault)
                    ev.preventDefault();
          else
                    ev.returnValue = false;
Spry.Widget.MenuBar.setOptions = function(obj, optionsObj, ignoreUndefinedProps)
          if (!optionsObj)
                    return;
          for (var optionName in optionsObj)
                    if (ignoreUndefinedProps && optionsObj[optionName] == undefined)
                              continue;
                    obj[optionName] = optionsObj[optionName];

Try the following changes to the JS file
Lines 103 and 104 change the values
this.showDelay = 100; // was 250
this.hideDelay = 200; // was 600
Comment out line 286
Spry.Widget.MenuBar.prototype.bubbledTextEvent = function()
//    return Spry.is.safari && (event.target == event.relatedTarget.parentNode || (event.eventPhase == 3 && event.target.parentNode == event.relatedTarget));
Comment out line 366 and add new lines 366 and 367
var self = this;
this.addEventListener(listitem, 'click', function(e){self.Click(listitem, e);}, false);
this.addEventListener(listitem, 'click', function(e){self.mouseOver(listitem, e);}, false);
//   this.addEventListener(listitem, 'mouseover', function(e){self.mouseOver(listitem, e);}, false);
this.addEventListener(listitem, 'mouseout', function(e){if (self.enableKeyboardNavigation) self.clearSelection(); self.mouseOut(listitem, e);}, false);
I have not tested the above changes ontouch screens; they do seem to work Ok on desktops.
NOTE: Line numbers could be different because of the difference in our versions.

Similar Messages

  • There has to be a quick audio fix.

    Suddenly when I drag clips from the bin to the timeline, it doesn't bring the audio. These clips do have audio, and now even the clips that I dragged yesterday, when the audio was fine, aren't dragging their audio onto the line. I must have switched something, right?
      Mac OS X (10.4.8)  

    So, somehow I fixed it, by resetting the sequence settings, I think (God I'm a noob) but Now, each new clip I drag in, which I am laying text over, requires a new track to be added so I can have my text over it. I can see the video and audio clips trying to go in, but each new track makes them split further and further, I can't just have them be on T1 and A1.
    Also, it seems like Final Cut is moving really sluggish which seems strange because I would have thought the machine I'm running it on would be able to handle it.

  • HT1351 my music is not on my ipod touch anymore but one of my other software called copytrans has my music backup so i got all of my music and videos back but they will not play in copytrans itunes or just my ipod touch itself please please help there????

    my music is not on my ipod touch anymore but one of my other software called copytrans has my music backup so i got all of my music and videos back but they will not play in copytrans itunes or just my ipod touch itself please please help there???????????
    there has to be a completley FREE software out on the whole internet downloads to fix my ipod touch musics completely free no money involved
    please help me to fix this i jave all of my 6 thousand plus music with some videos back onto my ipod touch this happened to me this year well a week ago or two last year and also the years before to with or without any backups but i have my other software for that saved all of my stuff thank gosh but now nothings playing so i love itunes its the best but when it doesn't play or find my lots of songs makes me mad sometimes but anyways thanks for any or all the help you can to fix this problem
    THANKS AGAIN:-):-)

    my music is not on my ipod touch anymore but one of my other software called copytrans has my music backup so i got all of my music and videos back but they will not play in copytrans itunes or just my ipod touch itself please please help there???????????
    there has to be a completley FREE software out on the whole internet downloads to fix my ipod touch musics completely free no money involved
    please help me to fix this i jave all of my 6 thousand plus music with some videos back onto my ipod touch this happened to me this year well a week ago or two last year and also the years before to with or without any backups but i have my other software for that saved all of my stuff thank gosh but now nothings playing so i love itunes its the best but when it doesn't play or find my lots of songs makes me mad sometimes but anyways thanks for any or all the help you can to fix this problem
    THANKS AGAIN:-):-)

  • My Ipad icloud account has been locked an now i want to delete it but i can't please help me because when u try to delete it it says "Turn Off Find My iPad?" when i press delete acoount and turn off it wants to fill the passwor field but it

    My Ipad icloud account has been locked an now i want to delete it but i can't please help me because when u try to delete it it says "Turn Off Find My iPad?" when i press delete acoount and turn off it wants to fill the passwor field but it says that you account has been locked for some security reasons and please help me to delete it.

    Go to Settings>icloud, scroll to bottom of screen and tap Delete Account.  Then log in using a different ID.

  • Please Help, iTunes has taken my right to play certain songs

    Please Help, iTunes has taken my right to play certain songs.
    These were free songs with coco-cola codes some time ago.
    Now in Mtn Lion it has took the playing rights from me and locked them off!
    Anybodys help on this subject is much appreciated...

    Yes it worked,
    Right-click in it > Show in Finder. Finally, right-click in that file > Get Info > Sharing & Permissions. See if you have got read permission,
    Clicked through the Get Info > Sharing & Permissions and when I closed the window the song played again.
    Not sure why but it worked for me!

  • Please Help! I have been getting quick pop ups on my desktop screen and when I open Consol, here's what it says: 9/11/14 5:59:09.499 PM com.apple.launchd.peruser.501: (com.akamai.single-user-client[7490]) Bug: launchd_core_logic.c:4745 (26200):13

    Please Help! I have been getting quick pop ups on my desktop screen and when I open Consol, here's what it says: 9/11/14 5:59:09.499 PM com.apple.launchd.peruser.501: (com.akamai.single-user-client[7490]) Bug: launchd_core_logic.c:4745 (26200):13

    From your Safari menu bar click Safari > Preferences then select the Privacy tab.
    Click:   Remove All Website Data
    Then delete the cache.
    Open a Finder window. From the Finder menu bar click Go > Go to Folder
    Type or copy paste the following
    ~/Library/Caches/com.apple.Safari/Cache.db
    Click Go then move the Cache.db file to the Trash.
    Quit and relaunch Safari to test.
    If that didn't help, troubleshoot Safari extensions.
    From the Safari menu bar click Safari > Preferences then select the Extensions tab. Turn that OFF, quit and relaunch Safari to test.
    If that helped, turn one extension on then quit and relaunch Safari to test until you find the incompatible extension then click uninstall.

  • HT201272 A few songs from my old purchase is not available for download. It shows as purchased but I can't download it. Please help me resolve this problem, what do I need to do to enable download for all my purchased songs/movies etc. - Avinash

    Hi,
    A few songs from my old purchase is not available for download. It shows as purchased but I can't download it. Please help me resolve this problem, what do I need to do to enable download for all my purchased songs/movies etc.
    - Avinash

    The purchases are probably hidden:
    http://support.apple.com/kb/ht4919

  • Please help! apple Russia fails in warranty repairs due to the lack of IMEI numbers IPAD in the invoice. Where to go?

    Please help! apple Russia fails in warranty repairs due to the lack of IMEI numbers IPAD in the invoice. Where to go?

    Call Apple and they will send you a box to ship it in for service. Should take less than a week to get it back. Mine was picked up on a monday, and I got ti back on a thursday.
    -Bmer
    Mac Owners Support Group
    Join Us @ MacOSG.com
    iTunes: MacOSG Podcast
     An Apple User Group 

  • Hello to everyone, I have a problem with my iPhone 5, the dynimic doesn't work... i didn't drop it and didn't contact with water... so should I do? please help me =(  P.S. may be I wrote with some mistakes, so I apologyze for it

    hello to everyone, I have a problem with my iPhone 5, the dynimic doesn't work... I didn't drop it and didn't contact with water...
    so what should I do? please help me =( 
    P.S. may be I wrote with some mistakes, so I apologyze for it

    Hello darkhanfromaktobe,
    Thank you for using Apple Support Communities.
    For more information, take a look at:
    iPhone: Microphone issues
    http://support.apple.com/kb/ts5183
    Have a nice day,
    Mario

  • The account is invalid to access, please help me to connect to a new right email address. This is urgent for the pre-order, please respond as soon as possible.

    My email account is invalid to access, please help me to connect to a new right email address. This is urgent for the pre-order process, please respond as soon as possible.
    <Email Edited by Host>

    This is a user-to-user technical support forum. No one here can help you.
    Try
    https://expresslane.apple.com

  • I have no idea what my pocket has apparently downloaded today while I was at work but I now can't here any tones on my iPhone 4...has this happened to anyone ive tried restarting it and it worked for a second then a thing popped up on my screen and notgin

    I have no idea what my pocket has apparently downloaded today while I was at work but I now can't here any tones on my iPhone 4...has this happened to anyone ive tried restarting it and it worked for a second then a thing popped up on my screen and nothing again

    Ok mate no need to talk to me like im a complete idiot, and no it is not on silent im not that stupid. There is a message pop up on my screen saying 'this accessory is not optimized for this iPhone' and underneith 'you may experience noise caused by cellular interference and a decrease in cellular signal strength' and under that only one option to press which says dismiss. I cant find anything in my settings or applications and have tried resetting my phone 3 times and still nothing only plays ringtones ever now and then wont play music from ipod, youtube or other applications.

  • How do I renew a provisioning profile that has expired on my phone? I use an app for the company I work for and I cannot open it because it says the provisioning profile has expired.

    How do I renew a provisioning profile that has expired on my phone? I use an app for the company I work for and I cannot open it because it says the provisioning profile has expired.

    i'm not quiet sure atm but should normally work like this:
    connect to itunes store -> log out with ur account (upper right corner where ur apple id is displayed) -> sign in with ur wifes apple id -> activate computer (store->activate this computer)
    normally it should work this way but ur wife wont be able to use apps or music within itunes library purchased with the other apple id

  • Is there an outage in the Hamlin, Tx area(79520) phones have not worked for 2 days?

    Is there and outage in the Hamlin, Tx area(79520) phons have not worked for 2 days?

    This is a peer-to-peer forum; if you have access to a landline, you may want to call Customer Service (800-922-0204) and ask.  You also could try contacting Customer Service via chat:
    Contact Us | Verizon Wireless

  • Please help: Premiere has slowwed to a crawl.

    Hi, I am a photographer and video editor. I built my computer about 15 months ago to work with CS5 and the Mecury Playback Engine. In the past few months it has been slowing down at an alarming rate. Over the holidays I created a video montage of pictures from my brother's wedding and Premiere kept stopping with an error that read something like 'Open GL driver failed' adding something about 'lack of memory'. I had to switch to software mode and avoid playing the timeline (to avoid rendering each photo, there were well over 100) so I could finish it in time. And now a project I am getting paid for will no longer play back smoothly. I get about 1 second of smooth video before it starts jumping and freezing all together. The audio continues but the picture does not. Here's what I have.
    Intel Core i7 950 (quad core) 3.07GHz
    12.0 GB Ram
    Windows 7 Pro 64bit SP1 fully updated
    Nvidia GTX 470 w/ 1280 MB GDDR5
         current driver. 285.62
    C: 60GB SSD for system and programs 4.64GB free
    E: 300GB 10000 rpm 16MB cache VeliciRaptor Drive for Project files preview files/scratch disks and such 134GB free
    G: 1TB 7200 rpm 32MB cache Barracuda Drive for Assets 158GB Free
    I have 2 other drives but they are not used in this workflow.
    Page file = 36859 automatically managed
    My Power Usage plan is set to High Performance.
    I am editing in Premiere Pro CS5.5.2 (003 (MC: 258762))
    The programs I have running in the background are: Realtek HD Audio Manager, NVIDIA Settings, Zone Alarm (security), Dropbox 1.1.45, Spyder3Utility, and as of today Spybot.
    The Project is a short 10-12 min Documentary type video. It's mostly interview footage with various B-roll interspersed. The main timeline I use is 4 video and 4 audio layers. The fourth layer in both is turned off to holding stuff. There is not much in them. Layer 1 is pieces of another timeline. That timeline consists of 2 layers of interview footage from 2 angles with a third audio track from the zoom recorder all synced and color corrected. I adjust opacity here to pick which camera angle to use, but cut this timeline together in my main timeline to minimize sync problems and added color correction steps.  In the main timeline, video layers 2 and 3 are B-roll. audio layers 2 and 3 include one short sound effect and a few pieces of music. Some of the music has been slowed or sped up to fit the timing needed. Premiere quickly renders that sound when I start up the project or make changes to those files in the timeline.
    All audio is either MP3 or WAV files.
    Most of the video is Canon DSLR footage (5D mkII, 7D, and 60D I believe). All 1920x1080 30p (a couple 24p by accident) there are some Jpegs, TIFFs, and one PNG file. Many of the pictures are housed in sub timelines with 2 layers. one with a moving picture and the other with a Gaussian blurred version in the background to fill the frame. There are some timelapeses that are of various sizes but nothing smaller than full HD. 2 are MP4 videos and the rest are quicktime.
    All my timelines are preset for DSLR footage at 1920x1080 30fps.
    Almost the entirety of my timeline has the little yellow line over it indicating that we should be hardware rendering this footage.
    A few things about how I have worked with this computer. I built it for CS5. When I first started using it, it was brilliant. Lately The whole computer has slowed, a lot. last week I uninstalled some extraneous programs and tweaked somethings. Most everything on the computer is now running back up to snuff. Premiere is not. It is too the point that I cannot edit and a new edit of the project is due this Friday. When I first started using this computer I got some noise from the GPU and CPU fans when I would load up a heavy duty project. That made sense it was making the computer work. Now I get almost no noise from either fan and the thing runs like crap when I am editing. This doesn't make sense to me. Has something changed with an update of Premiere that changes the way it leverages the hardware, cause I doesn't seem to be doing that at all. Or might I have unknowingly flipped a switch somewhere that changed that leverage. In the Project Settings the Video Rendering and Playback is still set to Mercury Playback Engine GPU Accelerated. On the same line I have noticed much less fan noise when rendering with Media Encoder. I can't say I've seen a huge hit in performance there, but it doesn't seem to be taxing the GPU like it used to.
    Please help if you can. I don't have time in my life to start the computer over with a fresh install on windows. Thanks so much.
    Michael

    Michael,
    When you post to the CS5/5.5 Forum, also list the specs. on your Virtual Memory (Page File), how it's managed, and where it is located. With only 4.6GB of free-space on your C:\, if your Page File is located there, you have run out of space on that SSD.
    I would also suggest editing without Zone Alarm and the spyware sweeper, and any active anti-virus program.
    Good luck, and see you in the PrPro Forum.
    Hunt

  • Please HELP, "iTunes has stopped working" error after connecting iPod video

    People please help me out!  I have a Razer Blade gaming laptop with Windows 8 64bit.
    I have an iPhone 5, iPad 2 and an iPod video (80GB).  I had some weeks from not connecting the iPod to my computer, but this morning that I did so I can upload some new music to it, iTunes just crash, I get the "iTunes has stopped working" error message when I connect the iPod video.  I do not have this problem with either the iPhone 5 or the iPad 2, when I connect these, iTunes works fine, once I connect the iPod, then all goes down
    Procedures that I already tried and that were unsuccessful to solve the problem:
    Uninstall Quicktime
    Uninstall iTunes and reinstall
    Reset the iPod (several times)
    Delete TEMP files on computer
    Restart the computer (several times)
    Use a different cable and a different USB port
    The iPod is working fine, if I plug it to my car stereo or if I use it with headphones it works great, no problems nor errors.  My computer also identify the iPod as a hard disk, no error messages from Windows, it is just the freakin' iTunes that freezes everytime that I plug the iPod
    PLEASE HELP ME OUT, I've searched forums on this particular issue but with no luck.
    Thanks very much!

    It is only when I attempt to add a song to my iPod once plugged in that I receive the error "Itunes has stopped working" and forces me to exit the program, without the song being successfully transferred.
    Do you have the "Convert to 128 kbps AAC" preference enabled for syncing to the iPod, laur?
    If so, it's quite plausible that you've got the iTunes 10.1.0.54 bug and we need to get you updated to 10.0.1.56 as per the following document:
    [iTunes 10.1 for Windows: iTunes may stop working and need to quit while importing or syncing audio|http://support.apple.com/kb/TS3591]

Maybe you are looking for

  • Installation porblem of oracle8i release 3(version 8.1.7) on redhat linux 7

    HI, this is very urgent.any one please help me immeditely. This is my problem while installing oracle8i(8.1.7)on redhat linux 7.i installed oracle 8i.at the last stage of installation,the database configuration assistant will start.while database cre

  • How Do I change My Ipod From Mac to Windows?

    I used to use my Ipod on a mac, so it will not connect to my ituens on my new computer that is a Pc with Windows Vista. The computer will not recognize the USB... and when I can OCCASIONLY in a blue moon get the ipod to show up on itues it says it nm

  • PC Slow to Respond

    My new PC is only 3 weeks old and already it is slow to respond...it takes forever for my HP assistant to open.  Left clicking on my email or software is also slow to respond...opening a webpage is slow also...I ran a "virus" scan with my WEBROOT pro

  • Error Passing an internal table between BSP pages

    Any time there is data in the internal table and I try to pass it from one BSP page to the next I get an Web error.  I've heard that it is possible to pass an internal table from one page to the next.  can anyone point me in the right direction here?

  • Catch / know XML Data of PDF Form (without do XML submit)

    Is it possible from within a PDF form, using JS get / know XML data of the current form? I need to get the same XML data that would be generated with "export data" feature of Adobe Professional. Thx!