(function (app) {
    app.controller('homeCtrl', ["$scope", "$http", 'config', "$state", "msg", "$ionicPopover", "homeService"
        , function ($scope, $http, config, $state, msg, $ionicPopover, homeService) {
            $scope.type = 'hot';//tab切换
            $ionicPopover.fromTemplateUrl('my-popover.html', {
                scope: $scope
            }).then(function (popover) {
                $scope.popover = popover;
            });
            $scope.openPopover = function ($event) {
                $scope.popover.show($event);
            };
            $scope.closePopover = function () {
                $scope.popover.hide();
            };
            $scope.changetype = function (type) {
                $scope.type = type;
                $scope.load(true);
            }
            $scope.toDetail = function (id) {
                $state.go('app.home_dreamdetail',{id:id});
            };
            $scope.filter = {
                hasMore: false,
                pageIndex: 1,
                pageSize: 20,
            }
            $scope.index = {
                banner: [],
                users: [],
                dreams:[]
            };
            $scope.load = function (init) {
                if (init) {
                    $scope.filter.pageIndex = 1;
                    $scope.index.dreams = [];
                }
                msg.loading();
                homeService.index($scope.type, $scope.filter.pageIndex).then(function (result) {
                    msg.hide();
                    $scope.index.banners = result.data.data.banners;
                    $scope.index.users = result.data.data.users;
                    $scope.filter.pageIndex++;
                    var more = (result.data.data.dreams.data.length >= $scope.filter.pageSize);
                    $scope.filter.hasMore = more;
                    $scope.index.dreams = $scope.index.dreams.concat(result.data.data.dreams.data);
                    if (init) {
                        $scope.$broadcast('scroll.refreshComplete');
                    } else {
                        $scope.$broadcast('scroll.infiniteScrollComplete');
                    }
                }, function (error) {
                    msg.hide();
                });
            }
            $scope.data = {};
            $scope.load(true);
            //$scope.$on('$ionicView.enter', function () {
              
          
            //});
        }]);

    app.controller('dreamDetailCtrl', ["$scope", "$state", "msg", "common", "config", "homeService", "$ionicTabsDelegate", "$stateParams", "$ionicModal", "$timeout", "$ionicScrollDelegate", "$interval"
        , function ($scope, $state, msg, common, config, homeService, $ionicTabsDelegate, $stateParams, $ionicModal, $timeout, $ionicScrollDelegate, $interval) {
            var id = $stateParams.id;
            id=5;
            $scope.load = function (id) {
                msg.loading();
                homeService.dreamDetail(id).then(function (result) {
                    msg.hide();
                    console.log(result);
                    $scope.dream = result.data.data
                    console.log();
                    var date = new Date();
                    var inter = (date.getTime() - new Date($scope.dream.created_at).getTime())/1000
                    leftTimer($scope.dream.time-inter);
                    $scope.multi = {
                        a: $scope.dream.a,
                        b: new Date($scope.dream.created_at),
                        c: $scope.dream.c,
                        result: 1,
                        promise:null,
                    }
                    $scope.calcmultiplier();
                }, function (error) {
                    msg.hide();
                });
            }

            $scope.type = 1;//tab切换
            $scope.tosupport = false;
            $scope.support = function ($event) { 
                $event.stopPropagation();
                $scope.tosupport = true;
                $scope.vm.coin = 0;
                $scope.index = 0;
            }
            $scope.cancelSupport = function () {
                $scope.tosupport = false;
            }
            $scope.changeType = function (type) {
                $ionicScrollDelegate.scrollTop(true);
                $scope.type = type;
            }
            $scope.index = 0;
            $scope.$on('$ionicView.beforeEnter', function () {
                $scope.load(id);
                $ionicTabsDelegate.showBar(false);
            });
            $scope.$on('$ionicView.leave', function () {
                $ionicTabsDelegate.showBar(true);
                if($scope.multi.promise)$interval.cancel($scope.multi.promise);
                if($scope.leftTimer)$interval.cancel($scope.leftTimer);
            });

            $scope.vm = {
                coin:"",
                title:""
            }
            $scope.timer = '';
            var leftTimer = function (countDown) {
                var day=parseInt(countDown/(24*60*60));
                var h=parseInt(countDown/(60*60)%24);
                var m=parseInt(countDown/60%60);
                var s=parseInt(countDown%60); 
                $scope.timer=(h<10?'0'+h:h)+'时'+(m<10?'0'+m:m)+'分'+(s<10?'0'+s:s)+'秒';
                if(day>0) $scope.timer = day+'天'+ $scope.timer;
                
                if($scope.leftTimer)$interval.cancel($scope.leftTimer);
                $scope.leftTimer = $interval(function () {
                    if (countDown >= 1) leftTimer(countDown - 1);
                },1000);
                if(countDown<=0){
                  $scope.timer='结束'; 
                }
            }
            $scope.changeIndex = function (index) {
                $scope.index = index;
                $scope.vm.coin = index*5;
            }
            //实时排行
            $scope.sort = {
                first: 'img/demo/head5.jpg',
                second: 'img/demo/head6.jpg',
                third: 'img/demo/head7.jpg',
                slide: ''
            }
            $scope.vidEnded = function () {
                alert('播放完毕');
            }
            //实时计算支持乘数
            $scope.calcmultiplier = function () {
                $scope.multi.promise=$interval(function () {
                    var date = new Date();
                    var inter = date.getTime() - $scope.multi.b.getTime();
                    var minutes = Math.floor(inter / (60 * 1000));
                    var number = $scope.multi.a * minutes + $scope.multi.c;//js浮点运算会失真,根据muti.a的可能值范围，比如乘以100再除以100
                    if (number<=1) {
                        number = 1;
                    }
                    $scope.multi.result = Math.round(number * 100) / 100;
                },1000);
                //  点击支持取消   $interval.cancel($scope.multi.promise); 获取数据后重新开始执行
            }
            $scope.supportDream = function (data) {
                if(!$scope.vm.coin){
                    msg.error("请选择梦想币数量！");
                    return ;
                }
                var data = {
                    id:id,
                    coin:$scope.vm.coin
                };

                homeService.supportDream(data).then(function(result){
                    $scope.tosupport = false;

                    $scope.load(id);
                    //
                    //测试动画切换
                    $scope.sort.first = 'img/demo/head7.jpg';
                    $scope.sort.second = 'img/demo/head6.jpg';
                    $scope.sort.third = 'img/demo/head5.jpg';
                    $scope.sort.slide1 = 'list-grow-animation';
                    $scope.sort.slide2 = 'slide-in-both-ways';
                    $scope.sort.slide3 = 'bounce-animation';
                    $interval.cancel($scope.multi.promise);
                })
            };

            $scope.collectionDream = function(is_collection){
                homeService.collectionDream(id,is_collection).then(function(result){
                    $scope.dream.is_collection=result.data.data;
                })
            }

             $scope.add = function(is_collection){
                var data = {
                    id:id,
                    title:$scope.vm.title,
                    // pics:$scope.vm.content,
                };
                homeService.add_interaction(data).then(function(){
                    $scope.load(id);
                    $scope.closeModal();
                })
            }

            $scope.showText = function(){ 
                $scope.aboutStyle = {
                    "white-space" : "normal"
                  }
                $scope.ionDownStyle = {
                    "display" : "none"
                }
            }
            $scope.input = {
                placeholder: '评论',
                focus:false
            }
         
            $scope.replay = function ($event, name) {
                $scope.input.focus = true;
            //$event.stopPropagation();
            $scope.input.placeholder = "回复" + name;
            
            $scope.vm.title='';
        }
        $scope.comment = function(){
          //  $event.stopPropagation();
            $scope.input.placeholder = "评论";
            $scope.input.focus = true;
            $scope.vm.title='';
        }
        $scope.addpict = function () {
            $scope.imgs=new Array();
            common.chooseImage().then(function (img) {
                common.uploadFiles(img,1).then(function (result) {
                    var response = JSON.parse(result.response);
                    var file = response.data.file;
                    $scope.imgs.push(config.imgServer+file);
                }, function (error) {
                    msg.error('图片上传失败');
                });
            }, function (error) {
                console.log('图片选择失败');
            });
        };

          $ionicModal.fromTemplateUrl('recharge-modal.html', {
            scope: $scope,
            animation: 'slide-in-up'
          }).then(function(modal) {
            $scope.rechagemodal = modal;
          });

          $scope.openRechargeModal = function() {
            $scope.rechagemodal.show();
            $scope.rvm={
                dream:'',
                about:'',
                money:''
            };
          };
          $scope.closeRechargeModal = function() {
            $scope.rechagemodal.hide();
          };

          $ionicModal.fromTemplateUrl('interaction-modal.html', {
            scope: $scope,
            animation: 'slide-in-up'
          }).then(function(modal) {
            $scope.modal = modal;
          });
          $scope.openModal = function() {
            $scope.modal.show();
            $scope.ivm={
                dream:'',
                about:'',
                money:''
            };
            $scope.iimgServer = config.imgServer;
            $scope.iimgs = [];
          };
          $scope.closeModal = function() {
            $scope.modal.hide();
          };
          //当我们用到模型时，清除它！
          $scope.$on('$destroy', function() {
            $scope.modal.remove();
          });
        }]);
    app.controller('searchCtrl', ["$scope","homeService", "$state", "msg", "$ionicTabsDelegate", "$ionicNavBarDelegate"
        , function ($scope,homeService, $state, msg, $ionicTabsDelegate, $ionicNavBarDelegate) {
            $scope.index = 0;
            $scope.index1 = 0;
            $scope.vm = {
                keywords : ""
            }
            $scope.ismore = true;
            $scope.selectHot = function (index) {
                $scope.index = index;
            }
            $scope.selectHistory = function (index) {
                $scope.index1 = index;
            }
            $scope.showmore = function () {
                $scope.ismore = true;
            }
            $scope.keychange = function () {
                $scope.ismore = false;
            }
            $scope.type = 1;
            $scope.changetype = function (type) {
                $scope.type = type;
            }
            $scope.$on('$ionicView.beforeEnter', function () {
                $ionicTabsDelegate.showBar(false);
                $ionicNavBarDelegate.showBackButton(false);
            });
            $scope.$on('$ionicView.leave', function () {
                $ionicTabsDelegate.showBar(true);
            });
            $scope.searchContent = function ()
            {
                homeService.searchContent($scope.vm.keywords).then(function(result){

                },function(error){

                });
            };
        }]);
    app.controller('interactionAddCtrl', ["$scope","homeService", "$state", "msg","config","common", "$ionicTabsDelegate", "$ionicNavBarDelegate"
        , function ($scope,homeService, $state, msg,config,common, $ionicTabsDelegate, $ionicNavBarDelegate) {
            $scope.$on('$ionicView.beforeEnter', function () {
             
                
            }); 

    }]);
    app.controller('homeDreamsCtrl', ["$scope", "$state", "myService", "msg"
  , function ($scope, $state, myService, msg) {
      $scope.$on('$ionicView.beforeEnter', function () {
            myService.myDream().then(function(result){
              console.log(result.data.data);
              $scope.dreams = result.data.data;
            });
      });
          $scope.toDetail = function (id) {
            $state.go('app.home_dreamdetail',{id:id});
          };

  }]);
    
})(angular.module('app.controllers'));