// クリックで花が飛び散る
var flower_array = new Array();
var flower_timerid = 0;
var flower_step = 0.5;
var flower_href = "";

function flower_init() {
    var i, j;
    var div = document.getElementById(flower_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";
        img2.style.visibility = "hidden";
        document.body.appendChild(img2);
        
        var flower = new Object();
        flower_array[j] = flower;
        flower.obj = img2;
        j++;
    }
    
    if(flower_target) {
        for(i = 0; i < document.links.length; i++) {
            document.links[i].onclick = flower_anchorclick;
        }
    }
}

function flower_reset(x, y) {
    var i;
    for(i = 0; i < flower_array.length; i++) {
        var fl = flower_array[i];
        fl.startx = x;
        fl.starty = y;
        fl.x = x;
        fl.y = y;
        
        fl.ang = 60 + Math.random() * 60;
        fl.vx = flower_velo * Math.cos((Math.PI / 180) * fl.ang);
        fl.vy = flower_velo * Math.sin((Math.PI / 180) * fl.ang);
        
        var obj = flower_array[i].obj;
        obj.style.left = x + "px";
        obj.style.top = y + "px";
        obj.style.visibility = "visible";
    }
}

function flower_mousedown(e) {
    var x, y, src;
    if(window.event) {
        if(event.button != 1) return;
        x = event.clientX + flower_scrollleft();
        y = event.clientY + flower_scrolltop();
        src = window.event.srcElement;
    }
    else if(e) {
        if(e.which != 1) return;
        x = e.pageX; y = e.pageY;
        src = e.target;
    }
    
    if(flower_target) {
        while(src) {
            if(src.nodeName == "A") break;
            src = src.parentNode;
        }
        if(!src) return;
        flower_href = src.href;
    }
    
    if(flower_array.length == 0) flower_init();
    if(flower_array.length == 0) return;
    if(flower_timerid) clearTimeout(flower_timerid);
    flower_reset(x, y);
    flower_i = 0;
    
    flower_timerid = setTimeout("flower_timer();", flower_speed);
}

function flower_timer() {
    var i;
    var cont = 0;
    for(i = 0; i < flower_array.length; i++) {
        var fl = flower_array[i];
        var obj = flower_array[i].obj;
        fl.x = fl.x + fl.vx * flower_step;
        fl.y = fl.y - fl.vy * flower_step;
        fl.vy = fl.vy - flower_grav * flower_step;
        
        var l = Math.sqrt(Math.pow(fl.x - fl.startx, 2) +
            Math.pow(fl.y - fl.starty, 2));
        if(l > flower_out)
            obj.style.visibility = "hidden";
        else {
            obj.style.left = Math.floor(fl.x) + "px";
            obj.style.top = Math.floor(fl.y) + "px";
            cont = 1;
        }
    }
    
    if(cont) flower_timerid = setTimeout("flower_timer();", flower_speed);
    else {
        flower_timerid = 0;
        if(flower_href) location.href = flower_href;
    }
}

function flower_anchorclick(e) {
    var src;
    if(window.event) {
        src = window.event.srcElement;
        event.returnValue = false;
    }
    else if(e) {
        src = e.target;
        return false;
    }
}

/* ------------------------------------
  スクロール領域の上端
------------------------------------ */
function flower_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 flower_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.onmousedown = flower_mousedown;

