var image_slide_move_amount = 2;
var image_popup_visible_style = 'block';
var image_slide_move_interval = false; // used for time delay

function image_slide_pause(objDivId)
{
	var objDiv = document.getElementById(objDivId);
	objDiv.setAttribute("paused", 'true');
	delete objDiv;
}

function image_slide_unpause(objDivId)
{
	var objDiv = document.getElementById(objDivId);
	objDiv.setAttribute("paused", 'false');
	clearInterval(image_slide_move_interval);
	delete objDiv;
}

function slide_image_start_work(objDivId)
{
	var objDiv = document.getElementById(objDivId);
	
	if(!objDiv) { return false; }

	var paused = objDiv.getAttribute('paused');
	if(paused == 'true'){ return true; }

	var direction = objDiv.getAttribute("direction");

	var amount = 1;
  	var width = objDiv.scrollWidth - objDiv.clientWidth;

	if(direction == 'right')
		if(objDiv.scrollLeft < width)
			objDiv.scrollLeft += image_slide_move_amount;
		else
			objDiv.setAttribute("direction", 'left');
	else
		if(objDiv.scrollLeft > 0)
			objDiv.scrollLeft -= image_slide_move_amount;
		else
			objDiv.setAttribute("direction", 'right');
	delete objDiv;
}

 
function image_slide_move(objDivId, amount)
{
	var objDiv = document.getElementById(objDivId);
	image_slide_pause(objDivId);

	if(isNaN(amount))
		if(amount == 'end')
			objDiv.scrollLeft = objDiv.scrollWidth;
		else
			objDiv.scrollLeft = 0;
	else
		image_slide_move_interval = setInterval(function() { slide_image_slide_move_work(objDiv, amount) }, 100);
	delete objDiv;
	return false;
}

function slide_image_slide_move_work(objDiv, amount)
{
	if(amount > 0)
		if(objDiv.scrollLeft >= objDiv.scrollWidth)
			return false;
	else
		if(objDiv.scrollLeft == 0)
			return false;
	
	objDiv.scrollLeft += amount;
}

function slide_image_start(objDivId)
{
	setInterval(function() { slide_image_start_work(objDivId) }, 100);
}

function fade_swap_images(img1, img2, amount, speed) {

	if(isNaN(amount))
		amount = 0.2;

	if(isNaN(speed))
		speed = 100;

	if(img1.src == img2.src)
		return;
	
	img1.xOpacity-=amount; 
	img2.xOpacity+=amount;
	
	setOpacity(img1); 
	setOpacity(img2);

	if(img2.xOpacity != 1)
		setTimeout(function() { fade_swap_images(img1, img2, amount, speed) }, speed);
	else {
		delete img1;
		delete img2;
	}
	
	function setOpacity(obj) {
		if(obj.style.opacity>.99) {
			obj.style.opacity = 1;
		}

		if(obj.style.opacity<0) {
			obj.style.display = "none";
			obj.style.opacity = 0;
		}
		ob_set_opacity(obj, obj.xOpacity);
	}
}

function ob_set_opacity(ob, opacity)
{
	ob.style.opacity = opacity;
	ob.style.filter = "alpha(opacity=" + (opacity*100) + ")";
	ob.style.MozOpacity = opacity;
	return true;
}

function cycle_image(ob, list, time, index)
{
	cycle_image_timeout = setTimeout(function() { cycle_image_work(ob, list, time, index) }, time); 
}

function cycle_image_work(ob, list, time, index)
{
	if(!index){ var index = 0; }

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

	new_img = new Image();
	new_img.src = list[index];
	new_img.xOpacity = 0;
	new_img.opacity = 0;
	ob.firstChild.XOpacity=1;
	ob.firstChild.opacity=1;

	ob.appendChild(new_img);

	fade_swap_images(ob.firstChild, ob.lastChild);

	index++;	
	if(index>list.length-1)
		index = 0;		// repeat
	
	cycle_image_timeout = setTimeout(function() { cycle_image_work(ob, list, time, index) }, time); 
}








var mousex,mousey;
var img_tooltip = null;

function filter_select(value) {
	for(y=0; y<old_options.length; y++)  {
		box.options[y] = old_options[y];
	}
	
	length = box.options.length;
	for(y=0; y<length;){
		var re = new RegExp(value,'i');
		if (box.options[y].text.match(re)) {
			y++;		// move onto next
		} else {
			box.options[y] = null;
			length = box.options.length;
		}
	}

	if(length == 0) {
		box.style.display = 'none';
	} else {
		box.style.display = 'block';
	}
}

function img_full_view(imgpath,width,height)
{
	return window.open(imgpath, 'img_full_view','width='+width+',height='+height);
}

function img_convert_links()
{
	img_tooltip_init();
	var imgs = document.links;
	for(var x = 0; x < imgs.length; x++) {
		// if the link is to an image create an on mouse over
		if(imgs[x].rel.search(/img:\d+/) != -1) {
			imgs[x].onmouseover = img_preview_in;
			imgs[x].onmouseout = img_preview_out;
		}
	}
}

function img_tooltip_init()
{
	img_tooltip = document.getElementById('img_tooltip');
}

function img_tooltip_mousemove(e)
{
	get_mousexy(e);
	if(mousex && mousey && img_tooltip) {
		img_tooltip.style.left = (mousex + 16) + "px";
		img_tooltip.style.top = (mousey + 16) + "px";
	}
}

function get_mousexy(e)
{
	if(!e) {
		e = window.event; // ie
	}
	if(e) {
		if(e.pageX || e.pageY) {
			// gecko
			mousex = e.pageX;
			mousey = e.pageY;
		} else if(e.clientX || e.clientY) {
			mousex = e.clientX + document.body.scrollLeft;
			mousey = e.clientY + document.body.scrollTop;
		}
	}
}

function img_tooltip_on()
{
	if(img_tooltip) {
		document.body.onmousemove = img_tooltip_mousemove;
		img_tooltip.style.display = 'block';
	}
}

function img_tooltip_off()
{
	document.body.onmousemove = null;
	if(img_tooltip) {
		img_tooltip.style.display = 'none';
	}
}

function img_preview_handler()
{
/*	if(!http) {
		alert('no http');
		return;
	}
	if(http.readState != 4) {
		return;
	}
	if(http.status != 200) {*/
//		alert(http.responseText);
//		return;
//	}
}

function img_preview_in()
{
	if(this.rel == false)
		return false;

	link = this.rel.match(/img:(\d+)(?::(\d+))?/);
	alert(link[2]);
	// tell it to create
	if(!ajax_call('image_generate_thumbnail',img_preview_handler,{id: link[1], size: link[2]},null)) {
		return false;
	}
	img = document.createElement('img');
	if(link[2]) {
		img.src = '/tmp_imgs/'+link[1]+'_'+link[2]+'.jpg';
	} else {
		img.src = '/img_data/'+link[1]+'_150.jpg';
	}

	if(img_tooltip) {
		img_tooltip.appendChild(img);
		img_tooltip_on();
	}
	return true;
}

function img_preview_out()
{
	img_tooltip_off();
	if(img_tooltip) {
		img_tooltip.removeChild(img_tooltip.lastChild);
	}
}

if(loadscript != undefined) {
	loadscript += 'img_convert_links();';
}
