/* スタッフからのお知らせをキックする */
var doFromStaff = function(div)
{
    this.div = div;
    var a = this.findA();
    if (a) {    
        this.href = a.href;
    }
    THREAD.event.addEventListenerBind(div,"click",this,this.click);
}
doFromStaff.prototype = {
    findA: function()
    {
        var child = this.div.childNodes;
        var cnt = child.length;
        for(var i = 0; i <cnt;i++) {
            if (child[i].nodeName == 'A')
                return child[i];
        }
        return null;
    },
    click: function(evt)
    {
        THREAD.event.preventDefault(evt);
        THREAD.event.stopPropagation(evt);
        new fromStaff(this.div);
    }
}

/* スタッフからのお知らせ */
var fromStaff = function(div,href)
{
    this.div = div;
    var tl = this.tl = THREAD.utl.getTL(div);           /* 一覧画像の位置 */

    /* カバー */
    var cover = this.cover = THREAD.utl.makeCover('cover');
    if (THREAD.browser.IE && (THREAD.browser.IE < 8))
        APP.nuance.cover = cover;


    this.orgWidth = 10;
    this.orgHeight = 10;

    /* 移動中の画像 */
    var detail = this.detail = APP.nuance.template.oshirase.cloneNode(true);
    detail.style.position = 'absolute';
    detail.style.left = tl[0] + 'px';
    detail.style.top = tl[1] + 'px';
    detail.style.width = this.orgWidth + 'px';
    detail.style.height = this.orgHeight + 'px';
    detail.style.visibility = 'visible';
    detail.style.overflow = 'hidden';
    detail.style.zIndex = 30;
    THREAD.utl.tomei(detail,10);

    this.setClose();

    var d1 = THREAD.utl.findId(detail,'ctltip');
    if (d1)
        this.tip = new CtlTip(detail,d1);
    document.body.appendChild(detail);


    /* 移動先 */
    var size = THREAD.utl.getWindowSize();
    this.top  = tl[1] - APP.nuance.template.height;
    this.left = tl[0] - APP.nuance.template.width;


    this.width =  APP.nuance.template.width;
    this.height =  APP.nuance.template.height;

    THREAD.event.addEventListenerBind(this.detail,"click",this,this.close);
    this.start();
}

fromStaff.prototype = {
    start: function()
    {
        var anime = new THREAD.anime(this.detail,
            THREAD.browser.IE?0:10);

        anime.moveResizeDirect(
            this.tl[0],this.tl[1],
            this.orgWidth,this.orgHeight,
            this.left,this.top,
            this.width,this.height,
            THREAD.browser.IE?5:20,this.bind(this,this.startTip));
    },
    startTip: function()
    { 
        this.detail.style.width = this.width + 'px';
        if (this.tip)
            this.tip.start(true);
    },
    setClose: function()
    {
        var detail = this.detail;
        var divs = [];
        THREAD.utl._findByClassName(divs,detail,'detailClose');
        var cnt = divs.length;
        for(var i = 0;i < cnt;i++) {
            var d1 = divs[i];
            THREAD.event.addEventListenerBind(d1,"click",this,this.close);
        }
    },
    close: function()
    {
        if (this.tip) {
            this.tip.close();
            this.tip = null;
        }
        var anime = new THREAD.anime(this.detail,
            THREAD.browser.IE?0:10);

        this.detail.style.overflow = 'hidden';
        anime.moveResizeDirect(
            this.left,this.top,
            this.width,this.height,
            this.tl[0],this.tl[1],
            this.orgWidth,this.orgHeight,
            THREAD.browser.IE?5:20,this.bind(this,this.close2));
    },
    close2: function()
    {
        THREAD.utl.remove(this.detail);
        THREAD.utl.remove(this.cover);
        APP.nuance.cover = null;
    },
    bind: function(scope,func,val) {
        return  function()
        {
            func.apply(scope,[val]);
        }
    }
}

/* スタッフ１人の顔写真 */
Staff = function(div)
{
    var node = div.attributes.getNamedItem('staff');
    if (!node)
        return;
    this.id = node.nodeValue;                   /* ID               */
    this.div = div;                             /* 一覧の写真       */
    this.staff = this.getDataById(this.id);     /* スタッフのデータ */
    if (!this.staff)
        alert(this.id);
    THREAD.event.addEventListenerBind(div,"mouseover",this,this.over);
    THREAD.event.addEventListenerBind(div,"mouseout",this,this.out);
    THREAD.event.addEventListenerBind(div,"click",this,this.click);
}

