var IMGOver = function(div,ns)
{
	this.img = div;
	this.ns = ns;
	this.org = div.src;
	THREAD.event.addEventListenerBind(div,"mouseover",this,this.over);
	THREAD.event.addEventListenerBind(div,"mouseout",this,this.out);
}
IMGOver.prototype = {
    img: undefined,
    ns: undefined,
    over: function(evt)
    {
	THREAD.event.preventDefault(evt);
        THREAD.event.stopPropagation(evt);
	this.img.src = this.ns;
    },
    out: function(evt)
    {
	THREAD.event.preventDefault(evt);
        THREAD.event.stopPropagation(evt);
	this.img.src = this.org;
    }
}

var IMGOver2 = function(div,src,right)
{
	this.div = div;
	var tl 	  = THREAD.utl.getTL(div);
	var tlp   = THREAD.utl.getTL(div.parentNode.parentNode);
	this.orgX = Math.floor(tl[0] - tlp[0]);
	this.orgY = Math.floor(tl[1] - tlp[1]);
	this.orgW = div.clientWidth;
	this.orgH = div.clientHeight;
	this.src = src;
	this.right = right;
	THREAD.event.addEventListenerBind(div,"mouseover",this,this.over);
	THREAD.event.addEventListenerBind(div,"mouseout",this,this.out);
	THREAD.event.addEventListenerBind(div,"click",this,this.click);
}
IMGOver2.prototype = {
    div: undefined,
    over: function(evt)
    {
	THREAD.event.preventDefault(evt);
        THREAD.event.stopPropagation(evt);
	var div = this.div;
	div.style.backgroundImage = 'url(/img/logo_s.gif)';
	div.style.left   = (this.orgX - 20) + 'px';
	div.style.top    = (this.orgY - 20) + 'px';
	div.style.width  = '140px';
	div.style.height = '140px';
	if (this.src && !this.imgdiv) {
	    var d0 = document.createElement('div');
	    d0.style.position = 'absolute';
	    if (this.right) {
		d0.style.left = '140px';
	    } else
		d0.style.left = '100px';
	    d0.style.top = '40px';
	    var img = document.createElement('img');
	    img.src = this.src;
	    img.style.border = '0px';
	    d0.appendChild( img );
	    this.imgdiv = d0;
	    this.goIn(div,this.imgdiv );
	    d0.style.zIndex = 200;
	}
    },
    click: function(evt)
    {
	this.out2(evt);
    },    
    out: function(evt)
    {
	THREAD.event.preventDefault(evt);
        THREAD.event.stopPropagation(evt);
	this.out2(evt);
    },
    out2: function(evt)
    {
	var div = this.div;
	div.style.backgroundImage = 'url(/img/logo_ss.gif)';
	div.style.left   = this.orgX + 'px';
	div.style.top    = this.orgY + 'px';
	div.style.width  = this.orgW + 'px';
	div.style.height = this.orgH + 'px';
	var img  = this.imgdiv;
	if (img) {
	    this.goOut(img);
	    this.imgdiv = undefined;
	}
    }
         ,goOut: function(div)
        {
                function xx(div)
                {
                    return function() {
                         div.parentNode.removeChild( div );
                    }
                }
                var n = new THREAD.anime(div,10);
                n.alpha(2,10,xx(div));
        }
        ,goIn: function(parent,div)
        {
                THREAD.utl.tomei(div,2);
                parent.appendChild( div );
                var n = new THREAD.anime(div,20);
                n.beta(2,20);
        }
}

var IMGOver3 = function(div)
{
	this.div = div;
	var tl 	  = THREAD.utl.getTL(div);
	var tlp   = THREAD.utl.getTL(div.parentNode.parentNode);
	this.orgX = Math.floor(tl[0] - tlp[0]);
	this.orgY = Math.floor(tl[1] - tlp[1]);
	this.orgW = div.clientWidth;
	this.orgH = div.clientHeight;
	THREAD.event.addEventListenerBind(div,"mouseover",this,this.over);
	THREAD.event.addEventListenerBind(div,"mouseout",this,this.out);
	THREAD.event.addEventListenerBind(div,"click",this,this.click);
}
IMGOver3.prototype = {
    div: undefined,
    over: function(evt)
    {
	THREAD.event.preventDefault(evt);
        THREAD.event.stopPropagation(evt);
	this.goIn(this.div );
    },
    click: function(evt)
    {
	this.out2(evt);
    },    
    out: function(evt)
    {
	THREAD.event.preventDefault(evt);
        THREAD.event.stopPropagation(evt);
	this.out2(evt);
    },
    out2: function(evt)
    {
	return;
    }
        ,goIn: function(div)
        {
                THREAD.utl.tomei(div,2);
                var n = new THREAD.anime(div,20);
                n.beta(2,20);
        }
}

