Next/previous image in imageslider

Hi there. I can't seem to get the next/previous buttons working. I get the error "
1061: Call to a possibly undefined method addEventListener through a reference with static type function
What's going wrong?
This is the code:
import fl.containers.UILoader;
//Declaring Variables
var menu:MovieClip = menuMc;
// var prevBtn:MovieClip = menuMc.prevBtnMc;
// var nextBtn:MovieClip = menuMc.nextBtnMc;
var playBtn:MovieClip =  menuMc.playBtnMc;
var stopBtn:MovieClip =  menuMc.stopBtnMc;
var nextBtn:MovieClip =  menuMc.nextBtnMc;
var prevBtn:MovieClip =  menuMc.prevBtnMc;
var imgFolder:String = "imgs/"
var imgArray:Array = new Array("1.jpg","2.jpg","3.jpg","4.jpg","5.jpg","6.jpg","7.jpg","8.jpg");
var imgLoader:UILoader = imgLoader;
var imgCntr:uint = 0;
var imgCntrTotal:uint = imgArray.length;
var imgRequest:URLRequest = new URLRequest(imgFolder + imgArray[imgCntr]);
var imgCntrTxt:TextField = menu.imgCntrTxtTf;
var slideShowTimer:Timer = new Timer (5000,0);
var imgVisible:Boolean = true;
//Init
playBtn.stop();
stopBtn.stop();
nextBtn.stop();
prevBtn.stop();
imgLoader.load(imgRequest);
imgCntrTxt.text = (imgCntr).toString() + "/" + imgArray.length.toString();
//Events
//Play
playBtn.addEventListener(MouseEvent.MOUSE_DOWN,playBtnDown);
playBtn.addEventListener(MouseEvent.MOUSE_OVER,playBtnOver);
playBtn.addEventListener(MouseEvent.MOUSE_OUT,playBtnOut);
//Stop
stopBtn.addEventListener(MouseEvent.MOUSE_DOWN,stopBtnDown);
stopBtn.addEventListener(MouseEvent.MOUSE_OVER,stopBtnOver);
stopBtn.addEventListener(MouseEvent.MOUSE_OUT,stopBtnOut);
//Next
nextBtn.addEventListener(MouseEvent.MOUSE_DOWN,nextBtnDown);
nextBtn.addEventListener(MouseEvent.MOUSE_OVER,nextBtnOver);
nextBtn.addEventListener(MouseEvent.MOUSE_OUT,nextBtnOut);
//Previous
prevBtn.addEventListener(MouseEvent.MOUSE_DOWN,prevBtnDown);
prevBtn.addEventListener(MouseEvent.MOUSE_OVER,prevBtnOver);
prevBtn.addEventListener(MouseEvent.MOUSE_OUT,prevBtnOut);
//Timer
slideShowTimer.addEventListener(TimerEvent.TIMER,timePassed);
//EventHandlers
//Play
function playBtnOver(e:MouseEvent){
          playBtn.gotoAndStop(2);
function playBtnOut(e:MouseEvent){
          playBtn.gotoAndStop(1);
function playBtnDown(e:MouseEvent){
          //Slideshow / Timer starten
          slideShowTimer.start();
//Stop
function stopBtnOver(e:MouseEvent){
          stopBtn.gotoAndStop(2);
function stopBtnOut(e:MouseEvent){
          stopBtn.gotoAndStop(1);
function stopBtnDown(e:MouseEvent){
          // Slideshow / Timer Stoppen
          slideShowTimer.stop();
//Next
function nextBtnOver(e:MouseEvent){
          nextBtn.gotoAndStop(2);
function nextBtnOut(e:MouseEvent){
          nextBtn.gotoAndStop(1);
function nextBtnDown(e:MouseEvent){
          nextImg.play();
//Previous
function prevBtnOver(e:MouseEvent){
          prevBtn.gotoAndStop(2);
function prevBtnOut(e:MouseEvent){
          prevBtn.gotoAndStop(1);
function prevBtnDown(e:MouseEvent){
          prevBtn.play();
//SlideShowTimer
function timePassed(e:TimerEvent){
          imgLoader.addEventListener(Event.ENTER_FRAME,fadeImg);
//Functions
function fadeImg(e:Event){
          if(imgVisible == true){
                    imgLoader.alpha = imgLoader.alpha - 0.05;
                    if(imgLoader.alpha <= 0){
                              imgVisible = false;
                              nextImg();
          if(imgVisible == false){
                    imgLoader.alpha = imgLoader.alpha + 0.05;
                    if(imgLoader.alpha >= 1){
                              imgVisible = true;
                              imgLoader.removeEventListener(Event.ENTER_FRAME,fadeImg);
function nextImg(){
          if(imgCntr < imgCntrTotal){
                    imgCntr++; //staat gelijk aan imgCntr + 1
          }else{
                    imgCntr = 0;
                    imgRequest = new URLRequest(imgFolder + imgArray[imgCntr]);
                    imgLoader.load(imgRequest);
                    imgCntrTxt.text = imgCntr.toString() + "/" + imgCntrTotal.toString();
function prevImg(){
          if(imgCntr == 0)
                    imgCntr = imgArray.length -1;
                    imgCntr--;
                    imgRequest = new URLRequest (imgFolder + imgArray [imgCntr]);
                    imgLoader.load(imgRequest);
                    imgCntrTxt.text = imgCntr.toString() + "/" + imgCntrTotal.toString() ;
function tfF():void{
    imgCntrTxt.text = (imgCntr+1) + "/" + (imgCntrTotal);
Help much appreciated

says this now about
Scene 1, Layer 'As', Frame 1, Line 103
1180: Call to a possibly undefined method prevBtn.
related code:
var prevBtn:MovieClip =  menuMc.prevBtnMc;
//Previous
prevBtn.addEventListener(MouseEvent.MOUSE_DOWN,prevBtnDown);
prevBtn.addEventListener(MouseEvent.MOUSE_OVER,prevBtnOver);
prevBtn.addEventListener(MouseEvent.MOUSE_OUT,prevBtnOut);
//Previous
function prevBtnOver(e:MouseEvent){
          prevBtn.gotoAndStop(2);
function prevBtnOut(e:MouseEvent){
          prevBtn.gotoAndStop(1);
function prevBtnDown(e:MouseEvent){
          prevBtn();
function prevImg(){
          if(imgCntr == 0)
                    imgCntr = imgArray.length -1;
                    imgCntr--;
                    imgRequest = new URLRequest (imgFolder + imgArray [imgCntr]);
                    imgLoader.load(imgRequest);
                    imgCntrTxt.text = imgCntr.toString() + "/" + imgCntrTotal.toString() ;

Similar Messages

  • Internet Explorer's forward/backward for next/previous image

    In addition to right/left arrow to move to next/previous image I would like LR team to add this keyboard shortcut:
    Use Internet Explorer's forward for next image.
    Use Internet Explorer's backward for previous image.
    Here is the reason. I have ViewSonic mouse with five buttons. Extra two buttons I use for forward/backward command within Internet Explorer. It would be nice if the same two extra buttons I could use in LR.
    At the moment I have the two extra buttons programmed to function as right/left arrow. That allows me to use them to go next/previous image in LR. In order to use them as a forward/backward command within IE I have to press Alt key.
    It would be nice if LR team could add IE forward/backward to the list of keyboard shortcuts.
    Best regards,
    Ivan Kmecko

    This is a function of the mouse driver...you should be able to configure settings based on the current application so LR and IE can use the same keys but it'll mean different things in each app.

  • Cursor keys do not properly change to next/previous image

    Since a few days, one of my two Lightroom-computers shows a permanent, quite annoying bug, regarding the curser left/right key:
    It happens in loupe view:
    When I press the cursor-right key, Lightroom doesn't change to the next image
    Instead, it doesn't stop changing to the next image before it reaches the end of the folder .
    Correspondingly with cursor-left, which takes me always to the first image in of the folder...
    Browsing in loupe view is nearly impossible, just the mousewheel still allows to change to the next/previous image.
    This happens for all sets, catalogues, folders, etc. If I have selection, then it takes me to the first/last image of the selection, nothing in between possible.
    Any advice, what went wrong with my system? Everything was smooth a few weeks ago, and everything works fine on my other computer, which should just behave the same...
    Thanks for any hints!
    Harald

    After hours of testing, I identified the reason:
    The problem was raised by the service "skdaemon.exe".
    It's meant to be a keyboard enhancing utility, which was preinstalled (und later updated) on this computer.
    After deactivation (from autostart), LR works fine again, and I didn't notice any missing keyboard functions yet.
    Maybe, this helps someone else in getting around that problem, and thanks for the support.
    Harald

  • Next / previous image swap WITH larger image popup

    Very simply what I need to do is almost identical to what you
    see here:
    http://www.java-scripts.net/javascripts/Slide-Show-Script.phtml
    (scroll down to the animal pictures)
    When you click "next" and "previous" the images swap through
    a series
    called "img1.gif" "img2.gif" and "img3.gif"
    So far so good. However let us assume there is also a set of
    images called
    "img1_lrg.gif" "img2_lrg.gif" and "img3_lrg.gif" which are
    larger
    versions of those little thumbnails. I need for the
    appropriate associated
    large image to popup in its own window when the thumb is
    clicked.
    Has anyone a lead on something like that?
    Thanks very much.

    On Thu, 28 Sep 2006 17:59:37 +0000 (UTC), [email protected]
    (Clay)
    wrote:
    >Very simply what I need to do is almost identical to what
    you see here:
    >
    >
    http://www.java-scripts.net/javascripts/Slide-Show-Script.phtml
    >
    >(scroll down to the animal pictures)
    >
    >When you click "next" and "previous" the images swap
    through a series
    >called "img1.gif" "img2.gif" and "img3.gif"
    >
    >So far so good. However let us assume there is also a set
    of images called
    >
    >"img1_lrg.gif" "img2_lrg.gif" and "img3_lrg.gif" which
    are larger
    >versions of those little thumbnails. I need for the
    appropriate associated
    >large image to popup in its own window when the thumb is
    clicked.
    >
    >Has anyone a lead on something like that?
    >
    >Thanks very much.
    That sounds simple, where are you stuck? Do you not know how
    to open a
    popup? BTW, the JustSo Picture Window extension would be
    perfect for
    the popups.

  • The curser includes a text box from a previous image or link when the curser is positioned on the side of the page. i click and it goes away but only to return again on the next launched page. how do i get rid of this?

    the cursor includes a text box from a previous image or link when the cursor is positioned on the side of the page. it will mainly happen when i hit "back" from the page i was on. i click and it goes away but only to return again on the next launched page. i also keep several tabs open and it will carry over to any one of them i go to. how do i get rid of this?
    == This happened ==
    Every time Firefox opened
    == when i upgraded to most recent version 3.6.8

    A number of extensions can cause that problem, you'll need to do a little troubleshooting to find out which extension is causing that to happen for you.
    [http://support.mozilla.com/en-US/kb/troubleshooting+extensions+and+themes]

  • Preview: Preview Next or Previous Image w/o 1st selecting multiple images?

    I have a folder that contains images. I browse to that folder and click on any of them and Preview opens and I see the image just fine. I would like to browse the contents of this folder with Preview using the arrow keys to view the next or previous image in that folder. When I use the arrow keys I get nothing (just a boink sound). Should I be able to navigate the contents of a folder with Preview using the arrow keys? I have read through the help and didn't see anything not being able to navigate images.
    I edited my preview toolbar to include the Next and Previous buttons however these don't seem to work for images in the same folder.
    I click on drawer and it only shows the image that I clicked on that opened Preview; it does not show any of the other images that are within the folder...should it?
    If I select all (or more than one) image within the folder and then Click Open, Preview opens with the drawer containing the selected images. When I take this extra step, I am able to navigate the selected images in Preview with the up/down arrow keys or the Next/Prev buttons on the toolbar. Is there a way to bypass the multiple selection of images in order to navigate them with Preview or is that just the way it works?
    THx!
    Intel iMac   Mac OS X (10.4.9)  

    I have a folder that contains images. I browse to
    that folder and click on any of them and Preview
    opens and I see the image just fine. I would like to
    browse the contents of this folder with Preview using
    the arrow keys to view the next or previous image in
    that folder.
    ReidRik_Von,
    I suspect you may be "putting the cart before the horse." Try opening Preview first. Next, use the Open command from Preview's File menu, or Command + O on your keyboard, and then browse to the desired folder. Select the entire folder and press the Open button. If the Drawer opens and you find it obtrusive, close the Drawer.
    You should now find the Next and Previous arrow buttons you added to the Toolbar earlier should function; and if you have Full Keyboard Access enabled, you should be able to navigate the folder using the keyboard as well: Command + Right arrow for the next image, or Command + Left arrow for the previous...
    Good luck!
    Andrew99
    iMac 1 GHz Flat Panel 15" PPC 768 MB RAM   Mac OS X (10.4.9)  

  • Dynamic Image Gallery First, Next,Previous,Last

    had a friend help me build this but now he's gone and I don't
    understand arrays or coldfusion really. I have an image gallery
    that works beautifully except that I want to be able to add two
    behaviors to the page. 1.Pagination. 2. Display Record Count. (I
    know how to use the Dreamweaver built in Server Behaviors with
    Dynamic Tables but this is a little different from that b/c he's
    using arrays to build the table instead. I've almost go the
    pagination working. Except I can't figure how to show the last
    record. I've got "First, Next, & Previous" to work. But the
    "Last" doesn't. This is the part of the code that I'm concerned
    with as everything else is working.
    <cfset CountUp=Count + 10>
    <cfset CountDown=Count - 10>
    <p align="center"><cfif Count gte 1><a
    href="gallery.cfm">First</a></cfif>  <cfif
    Count gte 10><a
    href="gallery.cfm?Count=<cfoutput>#CountDown#</cfoutput>">Previous</a></cfif>  <cfif
    ArrayLen(PhotoArray) gt CountUp><a
    href="gallery.cfm?Count=<cfoutput>#CountUp#</cfoutput>">Next</a></cfif><cfif
    ArrayLen(PhotoArray) lt CountUp><a
    href="gallery.cfm?Count=<cfoutput>#CountUp#</cfoutput>">Last</a></cfif>
    I have no idea how to write the "Display record counts" so if
    someone can help me write that part I would be so greatful.
    Here is all of the code for this page attatched...
    Attach Code

    Your code is more complicated than it needs to be. I honestly
    didn't dig through it, but here are a few suggestions.
    Use ArrayLen(array[]) to count the number of rows in an aray.
    Use array[ArrayLen(array)] to find the last record

  • Aperture 3.4.1 automatically switches to the next or previous image

    For the past few weeks Aperture has been doing something really odd and extremely annoying. While I'm editing an image, aperture will suddenly move to the next image. It happens primarily when I'm using the stamp tool and am stamping adjustments onto the image. I lift adjustments from one and as I go to stamp the selected image, aperture suddenly moves to the next or previous image. Sometimes I will have go back to the image I am intending to edit as many as 5 times before it stays there.
    This is incredibly annoying and killing my workflow. Has anyone ever experienced this? If so, what can I do? Suggestions and/or more questions welcome.
    Thanks!

    Nah, "Highlight Priority Mode" was switched off.
    Here's the examples:
    1. This is my finished picture. The information is still avaliable in the preview. So this is what I wanted it to look like and how I remembered it.
    http://cl.ly/image/3I2D0V1L2O0Q
    2. This is how Aperture makes it look now!!!
    http://cl.ly/image/3B0o0a0r051g
    3. This is what it looks like when I make a copy from the original and then stamp the old settings onto it.
    http://cl.ly/image/1g0w0u152t3i
    Go figure. It's just random and did I mentioned that I am deeply frustrated with an otherwise excellent program? :-)
    If this is bound to happen with our pictures, how can we reliably work with this? I have paying clients who come back to me months and years after and need to have access to their stock of photos.

  • In imovie 11, with an iMac, latest Mountain Lion, sometimes I insert a still and when I playback, the previous image freezes the last frame and holds during the duration I set for the still, skips both transitions, and jumps to the next clip. why?

    in imovie 11, with an iMac, latest Mountain Lion, sometimes I insert a still and when I playback, the previous image freezes the last frame and holds during the duration I set for the still, skips both transitions, and jumps to the next clip. why?

    in imovie 11, with an iMac, latest Mountain Lion, sometimes I insert a still and when I playback, the previous image freezes the last frame and holds during the duration I set for the still, skips both transitions, and jumps to the next clip. why?

  • How can i create an album with chose category list and next/previous button

    hello guys im working on a project for my uni i finished the whole website but one thing is missing
    i need to create a photo album with next and previous button, with choosing a category and inside each category i have like 5 pictures and i can change with the next/previous buttons to see another picture of the  same category.
    Please see the picture below to see what i mean.
    some told me it needs flash but i dont know how to work on it :S so plz if anyone can help me
    thank you

    Dear Mr. Murphy,
    thank you for your help.
    Actually i have tried to search for a tutorial and i found that one that was very helpful and gave me the half solution. the part i found and it worked with me is the part of the next and previous buttons and moving from an image to another.
    SO the part i still need is the list so when i click on a category i get the pictures of the chosen category, I had the idea of create a flash for each category alone and maybe i will be able to add them all together.
    But i guess it's too much work and there must be a way where i can make it all in one flash file.
    If you have any idea let me know please, thank you again for your help and i'm trying to search for the AS3 image gallery as you told me.
    Regards

  • Next / Previous button throwing an error. Please help

    I wrote this next previous button code and it is throwing an
    error. I don't understand why or what I am missing.
    I want it to show 4 records for a page. Here is my code and
    the error.
    Code:
    <cfset CurrentPage=GetFileFromPath(GetTemplatePath())>
    <cfquery name="feat" datasource="#sitedatasource#"
    username="#siteUserID#" password="#sitePassword#" maxRows=4>
    SELECT feature.title AS ViewField1, feature.MYFile AS
    ViewField2, feature.ID AS ID
    FROM feature
    </cfquery>
    <cflock timeout="2" scope="application"
    type="READONLY">
    <cfset application.feat=feat>
    </cflock>
    <cfset MaxRows_feat=4>
    <cfset
    StartRow_feat=Min((PageNum_feat-1)*MaxRows_feat+1,Max(feat.RecordCount,1))>
    <cfset
    EndRow_feat=Min(StartRow_feat+MaxRows_feat-1,feat.RecordCount)>
    <cfset
    TotalPages_feat=Ceiling(feat.RecordCount/MaxRows_feat)>
    <cfset QueryString_feat=Iif(CGI.QUERY_STRING NEQ
    "",DE("&"&CGI.QUERY_STRING),DE(""))>
    <cfset
    tempPos=ListContainsNoCase(QueryString_feat,"PageNum_feat=","&")>
    <cfif tempPos NEQ 0>
    <cfset
    QueryString_feat=ListDeleteAt(QueryString_feat,tempPos,"&")>
    </cfif>
    <cflock timeout="2" scope="application"
    type="READONLY"><cfoutput query="feat"
    maxrows="4">#ViewField1#</cfoutput></cflock>
    <cfif PageNum_feat GT 1>
    <a
    href="#CurrentPage#?PageNum_feat=#Max(DecrementValue(PageNum_feat),1)##QueryString_feat#"
    onmouseout="MM_swapImgRestore()"
    onmouseover="MM_swapImage('Previous','','../img/previous-over.gif',1)"><img
    src="../img/previous.gif" alt="Previous Records" name="Previous"
    width="96" height="27" border="0" id="Previous" /></a>
    <cfif PageNum_feat LT TotalPages_feat>
    <a
    href="#CurrentPage#?PageNum_feat=#Min(IncrementValue(PageNum_feat),TotalPages_feat)##Quer yString_feat#"
    onmouseout="MM_swapImgRestore()"
    onmouseover="MM_swapImage('next','','../img/next-over.gif',1)"><img
    src="../img/next.gif" alt="Next Record" name="next" width="96"
    height="27" border="0" id="next" /></a>
    The Error:
    Variable PAGENUM_FEAT is undefined.
    The error occurred in
    C:\Websites\x9vdzd\feature\featured.cfm: line 8
    6 : </cfquery>
    7 : <cfset MaxRows_feat=4>
    8 : <cfset
    StartRow_feat=Min((PageNum_feat-1)*MaxRows_feat+1,Max(feat.RecordCount,1))>
    9 : <cfset
    EndRow_feat=Min(StartRow_feat+MaxRows_feat-1,feat.RecordCount)>
    10 : <cfset
    TotalPages_feat=Ceiling(feat.RecordCount/MaxRows_feat)>
    I thought I had it defined! What am I missing?
    Thanks
    Phoenix

    that is strange... it should work fine - it does in my tests.
    here is somewhat updated & modified code to try. i have
    included
    comments to try and explain what is being done.
    basic logic is as follows:
    -form is submitted
    -check if file has been selected
    -try uploading new file
    -if new file upload succeeds, delete old file if it exists
    (as part of
    updating existing record, as new records obviously would not
    have any
    old image)
    -update/insert record data as necessary
    here's the code:
    <cfif isdefined("form.feat_OK")><!--- form submitted
    --->
    <!--- set file uploading vars --->
    <cfparam name="fileuploaded" type="boolean"
    default="false">
    <cfparam name="uploadedfile" default="">
    <cfset pathToFile = "c:\websites\x9vdzd\img\feature\">
    <!--- --->
    <cfif len(trim(form.MYFile))><!--- if a file has
    been selected --->
    <!--- try uploading new file --->
    <cftry>
    <cffile Action="upload" filefield="MYFile"
    accept="image/gif,
    image/jpg, image/jpeg, image/pjpeg"
    destination="#pathToFile" nameconflict="MAKEUNIQUE">
    <cfset fileuploaded = true>
    <cfset uploadedfile = cffile.serverfile>
    <cfcatch type="any">
    <!--- if upload did not suceed, reset file uploading vars
    --->
    <cfset fileuploaded = false>
    <cfset uploadedfile = "">
    <!--- this can be further enhanced by setting some var to
    hold error
    message and return it to user --->
    </cfcatch>
    </cftry>
    </cfif>
    <cfif form.id gt 0><!--- we are updating an
    existing record --->
    <!--- if new file upload was successful and the feature
    has an image
    associated with it - delete old image --->
    <cfif fileuploaded is true AND
    len(trim(form.oldimage))>
    <cfif FileExists(pathToFile & form.oldimage)>
    <cffile action="delete" file="#pathToFile &
    form.oldimage#">
    </cfif>
    </cfif>
    <cfquery datasource="#sitedatasource#"
    username="#siteUserID#"
    password="#sitePassword#">
    UPDATE feature
    SET
    feature.title=<cfqueryparam cfsqltype="cf_sql_varchar"
    value="#form.title#">,
    feature.Body=<cfqueryparam cfsqltype="cf_sql_longvarchar"
    value="#form.PDSeditor#">,
    feature.MYFile=<cfqueryparam cfsqltype="cf_sql_varchar"
    value="#uploadedfile#" null="#NOT fileuploaded#">
    WHERE ID = <cfqueryparam value="#form.ID#"
    cfsqlType="CF_SQL_INTEGER">
    </cfquery>
    <cfelse><!--- we are inserting a new record --->
    <cfquery datasource="#sitedatasource#"
    username="#siteUserID#"
    password="#sitePassword#">
    INSERT INTO feature
    (title, body, MYFile)
    VALUES
    (<cfqueryparam cfsqltype="cf_sql_varchar"
    value="#form.title#">,
    <cfqueryparam cfsqltype="cf_sql_longvarchar"
    value="#form.PDSeditor#">,
    <cfqueryparam cfsqltype="cf_sql_varchar"
    value="#uploadedfile#"
    null="#NOT fileuploaded#">)
    </cfquery>
    </cfif>
    <!--- relocate user to previous page after insert/update
    --->
    <cflocation url="feature-manager.cfm">
    </cfif>
    hth
    Azadi Saryev
    Sabai-dee.com
    http://www.sabai-dee.com

  • Next previous button in gallery

    Hi guys, been a while, hope everyone is well.  I am having a problem implementing a next/previous button on an image once it has been enlarged in my gallery.  I have done it in pure as3 but all tutorials seem to use the timeline.  I will post my code underneath so you can see what I am up too.  The next/previous button should I think be added to the modelClicked function.
    From what I understand, I will get a next/previous button and turn them into a button object.  I will then delete them from my stage and instantiate them within the class below.  I would then add them to the modelClicked function with events tied to them.  What should I then do in these events to make it fit in with the code below?
    Any advise appreciated,
    Cheers
    Nick
    package classes.models
        import flash.display.Bitmap;
        import flash.display.Loader;
        import flash.display.MovieClip;
        import flash.display.Sprite;
        import flash.geom.Rectangle;
        import flash.events.MouseEvent;
        import flash.events.Event;
        import flash.net.URLRequest;
        import eu.flashlabs.ui.BasicButton;
        import classes.ui.StateClip;
        import classes.ui.Placeholder;
        import classes.utils.URLUtil;
        import classes.vo.ModelsStates;
        import fl.containers.ScrollPane;
        import fl.controls.ProgressBar;
        import com.greensock.TweenLite;
        public class IndividualModel extends StateClip
            // CONSTANTS
            private static const PADDING_TOP:Number= 28;
            private static const PADDING_LEFT:Number= 50;
            private static const COLS:int= 4;
            private static const ROWS:int= 8;
            private static const GAP_HORIZONTAL:Number= 5;
            private static const GAP_VERTICAL:Number= 5;
            // MEMBER VARIABLES
            private var _data:XML;
            public function get data():XML
                return _data;
            public function set data(value:XML):void
                setData(value);
            private var items:Array;
            private var backBtn:BasicButton;
            private var itemsHolder:MovieClip;
            private var loadIndex:int;
            private var sp:ScrollPane;
            private var clonedBitmap:Bitmap;
            private var originalBitmap:Bitmap;
            private var rect:Rectangle;
            private var screen:Sprite = new Sprite();
            public function IndividualModel()
                super();
                items = [];
                addEventListener(Event.ADDED_TO_STAGE, addedToStageHandler);
            private function addedToStageHandler(event:Event):void
                initChildren();
            private function initChildren():void
                itemsHolder = new MovieClip();
                addChild(itemsHolder);
                sp = getChildByName("mc_pane") as ScrollPane;
                backBtn = getChildByName("btn_back") as BasicButton;
                backBtn.addEventListener(MouseEvent.CLICK, backBtn_clickHandler);
                screen.graphics.beginFill(0x111111, .75);
                screen.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
                screen.graphics.endFill();
            public function destroy():void
                clearItems();
            // PUBLIC INTERFACE
            // LAYOUT
            private function clearItems():void
                while (items.length > 0)
                    var item:ModelsItem = items.pop() as ModelsItem;
                    itemsHolder.removeChild(item);
                    item.destroy();
            private function populateItems():void
                for (var i:int = 0; i < Math.min(COLS * ROWS, data.picture.length()); i++)
                    var item:ModelsItem = new ModelsItem();
                    item.data = data.picture[i];
                    item.x = PADDING_LEFT + (i % COLS) * (ModelsItem.ITEM_WIDTH + GAP_HORIZONTAL);
                    item.y = PADDING_TOP + Math.floor(i / COLS) * (ModelsItem.ITEM_HEIGHT + GAP_VERTICAL);
                    /*item.addEventListener(MouseEvent.CLICK, modelClicked);*/
                    itemsHolder.addChild(item);
                    /*item.mouseEnabled = false;*/
                    sp.source = itemsHolder;
                    items.push(item);
                sp.verticalScrollPolicy = "on";
                sp.horizontalScrollPolicy = "off";
                sp.update();
            // PICTURE LOADING
            private function loadNextPicture():void
                if (loadIndex < items.length)
                    var loader:Loader = new Loader();
                    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadNextPicture_completeHandler);
                    var item:ModelsItem = items[loadIndex] as ModelsItem;
                    loader.load(new URLRequest(URLUtil.getURL([email protected]())));
                    /*item.mouseEnabled = true;*/
            private function loadNextPicture_completeHandler(event:Event):void
                event.target.removeEventListener(Event.COMPLETE, loadNextPicture_completeHandler);
                ModelsItem(items[loadIndex]).bitmap = event.target.content as Bitmap;
                ModelsItem(items[loadIndex]).addEventListener(MouseEvent.CLICK, modelClicked);
                loadIndex++;
                loadNextPicture();
            // EVENT HANDLERS
            private function backBtn_clickHandler(event:MouseEvent):void
                state = ModelsStates.HIDDEN;
            private function modelClicked(e:MouseEvent):void
                stage.addChild(screen);
                var item:ModelsItem = e.currentTarget as ModelsItem;
                originalBitmap = item.bitmap;
                clonedBitmap = new Bitmap(originalBitmap.bitmapData.clone());
                stage.addChild(clonedBitmap);
                rect = originalBitmap.getBounds(stage);
                clonedBitmap.x = rect.x;
                clonedBitmap.y = rect.y;
                clonedBitmap.width = rect.width;
                clonedBitmap.height = rect.height;
                clonedBitmap.smoothing = true;
                TweenLite.to(clonedBitmap, 1, { x: (stage.stageWidth - originalBitmap.width) / 4, y: (stage.stageHeight - originalBitmap.height) / 6, onComplete:zoomInFinished, scaleX: 1, scaleY: 1 });
            private function zoomInFinished():void
                trace("Zoom In Finished");
                stage.addEventListener(MouseEvent.CLICK, mouseClicked);
            private function mouseClicked(e:MouseEvent):void
                TweenLite.to(clonedBitmap, 1, { x: rect.x, y: rect.y, onComplete:zoomOutFinished, width: rect.width, height: rect.height});
                stage.removeEventListener(MouseEvent.CLICK, mouseClicked);
            private function zoomOutFinished():void
                trace("Mouse Clicked");
                stage.removeChild(screen);
                stage.removeChild(clonedBitmap);
            // GETTERS & SETTERS
            private function setData(value:XML):void
                _data = value;
                clearItems();
                populateItems();
                loadIndex = 0;
                loadNextPicture();
                state = ModelsStates.SHOWN;
            // UTILS
            override protected function animateInComplete():void
                super.animateInComplete();
                switch (state)
                    case ModelsStates.SHOWN :
                        break;
                    case ModelsStates.HIDDEN :
                        break;

    I don't actually know how you're loading your data.  It's also very difficult to figure out what's happening in your code, since you're extending Classes you don't show. What I can tell you is that you need to store the data about iterating each collection at the level where it's needed. You may want to look at the composite pattern http://www.as3dp.com/2007/05/composite-pattern-book-part-1/ .
    In my opinion, the biggest problem you have is poor separation of concerns--you call things Models that are clearly Views, and because you are storing relevant data in Views rather than simply using your Views to represent data, you're making the task of representing and iterating through your data much harder than it needs to be.
    The ideal structure would be a data structure that has data for each thumbnail in some sort of collection, like an Array or Vector. This data structure would only be responsible for storing the data and maintaining a pointer to the currently selected thumbnail.  When the pointer changes, the data object dispatches a change event, so Views that care about this pointer can update. Each piece of data could then have a member variable that is one of these collections that manages the correct pointer.  That's where the composite pattern comes in.
    Now, the task of building your Views becomes much easier. You have one View that gets a collection and shows all the thumbnails and one View that gets a specific thumbnail, mix and match as needed. The Views, again watch the change event and do whatever they need to do when the pointer changes.
    At this point, who sets the pointer ceases to matter. It can be inside one of your Views or outside any of your Views--when the pointer changes, the View that is watching that particular collection will update, and if the result of that update is that a nested View then watches a different collection, that's ok--it still follows the same principles.

  • Creating next/previous buttons problem

    I am creating next & previous buttons on my main scene. I have created a scrolling photo gallery as well as a random button to randomly select images. I have a photos layer that has 15 images tagged in the AS "img1" "img2"....hopefully this all makes sense so far.
    What script can I use to easily create a next_btn. This is what I currently have
    next_btn.onRelease = function() {
        photos.gotoAndStop("img"+1);
        photos.fader.gotoAndPlay(2);
    "img"+1 goes to the "img1" however I would like it to go to the next img instead of always go to img1. I've tried _currentframe+10 (images are 10 frames apart) and some others but cannot seem to get it to work.
    I would like this to work along with the random button so that when a random image is clicked, the person can click the next button and get to the next image.
    Current script in...
    random_btn.onRelease = function(){
        var picNum:Number
        picNum = Math.ceil(Math.random()*15);
        photos.gotoAndStop("img"+picNum);
        photos.fader.gotoAndPlay(2);
    next_btn.onRelease = function() {
        photos.gotoAndStop("img"+1);
        photos.fader.gotoAndPlay(2);
    if you need any clarification let me know! thanks!

    i'll try to explain this simplier.
    scene 1 (layers)
    inside layers
    AS
    next back btn
    random btn
    photos
    displays images when clicked on from photo gallery
    scrolling photo gallery
    photo gallery + buttons for gallery
    i'm looking to create a simple < > prev and next image buttons.
    My current script from above (original post) hasn't worked out.
    random_btn.onRelease = function(){
        var picNum:Number
        picNum = Math.ceil(Math.random()*15);
        photos.gotoAndStop("img"+picNum);
        photos.fader.gotoAndPlay(2);
    next_btn.onRelease = function() {
        photos.gotoAndStop(picNum+1);
        photos.fader.gotoAndPlay(2);
    I'll take out the random_btn if need be to create just a regular next button and previous button. (i'll worry about tracking the scrolling image gallery later...one issue at a time)
    Thanks again.

  • Xml gallery with thumbnails & next/previous buttons.

    hallo all the wise people,
    sorry to bother you, but i'm kind of desperate, and nobody around to ask, so....
    i've spend now three full days editing an xml gallery... to my needs, and always goes messy, so maybe it's time give up and make my own from the scratch, or looking from a one closer to my needs =/ (helpless).
    could anyone help - maybe any of you by some chance knows a link as close as possible to tutorial/source as3 fla to sthg as close as possible to this:
    a) xml gallery
    b) thumbnails
    c) when thumbnail clicked a big picture shows
    d) next/previous buttons possible
    otherwise, i can also post the code of my gallery where i absolutely can't add next/previous buttons without making a big mess =/
    i will be totally youbie doubie grateful for any help... any, if you only know any good link, 'll try to fugure out a tutorial or edit the source myself....
    thanks in advance

    heyyyo wise one,
    at least this is really  nice of you to ask -  this gallery really makes me by now feel twice as blond as i am 8-0. but this is kinda really nested.
    the xml structure goes like this (this is easy and more or, less standard)(Caption is neglectable, probabaly i will not even display it, unless i have some extra time):
    <MenuItem>
             <picnum>01</picnum>
             <thumb>thumbs/Image00001.jpg</thumb>  
             <picture>Image00001.jpg</picture>
       <Caption>Fist Title</Caption> 
    </MenuItem>
    uaaha, then the as goes. there is the URLloader, but also two different loaders inside (one for the thumbnails, one for the big picture). and this is all inside a for each loop -eh... i was always trying to change the pictLdr behavior - the loader, that loads the big picture.
    anyway the URL loader, and the main function, which is attached to it go like this:
    var myXML:XML = new XML();
    var XML_URL:String = "gallery_config.xml";
    var myXMLURL:URLRequest = new URLRequest(XML_URL);
    var myLoader:URLLoader = new URLLoader(myXMLURL);
    myLoader.addEventListener("complete", xmlLoaded);
    // Create the xmlLoaded function
    function xmlLoaded(event:Event):void
    // Place the xml data into the myXML object
        myXML = XML(myLoader.data);
        // Initialize and give var name to the new external XMLDocument
    var xmlDoc:XMLDocument = new XMLDocument();
    // Ignore spacing around nodes
        xmlDoc.ignoreWhite = true;
    // Define a new name for the loaded XML that is the data in myLoader
        var menuXML:XML = XML(myLoader.data);
    // Parse the XML data into a readable format
        xmlDoc.parseXML(menuXML.toXMLString());
        // Access the value of the "galleryFolder" node in our external XML file
    for each (var galleryFolder:XML in myXML..galleryFolder)
       // Access the value of the "pagenum" node in our external XML file
               var galleryDir:String = galleryFolder.toString();
    //trace (galleryDir);
    //trace (galleryFolder);//output taki sam jak powyżej
    // inicjuję variable flag, która bedzie trzsymac nazwę klikniętego thumbnail
    var flag2:String = null;
    // Set the index number of our loop, increments automatically
    var i:Number = 0;
    // Run the "for each" loop to iterate through all of the menu items listed in the external XML file
    for each (var MenuItem:XML in myXML..MenuItem)
    // Access the value of the "picnum" node in our external XML file
        var picnum:String = MenuItem.picnum.toString();
    // Access the value of the "pagetext" node in our external XML file
        var Caption:String = MenuItem.Caption.toString();
    // Access the value of the "thumb" node in our external XML file
        var thumb:String = MenuItem.thumb.toString();
    // Access the value of the "pagepicture" node in our external XML file
        var picture:String = MenuItem.picture.toString();
    // Just some trace I used for testing, tracing helps debug and fix errors
    //trace(picnum);
    var thumbLdr:Loader = new Loader();
        var thumbURLReq:URLRequest = new URLRequest(galleryDir + thumb);
        thumbLdr.load(thumbURLReq);
    // Create MovieClip holder for each thumb
    var thumb_mc = new MovieClip();
    thumb_mc.addChild(thumbLdr);
    addChildAt(thumb_mc, 1);
      // Create the rectangle used for the clickable button we will place over each thumb
      var rect:Shape = new Shape;
      rect.graphics.beginFill(0xFFFFFF);
      rect.graphics.lineStyle(1, 0x999999);
      rect.graphics.drawRect(0, 0, 80, 80);      
      // Create MovieClip holder for each button, and put that rectangle in it,
      // make button mode true and set it to invisible
      var clip_mc = new MovieClip();
      clip_mc.addChild(rect);
      addChild(clip_mc);
      clip_mc.buttonMode = true;
      clip_mc.alpha = .0;
         // The following four conditionals create the images where the images will live on stage
      // by adjusting math through each row we make sure they are laid out good and not stacked
      // all on top of one another, or spread out in one long row, we need 4 rows, so the math follows
      if (picnum < "05")
           line1xpos = line1xpos + distance; // These lines place row 1 on stage
        clip_mc.x = line1xpos;
        clip_mc.y = yPlacement;
        thumb_mc.x = line1xpos;
        thumb_mc.y = yPlacement;
       else  if (picnum > "04" && picnum < "11")
        line2xpos = line2xpos + distance; // These lines place row 2 on stage  
        clip_mc.x = line2xpos;
        clip_mc.y = 86;
        thumb_mc.x = line2xpos;
        thumb_mc.y = 86;
       else  if (picnum > "10" && picnum < "14")
        line3xpos = line3xpos + distance; // These lines place row 3 on stage
        clip_mc.x = line3xpos;
        clip_mc.y = 172;
        thumb_mc.x = line3xpos;
        thumb_mc.y = 172;
       else  if (picnum > "13" && picnum < "21")
       line4xpos = line4xpos + distance; // These lines place row 4 on stage
       clip_mc.x = line4xpos;
       clip_mc.y = 258;
       thumb_mc.x = line4xpos;
       thumb_mc.y = 258;
       // And now we create the pic loader for the larger images, and load it into "pictLdr"
       var pictLdr:Loader = new Loader();
       var pictURL:String = picture;
          var pictURLReq:URLRequest = new URLRequest(galleryDir + picture);
       //var pictURLReq:URLRequest = new URLRequest("gallery/Image00004.jpg");sprawia,ze zawsze wyswitla sie jeden obrazek
          pictLdr.load(pictURLReq);
       // Access the pic value and ready it for setting up the Click listener, and function
          clip_mc.clickToPic = pictLdr;
       // Access the text value and ready it for setting up the Click listener, and function
       clip_mc.clickToText = Caption;
       //var instName:String = flag();
       // Add the mouse event listener to the moviClip button for clicking
          clip_mc.addEventListener (MouseEvent.CLICK, clipClick);
          // Set the function for what happens when that button gets clicked
       function clipClick(e:Event):void
         // Populate the parent clip named frameSlide with all of the necessary data
         MovieClip(parent).frameSlide.gotoAndPlay("show"); // Makes it appear(slide down)
         MovieClip(parent).frameSlide.caption_txt.text = e.target.clickToText; // Adds the caption
         MovieClip(parent).frameSlide.frame_mc.addChild(e.target.clickToPic); // Adds the big pic
       } // This closes the "for each" loop
    } // And this closes the xmlLoaded function
    and the effect looks like this (it's a sketch, so big pictures are loaded randomly, don;t put too much attention to it): http://bangbangdesign.pl/xmlGallery/gallery29.swf
    but i guess it's a terrible stuff to go through all this. i would be totallly satisfied with a likng to a good tutorial to do it from scratch, or just a hint where to start rebuilding this.
    + in any case i send greetinngs to whereever you are =]

  • Can't get Next/Previous Buttons to work

    Hi,
    I am trying to get the next/previous buttons to work on my jsp page. I have collected data from a resultset and stored it in an arrayList. My problem is that I am getting a null pointer exception when I try to display the jsp. I have a one to many relationship 1 company to many contracts and want to be able to go backwards and forwards through the contracts using the previous/next buttons. Any suggestions would be greatly appreciated. Below is my code:
    <%
    // Connection
    String pid = request.getParameter("partID");
    if (pid == null) {
    pid = "1034";
    String pname = null;
    String ref4 = null;
    String url = null;
    String program = null;
    String tier = null;
    String numcon = null;
    String active = null;
    String publish = null;
    String agreeid = null;
    String type = null;
    String recdate = null;
    String status = null;
    String rendate = null;
    String termdate = null;
    String descrip = null;
    ArrayList agreements = new ArrayList();
    try {
    ResultSet rs = statement.executeQuery("Select p.*, a.agreeid, a.type, a.status, a.recdate, "
    + "a.descrip, a.termdate, a.rendate "
    + "from partDB.partner p, partDB.agreement as a "
    + "where p.partid = '" + pid + "'"
    + "and p.partid=a.partid ");
    while (rs.next()) {
    Agreement agreement = new Agreement();
    agreement.setAgreeID(rs.getString("agreeid"));
    agreement.setPname(rs.getString("pname"));
    agreement.setRef4(rs.getString("ref4"));
    agreement.setUrl(rs.getString("url"));
    agreement.setProgram(rs.getString("program"));
    agreement.setTier(rs.getString("tier"));
    agreement.setNumcon(rs.getString("numcon"));
    agreement.setActive(rs.getString("active"));
    agreement.setPublish(rs.getString("publish"));
    agreement.setType(rs.getString("type"));
    agreement.setRecdate(rs.getString("recdate"));
    agreement.setStatus(rs.getString("status"));
    agreement.setDescrip(rs.getString("descrip"));
    agreement.setRendate(rs.getString("rendate"));
    agreement.setTermdate(rs.getString("termdate"));
    agreements.add(agreement);
    session.setAttribute("agreements", agreements);
    catch (Exception e){
    out.println("<pre>");
    PrintWriter errorOut = new PrintWriter(out);
    e.printStackTrace(errorOut);
    out.println("<br></pre>" + e);
    %>
    <!-- InstanceBeginEditable name="main" -->
    <%
    int agreementIndex = 0;
    agreements = (ArrayList) request.getAttribute("agreements");
    if (agreements == null) {
    request.setAttribute("agreements", agreements);
    if (request.getParameter("agreementIndex") != null) {
    agreementIndex = Integer.parseInt(request.getParameter("agreementIndex"));
    Agreement agreement = (Agreement)agreements.get(agreementIndex);
    int nextIndex = 0;
    int previousIndex = 0;
    if ((agreementIndex+1) >= agreements.size()) {
    nextIndex = -1;
    } else {
    nextIndex = agreementIndex++;
    if ((agreementIndex-1) < 0) {
    previousIndex = -1;
    } else {
    previousIndex = agreementIndex--;
    %>
    <div id="mainentity"><!-- #BeginLibraryItem "/library/oppEntityHeader.lbi" -->
    <div class="section">
    <div class="sectionheader">
    <div class="sectionheadertext">
     General Information<img src="../images/collapsesection.gif" id="general_img" width="12" height="14" border="0" hspace="0" vspace="0" title="" alt="" style="vertical-align:middle" /> General Information
    </div>
    <div class="sectionbody" id="general">
    <div class="formfields">
    <table border="0" cellpadding="0" cellspacing="0">
    <tr><td class="formfieldlabel">Partner Name:</td><td class="formfieldvalue"><%=agreement.getPname() %></td></tr>
    <tr><td class="formfieldlabel">Contract:</td><td class="formfieldvalue"><%= agreement.getRef4() %></td></tr>
    <tr><td class="formfieldlabel">URL:</td><td class="formfieldvalue"><%= agreement.getUrl() %></td></tr>
    <tr><td class="formfieldlabel">Program:</td><td class="formfieldvalue"><%= agreement.getProgram() %></td></tr>
    <tr><td class="formfieldlabel">Tier:</td><td class="formfieldvalue"><%= agreement.getTier() %></td></tr>
    <tr><td class="formfieldlabel"># of Consultants:</td><td class="formfieldvalue"><%= agreement.getNumcon() %></td></tr>
    <tr><td class="formfieldlabel">Active:</td><td class="formfieldvalue"><%= agreement.getActive() %></td></tr>
    <tr><td class="formfieldlabel">Publish to Web:</td><td class="formfieldvalue"><%= agreement.getPublish() %></td></tr>
    </table>
    </div>
    </div>
    </div>
    <div class="dialogbuttons">
    <input type="button" value=" Edit " class="mmhide_btn" onmouseover="hov(this,'mmhide_btn mmhide_btnhov')" onmouseout="hov(this,'mmhide_btn')" onclick="window.location.href='#'" />
    </div>
    </div>
    <br>
    <div class="section">
    <div class="sectionheader">
    <div class="sectionheadertext">
     Agreement(s)<img src="../images/collapsesection.gif" id="codes_img" width="12" height="14" border="0" hspace="0" vspace="0" title="" alt="" style="vertical-align:middle" /> Agreement(s)
    </div>
    <div class="sectionbody" id="codes">
    <div class="formfields">
    <table border="0" cellpadding="0" cellspacing="0">
    <tr><td class="formfieldlabel">Agreement:</td><td class="formfieldvalue"><%= agreement.getType() %></td></tr>
    <tr><td class="formfieldlabel">Received Date:</td><td class="formfieldvalue"><%= agreement.getRecdate() %></td></tr>
    <tr><td class="formfieldlabel">Status:</td><td class="formfieldvalue"><%= agreement.getStatus() %></td></tr>
    <tr><td class="formfieldlabel">Description:</td><td class="formfieldvalue"><%= agreement.getDescrip() %></td></tr>
    <tr><td class="formfieldlabel">Renewal Date:</td><td class="formfieldvalue"><%= agreement.getRendate() %></td></tr>
    <tr><td class="formfieldlabel">Termination Date:</td><td class="formfieldvalue"><%= agreement.getTermdate() %></td></tr>
    </table>
    </div>
    </div>
    </div>
    <div class="dialogbuttons">
    <tr><td id="dialogbuttons" colspan="3">
    <!-- InstanceBeginEditable name="wizardbuttons" -->
    <%
    if (previousIndex != -1) {
    %>
    <input type="button" value="Previous" class="mmhide_btn" onmouseover="hov(this,'mmhide_btn mmhide_btnhov')" onmouseout="hov(this,'mmhide_btn')" onclick="window.location.href='/partDB/partners/PartnerAgree.jsp?agreementIndex=' + <%=previousIndex%>" />
    <%
    } else {
    %>
    <input type="button" value="Previous" class="mmhide_btn" onmouseover="hov(this,'mmhide_btn mmhide_btnhov')" onmouseout="hov(this,'mmhide_btn')" onclick="" disabled="disabled" />
    <%
    %>
    <%
    if (nextIndex != -1) {
    %>
    <input type="button" value=" Next " class="mmhide_btn" onmouseover="hov(this,'mmhide_btn mmhide_btnhov')" onmouseout="hov(this,'mmhide_btn')" onclick="window.location.href='/partDB/partners/PartnerAgree.jsp?agreementIndex=' + <%=nextIndex%>" />
    <%
    } else {
    %>

    Hi Annie,
    Below is the code as I have it now and am still getting the null pointer exception. Thanks for looking at this for me, I have been struggling with it since before Christmas!
    <%
    // Connection
    String pid = request.getParameter("partID");
    if (pid == null) {
    pid = "1034";
    String pname = null;
    String ref4 = null;
    String url = null;
    String program = null;
    String tier = null;
    String numcon = null;
    String active = null;
    String publish = null;
    String agreeid = null;
    String type = null;
    String recdate = null;
    String status = null;
    String rendate = null;
    String termdate = null;
    String descrip = null;
    ArrayList agreements = new ArrayList();
    %>
    <!-- InstanceBeginEditable name="main" -->
    <%
    int agreementIndex = 0;
    agreements = (ArrayList) request.getAttribute("agreements");
    if (agreements == null) {
    try {
    ResultSet rs = statement.executeQuery("Select p.*, a.agreeid, a.type, a.status, a.recdate, "
    + "a.descrip, a.termdate, a.rendate "
    + "from partDB.partner p, partDB.agreement as a "
    + "where p.partid = '" + pid + "'"
    + "and p.partid=a.partid ");
    while (rs.next()) {
    Agreement agreement = new Agreement();
    agreement.setAgreeID(rs.getString("agreeid"));
    agreement.setPname(rs.getString("pname"));
    agreement.setRef4(rs.getString("ref4"));
    agreement.setUrl(rs.getString("url"));
    agreement.setProgram(rs.getString("program"));
    agreement.setTier(rs.getString("tier"));
    agreement.setNumcon(rs.getString("numcon"));
    agreement.setActive(rs.getString("active"));
    agreement.setPublish(rs.getString("publish"));
    agreement.setType(rs.getString("type"));
    agreement.setRecdate(rs.getString("recdate"));
    agreement.setStatus(rs.getString("status"));
    agreement.setDescrip(rs.getString("descrip"));
    agreement.setRendate(rs.getString("rendate"));
    agreement.setTermdate(rs.getString("termdate"));
    agreements.add(agreement);
    session.setAttribute("agreements", agreements);
    catch (Exception e){
    out.println("<pre>");
    PrintWriter errorOut = new PrintWriter(out);
    e.printStackTrace(errorOut);
    out.println("<br></pre>" + e);
    request.setAttribute("agreements", agreements);
    if (request.getParameter("agreementIndex") != null) {
    agreementIndex = Integer.parseInt(request.getParameter("agreementIndex"));
    Agreement agreement = (Agreement)agreements.get(agreementIndex);
    int nextIndex = 0;
    int previousIndex = 0;
    if ((agreementIndex+1) >= agreements.size()) {
    nextIndex = -1;
    } else {
    nextIndex = agreementIndex++;
    if ((agreementIndex-1) < 0) {
    previousIndex = -1;
    } else {
    previousIndex = agreementIndex--;
    %>
    <div id="mainentity"><!-- #BeginLibraryItem "/library/oppEntityHeader.lbi" -->
    <div class="section">
    <div class="sectionheader">
    <div class="sectionheadertext">
     General Information<img src="../images/collapsesection.gif" id="general_img" width="12" height="14" border="0" hspace="0" vspace="0" title="" alt="" style="vertical-align:middle" /> General Information
    </div>
    <div class="sectionbody" id="general">
    <div class="formfields">
    <table border="0" cellpadding="0" cellspacing="0">
    <tr><td class="formfieldlabel">Partner Name:</td><td class="formfieldvalue"><%=agreement.getPname() %></td></tr>
    <tr><td class="formfieldlabel">Contract:</td><td class="formfieldvalue"><%= agreement.getRef4() %></td></tr>
    <tr><td class="formfieldlabel">URL:</td><td class="formfieldvalue"><%= agreement.getUrl() %></td></tr>
    <tr><td class="formfieldlabel">Program:</td><td class="formfieldvalue"><%= agreement.getProgram() %></td></tr>
    <tr><td class="formfieldlabel">Tier:</td><td class="formfieldvalue"><%= agreement.getTier() %></td></tr>
    <tr><td class="formfieldlabel"># of Consultants:</td><td class="formfieldvalue"><%= agreement.getNumcon() %></td></tr>
    <tr><td class="formfieldlabel">Active:</td><td class="formfieldvalue"><%= agreement.getActive() %></td></tr>
    <tr><td class="formfieldlabel">Publish to Web:</td><td class="formfieldvalue"><%= agreement.getPublish() %></td></tr>
    </table>
    </div>
    </div>
    </div>
    <div class="dialogbuttons">
    <input type="button" value=" Edit " class="mmhide_btn" onmouseover="hov(this,'mmhide_btn mmhide_btnhov')" onmouseout="hov(this,'mmhide_btn')" onclick="window.location.href='#'" />
    </div>
    </div>
    <br>
    <div class="section">
    <div class="sectionheader">
    <div class="sectionheadertext">
     Agreement(s)<img src="../images/collapsesection.gif" id="codes_img" width="12" height="14" border="0" hspace="0" vspace="0" title="" alt="" style="vertical-align:middle" /> Agreement(s)
    </div>
    <div class="sectionbody" id="codes">
    <div class="formfields">
    <table border="0" cellpadding="0" cellspacing="0">
    <tr><td class="formfieldlabel">Agreement:</td><td class="formfieldvalue"><%= agreement.getType() %></td></tr>
    <tr><td class="formfieldlabel">Received Date:</td><td class="formfieldvalue"><%= agreement.getRecdate() %></td></tr>
    <tr><td class="formfieldlabel">Status:</td><td class="formfieldvalue"><%= agreement.getStatus() %></td></tr>
    <tr><td class="formfieldlabel">Description:</td><td class="formfieldvalue"><%= agreement.getDescrip() %></td></tr>
    <tr><td class="formfieldlabel">Renewal Date:</td><td class="formfieldvalue"><%= agreement.getRendate() %></td></tr>
    <tr><td class="formfieldlabel">Termination Date:</td><td class="formfieldvalue"><%= agreement.getTermdate() %></td></tr>
    </table>
    </div>
    </div>
    </div>
    <div class="dialogbuttons">
    <tr><td id="dialogbuttons" colspan="3">
    <!-- InstanceBeginEditable name="wizardbuttons" -->
    <%
    if (previousIndex != -1) {
    %>
    <input type="button" value="Previous" class="mmhide_btn" onmouseover="hov(this,'mmhide_btn mmhide_btnhov')" onmouseout="hov(this,'mmhide_btn')" onclick="window.location.href='/partDB/partners/PartnerAgree.jsp?agreementIndex=' + <%=previousIndex%>" />
    <%
    } else {
    %>
    <input type="button" value="Previous" class="mmhide_btn" onmouseover="hov(this,'mmhide_btn mmhide_btnhov')" onmouseout="hov(this,'mmhide_btn')" onclick="" disabled="disabled" />
    <%
    %>
    <%
    if (nextIndex != -1) {
    %>
    <input type="button" value=" Next " class="mmhide_btn" onmouseover="hov(this,'mmhide_btn mmhide_btnhov')" onmouseout="hov(this,'mmhide_btn')" onclick="window.location.href='/partDB/partners/PartnerAgree.jsp?agreementIndex=' + <%=nextIndex%>" />
    <%
    } else {
    %>
    <input type="button" value=" Next " class="mmhide_btn" onmouseover="hov(this,'mmhide_btn mmhide_btnhov')" onmouseout="hov(this,'mmhide_btn')" onclick="" disabled="disabled" />
    <%
    %>

Maybe you are looking for

  • Mismatch in Balance of J2I8 with Cenvat receivable - Basic - CG NY A/c

    Dear Gurus, We have take dump of Cenvat receivable - Basic - CG NY A/c  using FS10N & then try to tally it with  J2I8  figure but it doesn't match each other. J2I8 shows less amount approx 41 laks. After go through the J2I8 dump what I found that a s

  • Exchange Management Console Initialization Error

    Hi I been round a week looking on the Web for a solution but after try a lot of solution and anyone solve my problem I desire to make a Post here. I have Exchange Server 2010 Running over Microsoft Server 2008 R2, after 3 week running good I install

  • I've Just restored one of my HDD and now I can't boot up from it

    I had a problem with one of my system hard drives so I folloewd the instructions in Disc Utility, Backed up to time machine , reformatted and restored. Now I cant select it in Startup disc, Disc Utility says it is bootable but Owners Enabled-No Thank

  • Late 2012 Mac Desktop running Yosemite is going beyond slow...any advice?

    Problem description: MAC Desk top running Yosimite Running super super slow. minutes to do anything. late 2012 mac desk top 1 tBite harddrive EtreCheck version: 2.1.5 (108) Report generated 24 December 2014 9:51:14 am NZDT Click the [Support] links f

  • Sequencing in Quiz Mode

    Hello, Does anyone know if it's possible to ungroup the drop-down boxes that display with the Sequencing quiz type? I'd like to be able to superimpose the drop-downs on a graphic, and move the boxes where I want. Thanks!