Staff.prototype = {
    /* 絞り込み */
    isDisable:function()
    {
        return this.disable;
    },
    setDisable:function()
    {
        this.disable = true;
        THREAD.utl.tomei(this.div,2);
    },
    setEnable:function()
    {
        this.disable = false;
        THREAD.utl.tomei(this.div,10);
    },
    /* mouse の操作 */
    over: function(evt)
    {
        THREAD.event.preventDefault(evt);
        THREAD.event.stopPropagation(evt);
        this.div.style.borderColor = 'red';
    },
    out: function(evt)
    {
       THREAD.event.preventDefault(evt);
       THREAD.event.stopPropagation(evt);
        this.div.style.borderColor = 'transparent';
    },
    click: function(evt)
    {
        THREAD.event.preventDefault(evt);
        THREAD.event.stopPropagation(evt);
        this.start();
    },

    /* 詳細表示開始 */
    start: function() {
       if (this.isDisable())
            return;
       APP.nuance.dialog = new Detail(this,this.div,this.staff);
    },
    /* スタッフID からスタッフデータを得る */
    getDataById: function(id) {
        var staff = APP.nuance.data.staff;
        var cnt = staff.length;
        for(var i = 0;i < cnt;i++) {
            var staff1 = staff[i];
            if (staff1.id == id)
                return staff1;
        }
        return null;
    }
}

/*
 *  詳細画面 
 *  parent  Staff のインスタンス
 *  div     Staff の DOM
 *  staff   スタッフデータ
 */
Detail = function(parent,div,staff)
{
    this.parent = parent;
    this.div = div;
    this.staff = staff;

    var tl = this.tl = THREAD.utl.getTL(div);           /* 一覧画像の位置 */

    /* カバー */
    var cover = this.cover = THREAD.utl.makeCover('cover');
    if (THREAD.browser.IE && (THREAD.browser.IE < 8))
        APP.nuance.cover = cover;

    /* 移動中の画像 */
    var clone = this.clone = THREAD.utl.animeNode(div,10);
        
    /* 詳細画面 */
    var detail = this.detail = APP.nuance.template.detail.cloneNode(true);
    detail.className = 'staffDetail';
    detail.style.visibility = 'hidden';

    var big = this.big = THREAD.utl.findId(detail,'detailBig');
    var img = this.img = big.childNodes[0];
    img.src = staff.img_Large;

    /* 移動先 */
    tl = THREAD.utl.getTL(div.parentNode.parentNode.parentNode.parentNode.parentNode);

    if (APP.isSmartPhone) {
        detail.style.left = '0px';
        detail.style.top = '1px';
    } else {
        detail.style.left = tl[0] + 'px';
        detail.style.top = tl[1] + 'px';
    }
    document.body.appendChild(detail);


    /* 詳細画面中のデータを順番に表示するための準備 */
    var beta = this.beta = new Beta();
    var d1;
    for(var i = 0;;i++) {
        var id = "dx" + i;
        if (!(d1 = THREAD.utl.findId(detail,id))) {
            break;
        }
        d1.style.visibility = 'hidden';
        beta.push(d1);
    }

     /* 詳細画面にデータをセットする */
    this.setData();    

    /* アニメーション移動先 */
    if (APP.isSmartPhone)
        this.tl2 = [0,1];
    else
        this.tl2 = THREAD.utl.getTL(big);   

    /* 一瞬間をおく */
    setTimeout(this.bind(this,this.start),400);

    var d1 = THREAD.utl.findId(detail,'ctltip');
    var d2 = THREAD.utl.findId(detail,'tip_smart');

    if (APP.isSmartPhone) {
        THREAD.utl.remove(d1);
       if (d1 = THREAD.utl.findId(detail,'tip_closeS')) {
                THREAD.event.addEventListenerBind(d1,"click",this,this.close);
       }
       if (d1 = THREAD.utl.findId(detail,'tip_nextS')) {
                THREAD.event.addEventListenerBind(d1,"click",this,this.next);
       }
       if (d1 = THREAD.utl.findId(detail,'tip_backS')) {
                THREAD.event.addEventListenerBind(d1,"click",this,this.back);
       }
    } else {
        THREAD.utl.remove(d2);
    }
}

