/**************************************************************** * Scrolling Image Gallery * * * * Javascript functions for scrolling images by using offset * * on 3 DIVs, replacing images based on image URLs contained * * in an array of arrays and using CSS properties contained in * * ernest_beutel_style.css * ***************************************************************/ /**************************************************************** * Global variables: * * * * int array_select = specifies top level array to display * * (top level array specifies painting series) * * * * int next_image_num = specifies which image within top * * level array to display * * Array image_array[][] = array of array (series & images) * * * * bool scrolling_div = if true, gallery images scroll * * if false, gallery paused * * * * off_set_1 - 3 = specify gallery div.style.left * * *************************************************************/ var array_select; var image_gap; var next_image_num; var image_series_array; var scrolling_div; var off_set_1, off_set_2, off_set_3, off_set_4; var preload1 = new Array(); var preload2 = new Array(); var preload3 = new Array(); var preload4 = new Array(); var disclaimer_up = false; /**************************************** * initialize_scroller() * * * * Sets up the div offsets for * * scrolling gallery * * - called by scroller_setup * * * ***************************************/ function initialize_scroller() { image_gap = 12; off_set_1 = 0; var newImg = new Image(); newImg.src = image_series_array[array_select][next_image_num]; document.getElementById("image_1").src = newImg.src; off_set_2 = newImg.width + image_gap; delete newImg; newImg = new Image(); next_image_num = (next_image_num+1)%image_series_array[array_select].length; newImg.src = image_series_array[array_select][next_image_num]; document.getElementById("image_2").src = newImg.src; document.getElementById("gallery_image_2").style.left = off_set_2+"px"; off_set_3 = off_set_2 + newImg.width + image_gap; delete newImg; newImg = new Image(); next_image_num = (next_image_num+1)%image_series_array[array_select].length; newImg.src = image_series_array[array_select][next_image_num]; document.getElementById("image_3").src = newImg.src; document.getElementById("gallery_image_3").style.left = off_set_3+"px"; off_set_4 = off_set_3 + newImg.width + image_gap; delete newImg; newImg = new Image(); next_image_num = (next_image_num+1)%image_series_array[array_select].length; newImg.src = image_series_array[array_select][next_image_num]; document.getElementById("image_4").src = newImg.src; document.getElementById("gallery_image_4").style.left = off_set_4+"px"; } /**************************************** * preload_images() * * * * Recursively calls itself until * * all images are loaded. If * * final is true, and loaded last * * image, then disclaimer div gets * * link. * ***************************************/ function preload_images(preload_array, img_hold_array, count, final) { var i = 0; for (i=0; i < preload_array.length; i++) { img_hold_array[i] = new Image(100,100); img_hold_array[i].src = preload_array[i]; } if (final) document.getElementById('disclaimer_content').innerHTML='

'; } /**************************************** * scroller_setup() * * * * Scroller initialization. * * Starts gallery viewer displaying * * first series. * * * ***************************************/ function scroller_setup() { /****** initialize gallery image arrays *******/ var pic; var pic_count; var new_eieioh_array = new Array("./images/paintings/ernest_willie.jpg","./images/paintings/ernest_whosdat.JPG","./images/paintings/ernest_watermelon man.JPG","./images/paintings/ernest_swarm.jpg","./images/paintings/ernest_swamp thing.jpg","./images/paintings/ernest_still life 2006.JPG","./images/paintings/ernest_sinner or saint.JPG","./images/paintings/ernest_sharkey.JPG","./images/paintings/ernest_scrubber dragons.jpg","./images/paintings/ernest_radioactive monkey love.jpg","./images/paintings/ernest_protector.jpg","./images/paintings/ernest_prometheus.JPG","./images/paintings/ernest_pondering.jpg","./images/paintings/ernest_polly.JPG","./images/paintings/ernest_politics.JPG","./images/paintings/ernest_pinball wizard.jpg","./images/paintings/ernest_paul.JPG","./images/paintings/ernest_no words.jpg","./images/paintings/ernest_mister happy.jpg","./images/paintings/ernest_lil pig.jpg","./images/paintings/ernest_jimmy.JPG","./images/paintings/ernest_jaws vs bambi.jpg","./images/paintings/ernest_it exists.JPG","./images/paintings/ernest_greasepan.JPG","./images/paintings/ernest_golden elie.JPG","./images/paintings/ernest_fuzzy wuzzy.jpg","./images/paintings/ernest_electrik aleks.jpg","./images/paintings/ernest_doylie dog.jpg","./images/paintings/ernest_dot your goat.jpg","./images/paintings/ernest_cow pox.jpg","./images/paintings/ernest_color composition.jpg","./images/paintings/ernest_clown fish.jpg","./images/paintings/ernest_chicken scratch.jpg","./images/paintings/ernest_broken.jpg","./images/paintings/ernest_blockhead.jpg","./images/paintings/ernest_big al.jpg","./images/paintings/ernest_at work.JPG"); preload_images(new_eieioh_array, preload1, 0, false); var miniatures_array = new Array("./images/drawings/watch.JPG","./images/drawings/rampage.JPG","./images/drawings/playground.JPG","./images/drawings/pink toyd.JPG","./images/drawings/pigpen.JPG","./images/drawings/paranoia.jpg","./images/drawings/otherside.jpg","./images/drawings/narcissus.jpg","./images/drawings/lildipper.jpg","./images/drawings/lil zeus.jpg","./images/drawings/like a disease.jpg","./images/drawings/jimbabwe.jpg","./images/drawings/honey bear.JPG","./images/drawings/hippo.JPG","./images/drawings/helping hand.JPG","./images/drawings/helmet head.JPG","./images/drawings/good boy.jpg","./images/drawings/frogger.jpg","./images/drawings/frogeyes.jpg","./images/drawings/fearless frog.JPG","./images/drawings/ernest_watch.JPG","./images/drawings/ernest_rampage.JPG","./images/drawings/ernest_playground.JPG","./images/drawings/ernest_pink toyd.JPG","./images/drawings/ernest_pigpen.JPG","./images/drawings/ernest_paranoia.jpg","./images/drawings/ernest_otherside.jpg","./images/drawings/ernest_nightmare.jpg","./images/drawings/ernest_narcissus.jpg","./images/drawings/ernest_lildipper.jpg","./images/drawings/ernest_lil zeus.jpg","./images/drawings/ernest_like a disease.jpg","./images/drawings/ernest_jimbabwe.jpg","./images/drawings/ernest_honey bear.JPG","./images/drawings/ernest_hippo.JPG","./images/drawings/ernest_helping hand.JPG","./images/drawings/ernest_helmet head.JPG","./images/drawings/ernest_good boy.jpg","./images/drawings/ernest_frogger.jpg","./images/drawings/ernest_frogeyes.jpg","./images/drawings/ernest_fearless frog.JPG","./images/drawings/ernest_dr blackthumb.jpg","./images/drawings/ernest_dog.JPG","./images/drawings/ernest_devil.JPG","./images/drawings/ernest_carrotnose.tif","./images/drawings/ernest_bigdipper.jpg","./images/drawings/ernest_bear it.JPG","./images/drawings/ernest_bad camo.jpg","./images/drawings/ernest_applejack tower.jpg","./images/drawings/ernest_2 Dog Night_.JPG","./images/drawings/dog.JPG","./images/drawings/devil.JPG","./images/drawings/carrotnose.tif","./images/drawings/bigdipper.jpg","./images/drawings/bear it.JPG","./images/drawings/bad camo.jpg","./images/drawings/applejack tower.jpg"); preload_images(miniatures_array, preload2, 0, false); var mosaics_array = new Array("./images/murals/ernest_two tusk explosion.jpg","./images/murals/ernest_old macdonald.jpg","./images/murals/ernest_moveable feast.jpg","./images/murals/ernest_lone strawberry.jpg","./images/murals/ernest_dry brush grape.jpg","./images/murals/ernest_cartoon.jpg","./images/murals/ernest_candlelight.jpg"); preload_images(mosaics_array, preload3, 0, false); var murals_array = new Array("./images/plein_air/ernest_welcome to Beach Harbor.jpg","./images/plein_air/ernest_orchard.jpg","./images/plein_air/ernest_june_christmas.jpg","./images/plein_air/ernest_fight club.jpg","./images/plein_air/ernest_ pagoda porsche.jpg"); preload_images(murals_array, preload4, 0, true); image_series_array = new Array(new_eieioh_array, miniatures_array, mosaics_array, murals_array); /****** initialize array counters ************/ next_image_num = 0; array_select = 0; /****** initialize divs *********/ initialize_scroller(); /****** start scroller ********/ scrolling_div = true; new_series_starts_div = 1; scroller(); } /************************************************************************** * scroller(offset for 1st div, offset for 2nd div, offset for 3rd div) * * * * * *************************************************************************/ function scroller() { var newImage = new Image(); var width_1 = document.getElementById("image_1").width; var width_2 = document.getElementById("image_2").width; var width_3 = document.getElementById("image_3").width; var width_4 = document.getElementById("image_4").width; if (off_set_1 <= -width_1) { off_set_1 = width_2 + width_3 + width_4 + 4*image_gap; next_image_num=(next_image_num +1)%image_series_array[array_select].length; newImage.src = image_series_array[array_select][next_image_num]; document.getElementById("image_1").src = newImage.src; /* document.getElementById("gallery_image_1").style.width = newImage.width; */ delete newImage; } if (off_set_2 <= -width_2) { off_set_2 = width_1 + width_3 + width_4 + 4*image_gap; next_image_num=(next_image_num +1)%image_series_array[array_select].length; newImage.src = image_series_array[array_select][next_image_num]; document.getElementById("image_2").src = newImage.src; /* document.getElementById("gallery_image_2").style.width = newImage.width; */ delete newImage; } if (off_set_3 <= -width_3) { off_set_3 = width_1 + width_2 + width_4 + 4*image_gap; next_image_num=(next_image_num +1)%image_series_array[array_select].length; newImage.src = image_series_array[array_select][next_image_num]; document.getElementById("image_3").src = newImage.src; /* document.getElementById("gallery_image_3").style.width = newImage.width; */ delete newImage; } if (off_set_4 <= -width_4) { off_set_4 = width_1 + width_2 + width_3 + 4*image_gap; next_image_num=(next_image_num +1)%image_series_array[array_select].length; newImage.src = image_series_array[array_select][next_image_num]; document.getElementById("image_4").src = newImage.src; /* document.getElementById("gallery_image_4").style.width = newImage.width; */ delete newImage; } if (scrolling_div) { off_set_1--; off_set_2--; off_set_3--; off_set_4--; } document.getElementById("gallery_image_1").style.left=off_set_1+'px'; document.getElementById("gallery_image_2").style.left=off_set_2+'px'; document.getElementById("gallery_image_3").style.left=off_set_3+'px'; document.getElementById("gallery_image_4").style.left=off_set_4+'px'; delete newImage; setTimeout( "scroller();", 10); } /************************************************************************** * pause_scroller(true/false) * * * * on image mouse over, scrolling is paused * *************************************************************************/ function pause_scroller(pause_scroll) { scrolling_div = !pause_scroll; } /**************************************** * setArray(integer value starts at 1) * * * * Called when gallery links are * * clicked by user - specifies top * * level array (series) to display * * * ***************************************/ function setArray(series_num) { next_image_num = 0; array_select = series_num-1; initialize_scroller(); } function hideDisclaimer() { document.getElementById("disclaimer_div").style.visibility="hidden"; } function showExternalLinks(div_name, wrapper_div, value) { if (value) { document.getElementById(div_name).style.visibility="visible"; document.getElementById(wrapper_div).style.visibility="visible"; } else { document.getElementById(div_name).style.visibility="hidden"; document.getElementById(wrapper_div).style.visibility="hidden"; } }