(function (app) {
    app.controller('homeCtrl', ["$scope", "$ionicTabsDelegate", "$http", 'config', "$state", "msg", "$ionicPopover", "homeService", "$ionicPopup", "$timeout", "$ionicSideMenuDelegate"
        , function ($scope, $ionicTabsDelegate, $http, config, $state, msg, $ionicPopover, homeService, $ionicPopup, $timeout, $ionicSideMenuDelegate) {
        $scope.$on('$ionicView.beforeEnter', function () {
            $ionicTabsDelegate.showBar(true);
            $scope.load(true);
            homeService.messageInfo().then(function(result){
                $scope.infos = result.data.data;
                if($scope.infos.letter.is_read==0 && $scope.infos.reply.is_read==0 && $scope.infos.systemInfo.is_read==0){
                    $scope.showMessage=0;
                }
                else {
                    $scope.showMessage=1;
                }
            },function(error){

            });
        });
        $scope.type = 'hot';//tab切换

            //$scope.chosedIndex = 0;
           $scope.clickAvatar = function(id){
               homeService.toUserDetail(id).then(function(result){
                   $scope.items = result.data.data;
                   $state.go('app.home_userDetail',{id:id,items:$scope.items});
               },function(error){
                       //msg.error(msg.data.error)
               });
           };
        $ionicPopover.fromTemplateUrl('my-popover.html', {
            scope: $scope
        }).then(function (popover) {
            $scope.popover = popover;
        });
        $scope.toggleLeftSideMenu = function () {
            $ionicSideMenuDelegate.toggleLeft();
        };

        $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.toUserDetail = function (id) {
            homeService.toUserDetail(id).then(function(result){
                $scope.items = result.data.data;
                $state.go('app.home_userDetail',{id:id,items:$scope.items});
            },function(error){
                //msg.error(msg.data.error)
            })
        };
        $scope.changeFilter = function (input) {
            switch (input) {
                case '1':
                    if ($scope.filter.sex == 1) {
                        $scope.filter.sex = 0;
                    } else {
                        $scope.filter.sex = 1;
                    }
                    break;
                case '2':
                    if ($scope.filter.sex == 2) {
                        $scope.filter.sex = 0;
                    } else {
                        $scope.filter.sex = 2;
                    }
                    break;
                default:
            }
        };
        $scope.filter = {
            hasMore: false,
            pageIndex: 1,
            pageSize: 20,
            sex: 0,//1男,2女,0:全部,
            age: 0,//0:全部,1:18-21,2:22-25,3:26-29,4:30-33,5:34-37,6:>38,
            city:''
        };
            $scope.doFilter = function () {
                homeService.doFilter($scope.filter.sex,$scope.filter.age,$scope.filter.city).then(function(result){
                    $scope.index.dreams = result.data.data.dreams.data;
                },function(error){
                    msg.error(data.error.message);
                });
                //$ionicSideMenuDelegate.toggleRight();
            };
        $scope.index = {
            banner: [],
            users: [],
            dreams:[]
        };
        $scope.next = function (type) {
            //type:1 前一个，type:2 后一个
            if($scope.index.users.length>0){
                if(type==1)
                {
                   var temp=  $scope.index.users.splice(0,1);
                   $scope.index.users.push(temp[0]);
                }
                if (type==2){
                    var temp= $scope.index.users.splice($scope.index.users.length-1,1);
                    $scope.index.users.unshift(temp[0]);
                }
            }
        };
        $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.qrscan = function () {
            cordova.plugins.barcodeScanner.scan(
                    function (result) {
                        //扫码成功后执行的回调函数
                        alert("收到一个二维码\n" +
                            "扫码文字结果: " + result.text + "\n" +
                            "格式: " + result.format + "\n" +
                            "是否在扫码页面取消扫码: " + result.cancelled);
                      
                    },
                    function (error) {
                        //扫码失败执行的回调函数
                        alert("Scanning failed: " + error);
                    }, {
                        preferFrontCamera: false, // iOS and Android 设置前置摄像头
                        showFlipCameraButton: true, // iOS and Android 显示旋转摄像头按钮
                        showTorchButton: true, // iOS and Android 显示打开闪光灯按钮
                        torchOn: false, // Android, launch with the torch switched on (if available)打开手电筒
                        prompt: "在扫描区域内放置二维码", // Android提示语
                        resultDisplayDuration: 500, // Android, display scanned text for X ms. 
                        //0 suppresses it entirely, default 1500 设置扫码时间的参数
                        formats: "QR_CODE", // 二维码格式可设置多种类型
                        orientation: "portrait", // Android only (portrait|landscape), 
                        //default unset so it rotates with the device在安卓上 landscape 是横屏状态   
                        disableAnimations: true, // iOS     是否禁止动画
                        disableSuccessBeep: false // iOS      禁止成功后提示声音 “滴”
                    }
                );
        };
        $scope.data = {};
        //$scope.load(true);
        $scope.$on('$ionicView.beforeLeave', function () {
            $scope.popover.hide();
            $scope.load(true);
        });
    }]);

    app.controller('dreamDetailCtrl', ["$scope", "$state", "WechatService","$ionicModal","storage","msg", "common", "config", "homeService", "$ionicTabsDelegate", "$stateParams","$ionicBackdrop", "$timeout", "$ionicScrollDelegate", "$interval"
        , function ($scope, $state,WechatService,$ionicModal, storage , msg, common, config, homeService, $ionicTabsDelegate, $stateParams,$ionicBackdrop, $timeout, $ionicScrollDelegate, $interval) {
        var id = $stateParams.id;
        var top3user = '';
            $scope.chosedIndex = 0;
            $scope.clickAvatar = function(index){
                $scope.chosedIndex = index;
                homeService.myInfo().then(function(result){
                    $scope.user = result.data.data;
                });
            };
        // id=5;
            $scope.$on('$ionicView.beforeEnter', function () {
                $ionicTabsDelegate.showBar(false);
                $scope.load(id);
                $scope.thisUser = storage.getObject('user');
                homeService.myInfo().then(function(result){
                    $scope.user = result.data.data;
                });
                homeService.messageInfo().then(function(result){
                    $scope.infos = result.data.data;
                    if($scope.infos.letter.is_read==0 && $scope.infos.reply.is_read==0 && $scope.infos.systemInfo.is_read==0){
                        $scope.showMessage=0;
                    }
                    else {
                        $scope.showMessage=1;
                    }
                },function(error){

                });
            });
            $scope.$on('$ionicView.leave', function () {
                if($scope.multi.promise)$interval.cancel($scope.multi.promise);
                if($scope.leftTimer)$interval.cancel($scope.leftTimer);
            });
            $scope.toSort = function(){
                //$scope.type = 3;
                $scope.changeType(3)
            };

        $scope.load = function (id) {
            msg.loading();
            homeService.dreamDetail(id).then(function (result) {
                msg.hide();
                console.log(result);
                $scope.showCode  = function(codeName){
                    $scope.url = codeName;
                    $scope.code = true;
                };
                $scope.hideCode = function(){
                    $scope.code = false;
                };
                $scope.dream = result.data.data;
                if($scope.timer=='已结束'|| 100*$scope.dream.get_coin/$scope.dream.coin>=100){
                    $scope.codeBtn = true;
                }
                if($scope.dream.video){
                    $scope.dream.vpic = config.server+'upload/vpic/'+$scope.dream.video+'.jpg';
                    $scope.dream.video = config.imgServer+$scope.dream.video;
                }
                var reg = new RegExp("\n", "g");
                $scope.dream.about = $scope.dream.about.replace(reg, "<br/>");
                var end_time = new Date($scope.dream.end_time.replace(/-/g, "/"));
                var date = new Date();
                var inter = (end_time.getTime() - date.getTime()) / 1000;
                leftTimer(inter);
                $scope.multi.a =  $scope.dream.a;
                $scope.multi.b = new Date($scope.dream.created_at.replace(/-/g, "/"));
                $scope.multi.c  = $scope.dream.c;
                $scope.multi.promise =  $scope.dream.a;
                var newtop3user = '' ;
                angular.forEach($scope.dream.top3user, function(user) {  
                  newtop3user= newtop3user +user.id+","
                });   
                if(top3user!=''&&newtop3user!=top3user){
                    //测试动画切换
                    $timeout(function() {
                        $scope.sort.slide1 = 'list-grow-animation';
                        $scope.sort.slide2 = 'slide-in-both-ways';
                        $scope.sort.slide3 = 'bounce-animation';
                    }, 50);
                }
                top3user = newtop3user;
                if($scope.dream.top3user[0])$scope.sort.first = $scope.dream.top3user[0].avatar;
                if($scope.dream.top3user[1])$scope.sort.second = $scope.dream.top3user[1].avatar;
                if($scope.dream.top3user[2])$scope.sort.third = $scope.dream.top3user[2].avatar;
                $scope.calcmultiplier();
            }, function (error) {
                msg.hide();
            });
        };

        $scope.openSupport = function () {
            msg.alert("支持乘数说明","支持乘数支持乘数支持乘数支持乘数");
        };
        $scope.multi = {
            a: '',
            b: '',
            c: '',
            result: 1,
            promise:null
        };
        $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.toshare = false;
            $scope.input.show = false;

        };
            $scope.toshare = false;
            $scope.toRecharge = function(){
                $state.go("app.recharge")
            };
            $scope.share = function (type,$event) {
                $scope.toshare = true;
                if (type==0) {//分享给朋友
                   /* Wechat.share({
                        text: "分享的文字",
                        scene: Wechat.Scene.SESSION    // share to 好友
                    }, function () {
                        alert("Success");
                    }, function (reason) {
                        alert("Failed: " + reason);
                    });*/
                    Wechat.share({
                        message: {
                            title:"瞄瞄",
                            description:"HELLO,这是我的梦想，快来围观吧！",
                            thumb:"img/icon_cat_h.png",
                            media: {
                                type: Wechat.Type.WEBPAGE,
                                webpageUrl: "q8.9026.com//admin/share/view?id=" + id
                            }
                        },
                        scene: Wechat.Scene.SESSION
                    }, function () {
                        alert("Success");
                    }, function (reason) {
                        alert("Failed: " + reason);
                    });
                }
                if(type==1){
                    Wechat.share({
                        message: {
                            title:"瞄瞄",
                            description:"HELLO,这是我的梦想，快来围观吧！",
                            thumb:"img/icon_cat_h.png",
                            media: {
                                type: Wechat.Type.WEBPAGE,
                                webpageUrl: "q8.9026.com//admin/share/view?id=" + id
                            }
                        },
                        scene: Wechat.Scene.TIMELINE
                    }, function () {
                        alert("Success");
                    }, function (reason) {
                        alert("Failed: " + reason);
                    });
                }
             //   $state.go("app.shareDream",{item:$scope.dream});
            };
        //实时排行
        $scope.sort = {
            slide: ''
        };
        $scope.changeType = function (type) {
            $ionicScrollDelegate.scrollTop(true);
            $scope.type = type;
        };
        $scope.index = 0;

        $scope.vm = {
            coin:"",
            title:""
        };
        $scope.timer = '';
        var leftTimer = function (countDown) {
            if (isNaN(countDown)) {
                $scope.timer = '已结束';
                return;
            }
            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+'天';
            if(day<0 && h>0) $scope.timer = h+'小时';
            if(day<0 && h<0 && m>0) $scope.timer = m+'分钟';
            if(day<0 && h<0 && m<0) $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*10;
        };
        $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;
                $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);
                homeService.myInfo().then(function(result){
                    $scope.user = result.data.data;
                });
                $interval.cancel($scope.multi.promise);
                msg.text("发送成功");
            })
        };

        $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.imgs,
                video:$scope.video.server
            };
            homeService.add_interaction(data).then(function(){
                $scope.load(id);
                $scope.closeModal();
            })
        };

            $scope.showAbout = true;
            $scope.hideAbout = false;
            $scope.showText = function(){
            $scope.aboutStyle = {
                "white-space" : "normal"
              };
            $scope.showAbout = false;
            $scope.hideAbout = true;
        };
            $scope.hideText = function(){
                $scope.aboutStyle = {
                    "white-space" : "nowrap"
                };
                $scope.showAbout = true;
                $scope.hideAbout = false;
            };
        $scope.input = {
            placeholder: '评论',
            focus: false,
            show:false
        };
        $scope.showmore = function (index) {
            if ($scope.dream.interactions[index].showmore) {
                $scope.dream.interactions[index].showmore = false;
            } else {
                $scope.dream.interactions[index].showmore = true;
            }
        }
        $scope.replay = function ($event, name, index) {
           
            $event.stopPropagation();
            $scope.input.focus = true;
            $scope.input.show = true;
            angular.forEach($scope.dream.interactions, function (item) {
                item.show = false;
            })
            $scope.dream.interactions[index].show = true;
            $scope.input.placeholder = "评论" + name+":";
            $scope.vm.title='';
        };
      
        $scope.submitComment = function (index) {
            var interaction = $scope.dream.interactions[index];
            var iid = interaction.id;
          //  $scope.dream.interactions[index].comments.push($scope.vm.comment);
            $scope.input.focus = true;
            if ($scope.vm.comment && $scope.vm.comment == '' || !iid) return;
            var data = {
                id:iid,
                content:$scope.vm.comment
            };
            console.log($scope.vm.comment+" "+iid);
            homeService.add_comment(data).then(function(){
                $scope.vm.comment = '' ;
                $scope.load(id);
                $scope.closeModal();
            })
        };
            $scope.bigImage = false;
            $scope.showBigImage = function ($event, imageName) {
                $event.stopPropagation();
                $scope.url = imageName;
                $scope.bigImage = true;
            };
            $scope.hideBigImage = function(){
                $scope.bigImage = false;
            };
            $ionicModal.fromTemplateUrl('qrCode.html', {
                scope: $scope,
                animation: 'slide-in-up'
            }).then(function(modal) {
                $scope.qrCodemodal = modal;
            });

            $scope.openCode = function() {
                $scope.qrCodemodal.show();
                $scope.vm.money = '';
            };
            $scope.closeCode = function() {
                $scope.qrCodemodal.hide();
            };
            $scope.addpict = function () {
                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);
                        console.log(JSON.stringify(config.imgServer+file));
                    }, function (error) {
                        msg.error('图片上传失败');
                    });
                }, function (error) {
                    console.log('图片选择失败');
                });
            };
            $scope.deletefile = function (file) {
                var index = $scope.imgs.indexOf(file);
                $scope.imgs.splice(index, 1);
                common.deletefile(file).then(function () {
                })
            };
            $scope.addvideo = function () {
                common.chooseVideo().then(function (file) {
                    common.uploadFiles(file, 2).then(function (result) {
                        var response = JSON.parse(result.response);
                        $scope.video.server = response.data.file;
                        var file = config.imgServer+response.data.file;
                        console.log("file:"+file);
                        $scope.video.isOK = true;
                        $scope.video.file = file;
                        $scope.video.vpic = config.server+'upload/vpic/'+response.data.file+'.jpg';
                        console.log("vpic:"+$scope.video.vpic);
                    }, function (error) {
                        msg.error('视频上传失败');
                    });
                }, function (erro) {
                    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.vm.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.vm.title = '';
            $scope.imgs = [];
            $scope.video = {};
          };
          $scope.closeModal = function() {
            $scope.modal.hide();
          };
          //当我们用到模型时，清除它！
          $scope.$on('$destroy', function() {
            $scope.modal.remove();
          });
            $scope.toMessage = function(){
                $state.go("app.message");
            }
        }]);
    app.controller('myDreamDetailCtrl', ["$scope", "$state", "$ionicModal","storage","msg", "common", "config", "homeService", "$ionicTabsDelegate", "$stateParams", "$ionicModal", "$timeout", "$ionicScrollDelegate", "$interval"
        , function ($scope, $state,$ionicModal, storage , msg, common, config, homeService, $ionicTabsDelegate, $stateParams, $ionicModal, $timeout, $ionicScrollDelegate, $interval) {
            var id = $stateParams.id;
            var top3user = '';
            $scope.chosedIndex = 0;
            $scope.clickAvatar = function(index){
                $scope.chosedIndex = index;
                homeService.myInfo().then(function(result){
                    $scope.user = result.data.data;
                });
            };
            // id=5;
            $scope.$on('$ionicView.beforeEnter', function () {
                $ionicTabsDelegate.showBar(false);
                $scope.load(id);
                $scope.thisUser = storage.getObject('user');
                homeService.myInfo().then(function(result){
                    $scope.user = result.data.data;
                });
                homeService.messageInfo().then(function(result){
                    $scope.infos = result.data.data;
                    if($scope.infos.letter.is_read==0 && $scope.infos.reply.is_read==0 && $scope.infos.systemInfo.is_read==0){
                        $scope.showMessage=0;
                    }
                    else {
                        $scope.showMessage=1;
                    }
                },function(error){

                });
            });
            $scope.$on('$ionicView.leave', function () {
                if($scope.multi.promise)$interval.cancel($scope.multi.promise);
                if($scope.leftTimer)$interval.cancel($scope.leftTimer);
            });
            $scope.toSort = function(){
                //$scope.type = 3;
                $scope.changeType(3)
            };

            $scope.load = function (id) {
                msg.loading();
                homeService.dreamDetail(id).then(function (result) {
                    msg.hide();
                    console.log(result);
                    $scope.showCode  = function(codeName){
                        $scope.url = codeName;
                        $scope.code = true;
                    };
                    $scope.hideCode = function(){
                        $scope.code = false;
                    };
                    $scope.dream = result.data.data;
                    if($scope.timer=='已结束'|| 100*$scope.dream.get_coin/$scope.dream.coin>=100){
                        $scope.codeBtn = true;
                    }
                    if($scope.dream.video){
                        $scope.dream.vpic = config.server+'upload/vpic/'+$scope.dream.video+'.jpg';
                        $scope.dream.video = config.imgServer+$scope.dream.video;
                    }
                    var reg = new RegExp("\n", "g");
                    $scope.dream.about = $scope.dream.about.replace(reg, "<br/>");
                    var end_time = new Date($scope.dream.end_time.replace(/-/g, "/"));
                    var date = new Date();
                    var inter = (end_time.getTime() - date.getTime()) / 1000;
                    leftTimer(inter);
                    $scope.multi.a =  $scope.dream.a;
                    $scope.multi.b = new Date($scope.dream.created_at.replace(/-/g, "/"));
                    $scope.multi.c  = $scope.dream.c;
                    $scope.multi.promise =  $scope.dream.a;
                    var newtop3user = '' ;
                    angular.forEach($scope.dream.top3user, function(user) {
                        newtop3user= newtop3user +user.id+","
                    });
                    if(top3user!=''&&newtop3user!=top3user){
                        //测试动画切换
                        $timeout(function() {
                            $scope.sort.slide1 = 'list-grow-animation';
                            $scope.sort.slide2 = 'slide-in-both-ways';
                            $scope.sort.slide3 = 'bounce-animation';
                        }, 50);
                    }
                    top3user = newtop3user;
                    if($scope.dream.top3user[0])$scope.sort.first = $scope.dream.top3user[0].avatar;
                    if($scope.dream.top3user[1])$scope.sort.second = $scope.dream.top3user[1].avatar;
                    if($scope.dream.top3user[2])$scope.sort.third = $scope.dream.top3user[2].avatar;
                    $scope.calcmultiplier();
                }, function (error) {
                    msg.hide();
                });
            };

            $scope.openSupport = function () {
                msg.alert("支持乘数说明","支持乘数支持乘数支持乘数支持乘数");
            };
            $scope.multi = {
                a: '',
                b: '',
                c: '',
                result: 1,
                promise:null
            };
            $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.toshare = false;
                $scope.input.show = false;

            };
            $scope.toshare = false;
            $scope.toRecharge = function(){
                $state.go("app.recharge")
            };
            $scope.share = function (type,$event) {
                $scope.toshare = true;
                if (type==0) {//分享给朋友
                    /* Wechat.share({
                     text: "分享的文字",
                     scene: Wechat.Scene.SESSION    // share to 好友
                     }, function () {
                     alert("Success");
                     }, function (reason) {
                     alert("Failed: " + reason);
                     });*/
                    Wechat.share({
                        message: {
                            title:"瞄瞄",
                            description:"HELLO,这是我的梦想，快来围观吧！",
                            thumb:"img/icon_cat_h.png",
                            media: {
                                type: Wechat.Type.WEBPAGE,
                                webpageUrl: "q8.9026.com//admin/share/view?id=" + id
                            }
                        },
                        scene: Wechat.Scene.SESSION
                    }, function () {
                        alert("Success");
                    }, function (reason) {
                        alert("Failed: " + reason);
                    });
                }
                if(type==1){
                    Wechat.share({
                        message: {
                            title:"瞄瞄",
                            description:"HELLO,这是我的梦想，快来围观吧！",
                            thumb:"img/icon_cat_h.png",
                            media: {
                                type: Wechat.Type.WEBPAGE,
                                webpageUrl: "q8.9026.com//admin/share/view?id=" + id
                            }
                        },
                        scene: Wechat.Scene.TIMELINE
                    }, function () {
                        alert("Success");
                    }, function (reason) {
                        alert("Failed: " + reason);
                    });
                }
                //   $state.go("app.shareDream",{item:$scope.dream});
            };
            //实时排行
            $scope.sort = {
                slide: ''
            };
            $scope.changeType = function (type) {
                $ionicScrollDelegate.scrollTop(true);
                $scope.type = type;
            };
            $scope.index = 0;

            $scope.vm = {
                coin:"",
                title:""
            };
            $scope.timer = '';
            var leftTimer = function (countDown) {
                if (isNaN(countDown)) {
                    $scope.timer = '已结束';
                    return;
                }
                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+'天';
                if(day<0 && h>0) $scope.timer = h+'小时';
                if(day<0 && h<0 && m>0) $scope.timer = m+'分钟';
                if(day<0 && h<0 && m<0) $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*10;
            };
            $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;
                    $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);
                    homeService.myInfo().then(function(result){
                        $scope.user = result.data.data;
                    });
                    $interval.cancel($scope.multi.promise);
                    msg.text("发送成功");
                })
            };

            $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.imgs,
                    video:$scope.video.server
                };
                homeService.add_interaction(data).then(function(){
                    $scope.load(id);
                    $scope.closeModal();
                })
            };

            $scope.showAbout = true;
            $scope.hideAbout = false;
            $scope.showText = function(){
                $scope.aboutStyle = {
                    "white-space" : "normal"
                };
                $scope.showAbout = false;
                $scope.hideAbout = true;
            };
            $scope.hideText = function(){
                $scope.aboutStyle = {
                    "white-space" : "nowrap"
                };
                $scope.showAbout = true;
                $scope.hideAbout = false;
            };
            $scope.input = {
                placeholder: '评论',
                focus: false,
                show:false
            };
            $scope.replay = function ($event, name) {
                $event.stopPropagation();
                $scope.input.focus = true;
                $scope.input.show = true;
                $scope.input.placeholder = "评论" + name+":";
                $scope.vm.title='';
            };

            $scope.submitComment = function (index) {
                var interaction = $scope.dream.interactions[index];
                var iid = interaction.id;
                //  $scope.dream.interactions[index].comments.push($scope.vm.comment);
                $scope.input.focus = true;
                if ($scope.vm.comment && $scope.vm.comment == '' || !iid) return;
                var data = {
                    id:iid,
                    content:$scope.vm.comment
                };
                console.log($scope.vm.comment+" "+iid);
                homeService.add_comment(data).then(function(){
                    $scope.vm.comment = '' ;
                    $scope.load(id);
                    $scope.closeModal();
                })
            };
            $scope.bigImage = false;
            $scope.showBigImage = function ($event,imageName) {
                $event.stopPropagation();
                $scope.url = imageName;
                $scope.bigImage = true;
            };
            $scope.hideBigImage = function(){
                $scope.bigImage = false;
            };
            $ionicModal.fromTemplateUrl('qrCode.html', {
                scope: $scope,
                animation: 'slide-in-up'
            }).then(function(modal) {
                $scope.qrCodemodal = modal;
            });

            $scope.openCode = function() {
                $scope.qrCodemodal.show();
                $scope.vm.money = '';
            };
            $scope.closeCode = function() {
                $scope.qrCodemodal.hide();
            };
            $scope.addpict = function () {
                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);
                        console.log(JSON.stringify(config.imgServer+file));
                    }, function (error) {
                        msg.error('图片上传失败');
                    });
                }, function (error) {
                    console.log('图片选择失败');
                });
            };
            $scope.deletefile = function (file) {
                var index = $scope.imgs.indexOf(file);
                $scope.imgs.splice(index, 1);
                common.deletefile(file).then(function () {
                })
            };
            $scope.addvideo = function () {
                common.chooseVideo().then(function (file) {
                    common.uploadFiles(file, 2).then(function (result) {
                        var response = JSON.parse(result.response);
                        $scope.video.server = response.data.file;
                        var file = config.imgServer+response.data.file;
                        console.log("file:"+file);
                        $scope.video.isOK = true;
                        $scope.video.file = file;
                        $scope.video.vpic = config.server+'upload/vpic/'+response.data.file+'.jpg';
                        console.log("vpic:"+$scope.video.vpic);
                    }, function (error) {
                        msg.error('视频上传失败');
                    });
                }, function (erro) {
                    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.vm.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.vm.title = '';
                $scope.imgs = [];
                $scope.video = {};
            };
            $scope.closeModal = function() {
                $scope.modal.hide();
            };
            //当我们用到模型时，清除它！
            $scope.$on('$destroy', function() {
                $scope.modal.remove();
            });
            $scope.toMessage = function(){
                $state.go("app.my_message");
            }
        }]);
    app.controller('userDetailCtrl', ["$scope", "$state", "$ionicModal","storage","msg", "common", "config", "homeService", "$ionicTabsDelegate", "$stateParams", "$ionicModal", "$timeout", "$ionicScrollDelegate", "$interval"
        , function ($scope, $state,$ionicModal, storage , msg, common, config, homeService, $ionicTabsDelegate, $stateParams, $ionicModal, $timeout, $ionicScrollDelegate, $interval) {
            var id = $stateParams.id;
            $scope.items = $stateParams.items;
                $scope.$on('$ionicView.beforeEnter', function () {
                $ionicTabsDelegate.showBar(false);
            });
            $scope.attentionUser = function(is_care){
                homeService.attentionUser(id,is_care).then(function(result){
                    $scope.items.is_care=result.data.data;
                })
            };
            $scope.next = function (type) {
                //type:1 前一个，type:2 后一个
                if($scope.items.imgs.length>0){
                    if(type==1)
                    {
                        var temp=  $scope.items.imgs.splice(0,1);
                        $scope.items.imgs.push(temp[0]);
                    }
                    if (type==2){
                        var temp= $scope.items.imgs.splice($scope.items.imgs.length-1,1);
                        $scope.items.imgs.unshift(temp[0]);
                    }
                }
            };
            $scope.bigImage = false;
            $scope.showBigImage  = function(imageName){
                $scope.url = imageName;
                $scope.bigImage = true;
            };
            $scope.hideBigImage = function(){
                $scope.bigImage = false;
            };
            $scope.cancelSupport = function () {
                $scope.tosupport = false;
                $scope.toshare = false;

            };
            $scope.toshare = false;
            $scope.toshare = false;
            $scope.toRecharge = function(){
                $state.go("app.recharge")
            };
            $scope.share = function (type,$event) {
                $scope.toshare = true;
                if (type==0) {//分享给朋友
                    /* Wechat.share({
                     text: "分享的文字",
                     scene: Wechat.Scene.SESSION    // share to 好友
                     }, function () {
                     alert("Success");
                     }, function (reason) {
                     alert("Failed: " + reason);
                     });*/
                    Wechat.share({
                        message: {
                            title:"瞄瞄",
                            description:"HELLO,这是我的个人资料，快来围观吧！",
                            thumb:"img/icon_cat_h.png",
                            media: {
                                type: Wechat.Type.WEBPAGE,
                                webpageUrl: "q8.9026.com//admin/share/view?id=" + id
                            }
                        },
                        scene: Wechat.Scene.SESSION
                    }, function () {
                        alert("Success");
                    }, function (reason) {
                        alert("Failed: " + reason);
                    });
                }
                if(type==1){
                    Wechat.share({
                        message: {
                            title:"瞄瞄",
                            description:"HELLO,这是我的个人资料，快来围观吧！",
                            thumb:"img/icon_cat_h.png",
                            media: {
                                type: Wechat.Type.WEBPAGE,
                                webpageUrl: "q8.9026.com//admin/share/view?id=" + id
                            }
                        },
                        scene: Wechat.Scene.TIMELINE
                    }, function () {
                        alert("Success");
                    }, function (reason) {
                        alert("Failed: " + reason);
                    });
                }
                //   $state.go("app.shareDream",{item:$scope.dream});
            };
            $scope.toDetail = function (dream_id) {
                if($scope.items.near_dream==null){
                    msg.alert("当前梦想","该用户没有当前梦想");
                }
                if($scope.items.near_dream!=null){
                    var dream_id = $scope.items.near_dream.id;
                    $state.go('app.home_dreamdetail',{id:dream_id});
                }
            };
            $scope.toOldDream = function(){
                if($scope.items.dreams.length<2){
                    msg.alert("曾经的梦想","该用户没有曾经的梦想");
                }
                if($scope.items.dreams.length>1){
                    $state.go("app.oldDream",{user_id:$scope.items.user.id});
                }
            };
            $scope.toSupportDream = function(){
                if($scope.items.sup_dreams.length==0){
                    msg.alert("支持的梦想","该用户没有支持的梦想");
                }
                if($scope.items.sup_dreams.length!=0){
                    $state.go("app.supportDream",{user_id:$scope.items.user.id});
                }
            };
            $scope.collectionDream = function(is_collection){
                homeService.collectionDream(id,is_collection).then(function(result){
                    $scope.user.is_collection=result.data.data;
                })
            };
        }]);
    app.controller('homeCollectCtrl', ["$scope","$ionicTabsDelegate", "$state", "myService", "msg"
        , function ($scope, $ionicTabsDelegate,$state, myService, msg) {
            $scope.$on('$ionicView.beforeEnter', function () {
                $ionicTabsDelegate.showBar(false);
                myService.collect().then(function(result){
                    $scope.dreams = result.data.data.dreams;
                });
            });
            $scope.toDetail = function (id) {
                $state.go('app.home_dreamdetail',{id:id});
            };
        }]);
    app.controller('shareDreamCtrl', ["$scope","homeService", "$stateParams","$state", "msg"
        , function ($scope,homeService,$stateParams, $state, msg) {
            $scope.dream = $stateParams.item;
            $scope.showAbout = true;
            $scope.hideAbout = false;
            $scope.showText = function(){
                $scope.aboutStyle = {
                    "white-space" : "normal"
                };
                $scope.showAbout = false;
                $scope.hideAbout = true;
            };
            $scope.hideText = function(){
                $scope.aboutStyle = {
                    "white-space" : "nowrap"
                };
                $scope.showAbout = true;
                $scope.hideAbout = false;
            };
        }]);
    app.controller('homeMessageCtrl', ["$scope", "$ionicTabsDelegate","$state", "myService", "msg"
        , function ($scope,$ionicTabsDelegate, $state, myService, msg) {
            $scope.$on('$ionicView.beforeEnter', function () {
                $ionicTabsDelegate.showBar(false);
                myService.messageInfo().then(function(result){
                    $scope.infos = result.data.data;
                },function(error){

                });
            });
            $scope.notRead = function(){
                myService.notRead().then(function(result){
                    myService.messageInfo().then(function(result){
                        $scope.infos = result.data.data;
                    },function(error){

                    });
                },function(error){

                })
            };
            //系统消息
            $scope.systemInfo = function(){
                $state.go("app.message_sys");
                myService.systemInfo().then(function(result){
                },function(error){

                });
            };
            //回复我的
            $scope.replyMy = function(){
                $state.go("app.message_reply");
                myService.replyMy().then(function(result){

                },function(error){

                });
            };
            $scope.personalLetter = function(){
                $state.go("app.letter");
            }
        }]);
    app.controller('oldDreamCtrl', ["$scope","homeService", "$stateParams","$state", "msg"
        , function ($scope,homeService,$stateParams, $state, msg) {
            var user_id = $stateParams.user_id;
            $scope.$on('$ionicView.beforeEnter',function(){
                $scope.toUserDetail(user_id);
            });
            $scope.toUserDetail = function(user_id){
                homeService.toUserDetail(user_id).then(function(result){
                    $scope.items = result.data.data;
                    $scope.user = result.data.data.user;
                    $scope.dreams = $scope.user.dreams;
                },function(error){

                })
            };
            $scope.toDetail = function(){
                $state.go("app.home_userDetail",{user_id:user_id,items:$scope.items})
            };

        }]);
    app.controller('supportDreamCtrl', ["$scope","homeService", "$stateParams","$state", "msg"
        , function ($scope,homeService,$stateParams, $state, msg) {
            var user_id = $stateParams.user_id;
            $scope.$on('$ionicView.beforeEnter',function(){
                $scope.toUserDetail(user_id);
            });
            $scope.toUserDetail = function(user_id){
                homeService.toUserDetail(user_id).then(function(result){
                    $scope.items = result.data.data;
                    $scope.user = result.data.data.user;
                    $scope.dreams = $scope.user.sup_dream;
                },function(error){

                })
            };
            $scope.toDetail = function(){
                $state.go("app.home_userDetail",{user_id:user_id,items:$scope.items})
            }
        }]);
    app.controller('searchCtrl', ["$scope","homeService", "$state", "msg", "$ionicTabsDelegate", "$ionicNavBarDelegate"
        , function ($scope,homeService, $state, msg, $ionicTabsDelegate, $ionicNavBarDelegate) {

        $scope.showMore = function (keyword,index) {
            if(!keyword)return;
            $scope.index = index;
            $scope.search(keyword);
        };
        $scope.search = function (keyword) {
            $scope.vm.keyword = keyword;
            homeService.search(keyword).then(function(result){
                $scope.isResult = true;
                $scope.dream_infos = result.data.data.dream_infos;
                $scope.user_infos = result.data.data.user_infos;
            });
        };
            $scope.toUserDetail = function (id) {
                homeService.toUserDetail(id).then(function(result){
                    $scope.items = result.data.data;
                    $state.go('app.home_userDetail',{id:id,items:$scope.items});
                },function(error){
                    //msg.error(msg.data.error)
                })
            };
            $scope.toDetail = function (id) {
                $state.go('app.home_dreamdetail',{id:id});
            };
   
        $scope.$on('$ionicView.beforeEnter', function () {
            $scope.isResult = false;
            $scope.index = 0;
            $scope.vm = {
                keyword : ""
            };
            $ionicTabsDelegate.showBar(false);
            // $ionicNavBarDelegate.showBackButton(false);
            homeService.search('').then(function(result){
                $scope.hot_searches = result.data.data.hot_searches;
                $scope.history_searches = result.data.data.history_searches;
            });
        });
    }]);
    app.controller('interactionAddCtrl', ["$scope","homeService", "$state", "msg","config","common", "$ionicTabsDelegate", "$ionicNavBarDelegate"
        , function ($scope,homeService, $state, msg,config,common, $ionicTabsDelegate, $ionicNavBarDelegate) {

    }]);
    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'));