Detail.prototype = {

    shop: {
        ebisu: 'nuance 恵比寿',
        omote: 'nuance 表参道'
    },
    type: {
        stylist: 'スタイリスト',
        nailist: 'ネイリスト',
        assistant: 'アシスタント'
    },

    /* 画面にデータをセット */
    setData: function()
    {
        var staff = this.staff;
        var detail = this.detail;

        /* 店 */
        var d1;
        if (d1 = THREAD.utl.findId(detail,'detailShop')) {
            THREAD.utl.setText(d1,this.shop[staff.shop]);
            if (staff.shop == 'ebisu') 
                d1.className = 'color_ebisu';
            else
                d1.className = 'color_omotesando';
        }
        /* 肩書き */
        if (d1 = THREAD.utl.findId(detail,'detailType')) {
            THREAD.utl.setText(d1,this.type[staff.category]);
        }
        /* 名前 */
        if (d1 = THREAD.utl.findId(detail,'detailName')) {
            THREAD.utl.setText(d1,staff.fullName);
            if (d1 = THREAD.utl.findId(detail,'detailFurigana')) {
                THREAD.utl.setText(d1,staff.romaji);
            }
        }
        /* 出身 */
        if (d1 = THREAD.utl.findId(detail,'syussin')) {
            THREAD.utl.setText(d1,staff.umare);
        }
        /* 趣味 */
        if (d1 = THREAD.utl.findId(detail,'syumi')) {
            THREAD.utl.setText(d1,staff.syumi);
        }
        /* コンセプト */
        if (d1 = THREAD.utl.findId(detail,'concept')) {
            THREAD.utl.setText(d1,staff.concept);
        }

        /* sytle book */
        if (d1 = THREAD.utl.findId(detail,'detailStyleImage')) {
            if (!staff.book || !staff.book.length) {

                /* 行を削除 */
                THREAD.utl.remove(d1.parentNode);

                if (d1 = THREAD.utl.findId(detail,'detailStyleTitle')) 
                    THREAD.utl.remove(d1.parentNode);

            } else {

                var book = staff.book;
                var blen = book.length;
                if (blen > 5)
                    blen = 5;
                for(var b = 0;  b < blen;b++) {
                    var catalog = APP.nuance.getCatalog(book[b]);
                    var img = document.createElement('img');
                    img.src = catalog.img[0];
                    img.width = '37';
                    img.height = '55';
                    THREAD.event.addEventListenerBind(img,'click',
                        { staff: staff, catalog: catalog},this.openStyle);
                    d1.appendChild(img);
                    img.style.cursor = 'pointer';
                    img.style.marginLeft = '2px';
                }
            }
        }
        /* work */
        if (d1 = THREAD.utl.findId(detail,'work')) {
            if (!staff.work) {
                THREAD.utl.remove(d1.parentNode);
            } else {
                d1.innerHTML = "雑誌";
                THREAD.event.addEventListenerBind(d1,'click',this,this.openWork);
                d1.style.cursor = 'pointer';
            }
        }
        /* blog */
        if (d1 = THREAD.utl.findId(detail,'blog')) {
            if (!staff.option) {
                THREAD.utl.remove(d1.parentNode);
            } else {
                if (staff.option.match(/^http:/)) {
                    var href = staff.option;
                } else {
                    var span = document.createElement('span');
                    span.innerHTML = staff.option;
                    var href = span.childNodes[0].href;
                }
                d1.parentNode.href = href;
                var ns = d1.src.replace(/.png/,'_2.png');
                new IMGOver2X(d1,ns);
            }
        }
    },
    start: function() 
    {
        /* 写真を詳細位置までアニメーションする → step2 */
        var anime = new THREAD.anime(this.clone,
            THREAD.browser.IE?0:10);

        anime.moveResize(
            this.tl[0],this.tl[1],
            this.clone.clientWidth,this.clone.clientHeight,
            this.tl2[0],this.tl2[1],
            this.img.clientWidth,this.img.clientHeight,
            THREAD.browser.IE?1:10,
                this.bind(this,this.step2));
    },
    step2: function() 
    {
        /* 詳細画面を表示させて → step3 */
        var detail =this.detail;
        var anime = new THREAD.anime(detail,THREAD.browser.IE?0:5);
        anime.beta(2,THREAD.browser.IE?1:4,this.bind(this,this.removeClone));
        detail.style.visibility = 'visible';
    },
    removeClone: function() {
        THREAD.utl.remove(this.clone);
        this.step3();
    },
    step3: function() 
    {
        if (APP.isSmartPhone)
            window.scrollTo(0,1);
        /* 内容を順番に表示 */
        var detail =this.detail;
        this.beta.start(this.bind(this,this.makeFukidasi));
        this.makeCalender();
        
        /* Next,Back,Close をはりつける */
        var divs = [];
        THREAD.utl._findByClassName(divs,detail,'detailClose');
        var cnt = divs.length;
        for(var i = 0;i < cnt;i++) {
            var d1 = divs[i];
            THREAD.event.addEventListenerBind(d1,"click",this,this.close);
        }
        divs = [];
        THREAD.utl._findByClassName(divs,detail,'detailNext');
        var cnt = divs.length;
        for(var i = 0;i < cnt;i++) {
            var d1 = divs[i];
            THREAD.event.addEventListenerBind(d1,"click",this,this.next);
        }
        divs = [];
        THREAD.utl._findByClassName(divs,detail,'detailBack');

        var cnt = divs.length;
        for(var i = 0;i < cnt;i++) {
            var d1 = divs[i];
            THREAD.event.addEventListenerBind(d1,"click",this,this.back);
        }
        if (!APP.isSmartPhone) {
            var d1 = THREAD.utl.findId(detail,'ctltip');
            if (d1) {
                this.tip = new CtlTip(detail,d1);
                this.tip.start();
            }
        }
    },
    makeFukidasi: function() {
//        this.fukidasi = new Fukidasi(this.staff);
    },

    /* ２つのカレンダー(今月、来月)を生成 */
    makeCalender: function() 
    {
        var detail = this.detail;
        var d1;
        if (d1 = THREAD.utl.findId(detail,'calendar1'))
            this.mkCalender(d1,this.staff);
        if (d1 = THREAD.utl.findId(detail,'calendar2'))
            this.mkCalender(d1,this.staff,2);
        if (d1 = THREAD.utl.findId(detail,'detailName1'))
            THREAD.utl.setText(d1,this.staff.name);
    },

    /* カレンダーを生成 */
 	mkCalender: function(div,def,next)
	{
	    var yobi_def = ['日','月','火','水','木','金','土'];
	    var today = new Date();
	    var now = new Date();
	    now.setDate(1);
	    if (next)
	        now.setMonth(now.getMonth()+1);
	    var mon = now.getMonth() + 1;

        /* 月 */
	    var mdiv = document.createElement('div');
	    mdiv.className = "calmon";
	    mdiv.appendChild( document.createTextNode( mon + '月'));
	    div.appendChild( mdiv );

        var moff = '#ab937c';
        var hoff = '#a8a8fc';

        /* 曜日 */
	    var wdiv = document.createElement('div');
	    wdiv.className = "calw calwTitle";
	    for(var i = 0;i < 7;i++) {
		    var y1 = yobi_def[i];
		    var d1 = document.createElement('span');
		    d1.className = "cal1";
		    if (y1 == '火')
		        d1.style.backgroundColor = moff;
		    d1.appendChild( document.createTextNode( y1));
	        wdiv.appendChild( d1 );
	    }
	    div.appendChild( wdiv );

        /* 日 */
	    var d = 1;
	    var off_d = now.getDay();
	    var now_time = now.getTime();
	    var eof = false;

	    for(var w = 0;w < 6;w++) {
	        var wdiv = document.createElement('div');
	        wdiv.className = "calw";

	        for(var i = 0;i < 7;i++) {
		        var d1 = document.createElement('span');
		        if (off_d-- > 0)
		            d1.className = "cal1";
		        else if (eof)
		            d1.className = "cal1";
		        else {
		            d1.className = "cal1";
                    d1.appendChild( document.createTextNode(d++));

                    /* 日の背景(色) */
			        if (now.getDay() == 2) {
			            if (next && def.moff1) {
				            if (def.moff1[ now.getDate() ])
		   	                    d1.style.backgroundColor = moff;
			            } else if (def.moff0) {
				            if (def.moff0[ now.getDate() ])
		   	                    d1.style.backgroundColor = moff;
			            } else
		   	                d1.style.backgroundColor = moff;
			        } else if (next) {
			            if (def.moff1 && def.moff1[ now.getDate() ]) 
		   	                d1.style.backgroundColor = moff;
			            else if (def.off1 && def.off1[ now.getDate() ]) 
		   	                d1.style.backgroundColor = hoff;
			        } else {
			            if (def.moff0 && def.moff0[ now.getDate() ]) 
		   	                d1.style.backgroundColor = moff;
			            else if (def.off0 && def.off0[ now.getDate() ]) 
		   	                d1.style.backgroundColor = hoff;
			        }
                    /* 今日 */
                    if ((today.getMonth() == now.getMonth()) && 
                        (today.getDate() == now.getDate())) {
                        d1.style.borderStyle = 'solid';
                        d1.style.borderColor = '#ebb100';
                    }
                    now_time += 24 * 60 * 60 * 1000;
		            now.setTime( now_time );
		            if (now.getMonth() + 1 != mon)
			            eof++;
		        }
		        wdiv.appendChild( d1 );
	        }
	        div.appendChild( wdiv );
		    if (eof)
		         break;
	    }
	},
    close: function()
    {
        var fuki;
        if (fuki = this.fukidasi) {
            this.fukidasi = null;
            fuki.stop();
        }
        this.close2();
    },
    /* tip を削除して元の位置に戻る */
    close2: function(nx)
    {
        if (this.tip)
            this.tip.close();

	    APP.nuance.stopFukidasi();
        var detail = this.detail;
        detail.style.overflow = 'hidden';
        var d1;
        for(var i = 0;d1 = detail.childNodes[i];i++) {
            if (d1.nodeName == 'TABLE') {
                d1.style.width = d1.clientWidth + 'px';
                break;
            }
        }

        var anime = new THREAD.anime(detail,THREAD.browser.IE ? 0: 10);
        var cnt = THREAD.browser.IE ? 1: 10;
	    anime.alpha = 10;
	    anime.da = (10-2)/cnt;
        anime.moveResize(
            this.tl2[0],this.tl2[1],
            detail.clientWidth,detail.clientHeight,

            this.tl[0],this.tl[1],
            this.div.clientWidth,this.div.clientHeight,cnt,
                this.bind(this,this.end2,nx));
    },
    /* 次のスタッフを開く */
    next: function()
    {
        var st = this.parent;
        var ar = APP.nuance.staffs;
        var cnt = ar.length;
        for(var i = 0;i < cnt;i++) {
            if (ar[i] == st)
                break;
        }
        if (i >= cnt)
            return this.close();
        i++;
        if (i == cnt)
            i = 0;
        for(;i < cnt;i++) {
            if (ar[i].isDisable())
                continue;
            this.close2(ar[i]);
            break;
        }
    },
    /* 前のスタッフを開く */
    back: function()
    {
        var ar = APP.nuance.staffs;
        var cnt = ar.length;
        for(var i = 0;i < cnt;i++) {
            if (ar[i] == this.parent)
                break;
        }
        if (i >= cnt)
            return this.close();
        i--;
        if (i < 0)
            i = cnt - 1;
        for(;i >= 0;i--) {
            if (ar[i].isDisable())
                continue;
            this.close2(ar[i]);
            break;
        }
    },
    /* 詳細画面を削除、次があれば次を表示 */
    end2: function(nx) 
    {
        THREAD.utl.remove(this.detail);
        APP.nuance.detail = null;
        THREAD.utl.remove(this.cover);
        APP.nuance.cover = null;
	    APP.nuance.stopFukidasi();

        if (nx)
            nx.start();
    },
    bind: function(scope,func,val) {
        return  function()
        {
            func.apply(scope,[val]);
        }
    },
    openStyle: function(evt) 
    {
        /* 注意：this は違う！*/
        var staff = this.staff;
        var catalog = this.catalog;
        var url = "catalog.html?staff="+staff.id + "&catalogid=" + catalog.id;
        location.href = url;
    },
    openWork: function(evt) 
    {
        var work = this.staff.work;
        w1 = window.open(work,"window3","width=818,height=800,resizable=yes,scrollbars=yes,toolbar=no,location=no,status=no,directories=no");
    }
}

