// JavaScript Document //----------------------------------------------------------- //----------------------------------------------------------- //----------------------------------------------------------- //private var m_nImgCurrent; var m_strImgPrefix; var m_nDisplayCount; var m_strTargetFrame; var m_nFirstThumb; var m_strURL; var m_bSsSpeedMin = 500; var m_nSsInterval = 500; var m_bSsSpeed = 5000; var m_bSlideShow = false; var m_strImgCounter = null; var m_strSsLink = null; var pThumbs = new Array(); function setSettings(i_nDisplayCount, i_strImgPrefix, i_strTargetFrame, i_strURL, i_strImgCounter, i_strSsLink) { m_nDisplayCount = i_nDisplayCount; m_strImgPrefix = i_strImgPrefix; m_strTargetFrame = i_strTargetFrame; m_strURL = i_strURL; m_strImgCounter = i_strImgCounter; m_strSsLink = i_strSsLink; setSlideShowLink(false); m_nFirstThumb = 0; } //----------------------------------------------------------- function doShowLoading(i_strImgCounter) { var pCounter = document.getElementById(i_strImgCounter); if(pCounter) pCounter.innerHTML = "loading..."; } //----------------------------------------------------------- function doClearBorders() { for(var i = 0; i < pThumbs.length; i++) { var pImg = pThumbs[i]; pImg.border=0; } } //----------------------------------------------------------- function getABSIndex(i_nDispIndex) { return m_nFirstThumb + i_nDispIndex; } //----------------------------------------------------------- function setSlideShow(i_bRunning) { m_bSlideShow = i_bRunning; setSlideShowLink(m_bSlideShow); } //----------------------------------------------------------- //----------------------------------------------------------- //----------------------------------------------------------- //protected function doDisplayImages() { //calculate scrolling // alert(m_nFirstThumb); // alert(m_nImgCurrent); if(m_nImgCurrent < m_nFirstThumb || m_nImgCurrent > (m_nFirstThumb + (m_nDisplayCount - 1))) { if(m_nImgCurrent < m_nFirstThumb) m_nFirstThumb = m_nImgCurrent; else m_nFirstThumb = m_nImgCurrent - (m_nDisplayCount - 1); } for(var i = 0; i < m_nDisplayCount; i++) { var pImg = pThumbs[m_nFirstThumb + i]; var nTotalPos = pImg.height; var pImage = document.images[m_strImgPrefix + i]; if(pImage != null) { pImage.src = pImg.src; pImage.alt = pImg.name; pImage.title = pImg.name; pImage.name = String(nTotalPos); pImage.border = pImg.border; } else { alert("Error : Image container name wrong or out of container bounds"); return; } } } //----------------------------------------------------------- function setPositionText() { var strText = String(m_nImgCurrent + 1) + " of " + String(pThumbs.length); var pCounter = document.getElementById(m_strImgCounter); if(pCounter) pCounter.innerHTML = strText; } //----------------------------------------------------------- function doMarkCurrImg() { doClearBorders(); var pImg = pThumbs[m_nImgCurrent]; pImg.border=2; } //----------------------------------------------------------- function setSlideShowLink(i_bStart) { var pLink = document.getElementById(m_strSsLink); if(pLink == null) return; var nSpeed = m_bSsSpeed / 1000; if(i_bStart) pLink.innerHTML = "Stop Slideshow (" + nSpeed.toFixed(1) + "s)" else pLink.innerHTML = "Start Slideshow (" + nSpeed.toFixed(1) + "s)"; } //----------------------------------------------------------- function setFrameURL() { var strTarget = m_strURL + '#' + pThumbs[m_nImgCurrent].lowsrc; frames[m_strTargetFrame].location.href = strTarget; } //----------------------------------------------------------- //----------------------------------------------------------- //----------------------------------------------------------- //public function doInitImages(i_nDisplayCount, i_strImgPrefix, i_strTargetFrame, i_strURL, i_strImgCounter, i_strSsLink) { setSettings(i_nDisplayCount, i_strImgPrefix, i_strTargetFrame, i_strURL, i_strImgCounter, i_strSsLink); setCurrImage(0); } //----------------------------------------------------------- function doInitImagesFromDoc(i_nDisplayCount, i_strImgPrefix, i_strTargetFrame, i_strURL, i_strImgCounter, i_strSsLink) { setSettings(i_nDisplayCount, i_strImgPrefix, i_strTargetFrame, i_strURL, i_strImgCounter, i_strSsLink); for(var i = 0; i < m_nDisplayCount; i++) { var pImage = document.images[m_strImgPrefix + i]; if(pImage != null) { pImg = new Image(); pImg.src = pImage.src; pImg.name = pImage.alt; pImg.lowsrc = pImage.name; pImg.height = i; //store index in object (mis-use "height") pThumbs.push(pImg); } else { alert("Error : Image container name wrong or out of container bounds"); return; } } setCurrImage(0); } //----------------------------------------------------------- function doAddImage(i_strSource, i_strAlt, i_strTargetURL) { pImg = new Image(); pImg.src = i_strSource; pImg.name = i_strAlt; pImg.lowsrc = i_strTargetURL; pImg.height = pThumbs.length -1; //store index in object (mis-use "height") pThumbs.push(pImg); } //----------------------------------------------------------- function setCurrImage(i_nIndex) { if(i_nIndex < 0 || i_nIndex > pThumbs.length - 1) return; m_nImgCurrent = i_nIndex; setPositionText(); doMarkCurrImg(); doDisplayImages(); setFrameURL(); } //----------------------------------------------------------- //----------------------------------------------------------- //----------------------------------------------------------- function setToImage(i_nDispCont) { setSlideShow(false); if(isNaN(i_nDispCont)) setCurrImage(Number(i_nDispCont.name)); else setCurrImage(getABSIndex(i_nDispCont)); } //----------------------------------------------------------- function setImgByTextMarker(i_strTextMarker) { if(i_strTextMarker == "" || i_strTextMarker == null) return; for(var i = 0; i < pThumbs.length; i++) { var pImg = pThumbs[i]; if(pImg.lowsrc == i_strTextMarker) { setCurrImage(i); break; } } } //----------------------------------------------------------- function setNextImg() { setSlideShow(false); if(m_nImgCurrent < pThumbs.length - 1) setCurrImage(++m_nImgCurrent); } //----------------------------------------------------------- function setPrevImg() { setSlideShow(false); if(m_nImgCurrent > 0) setCurrImage(--m_nImgCurrent); } //----------------------------------------------------------- function setLastImg() { setSlideShow(false); setCurrImage(pThumbs.length - 1); } //----------------------------------------------------------- function setFirstImg() { setSlideShow(false); setCurrImage(0); } //----------------------------------------------------------- //----------------------------------------------------------- //Slide Show function setSsSpeed(i_bFaster) { if(i_bFaster) { if(m_bSsSpeed > m_bSsSpeedMin) m_bSsSpeed -= m_nSsInterval; } else m_bSsSpeed += m_nSsInterval; setSlideShowLink(m_bSlideShow); } //----------------------------------------------------------- function doSsImage() { if(!m_bSlideShow) return; var nImgCurrent = m_nImgCurrent; if(nImgCurrent == pThumbs.length -1) nImgCurrent = 0; else nImgCurrent++; setCurrImage(nImgCurrent); setTimeout("doSsImage()", m_bSsSpeed); } //----------------------------------------------------------- function doSwitchShow() { setSlideShow(!m_bSlideShow); if(m_bSlideShow) doSsImage(); //setTimeout("doSsImage()", m_bSsSpeed); }