/**************************************************/
/* hover.js                                       */
/* JavaScript for hover window                    */
/*                                                */
/* Copyright 2009 Orphe Limited                   */
/* http://www.orphe.jp/                           */
/* 04JAN2009 T.Matsuda                            */
/**************************************************/

var startTop = 13852;
var testMode = false;
//var testMode = true;


var interval = 50;
var initTop = 0;
var initLeft = -300;
var initLandLeft = 0;

var ie = document.all;
var dom = document.getElementById;
var hover_obj;
var free_obj;
var head_obj;
var bt_01_obj;
var bt_0X_obj;
var freeIsVisible = true;

function hover_set(){
    if(!document.getElementById){
	return;
    }
    timerid=setInterval("checkScrollPosition()",1000);
}

function checkScrollPosition(){
    if(testMode == true){
        document.title = scrollPosition();
    }
    if(scrollPosition() >= startTop){
        clearInterval(timerid);
        initHover();
    }
}

function initHover(){
    speed = 32;
    landLeft = initLandLeft;
    hover_obj = document.getElementById("hover").style;
    head_obj = document.getElementById("hover_head").style;
    free_obj = document.getElementById("free_area").style;
    bt_01_obj = document.getElementById("bt_01").style;
    bt_0X_obj = document.getElementById("bt_0X").style;

    hover_obj.top = scrollPosition() + initTop + "px";
    hover_obj.left = initLeft + "px";

    hover_obj.visibility = "visible";
    head_obj.visibility = "visible";
    free_obj.visibility = "visible";

    slideinid = setInterval("slidein()", interval);
}

function slidein(){
    hover_obj.top = scrollPosition() + initTop + "px";
    posLeft = parseInt(hover_obj.left);
    distance = landLeft - posLeft;
    if((distance < speed * 3) && (speed > 2)) {
        speed = speed / 2;
        if(speed < 1) {
            speed = 1;
        }
    }
    if(posLeft < landLeft){
        hover_obj.left = posLeft + speed + "px";
    }
    else{
        clearInterval(slideinid);
    }
}

function clear_hover(){
    if(window.slideinid){
        clearInterval(slideinid);
    }
    speed = 32;

    if(freeIsVisible == false){
        // free_obj is hidden
        head_obj.position = "absolute";
        head_obj.left = parseInt(hover_obj.left) + "px";
    }

    slideoutid = setInterval("slideout()", interval);
}

function slideout(){
    if(freeIsVisible == false){
        // free_obj is hidden
        if(parseInt(head_obj.left) > initLeft ) {
            head_obj.left = parseInt(head_obj.left) - speed + "px";
        } else{
            clearInterval(slideoutid);
            head_obj.visibility = "hidden";
        }

    } else {
        // free_obj is visible
        if(parseInt(hover_obj.left) > initLeft ) {
            hover_obj.left = parseInt(hover_obj.left) - speed + "px";
        } else{
            clearInterval(slideoutid);
            hover_obj.visibility = "hidden";
        }

    }
}

function scrollPosition(){
    if(!document.all){
        result = window.pageYOffset;
    }
    else if(document.compatMode && document.compatMode!="BackCompat"){
        result = document.documentElement.scrollTop;
    }
    else{
        result = document.body.scrollTop;
    }
    return result;
}

function body_clear(){
	
    if(freeIsVisible == false){
        // free_obj is hidden
        hover_obj.visibility    = ( dom || ie )? "visible" : "show";
        free_obj.visibility     = ( dom || ie )? "visible" : "show";
        freeIsVisible = true;
    }
    else {
        // free_obj is visible
        hover_obj.visibility  = "hidden";
        free_obj.visibility  = "hidden";

        freeIsVisible = false;
    }
}