/* 吹き出し */
Fukidasi = function(staff)
{
    var dt;

    if (!staff.comment || !(dt = APP.nuance.template.fukidasi)) 
		return;

	APP.nuance.stopFukidasi();

	var fd = dt.cloneNode(true);

	fd.style.visibility = 'visible';

	var tb = THREAD.utl.findId(fd,"fukidasi_body");
	var d1 = document.createElement('div');
	if (THREAD.browser.IE) {
        d1.style.marginLeft = '20px';
	    d1.style.width = '190px';
    } else {
	    d1.style.marginLeft = '8px';
	    d1.style.width = '200px';
    }
	var r = staff.comment.split(/[\r\n]+/);
	var rlen = r.length;
	for(var l = 0;l < rlen;l++) {
		if (l)
	   	    d1.appendChild(document.createElement('br'));
        d1.appendChild(document.createTextNode(r[l]));
    }
	tb.style.paddingLeft = '0px';
	tb.appendChild(  d1 );

    fd.style.position = 'absolute';
	fd.style.color = '#59343b';
	fd.style.left = '0px';
	fd.style.top = '-200px';
	fd.style.zIndex = 101;
	document.body.appendChild( fd );
    var y = 170 - fd.clientHeight;
    if (y < 0)
        y = 0;
    fd.style.top = y + 'px';

    this.div = fd;
    APP.nuance.fukidasi = this;
}
Fukidasi.prototype = {
    stop: function()
    {
        THREAD.utl.remove(this.div);
    }
};


