var Pic = new Array(); // picture file name var PicW = new Array(); // picture width var PicH = new Array(); // picture height var PicC = new Array(); // picture comment var preLoad = new Array(); Pic[0] = 'photos/20080309_langkawi/IMG_3132.JPG'; PicW[0] = 480; PicH[0] = 640; PicC[0] = '  '; preLoad[0] = new Image(); Pic[1] = 'photos/20080309_langkawi/IMG_3135.JPG'; PicW[1] = 640; PicH[1] = 480; PicC[1] = '  '; preLoad[1] = new Image(); Pic[2] = 'photos/20080309_langkawi/IMG_3145.JPG'; PicW[2] = 640; PicH[2] = 480; PicC[2] = '  '; preLoad[2] = new Image(); Pic[3] = 'photos/20080309_langkawi/IMG_3147.JPG'; PicW[3] = 640; PicH[3] = 480; PicC[3] = '  '; preLoad[3] = new Image(); Pic[4] = 'photos/20080309_langkawi/IMG_3149.JPG'; PicW[4] = 640; PicH[4] = 480; PicC[4] = '  '; preLoad[4] = new Image(); Pic[5] = 'photos/20080309_langkawi/IMG_3152.JPG'; PicW[5] = 640; PicH[5] = 480; PicC[5] = '  '; preLoad[5] = new Image(); Pic[6] = 'photos/20080309_langkawi/IMG_3153.JPG'; PicW[6] = 640; PicH[6] = 480; PicC[6] = '  '; preLoad[6] = new Image(); Pic[7] = 'photos/20080309_langkawi/IMG_3159.JPG'; PicW[7] = 640; PicH[7] = 480; PicC[7] = '  '; preLoad[7] = new Image(); Pic[8] = 'photos/20080309_langkawi/IMG_3161.JPG'; PicW[8] = 640; PicH[8] = 480; PicC[8] = '  '; preLoad[8] = new Image(); Pic[9] = 'photos/20080309_langkawi/IMG_3163.JPG'; PicW[9] = 640; PicH[9] = 480; PicC[9] = '  '; preLoad[9] = new Image(); Pic[10] = 'photos/20080309_langkawi/IMG_3164.JPG'; PicW[10] = 480; PicH[10] = 640; PicC[10] = '  '; preLoad[10] = new Image(); Pic[11] = 'photos/20080309_langkawi/IMG_3167.JPG'; PicW[11] = 640; PicH[11] = 480; PicC[11] = '  '; preLoad[11] = new Image(); Pic[12] = 'photos/20080309_langkawi/IMG_3169.JPG'; PicW[12] = 640; PicH[12] = 480; PicC[12] = '  '; preLoad[12] = new Image(); Pic[13] = 'photos/20080309_langkawi/IMG_3170.JPG'; PicW[13] = 640; PicH[13] = 480; PicC[13] = '  '; preLoad[13] = new Image(); Pic[14] = 'photos/20080309_langkawi/IMG_3177.JPG'; PicW[14] = 640; PicH[14] = 480; PicC[14] = '  '; preLoad[14] = new Image(); Pic[15] = 'photos/20080309_langkawi/IMG_3181.JPG'; PicW[15] = 640; PicH[15] = 480; PicC[15] = '  '; preLoad[15] = new Image(); Pic[16] = 'photos/20080309_langkawi/IMG_3182.JPG'; PicW[16] = 640; PicH[16] = 480; PicC[16] = '  '; preLoad[16] = new Image(); Pic[17] = 'photos/20080309_langkawi/IMG_3183.JPG'; PicW[17] = 480; PicH[17] = 640; PicC[17] = '  '; preLoad[17] = new Image(); Pic[18] = 'photos/20080309_langkawi/IMG_3184.JPG'; PicW[18] = 480; PicH[18] = 640; PicC[18] = '  '; preLoad[18] = new Image(); Pic[19] = 'photos/20080309_langkawi/IMG_3195.JPG'; PicW[19] = 480; PicH[19] = 640; PicC[19] = '  '; preLoad[19] = new Image(); Pic[20] = 'photos/20080309_langkawi/IMG_3196.JPG'; PicW[20] = 480; PicH[20] = 640; PicC[20] = '  '; preLoad[20] = new Image(); Pic[21] = 'photos/20080309_langkawi/IMG_3201.JPG'; PicW[21] = 480; PicH[21] = 640; PicC[21] = '  '; preLoad[21] = new Image(); Pic[22] = 'photos/20080309_langkawi/IMG_3202.JPG'; PicW[22] = 480; PicH[22] = 640; PicC[22] = '  '; preLoad[22] = new Image(); Pic[23] = 'photos/20080309_langkawi/IMG_3209.JPG'; PicW[23] = 640; PicH[23] = 480; PicC[23] = '  '; preLoad[23] = new Image(); Pic[24] = 'photos/20080309_langkawi/IMG_3213.JPG'; PicW[24] = 480; PicH[24] = 640; PicC[24] = '  '; preLoad[24] = new Image(); Pic[25] = 'photos/20080309_langkawi/IMG_3214.JPG'; PicW[25] = 480; PicH[25] = 640; PicC[25] = '  '; preLoad[25] = new Image(); Pic[26] = 'photos/20080309_langkawi/IMG_3216.JPG'; PicW[26] = 480; PicH[26] = 640; PicC[26] = '  '; preLoad[26] = new Image(); Pic[27] = 'photos/20080309_langkawi/IMG_3219.JPG'; PicW[27] = 480; PicH[27] = 640; PicC[27] = '  '; preLoad[27] = new Image(); Pic[28] = 'photos/20080309_langkawi/IMG_3221.JPG'; PicW[28] = 640; PicH[28] = 480; PicC[28] = '  '; preLoad[28] = new Image(); Pic[29] = 'photos/20080309_langkawi/IMG_3223.JPG'; PicW[29] = 480; PicH[29] = 640; PicC[29] = '  '; preLoad[29] = new Image(); Pic[30] = 'photos/20080309_langkawi/IMG_3228.JPG'; PicW[30] = 640; PicH[30] = 480; PicC[30] = '  '; preLoad[30] = new Image(); Pic[31] = 'photos/20080309_langkawi/IMG_3229.JPG'; PicW[31] = 480; PicH[31] = 640; PicC[31] = '  '; preLoad[31] = new Image(); Pic[32] = 'photos/20080309_langkawi/IMG_3232.JPG'; PicW[32] = 480; PicH[32] = 640; PicC[32] = '  '; preLoad[32] = new Image(); // alert("111 preLoadPic ix = "+0+":::"+preLoad[0].name); // Set slideShowSpeed (milliseconds) var slideShowSpeed = 5000 // Agent sniffer shamelessly 'stolen' from the excellent X library from cross-browser.com var xOp7=false,xOp5or6=false,xIE4Up=false,xNN4=false,xUA=navigator.userAgent.toLowerCase(); if(window.opera){ xOp7=(xUA.indexOf('opera 7')!=-1 || xUA.indexOf('opera/7')!=-1); if (!xOp7) xOp5or6=(xUA.indexOf('opera 5')!=-1 || xUA.indexOf('opera/5')!=-1 || xUA.indexOf('opera 6')!=-1 || xUA.indexOf('opera/6')!=-1); } else if(document.layers) xNN4=true; else {xIE4Up=document.all && xUA.indexOf('msie')!=-1 && parseInt(navigator.appVersion)>=4;} // Duration of crossfade (seconds) var crossFadeDuration = 1 // Specify the image files var t = -1; var pos = 0; var posNext = 0; var status_slideshow = 0; var count_entry = 0; var html; function preLoadPic(index) { if (index >= 0 && index < Pic.length) { if (preLoad[index].src == "") { preLoad[index].src = "albums/"+Pic[index]; // alert("preLoadPic ix = "+index); // alert("preLoadPic"); } } else { Alert("Error : invalid index."); } } function startSlideShow() { if (Pic.length == 0) { // No picture to start slide show. Alert("Error : Pic.length is less than or equal to 0."); } else if (t == -1) { // Only when the slide show has not been started, // then start it. posNext = pos; if ((posNext+1) < Pic.length) { // Can increment var pos. Thus increment. posNext++; } else if ((posNext +1) >= Pic.length) { // Cannot increment var pos. Thus restart from beginning. posNext = 0; } status_slideshow = 1; count_entry = 0; playSlideShow(); window.status='Starting Slide Show ... '+window.status; } } function playSlideShow() { if (Pic.length <= 0) { endSlideShow(); Alert("Error : Pic.length is less than or equal to 0."); return; } if (preLoad[posNext].src == "") { endSlideShow(); Alert("Error : preLoad[posNext].src is empty"); return; } if (! preLoad[posNext].complete) { // The next picture is not completely loaded. if (count_entry == 3) { // Already attempted 3 times. Abort. endSlideShow(); window.status='Slide show halted. Connection speed is too slow.'; Alert("Error : Connection speed is too slow for slide show."); } else { window.status='Loading Picture '+(posNext+1)+' of '+Pic.length+', '+Pic[posNext]; if (count_entry > 0) { window.status = window.status + ', '+count_entry; } if (t == -1) { t = window.setInterval('playSlideShow();', 3000); // alert("timer started"); } } count_entry++; } else { // The next picture has been completely loaded. // Show the next picture pos = posNext; count_entry = 0; changeSlide(); window.status='Showing Picture '+(pos+1)+' of '+Pic.length; if (status_slideshow != 0 && (posNext+1) < Pic.length) { // Slide show is being played. // Preload the next picture. posNext++; preLoadPic(posNext); if (t == -1) { // Although it is now in the slide show mode, but // the timer has not been started. Thus, start it. t = window.setInterval('playSlideShow();', 3000); } } else { // Slide show is not being played OR slide show has ended. if (status_slideshow != 0) { window.status=window.status+', '+'Slide Show Ended.'; } endSlideShow(); } if (status_slideshow == 0) { // Not in slide show mode. // Also preload the next and the prev photo if ((pos+1) < Pic.length) preLoadPic(pos+1); if (pos > 0) preLoadPic(pos-1); } } } function endSlideShow() { if (t != -1) { window.clearInterval(t); t = -1; } // window.status=''; status_slideshow = 0; } function changeSlide() { if (xIE4Up) { if (document.all) { //document.images.SlideShow.style.filter= "blendTrans(duration=crossFadeDuration)" document.all.SlideShow.style.filter="blendTrans(duration=1)"; document.all.SlideShow.filters.blendTrans.Apply(); } } writeInnerHTML(); if (xIE4Up) { if (document.all) { document.all.SlideShow.filters.blendTrans.Play(); } } displayComment(); return true; } function writeInnerHTML() { html = ""; html += "\n"; html += "\n"; html += "
\n"; html += " 0) { posNext = pos - 1; playSlideShow(); } } function firstPhoto() { endSlideShow(); posNext = 0; playSlideShow(); } function lastPhoto() { endSlideShow(); if (Pic.length > 0) { posNext = Pic.length - 1; playSlideShow(); } } function gotoPhoto(num) { endSlideShow(); if (num > 0 && num <= Pic.length) { pos = num - 1; if (preLoad[pos].src == "" || ! preLoad[pos].complete) { // The next picture is not completely loaded. preLoadPic(pos); writeInnerHTML(); displayComment(); } else { changeSlide(); } // Also preload the next and the prev photo if ((pos+1) < Pic.length) preLoadPic(pos+1); if (pos > 0) preLoadPic(pos-1); } } function displayComment() { html = "Album 37 : 2008 March, Langkawi
"; html += "Photo "+(pos+1)+" of "+Pic.length+"
"; html += PicC[pos]; html += "
"; document.getElementById("TitleAndComments").innerHTML = html; } function load() { displayComment(); // Display the first picture. gotoPhoto(1); // Preload the last picture. if (Pic.length>0) preLoadPic(Pic.length-1); }