var gallery_array = {"2011": {"2011_09_24_glacier_basin": {"display": "Glacier Basin", "images": ["IMG_1670.jpg","IMG_1682.jpg","IMG_1688.jpg","IMG_1704.jpg","IMG_1713.jpg","IMG_1714.jpg","IMG_1721.jpg","IMG_1722.jpg","IMG_1728.jpg","IMG_1743.jpg","IMG_1755.jpg","IMG_1758.jpg","IMG_1761.jpg","IMG_1765.jpg","IMG_1774.jpg","IMG_1779.jpg","IMG_1788.jpg","IMG_1792.jpg","IMG_1798.jpg","IMG_1807.jpg","IMG_1816.jpg","IMG_1819.jpg","IMG_1824.jpg","IMG_1851.jpg","IMG_1871.jpg","IMG_1887.jpg"]}, "2011_10_09_scenic_fall_drive": {"display": "Scenic Fall Drive", "images": ["IMG_1910.jpg","IMG_1913.jpg","IMG_1918.jpg","IMG_1939.jpg","IMG_1960.jpg","IMG_1973.jpg","IMG_1980.jpg","IMG_2009.jpg","IMG_2011.jpg"]}, "2011_10_16_mt_baker": {"display": "Mt Baker", "images": ["IMG_2033.jpg","IMG_2053.jpg","IMG_2059.jpg","IMG_2067.jpg","IMG_2070.jpg","IMG_2073.jpg","IMG_2088.jpg","IMG_2089.jpg","IMG_2096.jpg","IMG_2104.jpg","IMG_2112.jpg"]}, "2011_11_20_lime_kiln": {"display": "Lime Kiln", "images": ["IMG_2054.jpg","IMG_2060.jpg","IMG_2068.jpg","IMG_2069.jpg","IMG_2073.jpg"]}, "2011_11_25_pittock_mansion": {"display": "Pittock Mansion", "images": ["IMG_2155.jpg","IMG_2162.jpg","IMG_2164.jpg","IMG_2170.jpg","IMG_2176.jpg","IMG_2181.jpg","IMG_2182.jpg"]}, "2011_11_26_grotto_lights": {"display": "Grotto Lights", "images": ["IMG_2212.jpg","IMG_2238.jpg","IMG_2240.jpg","IMG_2263.jpg","IMG_2280.jpg"]}, "2011_12_17_cabin_on_camano": {"display": "Cabin On Camano", "images": ["IMG_2331.jpg","IMG_2333.jpg","IMG_2337.jpg","IMG_2347.jpg","IMG_2352.jpg","IMG_2358.jpg"]}}, "2012": {"2012_01_08_lanham_lake": {"display": "Lanham Lake", "images": ["IMG_2420.jpg","IMG_2443.jpg","IMG_2454.jpg","IMG_2467.jpg","IMG_2484.jpg","IMG_2508.jpg","IMG_2511.jpg"]}, "2012_01_14_snow_at_home": {"display": "Snow At Home", "images": ["IMG_2550.jpg","IMG_2553.jpg","IMG_2571.jpg","IMG_2574.jpg","IMG_2585.jpg","IMG_2629.jpg"]}, "2012_01_28_kitsap": {"display": "Kitsap", "images": ["IMG_12674.jpg","IMG_22683.jpg","IMG_32256.jpg","IMG_42259.jpg","IMG_52267.jpg","IMG_62713.jpg","IMG_72288.jpg","IMG_82290.jpg","IMG_92299.jpg","IMG_992300.jpg"]}, "2012_02_18_missoula": {"display": "Missoula", "images": ["IMG_2370.jpg","IMG_2371.jpg","IMG_2378.jpg","IMG_2720.jpg"]}, "2012_02_19_mount_rushmore": {"display": "Mount Rushmore", "images": ["IMG_2762.jpg","IMG_2768.jpg","IMG_2771.jpg","IMG_2774.jpg"]}, "2012_02_22_tulsa_birdwatching": {"display": "Tulsa Birdwatching", "images": ["IMG_2782.jpg","IMG_2785.jpg","IMG_2792.jpg","IMG_2796.jpg","IMG_2801.jpg","IMG_2805.jpg","IMG_2806.jpg","IMG_2814.jpg","IMG_2820.jpg","IMG_2830.jpg","IMG_2832.jpg","IMG_2838.jpg"]}, "2012_02_24_tulsa_riverwalk": {"display": "Tulsa Riverwalk", "images": ["IMG_3086.jpg","IMG_3109.jpg","IMG_3112.jpg","IMG_3120.jpg","IMG_3133.jpg"]}, "2012_02_24_tulsa_woodward_park": {"display": "Tulsa Woodward Park", "images": ["IMG_2918.jpg","IMG_2923.jpg","IMG_2938.jpg","IMG_2953.jpg","IMG_2979.jpg","IMG_2982.jpg","IMG_2992.jpg","IMG_3010.jpg","IMG_3012.jpg","IMG_3017.jpg","IMG_3019.jpg","IMG_3043.jpg","IMG_3046.jpg","IMG_3053.jpg","IMG_3062.jpg"]}, "2012_02_25_oklahoma_city_bombing_memorial": {"display": "Oklahoma City Bombing Memorial", "images": ["IMG_3435.jpg","IMG_3436.jpg","IMG_3437.jpg","IMG_3448.jpg","IMG_3453.jpg","IMG_3460.jpg","IMG_3462.jpg"]}, "2012_02_25_oklahoma_city_bricktown": {"display": "Oklahoma City Bricktown", "images": ["IMG_3395.jpg","IMG_3414.jpg","IMG_3423.jpg","IMG_3428.jpg","IMG_3429.jpg"]}, "2012_02_25_oklahoma_city_myriad_gardens": {"display": "Oklahoma City Myriad Gardens", "images": ["IMG_3153.jpg","IMG_3154.jpg","IMG_3160.jpg","IMG_3162.jpg","IMG_3201.jpg","IMG_3204.jpg","IMG_3209.jpg","IMG_3212.jpg","IMG_3223.jpg","IMG_3227.jpg","IMG_3229.jpg","IMG_3232.jpg","IMG_3248.jpg","IMG_3274.jpg","IMG_3278.jpg","IMG_3282.jpg","IMG_3288.jpg","IMG_3296.jpg","IMG_3313.jpg","IMG_3345.jpg","IMG_3377.jpg","IMG_3380.jpg","IMG_3384.jpg","IMG_3385.jpg","IMG_3388.jpg","IMG_3392.jpg"]}, "2012_07_29_big_four_ice_caves": {"display": "Big Four Ice Caves", "images": ["IMG_5060.jpg","IMG_5077.jpg","IMG_5085.jpg","IMG_5095.jpg","IMG_5109.jpg","IMG_5110.jpg","IMG_5116.jpg","IMG_5131.jpg"]}, "2012_07_29_upper_skagit_river": {"display": "Upper Skagit River", "images": ["IMG_5142.jpg","IMG_5145.jpg","IMG_5166.jpg","IMG_5185.jpg","IMG_5197.jpg","IMG_5199.jpg","IMG_5210.jpg","IMG_5212.jpg","IMG_5223.jpg","IMG_5240.jpg","IMG_5246.jpg","IMG_5253.jpg"]}, "2012_12_30_wenatchee_crest": {"display": "Wenatchee Crest", "images": ["IMG_6390.jpg","IMG_6396.jpg","IMG_6413.jpg","IMG_6430.jpg","IMG_6439.jpg","IMG_6448.jpg","IMG_6462.jpg","IMG_6469.jpg","IMG_6474.jpg","IMG_6484.jpg","IMG_6493.jpg","IMG_6521.jpg","IMG_6523.jpg","IMG_6540.jpg","IMG_6543.jpg","IMG_6558.jpg"]}}, "2013": {"2013_01_20_gold_creek": {"display": "Gold Creek", "images": ["IMG_6654.jpg","IMG_6657.jpg","IMG_6669.jpg","IMG_6694.jpg","IMG_6709.jpg","IMG_6716.jpg","IMG_6718.jpg","IMG_6720.jpg","IMG_6721.jpg","IMG_6725.jpg","IMG_6755.jpg","IMG_6760.jpg","IMG_6772.jpg","IMG_6780.jpg","IMG_6788.jpg","IMG_6791.jpg","IMG_6800.jpg","IMG_6802.jpg","IMG_6815.jpg","IMG_6820.jpg","IMG_6830.jpg"]}, "2013_01_21_frost_at_home": {"display": "Frost At Home", "images": ["IMG_6864.jpg","IMG_6866.jpg","IMG_6881.jpg","IMG_6888.jpg","IMG_6924.jpg","IMG_6937.jpg","IMG_6945.jpg","IMG_6946.jpg","IMG_6957.jpg"]}, "2013_01_21_poo_poo_point": {"display": "Poo Poo Point", "images": ["IMG_6971.jpg","IMG_6979.jpg","IMG_6984.jpg","IMG_6987.jpg","IMG_7008.jpg","IMG_7014.jpg","IMG_7025.jpg","IMG_7038.jpg","IMG_7039.jpg","IMG_7058.jpg","IMG_7060.jpg","IMG_7078.jpg"]}, "2013_02_10_UW_botanic_garden": {"display": "UW Botanic Garden", "images": ["IMG_7292.jpg","IMG_7294.jpg","IMG_7299.jpg","IMG_7312.jpg","IMG_7323.jpg","IMG_7327.jpg","IMG_7331.jpg","IMG_7336.jpg","IMG_7340.jpg","IMG_7352.jpg","IMG_7357.jpg","IMG_7362.jpg","IMG_7374.jpg"]}}}; var all_pictures = new Array(); function get_image_list() { for(key in gallery_array) { for(key2 in gallery_array[key]) { for(key3 in gallery_array[key][key2]['images']) { image_url = key2 + '/' + gallery_array[key][key2]['images'][key3]; all_pictures.push(image_url); } } } } function get_years() { selectbox = document.getElementById('year_picker'); add_option(selectbox,'Select a Year',''); for(key in gallery_array) { add_option(selectbox,key,key); } } function check_request() { if (typeof gallery != 'undefined') { validate_and_load_gallery(gallery); } } function get_galleries() { selectbox = document.getElementById('gallery_picker'); remove_all_options(selectbox); add_option(selectbox,'Select a Gallery',''); for(key in gallery_array) { if(key == document.getElementById('year_picker').value) { for(key2 in gallery_array[key]) { add_option(selectbox,gallery_array[key][key2]['display'],key2); } } } } function remove_all_options(selectbox) { var i; for(i=selectbox.options.length-1;i>=0;i--) { selectbox.remove(i); } } function add_option(selectbox,text,value) { var new_option = document.createElement('OPTION'); new_option.text = text; new_option.value = value; selectbox.options.add(new_option); } function set_dropdown(selectbox,value) { for (var i = 0; i < selectbox.options.length; i++) { if (selectbox.options[i].value === value) { selectbox.selectedIndex = i; break; } } } function load_gallery(dir) { if (dir != '') { var box = document.getElementById('gallery_container'); while(box.firstChild) { box.removeChild(box.firstChild); } var year = dir.substr(0,4); var gallery_title = document.getElementById('gallery_title'); var gallery_date = document.getElementById('gallery_date'); gallery_title.innerText = gallery_array[year][dir]['display']; var date_string = dir.substr(0,10); date_string = date_string.replace(/_/g," - "); gallery_date.innerText = date_string; // set gallery link var url_box = document.getElementById('gallery_url'); url_box.value = 'http://www.kenkistler.com/gallery.php?g=' + dir; url_box.size = url_box.value.length + 20; // show scroll_to_top button document.getElementById('scroll_button').style.visibility = 'visible'; // add images to DOM for(key in gallery_array[year][dir]['images']) { image_url = 'pictures/' + dir + '/' + gallery_array[year][dir]['images'][key]; var image = document.createElement('img'); image.setAttribute('src',image_url); box.appendChild(image); } } } function validate_and_load_gallery(gallery) { var year = gallery.substr(0,4); if(year in gallery_array) { if(gallery in gallery_array[year]) { set_dropdown(document.getElementById('year_picker'),year); get_galleries(); set_dropdown(document.getElementById('gallery_picker'),gallery); load_gallery(gallery); } } } function date_today() { var d = new Date(); document.write(d.getFullYear() + ' - ' + ('0' + (d.getMonth() + 1)).slice(-2) + ' - ' + ('0' + d.getDate()).slice(-2)); } // center image based on size, padding, and border function center_image(img) { img.parentNode.style.marginLeft = '-' + Math.floor(img.offsetWidth / 2) + 'px'; img.parentNode.style.top = '-' + Math.floor(img.offsetHeight / 2) + 'px'; img.parentNode.style.visibility = 'visible'; } // place gallery link in correct spot for given image size function place_link(img, link) { link.style.top = Math.floor(img.offsetHeight / 2) + 10 + 'px'; } function toggle_display(obj, delay) { if(obj.style.display != 'inline') { setTimeout(function() { obj.style.display = 'inline'; }, delay); } else { setTimeout(function() { obj.style.display = 'none'; }, delay); } } function toggle_link(obj) { if(obj.style.display != 'inline') { var link_box = document.getElementById('link_box'); link_box.className = "link_box_expanded"; link_box.firstChild.className = "link_box_img_exp"; link_box.firstChild.title = 'Hide Link'; toggle_display(obj, 300); document.getElementById('gallery_url').focus(); document.getElementById('gallery_url').select(); } else { var link_box = document.getElementById('link_box'); link_box.className = "link_box"; link_box.firstChild.className = "link_box_img"; link_box.firstChild.title = 'Show Link'; toggle_display(obj, 0); } } /* deprecated */ function scroll_to_top() { var distance = self.pageYOffset; var speed = Math.round(distance / 100); if (speed >= 20) speed = 20; var step = Math.round(distance / 25); var move_y = distance - step; var timer = 0; for (var i=distance; i>0; i-=step) { setTimeout("window.scrollTo(0, "+move_y+")", timer * speed); move_y -= step; if (move_y < 0) move_y = 0; timer++; } } function element_y_position(id) { var node = document.getElementById(id); var y = node.offsetTop; while (node.offsetParent && node.offsetParent != document.body) { node = node.offsetParent; y += node.offsetTop; } return y; } function scroll_to_element(id) { var start = self.pageYOffset; var stop = element_y_position(id); var distance = stop - start; if (Math.abs(distance) < 4) { window.scrollTo(0, stop); return; } var step = (distance > 0) ? Math.ceil(distance / 8) : Math.floor(distance / 8); start += step; window.scrollTo(0, start); setTimeout(function(){scroll_to_element(id);},8); } //---------------------------------------------------------------------------------------- // The Central Randomizer 1.3 (C) 1997 by Paul Houle (houle@msc.cornell.edu) // See: http://www.msc.cornell.edu/~houle/javascript/randomizer.html rnd.today=new Date(); rnd.seed=rnd.today.getTime(); function rnd() { rnd.seed = (rnd.seed*9301+49297) % 233280; return rnd.seed/(233280.0); }; function rand(number) { return Math.ceil(rnd()*number); }; // end central randomizer. -->