/* staff 画面の初期化 */
APP.nuance.init3 = function() {

    /* スタッフID が指定されている場合 */
    var staffid = (location.search.match(/\bstaff=(.*?)(?:&|$)/)||[])[1];  
    if (staffid) 
       APP.nuance.staffid = Number(staffid);

    /* 詳細画面テンプレートの取得 */
    var div = document.getElementById('detail');
    if (div) {
        if (!APP.nuance.template)
            APP.nuance.template = {};
        APP.nuance.template.detail = div;
        THREAD.utl.remove(div);
    }

    /* 吹き出しテンプレートの取得 */
    if (div = document.getElementById('fukidasi')) {
        if (!APP.nuance.template)
            APP.nuance.template = {};
        APP.nuance.template.fukidasi = div;
        THREAD.utl.remove(div);
    }

    /* スタッフからのお知らせテンプレートの取得 */
    var fs;
    fs = document.getElementById('fromStaff');
    if (div = document.getElementById('oshirase')) {
        APP.nuance.template.width = div.clientWidth - 12;
        APP.nuance.template.height = div.clientHeight - 12;

        APP.nuance.template.oshirase = div;
        THREAD.utl.remove(div);
        if (fs) {
            new doFromStaff(fs);
            fs.style.visibility = 'visible';
            fs.style.cursor = 'pointer';
        }
    } else
        fs.style.visibility = 'hidden';

    /* 
     * リスト表示動作初期化 
     * 同時に、スタッフを Staff クラスのインスタンス化しておく
     */
    var beta = APP.nuance.Beta = new Beta();
    var ar = APP.nuance.staffs = [];
    for(var i = 0;;i++) {
        var id = 'staff' + i;
        var div = document.getElementById(id);
        if (!div)
            break;
        div.style.visibility = 'hidden';
        THREAD.utl.tomei(div,0);
        beta.push(div);
        ar.push(new Staff(div));
    }
    var waku = document.getElementById('waku');

    /* 恵比寿ボタン */
    var divs = [];
    THREAD.utl._findByClassName(divs,waku,'staffEbisu');
    var cnt = divs.length;
    for(var i = 0;i < cnt;i++) {
      var d1 = divs[i];
      d1.style.visibility = 'hidden';
    }
    /* 表参道ボタン */
    divs = [];
    THREAD.utl._findByClassName(divs,waku,'staffOmotesando');
    var cnt = divs.length;
    for(var i = 0;i < cnt;i++) {
        var d1 = divs[i];
       d1.style.visibility = 'hidden';
    }
    /* all ボタン  */
    divs = [];
    THREAD.utl._findByClassName(divs,waku,'staffAll');
    var cnt = divs.length;
    for(var i = 0;i < cnt;i++) {
        var d1 = divs[i];
       d1.style.visibility = 'hidden';
    }
};

