function handleArrowKeys(evt) {
    evt = (evt) ? evt : ((window.event) ? event : null);
    if (evt) {
        switch (evt.keyCode) {
            case 37:	// left
		gallery_left_right(-1)
		return false;
            case 39: 	// right
		gallery_left_right(+1)
		return false;
         }

    }
}
document.onkeyup = handleArrowKeys;

function galllery_random_select(display_id)
{
	attempt=0;

	sel = document.getElementById("gallery_mini_selection_"+display_id);
	cur = sel.getElementsByTagName('img');

	while(attempt<cur.length) {
		num = Math.floor(Math.random()*cur.length);

		// make sure not restricted
		if(cur[num].style.display != 'none')
			return cur[num].onclick();

		attempt++;
	}
}

function gallery_left_right(direction)
{
	galleries=document.getElementsByClassName('gallery_mini_selection');
	display_id = galleries[0].id.split('_');
	display_id = display_id[display_id.length-1];

	sel = document.getElementById("gallery_mini_selection_"+display_id);
	cur = sel.getElementsByTagName('img');
	for(i=0; i<cur.length; i++) {
		if(cur[i].className == 'active') {
			if(i+direction >= 0 && i+direction <= cur.length) {
				// don't allow into restricted, skip to next good one
				while(cur[i+direction].style.display == 'none' && i<cur.length ) {
					i=i+direction;
				}
					return cur[i+direction].onclick();

			}
		}
	}
}


function gallery_tab_swap(id)
{
	var headers = document.getElementById('tab_gal_headers');
	var subhead = headers.getElementsById('tab_gal_link');
	alert(headers);
	alert(subhead);

}

function gallery_duplicate_parent(child, parent_id)
{
	var new_node = document.getElementById(child).cloneNode(true);
	new_node.id = '';


	new_node.style.display = 'block';		// unhide

	var insertHere = document.getElementById(parent_id);
	insertHere.parentNode.insertBefore(new_node,insertHere);
}

function gallery_accept_terms(id, parent)
{
	var term_div = document.getElementById(id);
	var term_imgs = term_div.getElementsByTagName("img");
	for(i=0; i<term_imgs.length; i++)
		term_imgs[i].style.display = '';

	term_imgs[0].onclick();

	parent.style.display = 'none';

	return false;
}

function gallery_selector_nav(folder, display_id)
{
	var subgal = document.getElementById('subgal_'+display_id+'_'+folder);
	var scroll = document.getElementById('gallery_mini_selection_'+display_id);
	var divs = subgal.getElementsByTagName('div');
	var links = divs[0].getElementsByTagName('img');

	if(links[0].style.display != 'none') {
		links[0].onclick();
	}

	window.location.hash="gal_"+display_id+"_"+folder;

	return false;
}

function gallery_selector(img_url, display_id, name, link, desc, id) {
	ob = document.getElementById('gallery_selection_preview['+display_id+']');
	ob_desc = document.getElementById('gallery_selection_desc['+display_id+']');

	// create image
	var new_img = new Image();
	new_img.src = img_url;
	new_img.img_url = img_url;
	new_img.alt = name;
	
	if(ob && ob.children.length==0) {
		new_img.style.position = 'absolute';
		ob.appendChild(new_img);
		id.className= 'active';
		if(ob_desc){ob_desc.innerHTML = desc;}

	} else
	if(ob && ob.lastChild.img_url != img_url) {
		id.style.cursor = 'wait';

		new_img.style.xOpacity = 0;
		new_img.style.opacity = 0;

		ob.appendChild(new_img);

		if(ob.childNodes.length > 2)
			ob.removeChild(ob.firstChild);

		ob.childNodes[ob.childNodes.length-2].xOpacity=1;
		ob.childNodes[ob.childNodes.length-2].style.position = 'absolute';
		
		ob.childNodes[ob.childNodes.length-1].xOpacity=0;
		ob.childNodes[ob.childNodes.length-1].style.position = 'absolute';

		// remove all active
		sel = document.getElementById("gallery_mini_selection_"+display_id);
		imgs = sel.getElementsByTagName("img");
		for(i=0; i<imgs.length; i++) {
			imgs[i].className = '';
		}

		new_img.onload = function() {fade_swap_images(ob.childNodes[ob.childNodes.length-2], ob.childNodes[ob.childNodes.length-1],0.2,100);id.style.cursor = null; id.className = "active"; if(ob_desc){ob_desc.innerHTML = desc;} };

		return true;
	}

	delete new_img;
}