var APP = {};

new function() 
{
    APP.cafecon  = {
	middle: 0,
	init: function()
	{
            var xxx = [
                {org:"/img/ha.gif",ns:"/img/ha2.gif" }
	    ];
	    var xcnt = xxx.length;
	    var imgs = document.getElementsByTagName("img");
	    if (imgs) {
		var cnt = imgs.length;
		for(var i = 0;i < cnt;i++) {
		    var img1 = imgs[i];
		    var src = img1.src;
		    for(var s = 0;s < xcnt;s++) {
			 if (img1.src.lastIndexOf(xxx[s].org) >= 0) {
			    new IMGOver(img1,xxx[s].ns);
			    break;
			 }
		    }
		}
	    }
	    var top = undefined;
	    if (APP.cafecon.menu) {
	        var div = document.getElementById(APP.cafecon.menu);
	        if (div)
		    top = THREAD.utl.getTL(div,div.parentNode.parentNode);
	    }
	    var as = [];
	    for(var i = 1;;i++) {
		var name = 'menu0' + i;
	        var div = document.getElementById(name);
		if (!div)
		    break;
		THREAD.utl.clear(div);
		if (top) {
		    var tl = THREAD.utl.getTL(div,div.parentNode.parentNode);
		    div.style.left = top[0] + 'px';
		    div.style.top = top[1] + 'px';
		    var a = new THREAD.anime(div,100);
		    as.push({ ani:a, top: top, tl:tl });
		} else 
		    top = THREAD.utl.getTL(div,div.parentNode.parentNode);
		div.style.zIndex = 100;
	    }
	    var cnt = as.length;
	    for(var i = 0;i < cnt;i++) {
		var a1 = as[i];
		a1.ani.move(a1.top[0],a1.top[1],a1.tl[0],a1.tl[1],10,
			(i == cnt-1) ? APP.cafecon.init2: undefined);
	    }
    	    if (APP.cafecon.init3)
    	    	APP.cafecon.init3();
    	    if (APP.cafecon.index2) {
		var img = [
			'/img/menuback01.jpg',
			'/img/menuback02.jpg',
			'/img/menuback03.jpg',
			'/img/menuback04.jpg',
			'/img/menuback05.jpg',
			'/img/menuback06.jpg' ];
		 var div = document.getElementById("style2in");
		if (div) {
		    var id = Math.floor(Math.random() * img.length) % img.length;
		    THREAD.utl.tomei(div,0);
		    div.style.backgroundImage = 'url('+img[id] + ')';
                    var n = new THREAD.anime(div,10);
                    n.beta(2,10);
		}
	    }
	    /* index2 ·Ï */
	    for(var i = 1;;i++) {
		var name = 'Bmenu0' + i;
	        var div = document.getElementById(name);
		if (!div)
		    break;
		new IMGOver3(div);
	    }
	    for(var i = 1;;i++) {
		var name = 'B3menu0' + i;
	        var div = document.getElementById(name);
		if (!div)
		    break;
		new IMGOver3(div);
	    }
//
	},
	init2: function()
	{
	    var title = [ 
		'/img/b_menu.gif',
		'/img/b_concept.gif',
		'/img/b_map.gif',
		'/img/b_link.gif',
		'/img/b_blog.gif',
		'/img/b_menu.gif',
		'/img/b_menu.gif'];
	    var top = undefined;
	    var as = [];
	    for(var i = 1;;i++) {
		var name = 'menu0' + i;
	        var div = document.getElementById(name);
		if (!div)
		    break;
		THREAD.utl.clear(div);
		new IMGOver2(div,title[i-1],i%2);
	    }
	},
	click: function(evt)
	{
	    THREAD.event.preventDefault(evt);
            THREAD.event.stopPropagation(evt);
	}
    }
    onload = APP.cafecon.init;
    //onresize = APP.cafecon.resize;
}