/* 全員を表示 */
APP.nuance.doStaffAll = function() {
        var ar = APP.nuance.staffs;
        var cnt = ar.length;
        for(var i = 0;i < cnt;i++){
            ar[i].setEnable();
        }
};
/* 表参道スタッフを表示 */
APP.nuance.doStaffOmotesando =  function() {
        var ar = APP.nuance.staffs;
        var cnt = ar.length;
        for(var i = 0;i < cnt;i++){
            if (ar[i].staff.shop == 'ebisu')
                ar[i].setDisable();
            else
                ar[i].setEnable();
        }
};
/* 恵比寿スタッフを表示 */
APP.nuance.doStaffEbisu =  function() {
        var ar = APP.nuance.staffs;
        var cnt = ar.length;
        for(var i = 0;i < cnt;i++){
            if (ar[i].staff.shop == 'ebisu')
                ar[i].setEnable();
            else
                ar[i].setDisable();
        }
};

/* 吹き出しを止める */
APP.nuance.stopFukidasi = function() {
    var fd = APP.nuance.fukidasi;
    if (fd) {
        APP.nuance.fukidasi = null;
        fd.stop();
    }
};

/* 初期動作３ */
APP.nuance.start3 = function() 
{
    /* スタッフを一人ずつ表示する */
    var beta= APP.nuance.Beta;
    if (beta)
        beta.start(APP.nuance.start4);
};

