How to underlay

Hi all,
I've created a bmp file by Microsoft's Paint and use it as a watermark. I put this pic in the page header and underlay the following sections, it works fine except lines and text boxes' borders are COVERED by this picture. It is supposed that every underlaid sections are printed on the top of the underlaying section. How can it happen?
Thank you very much!
Clara

As per my understanding, 'Underlay following Sections' means underlaying the objects in the following sections of the Same type.
for example if you put a watermark in Page Header a and Field Headings in Page Header b. When one sets this property for Page Header a, the watermark will appear for page Header b  and Not for Details Section, Page Footer,Report Footer.
I think  you should put your text boxes ,lines etc in Page Header b. Have Page Header a with only watermark  and dont add any other objects in this section.
Please refer the account statement.rpt that comes with default installation.  Hope this helps.
Edited by: Ashwin Jahagirdar on Oct 15, 2009 10:41 AM

Similar Messages

  • Vaibility of RTP relay server using JMF

    Hello!
    I am thinking of making an RTP server that would just relay the streams received from single user to multiple users.
    I want to ask following questions:
    1- Is it viable to make such a Server using JMF?
    2- If it is, then how should I proceed?
    3- Should I need to create Processor for each recieved stream at the server or just cloning the DataSource received and sending them using separate RTPManagers would solve my problem?
    4- Is cloning of data source needed at all?
    I am asking this before doing any coding just in case if it is not possible than you warn me ,and because I had real bad experiences while cloning the data source and this server, I think depends on cloning.
    Else, I want some help regarding code. I would highly appreciate some code snippets.
    Thanks in advance.
    Thanks!
    P.S.: captfoss, Are you listening?

    Now some simple questions from a novice, thats me:I will answer them out of order
    3- Are these terms specific to JMF or are they general Networking terms?They are general networking terms.
    2- What is difference b/w unicasting and multicasting?Uni = Latin prefix for "one".
    Multi = Latin prefix for "many"
    Broad = Latin prefix for "all" (okay, this one is probably not true, but...)
    unicast = sending data to a single recipient.
    broadcast = sending data to all recipients.
    multicasting = sending data to many recipients.
    It deals with how the underlaying UDP packets are handled.
    Unicast addresses the packets to a specific host, so all other hosts that receive those packets go "Not for me" and ignore it.
    Broadcast addresses the packets to a special IP address, the broadcast ip, so all hosts that receive it say "Oh, this is a broadcast message so it's for me"
    Multicast addresses the packets to an IP address in a special range (Class D addresses), and all hosts can opt to join in to the "multicast session". If they join the multicast session, it basiclly means when they receive packets addressed to any multicast addresses that they have joined the session of, they will consider those packets to be "for them".
    1- What exactly is multicasting in JMF?JMF multicasting is basiclly where the "host" can send out a single stream, and any number of "clients" can receive the stream.
    4- How multicasting is handled at Transmitter and Reciever side using JMF, some java statements please.Multicasting is almost handled "automaticlly".
    It's handled by giving the transmitter a multicast IP address to send to. "224.123.123.123" is an example of the one I always used for testing (because it was easy to remember). Transmitting multicast packets is handled automaticlly.
    Receiving multicast packets requires a little special handling.
    From AVReceive2.java
    if( ipAddr.isMulticastAddress()) {
        // local and remote address pairs are identical:
        localAddr= new SessionAddress( ipAddr,
                           session.port,
                           session.ttl);
        destAddr = new SessionAddress( ipAddr,
                           session.port,
                           session.ttl);
    } else {
        localAddr= new SessionAddress( InetAddress.getLocalHost(),
                                session.port);
        destAddr = new SessionAddress( ipAddr, session.port);
    }The main difference here is that your "local" address isn't going to be LocalHost address, "127.0.0.1", it's going to be the multicast address.
    And you should define the TTL (time to live) for the SessionAddress because multicast packets can only travel a certain number of "hops" (number of times forwarded).
    But honestly, I'm pretty sure I ripped that IF statement out and multicasting still worked (but I define the TTL for unicast as well, so bear that in mind...)
    Ignoring all of the stuff above, multicasting is a great idea for a local LAN application where there are no routers between the host and the clients. If you've got a router between them, then the router may not forward the multicast packets and your stream may never get to the remote clients.
    That's why in my project, which is web based, clients attempt to get the multicast packets and if they fail at that, then they request a unicast from my server.

  • How to creating TreeModel of the underlaying drives

    can anybody plz tell me how to creating TreeModel of the underlaying drives. so that we get the entire tree structure of the drives like window explorer.

    This thread will get you started.
    http://forum.java.sun.com/thread.jsp?forum=57&thread=457526

  • How can I underlay a letter in a layout of Jbutton?

    I need to underlay a letter because I want to use it in a ShortCut, but
    I don't know how a can underlay a letter.
    Thank you!
    null

    I think did you mean: "I want to Underline a letter, as Windows does using that underlined letter as a shortcut.
    I'm sorry but I have no idea.

  • How to get back deleted software component along with underlaying objects.

    Dear Experts,
    By mistake i deleted my software component. When i deleted it even doesn't ask for activate. When i check in change list there is no change list for that deleted software component. So request you please let me how to get back my software component with all the namespaces and objects.
    Please treat this as high priority and revert me back ASAP.
    Thanks in advance.
    HAri.

    I don't know if is possible to restore a deleted SoftComp and all dependent object in repository... You can try to renew the SoftComp import from SLD....

  • Anyone know how to determine Macbook Air screen tech? Causing migraines

    Hi There,
    Last year, I expereinced a lot of mild migraines which I've traced back to a new Macbook Air.
    At first I had no idea of the cause (diet, stress etc) but have noticed that my eyes feel uncomfortable looking at the screen of my Macbook Air (I don't have this issue with my Dell monitor).
    My eyes don't hurt per se, but I can detect a sublte jittering with the screen - which can turn into a migraine.
    After doing a bit of research, it seems like most (but not all) LCD and LED LCD displays use something called pulse-width modulation to control brightness but after calling Apple support, they told me my MBA doesn't use this technology.
    Does anyone know how to determine the underlaying technology in Apple displays so I can research the cauase of my headaches? I found a good Ukranian website (in english) that explained pulse-width modulation but it didn't really talk about other technologies.
    Any pointers in the right direction would be much appreciated.
    Cheers
    Ben

    What version of OS X are you using? If Yosemite, you need to update to 10.10.1 or higher.
    In any case, start by going to the editor preferences>general, clicking this button and restarting the editor:

  • How to see values (null, 0) instead of blank fields

    Hi.
    I search the forum but only found messages about users who want to show fields blank, when value is null.
    I have the problem other way around. I work with DevSuite 10g and have a xml-Report.
    I have fields and for some the query returns null (no value). Than the report shows nothing for this fields. Neither a blank line nor a value like 0.
    The problem is, that the other values afterwards the blank ones, slip above.
    For Example:
    field 1
    field 2
    field 3
    field 4
    The Query returns null for field 2 and 3.
    Then on the report I see:
    field 1
    field 4
    But what I want to see is:
    field 1
    field 4
    or:
    field 1
    0
    0
    field 4
    But all I tested doesn´t work. I set a value for "when null" in the attribute inspector and the horizontal elasticity of "fix" (I thought it maybe it "slip together" so it is not shown).
    Has anyone a idea how I can show a (blank or 0 value) instead of nothing, so that fields afterwards doesn´t slips up?
    Thanks for your suggestions
    Message was edited by:
    ulfk

    Hej MLA.
    I think it was from query, but it is anyway if it is from query or from form (it´s not from column).
    @Brad
    Thanks for your suggestion.
    We solve this problem in a similar way.
    We put a field under/over the other. We give the field we want to show a white background. So it is "sitting" over the other and the underlaying one is not shown (because the overlaying one has a white background).
    If the overlaying one is blank it is not shown (so it can´t has a white background) and we see the underlaying field.
    But to use triggers is a better solution.
    I solve it on the same way as explained above but using triggers also.
    But I have to leave a statement about Oracles Report Builder. Sorry but it is more than horrible program. I never have seen such a (also new and) bad programmed program. It is more than hard to work with it ... it cost me every hour I use it more and more power to stay quite ...
    Here are the things I really wish to change at reports bulder directly:
    - more than one step back (undo)
    - there is a difference between the output in reports bulder on the paper output, what is shown when you print it on a paper (from reports bulder) and from what is shown in a PDF file produced with a reports server (that is really annoying, you never now if it is correct what you see in reports builder!)
    - better editing and better selectable of the text-boxes and fields
    - a way to hierarchically objects that are on the same layer (frame) so that you can really bank on it, that one object is ever behind another one
    - not only moving and scaling of fields and boxes on a fix gutter (free transforming and moving would be great) because sometimes a text or a box with line around is not on the right place (out of order; above another object/text a.s.o.) and when it is (why I don´t really know) is not on the right place and the distance to the other object is less than the fix gutter-distance you can´t move it in such a way, that the two objects are flush with/on a fix line/place. It´s because the fix gutter. The distance is lower than the gutter, if you move it, it is not makeable to move it this less-than-the-gutter-distance to be flush with the other object. You can only move it in the fix gutter-distance and than it can´t be flush with the other objects.
    It looked really bad and amateurish!
    - a tool (a button or something) where you can marked object to flush all together on the same line, so that all objects for example are flush together on one start-line or ends (horizontal or vertical flush).
    It would be great and would the work so really easier and better.

  • Repeat Group Header On Each Page with Underlay Following Sections

    How to overcome the following problem?
    1. I am using Crystal report 13.0.5.891
    2. I have designed the report with Group Header as [Underlay following section]
    3. I have checked the group to repeat on each page
    4. Number of lines in the group header may vary
    5. Number of lines in details may also vary
    My objective is to print the separator line placed in group footer, after the
    header lines or after the detail lines which one is taking the maximum lines.
    This is not happening, and I am getting the following output, which is not meeting my requirement
    Where the "LINE IN GROUP FOOTER" should appear after "Group 1 Header Line 6" in the second page
    as the report ends there, but in the output, the line is coming just after the end of detail record.
    like following
    As a result of this, the next record of the group is overlapping with the first record and creating a mesh
    ------------------------------------------------------------------------------------------------------------------------------------ PAGE 1 OF 2
    Column Heading 1                       Column Heading 2                      Column Heading 3
    Group 1 Header Line 1                 Detail Record 1 Line 1
    Group 1 Header Line 2                 Detail Record 1 Line 2
    Group 1 Header Line 3                 ----------------------------------------------------------------------------------
    Group 1 Header Line 4                 Detail Record 2 Line 1
    Group 1 Header Line 5                 Detail Record 2 Line 2
    Group 1 Header Line 6                 Detail Record 2 Line 3
                                                      Detail Record 2 Line 4
                                                      Detail Record 2 Line 5
    ======================LINE IN GROUP FOOTER========================
    PAGE BREAK
    ------------------------------------------------------------------------------------------------------------------------------------ PAGE 2 OF 2
    Column Heading 1                       Column Heading 2                      Column Heading 3
    Group 1 Header Line 1                    Detail Record 3 Line 1
    Group 1 Header Line 2                    Detail Record 3 Line 2
    Group 1 Header Line 3                    Detail Record 3 Line 3
    Group 1 Header Line 4                    Detail Record 3 Line 4
    ======================LINE IN GROUP FOOTER========================
    Group 1 Header Line 5
    Group 1 Header Line 6
    Thanks in advance.

    Thanks for you response.
    I have updated the crystal report to 13.0.13.1597.
    Still I am getting the same issue. I am generating the report in PortableDocFormat and exporting the byte array to download from the web browser. The application is developed in ASP.NET 2012 .net version 4.5.
    I am also uploading 2 images of the final pdf that I am getting, for your opinion.
    The report appeared in the first image is ok, where the first group has 2 child records and the second group has 1 child, but whenever I am changing the mapping in the database, where the first group has 1 child and second group has 2 child, my report is not working. as it is clear from the second image
    Also after installing the new version of CR, my existing codes are not working, and giving the following exception in the line where ExportToStream is written.
    Unable to cast object of type 'FileStreamDeleteOnClose' to type 'System.IO.MemoryStream'.
    I have modified the existing code to overcome this exception.

  • How do I get my menu bar at the top of the page with no gaps?

    How do I get my menu bar at the top of the page with no gaps? Whenever I move it there is a huge gap at the top of the page which I cant seem to get rid of, i posted about this before but none of the suggestions seemed to work for me. i'm not very good with css so im not really sure where to find the problem. There are generally gaps everywhere which looks at absolute mess, no clue how they got there and why, there is a huge gap underneath my menu bar too which wasnt there before. how do i get rid of this too? its probably some padding a or margin but no clue where.
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Home</title>
    <link href="main.css" rel="stylesheet" type="text/css" />
    <link href="style2.css" rel="stylesheet" type="text/css" />
    <!--embedded styles for this page only-->
    <style type="text/css">
    body {
    margin:0;
    padding:0;
    font: 1em/1.5 "Lucida Sans", "Lucida Sans Unicode";
    #wrapper {
    width: 1064px;
    margin: 0 auto; /**with width, this centers page on screen**/
    background: #FFF;
    text-align:center;
    .clearing {
    clear:left;
    height:px;
    width: 100%;
    </style>
    <script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
    <link href="SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    <div id="wrapper"> <a href="home.html"><img src="_Business_Cards/banner copy.jpg" alt="banner" width="1064" height="374" align="top" /></a>
    <!--begin menu -->
    <ul id="MenuBar1" class="MenuBarHorizontal">
       <li><a href="home.html">Home</a></li>
       <li><a href="#" class="MenuBarItemSubmenu">Lingerie</a>
         <ul>
           <li><a href="#">Camis &amp; Nightslips</a>        </li>
           <li><a href="#" class="MenuBarItemSubmenu">Garter Belts &amp; Girdles</a>
             <ul>
               <li><a href="#">Tops</a></li>
               <li><a href="#">Bottoms</a></li>
               <li><a href="#">Accessories</a></li>
             </ul>
           </li>
           <li><a href="#">Sets</a></li>
           <li><a href="#">Knickers</a></li>
         </ul>
       </li>
       <li><a class="MenuBarItemSubmenu" href="#">Swimwear</a>
         <ul>
           <li><a href="t-shirt shop.html">Bikini</a></li>
           <li><a href="t-shirt shop.html">Tankini</a></li>
           <li><a href="t-shirt shop.html">One-Piece</a></li>
           <li><a href="#">Monokini</a></li>
         </ul>
       </li>
       <li><a href="#" class="MenuBarItemSubmenu">Men's</a>
         <ul>
           <li><a href="#">Boxer's</a></li>
         </ul>
       </li>
       <li><a href="#" class="MenuBarItemSubmenu">Extras</a>
         <ul>
           <li><a href="#">Bags</a></li>
           <li><a href="#" class="MenuBarItemSubmenu">Dancewear</a>
             <ul>
               <li><a href="#">Leotards</a></li>
               <li><a href="#">Crop Tops</a></li>
               <li><a href="#">Hotpants</a></li>
             </ul>
           </li>
         </ul>
       </li>
       <li><a href="clearance.html">Clearance</a></li>
    <li><a href="pastpro.html">Gallery</a></li>
    <li><a href="Contact.html">Contact</a></li>
    </ul>
    <h2> </h2>
    <div id="thumbs" width="192"><!--end wrapper -->
      <p align="center"><!-- Begin DWUser_EasyRotator -->
    <script type="text/javascript" src="http://c520866.r66.cf2.rackcdn.com/1/js/easy_rotator.min.js"></script>
    <div class="dwuserEasyRotator" style="width: 1064px; height: 561px; position:relative; text-align: left;" data-erConfig="{autoplayEnabled:true, lpp:'102-105-108-101-58-47-47-47-67-58-47-85-115-101-114-115-47-87-105-108-108-105-97-109 -47-68-111-99-117-109-101-110-116-115-47-69-97-115-121-82-111-116-97-116-111-114-80-114-10 1-118-105-101-119-47-112-114-101-118-105-101-119-95-115-119-102-115-47', wv:1, autoplayDelay:3000, autoplayStopOnInteraction:false}" data-erName="HomepageSlideshow" data-erTID="{zp7zmhgwl9549847691831}">
              <div data-ertype="content" style="display: none;"><ul data-erlabel="Main Category">
              <li>
                        <img class="main" src="slideshowpictures/966629_346958598773375_2105784298_o.jpg" alt="One-Off Triangular Soft Bra &amp; High-Waist Knicker Set" />
                        <img class="thumb" src="slideshowpictures/966629_346958598773375_2105784298_o.jpg" />
                        <span class="title">One-Off Triangular Soft Bra & High-Waist Knicker Set</span>
              </li>
              <li>
                        <img class="main" src="slideshowpictures/thong ebay.jpg" alt="Pink + Aqua Thongs (Part of Nightslip and Thong set)" />
                        <img class="thumb" src="slideshowpictures/thong ebay.jpg" />
                        <span class="title">Pink + Aqua Thongs (Part of Nightslip and Thong set)</span>
              </li>
              <li>
                        <img class="main" src="slideshowpictures/DSC_7405z.jpg" alt="Floral High-Waist Lace Panel Knicker" />
                        <img class="thumb" src="slideshowpictures/DSC_7405z.jpg" />
                        <span class="title">Floral High-Waist Lace Panel Knicker</span>
              </li>
              <li>
                        <img class="main" src="slideshowpictures/DSC_0018 copy.jpg" alt="Navy Blue Velvet High-Waist Bikini Set" />
                        <img class="thumb" src="slideshowpictures/DSC_0018 copy.jpg" />
                        <span class="title">Navy Blue Velvet High-Waist Bikini Set</span>
              </li>
              <li>
                        <img class="main" src="slideshowpictures/DSC_7420.jpg" alt="Pink &amp; Aqua Nightslips (Part of Nightslip &amp; Thong set)" />
                        <img class="thumb" src="slideshowpictures/DSC_7420.jpg" />
                        <span class="title">Pink & Aqua Nightslips (Part of Nightslip & Thong set)</span>
              </li>
              <li>
                        <img class="main" src="slideshowpictures/1208838_345346948934540_826580146_n.jpg" alt="Black Floral Bandeau &amp; Lace Girdle Set" />
                        <img class="thumb" src="slideshowpictures/1208838_345346948934540_826580146_n.jpg" />
                        <span class="title">Black Floral Bandeau & Lace Girdle Set</span>
              </li>
              <li>
                        <img class="main" src="slideshowpictures/1176249_10201020390646766_1642170049_n.jpg" alt="Aqua Polka-Dot High-Waist Bikini" />
                        <img class="thumb" src="slideshowpictures/1176249_10201020390646766_1642170049_n.jpg" />
                        <span class="title">Aqua Polka-Dot High-Waist Bikini</span>
              </li>
              <li>
                        <img class="main" src="slideshowpictures/1012714_10151762577141348_907183642_n.jpg" alt="Maroon Velvet Bikini High-Waist Bottoms" />
                        <img class="thumb" src="slideshowpictures/1012714_10151762577141348_907183642_n.jpg" />
                        <span class="title">Maroon Velvet Bikini High-Waist Bottoms</span>
              </li>
              <li>
                        <img class="main" src="slideshowpictures/floral ebay.jpg" alt="Floral/Multi Bikini High-Waist Bottoms" />
                        <img class="thumb" src="slideshowpictures/floral ebay.jpg" />
                        <span class="title">Floral/Multi Bikini High-Waist Bottoms</span>
              </li>
              <li>
                        <img class="main" src="slideshowpictures/DSC_0096 copy9.jpg" alt="Purple &amp; Champagne Bandeau Bikini Tops" />
                        <img class="thumb" src="slideshowpictures/DSC_0096 copy9.jpg" />
                        <span class="title">Purple & Champagne Bandeau Bikini Tops</span>
              </li>
              <li>
                        <img class="main" src="slideshowpictures/1005246_10151762745636348_129531182_n.jpg" alt="Aqua Polka-Dot High-Waist Bikini" />
                        <img class="thumb" src="slideshowpictures/1005246_10151762745636348_129531182_n.jpg" />
                        <span class="title">Aqua Polka-Dot High-Waist Bikini</span>
              </li>
              <li>
                        <img class="main" src="slideshowpictures/DSC_73612.jpg" alt="Matching Orange/White Lace Crop Top &amp; Thong Set" />
                        <img class="thumb" src="slideshowpictures/DSC_73612.jpg" />
                        <span class="title">Matching Orange/White Lace Crop Top & Thong Set</span>
              </li>
              <li>
                        <img class="main" src="slideshowpictures/logo h copy.jpg" alt="Logo" />
                        <img class="thumb" src="slideshowpictures/logo h copy.jpg" />
                        <span class="title">Logo</span>
              </li>
    </ul>
    </div>
              <div data-ertype="layout" data-ertemplateName="NONE" style="">                    <div class="erimgMain" style="position: absolute; left:0;right:0;top:0;bottom:0;" data-erConfig="{__numTiles:3, scaleMode:'scaleDown', imgType:'main', __loopNextButton:false, __arrowButtonMode:'rollover'}">
                                  <div class="erimgMain_slides" style="position: absolute; left:0; top:0; bottom:0; right:0;">
                                            <div class="erimgMain_slide">
                                                      <div class="erimgMain_img" style="position: absolute; left: 0; right: 0; top: 0; bottom: 0;"></div>
                                            </div>
                                  </div>
                                  <div class="erimgMain_arrowLeft" style="position:absolute; left: 10px; top: 50%; margin-top: -15px;" data-erConfig="{image:'circleSmall', image2:'circleSmall'}"></div>
                                  <div class="erimgMain_arrowRight" style="position:absolute; right: 10px; top: 50%; margin-top: -15px;" data-erConfig="{image:'circleSmall', image2:'circleSmall'}"></div>
                        </div><div class="erabout erFixCSS3" style="color: #FFF; text-align: left; background: #000; background:rgba(0,0,0,0.93); border: 2px solid #FFF; padding: 20px; font: normal 11px/14px Verdana,_sans; width: 300px; border-radius: 10px; display:none;">
                                  This <a style="color:#FFF;" href="http://www.dwuser.com/easyrotator/" target="_blank">jQuery slider</a> was created with the free <a style="color:#FFF;" href="http://www.dwuser.com/easyrotator/" target="_blank">EasyRotator</a> software from DWUser.com.
                                  <br /><br />
                Use WordPress? The free <a style="color:#FFF;" href="http://www.dwuser.com/easyrotator/wordpress/" target="_blank">EasyRotator for WordPress</a> plugin lets you create beautiful <a style="color:#FFF;" href="http://www.dwuser.com/easyrotator/wordpress/" target="_blank">WordPress sliders</a> in seconds.
                                  <br /><br />
                                  <a style="color:#FFF;" href="#" class="erabout_ok">OK</a>  
                        </div>
                        <noscript>
                                  Rotator powered by <a href="http://www.dwuser.com/easyrotator/">EasyRotator</a>, a free and easy jQuery slider builder from DWUser.com.  Please enable JavaScript to view.
                        </noscript>
                        <script type="text/javascript">/*Avoid IE gzip bug*/(function(b,c,d){try{if(!b[d]){b[d]="temp";var a=c.createElement("script");a.type="text/javascript";a.src="http://easyrotator.s3.amazonaws.com/1/js/nozip/easy_rotator.min.js";c.getElementsByTagName("head")[0].appendChild(a)}}catch(e){alert("EasyRotator fail; contact support.")}})(window,document,"er_$144");</script>
              </div>
    </div>
    <!-- End DWUser_EasyRotator --></p>
    </div>
    <hr align="center" size="10" noshade="noshade" class="clearing" color="#999999" />
    <img src="https://www.paypalobjects.com/webstatic/mktg/logo/AM_mc_vs_dc_ae.jpg" alt="PayPal Acceptance Mark" width="192" height="38" border="0" align="right" />
    <div align="left">
      <p><a href="#" onclick="javascript:window.open('https://www.paypal.com/uk/cgi-bin/webscr?cmd=xpt/Marketing/popup/OLCWhatIsPayPal-outside', 'olcwhatispaypal','toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, width=400, height=500');">Copyright &copy; Hannah-Rose 2013 > <a href="about.html">About</a> &gt; <a href="terms and conditions.html">Terms &amp; Conditions </a></p>
      <!-- PayPal Logo --><!-- PayPal Logo --><!-- PayPal Logo --><!-- PayPal Logo --></div>
    </div>
    <script type="text/javascript">
    var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgDown:"SpryAssets/SpryMenuBarDownHover.gif", imgRight:"SpryAssets/SpryMenuBarRightHover.gif"});
    </script>
    </body>
    </html>

    @charset "UTF-8";
    /* SpryMenuBarHorizontal.css - version 0.6 - Spry Pre-Release 1.6.1 */
    /* Copyright (c) 2006. Adobe Systems Incorporated. All rights reserved. */
    LAYOUT INFORMATION: describes box model, positioning, z-order
    /* The outermost container of the Menu Bar, an auto width box with no margin or padding */
    ul.MenuBarHorizontal
              padding: 0;
              list-style-type: none;
              font-size: 100%;
              cursor: default;
              width: 64em;
              margin-bottom: 0px;
              margin-left: auto;
              margin-top: 0px;
              margin-right: 0px;
    /* Set the active Menu Bar with this class, currently setting z-index to accomodate IE rendering bug: http://therealcrisp.xs4all.nl/meuk/IE-zindexbug.html */
    ul.MenuBarActive
              z-index: 1000;
    /* Menu item containers, position children relative to this container and are a fixed width */
    ul.MenuBarHorizontal li
              margin: 0;
              padding: 0;
              list-style-type: none;
              font-size: 100%;
              position: relative;
              text-align: left;
              cursor: pointer;
              width: 8em;
              float: left;
    /* Submenus should appear below their parent (top: 0) with a higher z-index, but they are initially off the left side of the screen (-1000em) */
    ul.MenuBarHorizontal ul
              margin: 0;
              padding: 0;
              list-style-type: none;
              font-size: 100%;
              z-index: 1020;
              cursor: default;
              width: 8.2em;
              position: absolute;
              left: -1000em;
    /* Submenu that is showing with class designation MenuBarSubmenuVisible, we set left to auto so it comes onto the screen below its parent menu item */
    ul.MenuBarHorizontal ul.MenuBarSubmenuVisible
              left: auto;
    /* Menu item containers are same fixed width as parent */
    ul.MenuBarHorizontal ul li
              width: 8.2em;
    /* Submenus should appear slightly overlapping to the right (95%) and up (-5%) */
    ul.MenuBarHorizontal ul ul
              position: absolute;
              margin-top: -5%;
              margin-right: 0;
              margin-bottom: 0;
              margin-left: 95%;
    /* Submenu that is showing with class designation MenuBarSubmenuVisible, we set left to 0 so it comes onto the screen */
    ul.MenuBarHorizontal ul.MenuBarSubmenuVisible ul.MenuBarSubmenuVisible
              left: auto;
              top: 0;
    DESIGN INFORMATION: describes color scheme, borders, fonts
    /* Submenu containers have borders on all sides */
    ul.MenuBarHorizontal ul
              border: 1px solid #CCC;
    /* Menu items are a light gray block with padding and no text decoration */
    ul.MenuBarHorizontal a
              display: block;
              cursor: pointer;
              background-color: #FFF;
              color: #333;
              text-decoration: none;
              font-family: Pristina;
              font-size: 21px;
              font-weight: normal;
              padding-right: 0.75em;
              padding-left: 0.75em;
              padding-top: 0.5em;
              padding-bottom: 0.5em;
    /* Menu items that have mouse over or focus have a blue background and white text */
    ul.MenuBarHorizontal a:hover, ul.MenuBarHorizontal a:focus
              background-color: #33C;
              color: #FFF;
    /* Menu items that are open with submenus are set to MenuBarItemHover with a blue background and white text */
    ul.MenuBarHorizontal a.MenuBarItemHover, ul.MenuBarHorizontal a.MenuBarItemSubmenuHover, ul.MenuBarHorizontal a.MenuBarSubmenuVisible
              background-color: #FFF;
              color: #666;
    SUBMENU INDICATION: styles if there is a submenu under a given menu item
    /* Menu items that have a submenu have the class designation MenuBarItemSubmenu and are set to use a background image positioned on the far left (95%) and centered vertically (50%) */
    ul.MenuBarHorizontal a.MenuBarItemSubmenu
              background-image: url(SpryMenuBarDown.gif);
              background-repeat: no-repeat;
              background-position: 95% 50%;
    /* Menu items that have a submenu have the class designation MenuBarItemSubmenu and are set to use a background image positioned on the far left (95%) and centered vertically (50%) */
    ul.MenuBarHorizontal ul a.MenuBarItemSubmenu
              background-image: url(SpryMenuBarRight.gif);
              background-repeat: no-repeat;
              background-position: 95% 50%;
    /* Menu items that are open with submenus have the class designation MenuBarItemSubmenuHover and are set to use a "hover" background image positioned on the far left (95%) and centered vertically (50%) */
    ul.MenuBarHorizontal a.MenuBarItemSubmenuHover
              background-image: url(SpryMenuBarDownHover.gif);
              background-repeat: no-repeat;
              background-position: 95% 50%;
    /* Menu items that are open with submenus have the class designation MenuBarItemSubmenuHover and are set to use a "hover" background image positioned on the far left (95%) and centered vertically (50%) */
    ul.MenuBarHorizontal ul a.MenuBarItemSubmenuHover
              background-image: url(SpryMenuBarRightHover.gif);
              background-repeat: no-repeat;
              background-position: 95% 50%;
    BROWSER HACKS: the hacks below should not be changed unless you are an expert
    /* HACK FOR IE: to make sure the sub menus show above form controls, we underlay each submenu with an iframe */
    ul.MenuBarHorizontal iframe
              position: absolute;
              z-index: 1010;
              filter:alpha(opacity:0.1);
    /* HACK FOR IE: to stabilize appearance of menu items; the slash in float is to keep IE 5.0 from parsing */
    @media screen, projection
              ul.MenuBarHorizontal li.MenuBarItemIE
                        display: inline;
                        f\loat: left;
                        background: #FFF;

  • How do I make Vertical Spry Menu appear in IE

    The URL in question is:
    http://www.ambppct.org/index_menu.php
    I have inserted a Vertcal Spry Menu on this page. It functions perfectly in Safari, Firefox and IE 8. However it does not appear in previous versions of IE.
    Below is the css file:
    @charset "UTF-8";
    /* SpryMenuBarVertical.css - version 0.6 - Spry Pre-Release 1.6.1 */
    /* Copyright (c) 2006. Adobe Systems Incorporated. All rights reserved. */
    LAYOUT INFORMATION: describes box model, positioning, z-order
    /* The outermost container of the Menu Bar, a fixed width box with no margin or padding */
    ul.MenuBarVertical
    margin: 0em;
    padding: 0em;
    list-style-type: none;
    font-size: 12px;
    cursor: default;
    width: 12em;
    font-family: Verdana, Geneva, sans-serif;
    color: #C03;
    font-style: normal;
    z-index: auto;
    background-color: #CC9999;
    /* Set the active Menu Bar with this class, currently setting z-index to accomodate IE rendering bug: http://therealcrisp.xs4all.nl/meuk/IE-zindexbug.html */
    ul.MenuBarActive
    z-index: 1000;
    width: 12em;
    /* Menu item containers, position children relative to this container and are same fixed width as parent */
    ul.MenuBarVertical li
    margin: 0;
    padding: 0;
    list-style-type: none;
    font-size: 100%;
    position: relative;
    text-align: left;
    cursor: pointer;
    width: 12em;
    background-color: #CC9999;
    /* Submenus should appear slightly overlapping to the right (95%) and up (-5%) with a higher z-index, but they are initially off the left side of the screen (-1000em) */
    ul.MenuBarVertical ul
    padding: 0;
    list-style-type: none;
    font-size: 100%;
    position: absolute;
    z-index: 1020;
    cursor: default;
    width: 12em;
    left: -1000em;
    top: 0;
    margin-top: -5%;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 95%;
    /* Submenu that is showing with class designation MenuBarSubmenuVisible, we set left to 0 so it comes onto the screen */
    ul.MenuBarVertical ul.MenuBarSubmenuVisible
    left: 0;
    width: 12em;
    /* Menu item containers are same fixed width as parent */
    ul.MenuBarVertical ul li
    width: 12em;
    DESIGN INFORMATION: describes color scheme, borders, fonts
    /* Outermost menu container has borders on all sides */
    ul.MenuBarVertical
    border: 1px solid #D6D6D6;
    width: 12em;
    /* Submenu containers have borders on all sides */
    ul.MenuBarVertical ul
    border: 1px solid #D6D6D6;
    width: 12em;
    /* Menu items are a light gray block with padding and no text decoration */
    ul.MenuBarVertical a
    display: block;
    cursor: pointer;
    background-color: #CC9999;
    color: #C03;
    text-decoration: none;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 12px;
    font-style: normal;
    border: thin solid #D6D6D6;
    overflow: hidden;
    padding-top: 0.5em;
    padding-right: 0.75em;
    padding-bottom: 0.5em;
    padding-left: 0.75em;
    width: auto;
    position: relative;
    /* Menu items that have mouse over or focus have a blue background and white text */
    ul.MenuBarVertical a:hover, ul.MenuBarVertical a:focus
    background-color: #CC6666;
    color: #FFF;
    /* Menu items that are open with submenus are set to MenuBarItemHover with a blue background and white text */
    ul.MenuBarVertical a.MenuBarItemHover, ul.MenuBarVertical a.MenuBarItemSubmenuHover, ul.MenuBarVertical a.MenuBarSubmenuVisible
    background-color: #C66;
    color: #FFF;
    width: auto;
    SUBMENU INDICATION: styles if there is a submenu under a given menu item
    /* Menu items that have a submenu have the class designation MenuBarItemSubmenu and are set to use a background image positioned on the far left (95%) and centered vertically (50%) */
    ul.MenuBarVertical a.MenuBarItemSubmenu
    background-image: url(SpryMenuBarRight.gif);
    background-repeat: no-repeat;
    background-position: 95% 50%;
    width: auto;
    /* Menu items that are open with submenus have the class designation MenuBarItemSubmenuHover and are set to use a "hover" background image positioned on the far left (95%) and centered vertically (50%) */
    ul.MenuBarVertical a.MenuBarItemSubmenuHover
    background-image: url(SpryMenuBarRightHover.gif);
    background-repeat: no-repeat;
    background-position: 95% 50%;
    width: auto;
    BROWSER HACKS: the hacks below should not be changed unless you are an expert
    /* HACK FOR IE: to make sure the sub menus show above form controls, we underlay each submenu with an iframe */
    ul.MenuBarVertical iframe
    position: absolute;
    z-index: 1010;
        filter:alpha(opacity:0.1);
    /* HACK FOR IE: to stabilize appearance of menu items; the slash in float is to keep IE 5.0 from parsing */
    @media screen, projection
    ul.MenuBarVertical li.MenuBarItemIE
    display: inline;
    f\loat: none;

    You will have to update your spry code (do not know how (possibly in editing the css), but it is causing the problem).
    If you have CS3 or 4, you can use the spry updater extension from -
    http://labs.adobe.com/technologies/spry/
    Delete your old spry files then apply the spry updater by selecting,  Site - Spry Updater - then select the options req'd.
    Check your page works, modify the spry css as required, checking the site in the browsers after every change.
    PZ

  • Spry menu hover: How to get rid of white box with "false"?

    Hi--
    I'm encountering an IE issue with a Spry vertical menu bar. When the user hovers over the submenu, white frames appear behind the submenu with the word "false" in them. Of course this doesn't happen in Safari or Firefox.
    I was able to fix other similar problems with the menu by following tips posted on another forum. Namely, in the CSS, I disabled an IE hack that caused a white background to appear (menu background has to be transparent on this site). And in the JS, I disabled the following: this.removeIframeLayer(menu);
    Here's the URL: http://www.qic-ec.org
    Below are the css (1) and js (2).
    Any help would be DEEPLY appreciated.
    Thank you
    Jackie
    CSS:
    @charset "UTF-8";
    /* SpryMenuBarVertical.css - Revision: Spry Preview Release 1.4 */
    /* Copyright (c) 2006. Adobe Systems Incorporated. All rights reserved. */
    LAYOUT INFORMATION: describes box model, positioning, z-order
    /* The outermost container of the Menu Bar, a fixed width box with no margin or padding */
    ul.MenuBarVertical
    margin: 0;
    padding: 0;
    list-style-type: none;
    font-size: 100%;
    cursor: default;
    width: 6.2em;
    /* Set the active Menu Bar with this class, currently setting z-index to accomodate IE rendering bug: http://therealcrisp.xs4all.nl/meuk/IE-zindexbug.html */
    ul.MenuBarActive
    z-index: 1000;
    /* Menu item containers, position children relative to this container and are same fixed width as parent */
    ul.MenuBarVertical li
    margin: 0;
    padding: 0;
    list-style-type: none;
    font-size: 100%;
    position: relative;
    text-align: left;
    cursor: pointer;
    width: 6.2em;
    /* Submenus should appear slightly overlapping to the right (95%) and up (-5%) with a higher z-index, but they are initially off the left side of the screen (-1000em) */
    ul.MenuBarVertical ul
    margin: -5% 0 0 95%;
    padding: 0;
    list-style-type: none;
    font-size: 100%;
    position: absolute;
    z-index: 1020;
    cursor: default;
    width: 6.2em;
    left: -1000em;
    top: 0;
    /* Submenu that is showing with class designation MenuBarSubmenuVisible, we set left to 0 so it comes onto the screen */
    ul.MenuBarVertical ul.MenuBarSubmenuVisible
    left: 0;
    /* Menu item containers are same fixed width as parent */
    ul.MenuBarVertical ul li
    width: 3em;
    DESIGN INFORMATION: describes color scheme, borders, fonts
    /* Outermost menu container has borders on all sides */
    ul.MenuBarVertical
    border: 0px solid #CCC;
    /* Submenu containers have borders on all sides */
    ul.MenuBarVertical ul
    border: 0px solid #CCC;
    /* Menu items are a transparent block with padding and no text decoration */
    ul.MenuBarVertical a
    display: block;
    cursor: pointer;
    padding: 0.5em 0.75em;
    color: #502977;
    text-decoration: none;
    border-bottom: 1px dotted #A88FC7;
    /* Menu items that have mouse over or focus have a transparent background and light purple text */
    ul.MenuBarVertical a:hover, ul.MenuBarVertical a:focus
    color: #A88FC7;
    /* Menu items that are open with submenus are set to MenuBarItemHover with a transparent background and light purple text */
    ul.MenuBarVertical a.MenuBarItemHover, ul.MenuBarVertical a.MenuBarItemSubmenuHover, ul.MenuBarVertical a.MenuBarSubmenuVisible
        color: #A88FC7;
    ul.MenuBarVertical ul li a
    border: 0px;
    color: #006600;
      SUBMENU INDICATION: styles if there is a submenu under a given menu item
    /* Menu items that have a submenu have the class designation MenuBarItemSubmenu and are set to use a background image positioned on the far left (95%) and centered vertically (50%) */
    ul.MenuBarVertical a.MenuBarItemSubmenu
    background-image: url(SpryMenuBarRight.gif);
    background-repeat: no-repeat;
    background-position: 95% 50%;
    /* Menu items that have a submenu have the class designation MenuBarItemSubmenu and are set to use a background image positioned on the far left (95%) and centered vertically (50%) */
    ul.MenuBarVertical ul a.MenuBarItemSubmenu
    background-image: url(SpryMenuBarRight.gif);
    background-repeat: no-repeat;
    background-position: 95% 50%;
    /* Menu items that are open with submenus have the class designation MenuBarItemSubmenuHover and are set to use a "hover" background image positioned on the far left (95%) and centered vertically (50%) */
    ul.MenuBarVertical a.MenuBarItemSubmenuHover
    background-image: url(SpryMenuBarRightHover.gif);
    background-repeat: no-repeat;
    background-position: 95% 50%;
    /* Menu items that are open with submenus have the class designation MenuBarItemSubmenuHover and are set to use a "hover" background image positioned on the far left (95%) and centered vertically (50%) */
    ul.MenuBarVertical ul a.MenuBarItemSubmenuHover
    background-image: url(SpryMenuBarRightHover.gif);
    background-repeat: no-repeat;
    background-position: 95% 50%;
    BROWSER HACKS: the hacks below should not be changed unless you are an expert
    /* HACK FOR IE: to make sure the sub menus show above form controls, we underlay each submenu with an iframe */
    /*ul.MenuBarVertical iframe
    position: absolute;
    z-index: 1010;
    /* HACK FOR IE: to stabilize appearance of menu items; the slash in float is to keep IE 5.0 from parsing */
    @media screen, projection
    /* ul.MenuBarVertical li.MenuBarItemIE
    display: inline;
    f\loat: left;
            background: #fff;
    JS:
    /* SpryMenuBar.js - Revision: Spry Preview Release 1.4 */
    // 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 = {};
    // 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;
    var isie = (typeof document.all != 'undefined' && typeof window.opera == 'undefined' && navigator.vendor != 'KDE');
    if(typeof document.getElementById == 'undefined' || (navigator.vendor == 'Apple Computer, Inc.' && typeof window.XMLHttpRequest == 'undefined') || (isie && typeof document.uniqueID == 'undefined'))
    // bail on older unsupported browsers
    return;
    // load hover images now
    if(opts)
    for(var k in opts)
    var rollover = new Image;
    rollover.src = opts[k];
    if(this.element)
    this.currMenu = this.element;
    var items = this.element.getElementsByTagName('li');
    for(var i=0; i<items.length; i++)
    this.initialize(items[i], element, isie);
    if(isie)
    this.addClassName(items[i], "MenuBarItemIE");
    items[i].style.position = "static";
    if(isie)
    if(this.hasClassName(this.element, "MenuBarVertical"))
    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.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:false;';
    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.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, "MenuBarActive");
    // bubbledTextEvent for Menu Bar
    // identify bubbled up text events in Safari so we can ignore them
    Spry.Widget.MenuBar.prototype.bubbledTextEvent = function()
    return (navigator.vendor == 'Apple Computer, Inc.' && (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, "MenuBarSubmenuVisible");
    if(typeof document.all != 'undefined' && typeof window.opera == 'undefined' && navigator.vendor != 'KDE')
    if(!this.hasClassName(this.element, "MenuBarHorizontal") || menu.parentNode.parentNode != this.element)
    menu.style.top = menu.parentNode.offsetTop + 'px';
    if(typeof document.uniqueID != "undefined")
    this.createIframeLayer(menu);
    this.addClassName(this.element, "MenuBarActive");
    // 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, "MenuBarSubmenuVisible");
    if(typeof document.all != 'undefined' && typeof window.opera == 'undefined' && navigator.vendor != 'KDE')
    menu.style.top = '';
    menu.style.left = '';
    // 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, isie)
    var opentime, closetime;
    var link = listitem.getElementsByTagName('a')[0];
    var submenus = listitem.getElementsByTagName('ul');
    var menu = (submenus.length > 0 ? submenus[0] : null);
    var hasSubMenu = false;
    if(menu)
    this.addClassName(link, "MenuBarItemSubmenu");
    hasSubMenu = true;
    if(!isie)
    // 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)
    if(self.bubbledTextEvent())
    // ignore bubbled text events
    return;
    clearTimeout(closetime);
    if(self.currMenu == listitem)
    self.currMenu = null;
    // show menu highlighting
    self.addClassName(link, hasSubMenu ? "MenuBarItemSubmenuHover" : "MenuBarItemHover");
    if(menu && !self.hasClassName(menu, "MenuBarSubmenuVisible"))
    opentime = window.setTimeout(function(){self.showSubmenu(menu);}, 250);
    }, false);
    this.addEventListener(listitem, 'mouseout', function(e)
    if(self.bubbledTextEvent())
    // ignore bubbled text events
    return;
    var related = (typeof e.relatedTarget != 'undefined' ? e.relatedTarget : e.toElement);
    if(!listitem.contains(related))
    clearTimeout(opentime);
    self.currMenu = listitem;
    // remove menu highlighting
    self.removeClassName(link, hasSubMenu ? "MenuBarItemSubmenuHover" : "MenuBarItemHover");
    if(menu)
    closetime = window.setTimeout(function(){self.hideSubmenu(menu);}, 600);
    }, false);

    Do you have any suggestions for how to adjust the JS so that the menu functions properly in IE? As I said, I upgraded to Spry 1.6.1 and uploaded the new CSS and JS and the problem is still there. The CSS is the same as in the previous version. The new JS is:
    // SpryMenuBar.js - version 0.12 - Spry Pre-Release 1.6.1
    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];

  • How can I use both high def (16:9) and regular def (4:3) in the same video?

    I'm editing a load of video, some of it was shot in 16:9 high-def and some in 4:3 regular-def. Id really hate to see the 4:3 footage go to waste. What can I tack on to the black sidebars on either end of this footage to fill in the gaps? I've also seen on TV where the sidebars on old 4:3 footage is blurred out by video from that particular frame. How can I do this?

    Just duplicate the footage and superimpose.
    Stretch the underlaying footage to fill the screen and add a blur.

  • How to make a photograph look like a hand drawn cartoon in Photoshop or illustrator?

    Hi all-
    I'm taking a childrens book writing and illustrating class and my illustrating skills are nil. I want the photos to look like a "Cartoon" and want to create the pictures for the book but not sure which filters work best for this effect.
    Would prefer it to look like a child outlined the picture and then colored in between the lines. Picture is of a dog and girl.
    Any help is greatly appreciated. I know basics of the filters and don't want to just slap any effect on it.
    Thanks so much in advance if anyone has any great ideas.

    kristin,
    My initial thought would be to take advantage the vector outlines and color fills of Illustrator would make that an easier choice. It's also easier to edit cleanly. Use photos as a template underlay and draw on top of them. But, it'll look too slick.
    Or in Photoshop, it's gonna depend upon how well the photographs were taken. I looked at the Fresco, Poster Edges, Sprayed Strokes, and Watercolor, etc., etc. The effects are nice, but, again, way too sophisticated for a child's hand.
    >Would prefer it to look like a child outlined the picture and then colored in between the lines.
    Which brings me to what may be the best choice. Pick up a box of Crayolas and some good vellum paper (from an art supply store) and trace the photo. Outline in black, and color in the rest. Get a child to do it, if you want realism.
    Seriously.
    Neil

  • How to design a report with "merged" cells?

    Post Author: Yuri
    CA Forum: General
    Hello,I need to get rid of empty space in details section of my report.The width of the first column is less than the width of the next one and one row of the first column matches to a number of rows of the next column. All data are stored in one SQL table. I need to reach the following result without using of subreports because this report will be used as a subreport in another report:
    WRONG:                          
    CORRECT:
    +----
    +----
    Columbia  |Lady for a Day         Columbia   |Lady for a Day 
    Pictures  |                       Picturies  +----
    Industries|                     
    Industries |Here Comes Mr.Jordan
    +----
    +----
              |Here Comes
    Mr.Jordan              |Spider-Man 3
    +----
    +----
              |Spider-Man 3           Walt       |Mickey Mouse
    +----
    Disney     +----
    Walt      |Mickey Mouse                      |Winnie the Pooh and
    Disney    |                                  |the Blustery
    Day
    +----
    +----
              |Winnie the Pooh and
              |the Blustery Day  
    +----
    In other words I want to suppress the same values in the first column and I don't want the heights of the rows of the second column follow the heights of the rows of the first column. I tried to create two details section and to use underlay the following section in the first details section, but without success.Thanks. 

    Post Author: Yuri
    CA Forum: General
    So could you group by issue datetime (at the appropriate resolution, e.g. per day) and then by studio? I've done it and the report looks great!  Thank you! Now I use underlay of group headers under details instead of suppress of  duplicated   group values in detail section and I'm happy!And  I have another question... Suppose, there are two contractors that work on three Customer's sites. The first contractor makes Pumping operations.  The second contractor makes Slickline operations.One day the first  contractor  made   Pumping operations on site#1,
    then this contractor moved to site#2 and made   Pumping operations here.
    In the meantime another contractor made Slickline operations on site#2,
    then it moved to site#1 and made   Slickline operations here, tonight the second  contractor moved to site#3 and made   Slickline operations here.Details of operations are stored in the one Table with the following columns:Operation_id, Site_id, time_from, time_to,  Code_of_Type_of_Operation, Operation_memo, Contractor_name, ...     The customer wants to have a daily operations report where all operations for each Site are placed together, but in the meantime each Site must
    be placed wholly into proper Operation Type section accordantly with the first
    operation which has place on the Site. So I need to create the following Structure of the report:Pumping operations
       Site#1   Details  of  Pumping operations on Site#1
                    Details  of Slickline operations on Site#1Slickline operations    Site#2   Details  of Slickline operations on Site#2                   Details  of  Pumping operations on Site#2
       Site#3   Details  of Slickline operations on Site#3// Each "Details  of operations" section is a number of rows from Details of operations Table
    In other words the rule is the following:to seek for the first operation for each Site and to place each Site to a suitable section, for example: the first operation for Site#1
    is  PUMPING, so Site#1 must be placed into u201Cpumping operationsu201D section, the first operation
    for Site#2 is SLICKLINE, so Site#2 must be placed into u201Cslickline operationsu201D  section.
    I think that If I'll use grouping:
    Group 1 Type of Operation   Group 2 Site
    then I'll have the following wrong report:
    Pumping operations    Site#1   Details  of  Pumping operations on Site#1   Site#2   Details  of  Pumping operations on Site#2Slickline operations
       Site#1   Details  of Slickline operations on Site#1
       Site#2   Details  of Slickline operations on Site#2
       Site#3   Details  of Slickline operations on Site#3But the customer doesn't want to break Sites! :(I have a number of ideas how to realize this report, but I would like to listen to masters.Thanks in advance!

  • How to implement this in OBIEE

    Hi Experts
    I have one report in which now customer name is changed. i want to show the old customer name as well new customer name for that customer ID in the report.
    ex: Customer ID Name
    1 A
    Now the customer name changed to B for ID 1
    So new report is
    Customer ID OLDName New Name
    1 A B
    I have lot of customer...
    So please suggest me how can i implement it in OBIEE..
    Regards
    -s

    I guess that in your situation the value 'A' changes to 'B' once changed and you want to see the historical view of the customer changes?
    In that case you are implementing a slowly changing dimension. You'll have to change your underlaying table, I guess that would be the easiest solution.
    Implementing a scd can be done in different ways...it depends on what you need exactly.
    Hope this can help you.
    Kr,
    A.

Maybe you are looking for

  • In iOS8 not all my photos automatically downloading (Photo Streaming) to my PC

    Only some of my Photos are downloading (Photo Streaming) from my iPhone6 to my PC?

  • What event is fired when

    Hi Everyone, I have a page that is displayed using CompleteAuditController *screen = [[CompleteAuditController alloc] initWithNibName:@"CompleteAuditWindow" bundle:nil]; screen.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; [self present

  • My MacMini is running very slow

    My MacMini has started running slower and slower and freezes quite often.  Also, Safari doesn't work 100% and Firefox crashes quite often.  I was planning a memory upgrade, but want to make sure it won't be a waste of money as my Mac is now 6 years o

  • How to install software before user's logon?

    Hello! I have a problem. I want to install software before logon user to computer. I have applied a "Wait for network policy" to all our computers in 2003 domain, but on Windows 7 a script that installs software continues to work before and after log

  • Merge contact and facebook faces in iphoto

    When I go to tag a person in iPhoto I get two choces....One is from facebook and the other is a contact.  The facebook name is labeled Mary J. Frank Owen while the contact one is just Mary Frank Owen.  The contact also has an email but the facebook o