void pawsCharDescription::RequestDetails()
{
    psengine->GetMsgHandler()->Subscribe(this, MSGTYPE_CHARACTERDETAILS);

    psCharacterDetailsRequestMessage requestMsg(true, true, "pawsCharDescription");
    requestMsg.SendMessage();
}
void SessionsViewController::buttonCallBack(CAControl* btn, DPoint point)
{
    if (btn->getTag() == 100)
    {
        this->getView()->removeSubview(p_alertView);
        p_alertView = NULL;
        requestMsg();
    }
}
void SessionsViewController::viewDidLoad()
{
    // Do any additional setup after loading the view from its nib.
    m_winSize = this->getView()->getBounds().size;
    
    CAScale9ImageView* sView = CAScale9ImageView::createWithImage(CAImage::create("common/sky_bg.png"));
    sView->setFrame(DRect((0), (0), m_winSize.width, (120)));
    this->getView()->addSubview(sView);
    
    CAButton* button = CAButton::createWithFrame(DRect((0), (20), (100), (100)), CAButtonTypeCustom);
    CAImageView* imageView = CAImageView::createWithImage(CAImage::create("common/nav_search.png"));
    imageView->setImageViewScaleType(CAImageViewScaleTypeFitImageXY);
    button->setBackgroundViewForState(CAControlStateAll, imageView);
    button->addTarget(this, CAControl_selector(SessionsViewController::buttonCallBack), CAControlEventTouchUpInSide);
    button->setTag(20);
    this->getView()->addSubview(button);
    
    FSegmentView* seg = FSegmentView::createWithFrame(DRect(m_winSize.width - 240, 45, 200, 50), 2);
    seg->addTarget(this, CAControl_selector(SessionsViewController::buttonCallBack), CAControlEventTouchUpInSide);
    imageView = CAImageView::createWithImage(CAImage::create("common/nav_time.png"));
    seg->setItemBackgroundImage(imageView, 0);
    imageView = CAImageView::createWithImage(CAImage::create("common/nav_type.png"));
    seg->setItemBackgroundImage(imageView, 1);
    seg->setTag(200, 0);
    seg->setTag(201, 1);
    this->getView()->addSubview(seg);

    m_navType = 0;
    m_navTimeType = 0;
    m_navFormatType = 0;
    
    CALabel* label = CALabel::createWithCenter(DRect(m_winSize.width / 2, (75), m_winSize.width, (50)));
    label->setTextAlignment(CATextAlignmentCenter);
    label->setColor(CAColor_white);
    label->setFontSize(SAP_TITLE_FONT_SIZE);
    label->setText("Agenda");
    label->setFontName(SAP_FONT_ARIAL);
    sView->addSubview(label);
    
    if (m_msg->empty())
    {
        requestMsg();
        {
            p_pLoading = CAActivityIndicatorView::createWithCenter(DRect(m_winSize.width / 2, m_winSize.height / 2, 50, 50));
            this->getView()->insertSubview(p_pLoading, CAWindowZOderTop);
            p_pLoading->setLoadingMinTime(0.5f);
            p_pLoading->setTargetOnCancel(this, callfunc_selector(SessionsViewController::initMsgTableView));
        }
    }
    else
    {
        initMsgTableView();
    }
    CCLog("%f", CAApplication::getApplication()->getWinSize().width);
}
void SessionsViewController::viewDidLoad()
{
    // Do any additional setup after loading the view from its nib.
    m_winSize = this->getView()->getBounds().size;
    
    CAScale9ImageView* sView = CAScale9ImageView::createWithImage(CAImage::create("common/sky_bg.png"));
    sView->setFrame(DRect(_px(0), _px(0), m_winSize.width, _px(120)));
    this->getView()->addSubview(sView);
    
    CAButton* button = CAButton::createWithFrame(DRect(_px(20), _px(20), _px(100), _px(100)), CAButtonTypeCustom);
    CAImageView* imageView = CAImageView::createWithImage(CAImage::create("main/nav_notification.png"));
    imageView->setImageViewScaleType(CAImageViewScaleTypeFitImageXY);
    button->setBackGroundViewForState(CAControlStateAll, imageView);
    button->addTarget(this, CAControl_selector(SessionsViewController::buttonCallBack), CAControlEventTouchUpInSide);
    button->setTag(20);
    this->getView()->addSubview(button);
    
    m_timeNoticeImageView = CAImageView::createWithFrame(DRect(_px(60), _px(30), _px(10), _px(10)));
    m_timeNoticeImageView->setImage(CAImage::create("common/reddot.png"));
    button->addSubview(m_timeNoticeImageView);
    
    button = CAButton::createWithFrame(DRect(m_winSize.width - _px(120), _px(20), _px(100), _px(100)), CAButtonTypeCustom);
    imageView = CAImageView::createWithImage(CAImage::create("main/nav_prize.png"));
    imageView->setImageViewScaleType(CAImageViewScaleTypeFitImageXY);
    button->setBackGroundViewForState(CAControlStateAll, imageView);
    button->addTarget(this, CAControl_selector(SessionsViewController::buttonCallBack), CAControlEventTouchUpInSide);
    button->setTag(30);
    this->getView()->addSubview(button);
    
    CALabel* label = CALabel::createWithCenter(DRect(m_winSize.width / 2, _px(70), m_winSize.width, _px(40)));
    label->setTextAlignment(CATextAlignmentCenter);
    label->setColor(CAColor_white);
    label->setFontSize(_px(40));
    label->setText("Agenda");
    label->setFontName("fonts/arial.ttf");
    sView->addSubview(label);

    if (m_msg.empty())
    {
        requestMsg();
    }
    else
    {
        this->initMsgTableView();
    }
    
    CCLog("%f", CAApplication::getApplication()->getWinSize().width);
}
void SiteViewController::viewDidLoad()
{
    // Do any additional setup after loading the view from its nib.
    m_winSize = this->getView()->getBounds().size;

	CAScale9ImageView* tabBg = CAScale9ImageView::createWithImage(CAImage::create("common/yellow_bg.png"));
	tabBg->setCapInsets(DRect(1, 1, 1, 1));
	tabBg->setFrame(DRect((0), (0), m_winSize.width, (150)));
	this->getView()->addSubview(tabBg);

    CAButton* button = CAButton::createWithFrame(DRect((0), (20), (100), (100)), CAButtonTypeCustom);
    CAImageView* imageView = CAImageView::createWithImage(CAImage::create("common/nav_back.png"));
    imageView->setImageViewScaleType(CAImageViewScaleTypeFitImageXY);
    imageView->setFrame(DRect((20), (20), (80), (80)));
    button->setBackgroundViewForState(CAControlStateAll, imageView);
    button->addTarget(this, CAControl_selector(SiteViewController::buttonCallBack), CAControlEventTouchUpInSide);
    button->setTag(20);
    this->getView()->addSubview(button);

	CALabel* mc = CALabel::createWithFrame(DRect((120), (62), (200), (50)));
	mc->setFontSize((40));
	mc->setText("Site");
	mc->setColor(CAColor_white);
	mc->setFontName(SAP_FONT_ARIAL);
	this->getView()->addSubview(mc);

    imageView = CAImageView::createWithFrame(DRect(0, (150), m_winSize.width, m_winSize.height - (150)));
    imageView->setImageViewScaleType(CAImageViewScaleTypeFitImageCrop);
    imageView->setImage(CAImage::create("common/site_map.png"));
    this->getView()->addSubview(imageView);
    
	button = CAButton::createWithFrame(DRect(m_winSize.width - 100, (50), (50), (50)), CAButtonTypeRoundedRect);
	imageView = CAImageView::createWithImage(CAImage::create("common/share_btn.png"));
	imageView->setImageViewScaleType(CAImageViewScaleTypeFitViewByHorizontal);
	button->setTag(200);
	button->setBackgroundViewForState(CAControlStateAll, imageView);
	button->addTarget(this, CAControl_selector(SiteViewController::buttonCallBack), CAControlEventTouchUpInSide);
	this->getView()->addSubview(button);

	requestMsg();
	m_pLoading = CAActivityIndicatorView::createWithCenter(DRect(m_winSize.width / 2, m_winSize.height / 2, 50, 50));
	m_pLoading->setLoadingMinTime(0.5f);
	this->getView()->addSubview(m_pLoading);

    CCLog("%f", CAApplication::getApplication()->getWinSize().width);
}
void SiteViewController::buttonCallBack(CAControl* btn, DPoint point)
{
	if (btn->getTag() == 100)
	{
		RootWindow::getInstance()->getRootNavigationController()->popViewControllerAnimated(true);
	}
	else if (btn->getTag() == 200)
	{

	}
	else if (btn->getTag() == 500)
	{
		requestMsg();
		if (m_pLoading == NULL)
		{
			m_pLoading = CAActivityIndicatorView::createWithCenter(DRect(m_winSize.width / 2, (m_winSize.height - (200)) / 2, 50, 50));
			this->getView()->insertSubview(m_pLoading, CAWindowZOderTop);
			m_pLoading->setLoadingMinTime(0.5f);
		}
	}
}
void SessionsViewController::scrollViewHeaderBeginRefreshing(CrossApp::CAScrollView *view)
{
    requestMsg();
}
void SessionsViewController::buttonCallBack(CAControl* btn, DPoint point)
{
    if(btn->getTag() == 20)
    {
        SessionsSearchViewController* vc = new SessionsSearchViewController(0);
        vc->init();
        vc->autorelease();
        RootWindow::getInstance()->getRootNavigationController()->pushViewController(vc, true);
    }
    else if (btn->getTag() == 100)
    {
        this->getView()->removeSubview(p_alertView);
        p_alertView = NULL;
        requestMsg();
        {
            p_pLoading = CAActivityIndicatorView::createWithCenter(DRect(m_winSize.width / 2, m_winSize.height / 2, 50, 50));
            this->getView()->insertSubview(p_pLoading, CAWindowZOderTop);
            p_pLoading->setLoadingMinTime(0.5f);
            //p_pLoading->setTargetOnCancel(this, callfunc_selector(SessionsViewController::initMsgTableView));
        }
        initMsgTableView();
    }
    else if (btn->getTag() == 200)
    {
        if(m_navType == 0) return;
        m_navType = 0;
        for (int i = 0; i < m_filterViewVec.size(); i++)
        {
            m_filterViewVec[i]->setVisible(false);
        }
        m_listView->setVisible(true);
        if (m_msgTableView)
        {
            refreshTableByTime(m_navTimeType);
        }
        
    }
    else if (btn->getTag() == 201)
    {
        if(m_navType == 1) return;
        m_navType = 1;
        m_listView->setVisible(false);
        m_filterView->setVisible(true);
        m_downView[0]->setVisible(false);
        m_downView[0]->setVisible(false);
        if (m_msgTableView)
        {
            refreshTableByFormat(m_navTrackType, m_navFormatType);
        }
    }
    else if (btn->getTag() >= 400 && btn->getTag() < 500)
    {
        if (btn->getControlState() == CAControlStateNormal)
        {
            m_navTrackType = 0;
            refreshTableByFormat(m_navTrackType, m_navFormatType);
        }
        else if (btn->getControlState() == CAControlStateSelected)
        {
            for (int i = 0; i < TrackNum; i++)
            {
                if (m_trackButtonVec[i] == btn)
                    continue;
                m_trackButtonVec[i]->setControlState(CAControlStateNormal);
            }
            m_navTrackType = btn->getTag() - 400;
            refreshTableByFormat(m_navTrackType, m_navFormatType);
        }
        if (m_filterBtn[0]) {
            if (btn->getTag() == 400)
                m_filterBtn[0]->setTitleForState(CAControlStateAll, filterItem[0]);
            else
                m_filterBtn[0]->setTitleForState(CAControlStateAll, trackFilterItem[btn->getTag() - 400]);
        }
    }
    else if (btn->getTag() >= 500 && btn->getTag() < 600)
    {
        if (btn->getControlState() == CAControlStateNormal)
        {
            m_navFormatType = 0;
            refreshTableByFormat(m_navTrackType, m_navFormatType);
        }
        else if (btn->getControlState() == CAControlStateSelected)
        {
            for (int i = 0; i < FormatNum; i++)
            {
                if (m_formatButtonVec[i] == btn)
                    continue;
                m_formatButtonVec[i]->setControlState(CAControlStateNormal);
            }
            m_navFormatType = btn->getTag() - 500;
            refreshTableByFormat(m_navTrackType, m_navFormatType);
        }
        if (m_filterBtn[1]) {
            if (btn->getTag() == 500)
                m_filterBtn[1]->setTitleForState(CAControlStateAll, filterItem[1]);
            else
                m_filterBtn[1]->setTitleForState(CAControlStateAll, formatFilterItem[btn->getTag() - 500]);
        }
    }

    
	if (btn->getTag() == 300)
	{
		if (btn->getControlState() == CAControlStateSelected)
		{
			CAButton* button = (CAButton*)m_filterView->getSubviewByTag(301);
			button->setControlState(CAControlStateNormal);
			m_downView[0]->setVisible(true);
		}
		else
		{
			m_downView[0]->setVisible(false);
		}
		m_downView[1]->setVisible(false);
	}
	else if (btn->getTag() == 301)
	{
		if (btn->getControlState() == CAControlStateSelected)
		{
			CAButton* button = (CAButton*)m_filterView->getSubviewByTag(300);
			button->setControlState(CAControlStateNormal);
			m_downView[1]->setVisible(true);
		}
		else
		{
			m_downView[1]->setVisible(false);
		}
		m_downView[0]->setVisible(false);
	}
	else
	{
        if (!m_filterView) {
            return;
        }
		CAButton* button = (CAButton*)m_filterView->getSubviewByTag(300);
        
		button->setControlState(CAControlStateNormal);
		button = (CAButton*)m_filterView->getSubviewByTag(301);
		button->setControlState(CAControlStateNormal);
		m_downView[0]->setVisible(false);
		m_downView[1]->setVisible(false);
	}

}