var offsetfrommouse=[50,-25]; //image x,y offsets from cursor position in pixels. Enter 0,0 for no offset
var displayduration=0; //duration in seconds image should remain visible. 0 for always.
var currentimageheight = 320;	// maximum image size.
var previewwidth = currentimageheight + 45;
var prev_h;
var prev_w;

var dnd_thm_loc;
var dnd_big_thm_loc;
var dnd_hoid;

function add_to_lbx(n,tloc,btloc,hoid){

	var lbxfloater =  window.frames['lbxframe'];
	var list =  lbxfloater.document.forms.lightbox.lbx;

	if(n == "undefined") return;

	if(lbxfloater.document.forms.lightbox.lightbox_total.value >= 48){
		alert("Your light box is full.  No more items can be added.");
		return;
	}

    lbxfloater.document.forms.lightbox.action.value = 'add';
    lbxfloater.document.forms.lightbox.OBJECT_ID.value = n;
    lbxfloater.document.forms.lightbox.THM_URI_1.value = tloc;
    lbxfloater.document.forms.lightbox.THM_URI_2.value = btloc;
    lbxfloater.document.forms.lightbox.lastitemadded.value = n;
    //lbxfloater.document.forms.lightbox.lbxpage.value =  lbxfloater.document.forms.lightbox.lbxlastpage.value;
    lbxfloater.document.forms.lightbox.submit();
}

function getprevobj(o){

	if (document.getElementById)
		return document.getElementById(o).style
	else if (document.all)
		return document.all.o.style
}

function getprevobjnostyle(o){

	if (document.getElementById)
		return document.getElementById(o)
	else if (document.all)
		return document.all.o
}


function truebody(){
   return (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function showprev(imagesrc, oid, brand, w, h, t1, t2, hoid, caption){

	if(document.advsearch.dragging.value == 0){
		dnd_thm_loc=t1;
		dnd_big_thm_loc=t2;
		dnd_hoid=hoid;
	}

	if(document.advsearch.showpreviews.selectedIndex == 0 && document.advsearch.dragging.value == 0){

		prev_h = h;
		prev_w = w;

		newHTML = '<div style="padding: 5px; background-color: #FFF; text-align: center; border: 1px solid #888; width: ' + previewwidth + 'px;">';
		newHTML = newHTML + '<div align="center" style="padding: 8px 2px 2px 2px;"><img src="' + imagesrc + '" border="0"></div>';
		newHTML = newHTML + '<font style="color:#666" class="small"></b>' + brand + '</b></font><br>';
		newHTML = newHTML + '<font style="color:#666" class="small">Image# ' + oid + '</font>';		
        if(caption != undefined)
		newHTML = newHTML + '<br><font style="color:#666" class="small"> ' + caption + '</font>';		
		newHTML = newHTML + '</div>';

		getprevobjnostyle("previewcontainer").innerHTML = newHTML;
		setTimeout('getprevobj("previewcontainer").visibility="visible"',400);
		document.onmousemove=followmouse;
	}

}


function hideprev(){

	if(document.advsearch.showpreviews.selectedIndex == 0 && document.advsearch.dragging.value == 0){	
		getprevobj("previewcontainer").visibility="hidden";
		getprevobj("previewcontainer").left="-500px";
		document.onmousemove="";
    }
}

function followmouse(e){

	var xcoord=offsetfrommouse[0]
	var ycoord=offsetfrommouse[1]

    var flip_loc_x = 445 // When we get to loc clientWidth - 445 then move the preview to the left of the cursor
	var left_space = 60  // close the gap when we move the preview to the left of the cursor
	var flip_loc_y
	var scrolltop

	if(document.advsearch.dragging.value == 1) return;

	if(getprevobjnostyle('bodyContent').scrollTop)
		scrolltop=getprevobjnostyle('bodyContent').scrollTop
	else
		scrolltop=truebody().scrollTop

	if (document.forms.advsearch.toggle_lightbox.value == 1)
		flip_loc_y = 100
	else 
		flip_loc_y = 200

	var docwidth=document.all? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth-15
	var docheight=document.all? Math.min(truebody().scrollHeight, truebody().clientHeight) : Math.min(document.body.offsetHeight, window.innerHeight)

	if (typeof e != "undefined"){
		if (docwidth - e.pageX < flip_loc_x){
			xcoord = e.pageX - xcoord - flip_loc_x + left_space; // Move to the left side of the cursor
		} else {
			xcoord += e.pageX;
		}
		if (docheight - e.pageY < (prev_h + flip_loc_y)){
			ycoord += e.pageY - Math.max(0,(flip_loc_y + prev_h + e.pageY - docheight - scrolltop));
		} else {
			ycoord += e.pageY;
		}

	} else if (typeof window.event != "undefined"){
		if (docwidth - event.clientX < flip_loc_x){ // changed from 300
			xcoord = event.clientX + truebody().scrollLeft - xcoord - flip_loc_x + left_space; // changed from 286 Move to the left side of the cursor
		} else {
			xcoord += truebody().scrollLeft+event.clientX
		}
		if (docheight - event.clientY < (prev_h + flip_loc_y)){
			ycoord += event.clientY + scrolltop - Math.max(0,(flip_loc_y + prev_h + event.clientY - docheight));
		} else {
			ycoord += scrolltop + event.clientY;
		}
	}

	var docwidth=document.all? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth-15
	var docheight=document.all? Math.max(truebody().scrollHeight, truebody().clientHeight) : Math.max(document.body.offsetHeight, window.innerHeight)

	getprevobj("previewcontainer").left=xcoord+"px"
	getprevobj("previewcontainer").top=ycoord+"px"

}

