// Learn cc.Class:
//  - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/class.html
//  - [English] http://www.cocos2d-x.org/docs/creator/en/scripting/class.html
// Learn Attribute:
//  - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/reference/attributes.html
//  - [English] http://www.cocos2d-x.org/docs/creator/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
//  - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/life-cycle-callbacks.html
//  - [English] http://www.cocos2d-x.org/docs/creator/en/scripting/life-cycle-callbacks.html

cc.Class({
    extends: cc.Component,

    properties: {
        // foo: {
        //     // ATTRIBUTES:
        //     default: null,        // The default value will be used only when the component attaching
        //                           // to a node for the first time
        //     type: cc.SpriteFrame, // optional, default is typeof default
        //     serializable: true,   // optional, default is true
        // },
        // bar: {
        //     get () {
        //         return this._bar;
        //     },
        //     set (value) {
        //         this._bar = value;
        //     }
        // },
        goldLabel:cc.Label,
        nameLabel:cc.Label,
        lockedSprite:cc.Sprite,
        outlineSprite:cc.outline,
        position:0,
        store:cc.Node,

    },

    // LIFE-CYCLE CALLBACKS:

    onLoad () {
        this.goldLabel = this.node.children[1];
        this.nameLabel = this.node.children[2];
        this.lockedSprite = this.node.children[4];
        this.outlineSprite = this.node.children[5];
        this.node.on('touchend',  ()=> {
            this.store.onItemClick(this.position);
        }, this);
    },

    init(bottleInfo,selected,store,position){
        this.position = position;
        this.store = store;
        this.goldLabel.getComponent(cc.Label).string = bottleInfo.price;
        this.nameLabel.getComponent(cc.Label).string = bottleInfo.name;
        this.lockedSprite.active = bottleInfo.isBought == 0;
        this.outlineSprite.active = selected;
    },

    setUnLock(){
        // this.outlineSprite.active = true;
        this.lockedSprite.active = false;
    },

    setSelected(selected){
        this.outlineSprite.active = selected;
        // this.lockedSprite.active = selected;
    },

    isUnLocked(){
        return this.lockedSprite.active == false;
    }

    // update (dt) {},
});
