All pastes #732381 Raw Edit

Someone

public text v1 · immutable
·published 2007-10-10 22:29 UTC
rendered paste body
function over_drop_target(e)
{
	if ( !drag_node || drop_targets.length == 0 )
		return( false );
	
	var n_height = 198;
	var per_row = 8;
	var i, i_start, i_end;
	
	var i, len = drop_targets.length;
	var x = parseInt(drag_node.style.left);
	var y = parseInt(drag_node.style.top) - n_photo.offsetTop + n_photo.scrollTop;
	var w = drag_node.offsetWidth;
	var h = drag_node.offsetHeight;
	var r = x + w;
	var b = y + h;
	
	var drop_x, drop_y, drop_r, drop_b;
	var scroll_bot = n_photo.scrollTop + n_photo.offsetHeight;
	
	i_start = (Math.floor(n_photo.scrollTop / n_height) - 5) * per_row;
	i_end = i_start + 50;
	
	if ( i_start < 0 ) i_start = 0;
	if ( i_end >= len ) i_end = len - 1;
	
	//top.window.status = i_start +", "+ i_end;
	
	for (i = i_start; i <= i_end; i++)
	{
		drop_x = drop_targets[i].info.x;
		drop_y = drop_targets[i].info.y;
		drop_r = drop_x + drop_targets[i].info.w;
		drop_b = drop_y + drop_targets[i].info.h;
		
		if ( x >= drop_x && x <= drop_r	&& y >= drop_y && y <= drop_b )
			return( i );
		else if ( r >= drop_x && r <= drop_r && b >= drop_y && b <= drop_b )
			return( i );
		else if ( r >= drop_x && r <= drop_r && y >= drop_y && y <= drop_b )
			return( i );
		else if ( x >= drop_x && x <= drop_r && b >= drop_y && b <= drop_b )
			return( i ) ;
	}
	
	return( false );
}