/* 初期動作４ */
APP.nuance.start4 = function() 
{
    var waku = document.getElementById('waku');

    /* 恵比寿ボタンの初期化 */
    var divs = [];
    THREAD.utl._findByClassName(divs,waku,'staffEbisu');
    var cnt = divs.length;
    for(var i = 0;i < cnt;i++) {
      var d1 = divs[i];
      THREAD.event.addEventListener(d1,"click",APP.nuance.doStaffEbisu);
       d1.style.visibility = 'visible';
    }
    /* 表参道ボタンの初期化 */
    divs = [];
    THREAD.utl._findByClassName(divs,waku,'staffOmotesando');
    var cnt = divs.length;
    for(var i = 0;i < cnt;i++) {
        var d1 = divs[i];
        THREAD.event.addEventListener(d1,"click",APP.nuance.doStaffOmotesando);
       d1.style.visibility = 'visible';
    }
    /* allボタンの初期化  */
    divs = [];
    THREAD.utl._findByClassName(divs,waku,'staffAll');
    var cnt = divs.length;
    for(var i = 0;i < cnt;i++) {
        var d1 = divs[i];
        THREAD.event.addEventListener(d1,"click",APP.nuance.doStaffAll);
       d1.style.visibility = 'visible';
    }

    /* 
     * スタッフID の指定がある場合 
     * そのスタッフを詳細表示する
     */
    var staffid = APP.nuance.staffid;
    if (typeof staffid != 'undefined') {
        var ar = APP.nuance.staffs;
        var cnt = ar.length;
        for(var i = 0;i < cnt;i++) {
            var staff = ar[i];
            if (staff.id == staffid) {
                staff.start();
                break;
            }
        }
    }
}

/* スタッフからのお知らせ画面の大きさ */
APP.nuance.data = {};

/* カタログID からカタログデータを得る */
APP.nuance.getCatalog = function(id)
{
    var catalog;
    if (!(catalog = APP.nuance.data.catalog))
        return null;
    var len  = catalog.length;
    for(var i = 0;i < len;i++) {
        if (catalog[i].id == id)
            return catalog[i];
    }
    return null;
}
NUANCE = {
    staff: {
        subWin7: function() {
            window.open("/column2/column.cgi","window7","width=823,height=600,resizable=yes,scrollbars=yes,toolbar=yes,location=no,status=no,directories=no");
        }
    }
};

