/*
================================================================================
   Horizontal Image Scroller
   Jeff, www.huntingground.freeserve.co.uk

   2008.12.28 JRoy - modifications
   Show the N pics for 5 secs, then scroll to show the next N
================================================================================
*/

scrollU_imgPlaces=6;   // number of images visible
scrollU_imgHeight=65;  // height of the images
scrollU_imgWidth=64;   // width of the images
scrollU_imgSpacer=2;   // space between the images (keep it a multiple of 2)
                       // width + spacer should be multiple of step
scrollU_step = 3;      // how much to scroll in each step
scrollU_frame_cnt = 1; // number of frames to scroll
scrollU_interval = 50; // millisec between each move
scrollU_dir=0;         // 0 = left, 1 = right
scrollU_newWin=0;      // Open a new window for links, 0 = no, 1 = yes

scrollU_freeze_interval=7500; // how long to show each frame
scrollU_steps_per_frame = ((scrollU_imgWidth + scrollU_imgSpacer) /
                           (scrollU_step));
scrollU_step_cnt = scrollU_steps_per_frame * scrollU_frame_cnt;
scrollU_step_num = 0;
scrollU_timer = "";

scrollU_containerWidth = ((scrollU_imgPlaces*scrollU_imgWidth)) +
                         ((scrollU_imgPlaces - 1) * scrollU_imgSpacer);

scrollU_moz = document.getElementById&&!document.all;

scrollU_nextPic = 0;
scrollU_initPos = new Array();
scrollU_nowDivPos = new Array();

function scrollU__init(scrollU_container, display_area) {
    for(var i=0; i < scrollU_imgPlaces + 1; i++) { // create image holders
        scrollU_newImg = document.createElement("IMG");
        scrollU_newImg.setAttribute("id","scrollU_pic_"+i);
        scrollU_newImg.setAttribute("src","");
        scrollU_newImg.style.position = "absolute";
        scrollU_newImg.style.width = scrollU_imgWidth+"px";
        scrollU_newImg.style.height = scrollU_imgHeight+"px";
        scrollU_newImg.style.border = "1px solid #000000";
        scrollU_newImg.title = "";
        scrollU_newImg.i = i;
        scrollU_newImg.onclick = function(){scrollU__win(scrollU_data[this.i][2])}
        document.getElementById(display_area).appendChild(scrollU_newImg);
    }

    scrollU_containerEL = document.getElementById(scrollU_container);
    scrollU_displayArea = document.getElementById(display_area);
    scrollU_pic0 = document.getElementById("scrollU_pic_0");

    scrollU_containerBorder = (document.compatMode=="CSS1Compat"?0:parseInt(scrollU_containerEL.style.borderWidth)*2);
    // scrollU_containerEL.style.width = scrollU_containerWidth + (!scrollU_moz?scrollU_containerBorder:"") + "px";
    scrollU_containerEL.style.width = scrollU_containerWidth + "px";
    // scrollU_containerEL.style.height = scrollU_imgHeight + (!scrollU_moz?scrollU_containerBorder:"") + "px";
    scrollU_containerEL.style.height = scrollU_imgHeight + "px";

    scrollU_displayArea.style.width = scrollU_containerWidth + "px";
    scrollU_displayArea.style.clip = "rect(0,"+(scrollU_containerWidth+"px") + "," + (scrollU_imgHeight+"px") + ",0)";
    if (scrollU_interval < 200) {
        // continuous scrolling
        scrollU_displayArea.onmouseover = function(){scrollU__stop();};
        scrollU_displayArea.onmouseout = function(){scrollU__scroll();};
    }

    scrollU_imgPos = -scrollU_pic0.width;

    for(var i=0; i < scrollU_imgPlaces + 1; i++) {
        scrollU_currentImage = document.getElementById("scrollU_pic_"+i);

        if (scrollU_dir == 0) {scrollU_imgPos += scrollU_pic0.width + (scrollU_imgSpacer/2);} // if left // JRoy hack

        scrollU_initPos[i] = scrollU_imgPos;
        if (scrollU_dir == 0) {scrollU_currentImage.style.left = scrollU_initPos[i]+"px";} // if left

        if (scrollU_dir == 1) { // if right
            document.getElementById("scrollU_pic_"+[(scrollU_imgPlaces-i)]).style.left = scrollU_initPos[i]+"px";
            scrollU_imgPos += scrollU_pic0.width + (scrollU_imgSpacer/2); // JRoy hack
        }

        if (scrollU_nextPic == scrollU_data.length) {scrollU_nextPic = 0;}

        scrollU_currentImage.src = scrollU_data[scrollU_nextPic][0];
        scrollU_currentImage.title = scrollU_data[scrollU_nextPic][1];
        scrollU_currentImage.i = scrollU_nextPic;
        scrollU_currentImage.onclick = function(){scrollU__win(scrollU_data[this.i][2]);};
        scrollU_nextPic++;
    }

    setTimeout("scrollU__scroll()", scrollU_freeze_interval);
};

function scrollU__scroll() {

    scrollU_step_num++;
    clearTimeout(scrollU_timer)

    for(var i=0; i < scrollU_imgPlaces + 1; i++) {
        scrollU_currentImage = document.getElementById("scrollU_pic_"+i);
        scrollU_nowDivPos[i] = parseInt(scrollU_currentImage.style.left);
        if (scrollU_dir==0) {scrollU_nowDivPos[i] -= scrollU_step;}
        if (scrollU_dir==1) {scrollU_nowDivPos[i] += scrollU_step;}

        if (scrollU_dir==0 && scrollU_nowDivPos[i] <= -(scrollU_pic0.width+scrollU_imgSpacer) ||
            scrollU_dir==1 && scrollU_nowDivPos[i] > scrollU_containerWidth) {

            if (scrollU_dir==0) {scrollU_currentImage.style.left = scrollU_containerWidth + scrollU_imgSpacer + "px";}
            if (scrollU_dir==1) {scrollU_currentImage.style.left = -scrollU_pic0.width - (scrollU_imgSpacer*2) + "px";}

            if (scrollU_nextPic > scrollU_data.length - 1) {scrollU_nextPic = 0;}

            scrollU_currentImage.src = scrollU_data[scrollU_nextPic][0];
            scrollU_currentImage.title = scrollU_data[scrollU_nextPic][1];
            scrollU_currentImage.i = scrollU_nextPic;
            scrollU_currentImage.onclick = function(){scrollU__win(scrollU_data[this.i][2]);};

            scrollU_nextPic++;

        } else {
            scrollU_currentImage.style.left=scrollU_nowDivPos[i]+"px"
        }
    }

    if (scrollU_step_num < scrollU_step_cnt) {
        scrollU_timer = setTimeout("scrollU__scroll()", scrollU_interval);
    } else {
        scrollU_step_num = 0;
        scrollU_timer = setTimeout("scrollU__scroll()", scrollU_freeze_interval);
    }
};

function scrollU__stop() {
    clearTimeout(scrollU_timer);
};

function scrollU__win(loc) {
    if (loc == "") {return}
    if (scrollU_newWin == 0) {
        location = loc;
    } else {
        // window.open(loc)
        // newin = window.open(loc,'win1','left=430,top=340,width=300,height=300');
        // use for specific size and positioned window
        // newin.focus()
        akfOpenWindow(loc, 840, 625, 'yes');
    }
};

