// リボンのようにマウスを追いかける画像
var star_x = 0, star_y = 0;
var star_array = new Array();

function star_init() {
    var i, j;
    var div = document.getElementById(star_id);
    if(!div) return;
    for(i = 0, j = 0; i < div.childNodes.length; i++) {
        var img = div.childNodes[i];
        if(img.nodeName != "IMG") continue;
        var img2 = document.createElement("IMG");
        img2.src = img.src;
        img2.style.position = "absolute";
        img2.style.left = "-50px";
        img2.style.top = "-50px";
        document.body.appendChild(img2);
        
        var star = new Object();
        star_array[j] = star;
        star.lastx = -50;
        star.lasty = -50;
        star.x = -50;
        star.y = -50;
        star.obj = img2;
        j++;
    }
    if(j > 0) setTimeout("star_timer()", star_interval);
}

function star_move(e) {
    if(star_array.length == 0) star_init();
    if(star_array.length == 0) return;
    
    var x, y;
    if(window.event) {
        x = event.clientX + star_scrollleft();
        y = event.clientY + star_scrolltop();
    }
    else if(e) {
        x = e.pageX; y = e.pageY;
    }
    star_x = x; star_y = y;
}

function star_timer() {
    var xa = new Array();
    var ya = new Array();
    xa[0] = star_x; ya[0] = star_y;
    for (i = 1; i <= star_array.length; i++) {
        xa[i] = star_array[i-1].x;
        ya[i] = star_array[i-1].y;
    }
    var x, y;
    for (i = 0; i < star_array.length; i++) {
        var star = star_array[i];
        var xlen = xa[i] - xa[i+1];
        var ylen = ya[i] - ya[i+1];
        var dx = Math.floor(xlen/5);
        var dy = Math.floor(ylen/5);
        
        if(dx == 0) {
            if(xa[i+1] - star.lastx > 0) dx = 1;
            else if(xa[i+1] - star.lastx < 0) dx = -1;
        }
        if(dy == 0) {
            if(ya[i+1] - star.lasty > 0) dy = 1;
            else if(ya[i+1] - star.lasty < 0) dy = -1;
        }
        
        var x = 0, y = 0;
        if(xlen <= 0 && star_xpad >= 0 && xa[i+1] + dx <= xa[i] + star_xpad)
            x = xa[i] + star_xpad;
        if(xlen >= 0 && star_xpad <= 0 && xa[i+1] + dx >= xa[i] + star_xpad)
            x = xa[i] + star_xpad;
        if(ylen <= 0 && star_ypad >= 0 && ya[i+1] + dy <= ya[i] + star_ypad)
            y = ya[i] + star_ypad;
        if(ylen >= 0 && star_ypad <= 0 && ya[i+1] + dy >= ya[i] + star_ypad)
            y = ya[i] + star_ypad;
        if(x == 0) x = xa[i+1] + dx;
        if(y == 0) y = ya[i+1] + dy;
        
        star.lastx = xa[i+1];
        star.lasty = ya[i+1];
        star.x = x;
        star.y = y;
        star.obj.style.left = x + "px";
        star.obj.style.top = y + "px";
    }
    setTimeout("star_timer()", star_interval);
}

/* ------------------------------------
  スクロール領域の上端
------------------------------------ */
function star_scrolltop () {
    if(document.compatMode == "CSS1Compat") {
        return document.body.parentNode.scrollTop;
    }
    else if(document.body && document.body.scrollTop) {
        return document.body.scrollTop;
    }
    else if(self.pageYOffset)
        return self.pageYOffset;
    return 0;
}

/* ------------------------------------
  スクロール領域の左端
------------------------------------ */
function star_scrollleft () {
    if(document.compatMode == "CSS1Compat") {
        return document.body.parentNode.scrollLeft;
    }
    else if(document.body && document.body.scrollLeft) {
        return document.body.scrollLeft;
    }
    else if(self.pageXOffset)
        return self.pageXOffset;
    return 0;
}

if(document.getElementById) document.onmousemove = star_move;
