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 ); }