/*
================================================================================
   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
================================================================================
*/

scrollM_imgPlaces=3;   // number of images visible
scrollM_imgWidth=154;  // width of the images
scrollM_imgHeight=162; // height of the images
scrollM_imgSpacer=8;   // space between images
scrollM_dir=0;         // 0 = left, 1 = right
scrollM_newWin=0;      // Open a new window for links, 0 = no, 1 = yes

scrollM_freeze_interval=8000; // how long to show each frame
scrollM_interval = 1;         // millisec between each move
scrollM_step = (scrollM_imgWidth + scrollM_imgSpacer); // 
               // to scroll N frames => ((imgWidth + Spacer) * N)
scrollM_containerWidth = ((scrollM_imgPlaces * scrollM_imgWidth)) +
                         ((scrollM_imgPlaces - 1) * scrollM_imgSpacer);
scrollM_step_cnt = ((scrollM_imgWidth + scrollM_imgSpacer) / scrollM_step);
// alert("scrollM_containerWidth=" + scrollM_containerWidth + ", scrollM_step=" + scrollM_step + ", scrollM_step_cnt=" + scrollM_step_cnt);
scrollM_step_num = 0;
scrollM_timer = "";

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

scrollM_nextPic = 0;
scrollM_initPos = new Array();
scrollM_nowDivPos = new Array();

function scrollM__init(scrollM_container, display_area) {
    for(var i=0; i < scrollM_imgPlaces + 2; i++) { // create image holders
        scrollM_newImg = document.createElement("IMG");
        scrollM_newImg.setAttribute("id","scrollM_pic_"+i);
        scrollM_newImg.setAttribute("src","");
        scrollM_newImg.style.position = "absolute";
        scrollM_newImg.style.width = scrollM_imgWidth+"px";
        scrollM_newImg.style.height = scrollM_imgHeight+"px";
        scrollM_newImg.style.border = "1px solid #000000";
        scrollM_newImg.title = "";
        scrollM_newImg.i = i;
        scrollM_newImg.onclick = function(){scrollM__win(scrollM_data[this.i][2])}
        document.getElementById(display_area).appendChild(scrollM_newImg);
    }

    scrollM_containerEL = document.getElementById(scrollM_container);
    scrollM_displayArea = document.getElementById(display_area);
    scrollM_pic0 = document.getElementById("scrollM_pic_0");

    scrollM_containerBorder = (document.compatMode=="CSS1Compat"?0:parseInt(scrollM_containerEL.style.borderWidth)*2);
    // scrollM_containerEL.style.width = scrollM_containerWidth + (!scrollM_moz?scrollM_containerBorder:"") + "px";
    scrollM_containerEL.style.width = scrollM_containerWidth + "px";
    // scrollM_containerEL.style.height = scrollM_imgHeight + (!scrollM_moz?scrollM_containerBorder:"") + "px";
    scrollM_containerEL.style.height = scrollM_imgHeight + "px";

    scrollM_displayArea.style.width = scrollM_containerWidth + "px";
    scrollM_displayArea.style.clip = "rect(0,"+(scrollM_containerWidth+"px") + "," + (scrollM_imgHeight+"px") + ",0)";
    if (scrollM_interval < 200) {
        // continuous scrolling
        scrollM_displayArea.onmouseover = function(){scrollM__stop();};
        scrollM_displayArea.onmouseout  = function(){scrollM__restart();};
    }

    scrollM_imgPos = -scrollM_pic0.width;

    for(var i=0; i < scrollM_imgPlaces + 2; i++) {
        scrollM_currentImage = document.getElementById("scrollM_pic_"+i);

        if (scrollM_dir == 0) {scrollM_imgPos += scrollM_pic0.width + (scrollM_imgSpacer/2) ;} // if left // JRoy hack

        scrollM_initPos[i] = scrollM_imgPos;
        if (scrollM_dir == 0) {scrollM_currentImage.style.left = scrollM_initPos[i]+"px";} // if left

        if (scrollM_dir == 1) { // if right
            document.getElementById("scrollM_pic_"+[(scrollM_imgPlaces-i)]).style.left = scrollM_initPos[i]+"px";
            scrollM_imgPos += scrollM_pic0.width + (scrollM_imgSpacer/2); // JRoy hack
        }

        if (scrollM_nextPic == scrollM_data.length) {scrollM_nextPic = 0;}

        scrollM_currentImage.src = scrollM_data[scrollM_nextPic][0];
        scrollM_currentImage.title = scrollM_data[scrollM_nextPic][1];
        scrollM_currentImage.i = scrollM_nextPic;
        scrollM_currentImage.onclick = function(){scrollM__win(scrollM_data[this.i][2]);};
        scrollM_nextPic++;
    }

    setTimeout("scrollM__scroll()", scrollM_freeze_interval);
};

function scrollM__scroll() {

    scrollM_step_num++;
    clearTimeout(scrollM_timer)

    for(var i=0; i < scrollM_imgPlaces + 2; i++) {
        scrollM_currentImage = document.getElementById("scrollM_pic_"+i);
        scrollM_nowDivPos[i] = parseInt(scrollM_currentImage.style.left);
        if (scrollM_dir==0) {scrollM_nowDivPos[i] -= scrollM_step;}
        if (scrollM_dir==1) {scrollM_nowDivPos[i] += scrollM_step;}

        if (scrollM_dir==0 && scrollM_nowDivPos[i] <= -(scrollM_pic0.width+scrollM_imgSpacer) ||
            scrollM_dir==1 && scrollM_nowDivPos[i] > scrollM_containerWidth) {

            if (scrollM_dir==0) {scrollM_currentImage.style.left = scrollM_containerWidth + scrollM_imgSpacer + "px";}
            if (scrollM_dir==1) {scrollM_currentImage.style.left = -scrollM_pic0.width - (scrollM_imgSpacer*2) + "px";}

            if (scrollM_nextPic > scrollM_data.length - 1) {scrollM_nextPic = 0;}

            scrollM_currentImage.src = scrollM_data[scrollM_nextPic][0];
            scrollM_currentImage.title = scrollM_data[scrollM_nextPic][1];
            scrollM_currentImage.i = scrollM_nextPic;
            scrollM_currentImage.onclick = function(){scrollM__win(scrollM_data[this.i][2]);};

            scrollM_nextPic++;

        } else {
            scrollM_currentImage.style.left=scrollM_nowDivPos[i]+"px"
        }
    }

    if (scrollM_step_num < scrollM_step_cnt) {
        scrollM_timer = setTimeout("scrollM__scroll()", scrollM_interval);
    } else {
        scrollM_step_num = 0;
        scrollM_timer = setTimeout("scrollM__scroll()", scrollM_freeze_interval);
    }
};

function scrollM__stop() {
    clearTimeout(scrollM_timer);
};

function scrollM__restart() {
    clearTimeout(scrollM_timer);
    scrollM_step_num = 0;
    scrollM_timer = setTimeout("scrollM__scroll()", scrollM_freeze_interval/2);
};

function scrollM__win(loc) {
    if (loc == "") {return}
    if (scrollM_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');
    }
};

