var express=require('express')
var app = express()
var path = require('path')
var mongoose = require('mongoose')
var Movie = require("./models/movie.js")
var port = process.env.PORT || 3000
var _ = require("underscore")
mongoose.connect('mongodb://localhost/imooc')

var bodyParser = require('body-parser');
 
app.use(bodyParser.json()); // for parsing application/json
 
app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded
//http://www.expressjs.com.cn/guide/using-template-engines.html
//在 Express 中使用模板引擎
// 需要在应用中进行如下设置才能让 Express 渲染模板文件:
// views, 放模板文件的目录,比如: app.set('views', './views')
// view engine, 模板引擎,比如: app.set('view engine', 'jade')
app.set('views','./views/pages')   //视图的路径,即后面index,admin,list,detail的文件位置
app.set('view engine','jade')   //模板引擎
app.use(express.static(path.join(__dirname,'public')))  //静态文件的路径
app.locals.moment=require('moment')
app.listen(port)

console.log("server running at 3000")

app.get('/',function(req,res){
    Movie.fetch(function(err,movies){
        if(err){
            console.log(err)
         }
        res.render('index',{
          title:'imooc 首页',
          movies:movies
        })

    })

     
        //之前伪造的数据
      //    [
      //     { 
      //     	title:"机械战警",
      //     	_id:1,
      //     	poster:"http://r3.ykimg.com/05160000530EEB63675839160D0B79D5"

      //     },
      //     {
      //       title:"X战警",
      //     	_id:2,
      //     	poster:"http://r3.ykimg.com/05160000530EEB63675839160D0B79D5"
      //     },
      //     {
      //     	title:"皇家骑士",
      //     	_id:3,
      //     	poster:"http://r3.ykimg.com/05160000530EEB63675839160D0B79D5"

      //     }

     	// ]
       
})

app.get('/movie/:id',function(req,res){
     var id=req.params.id  //url中的id
     Movie.findById(id,function(err,movie){
     res.render('detail',{
        title:'imooc '+movie.title,
        movie:movie

      })
     })

     
          // [{
          //  doctor:'何塞.帕迪利亚',
          //  country:"美国",
          //  title:"机械战警",
          //  year:2014,
          //  poster:"http://r3.ykimg.com/05160000530EEB63675839160D0B79D5",
          //  language:"英语",
          //  flash:"http://player.youku.com/player.php/sid/XNjA1Njc0NTUy/v.swf",
          //  summary:"《机械战警》是由何塞·帕迪里亚执导,乔尔·金纳曼、塞缪尔·杰克逊、加里·奥德曼等主演的一部科幻电影,改编自1987年保罗·范霍文执导的同名电影。影片于2014年2月12日在美国上映,2014年2月28日在中国大陆上映。影片的故事背景与原版基本相同,故事设定在2028年的底特律,男主角亚历克斯·墨菲是一名正直的警察,被坏人安装在车上的炸弹炸成重伤,为了救他,OmniCorp公司将他改造成了生化机器人“机器战警”,代表着美国司法的未来。"

          // }]


    
})

//admin update movie
app.get('/admin/update/:id',function(req,res){
   var id = req.params.id
   if(id){
      Movie.findById(id,function(err,movie){
        res.render('admin',{
            title:'imooc 后台更新页',
            movie:movie
        })
      })
   }

})




//admin post method
app.post('/admin/movie/new',function(req,res){
    var id = req.body.movie._id
    var movieObj = req.body.movie
    console.log("ha")
    var _movie =null
    if(id !== 'undefined'){
        Movie.findById(id,function(err,movie){
            if(err){
                console.log(err)
            }
            _movie=_.extend(movie,movieObj)
            _movie.save(function(err,movie){
                if (err) {
                    console.log(err)
                }

                res.redirect('/movie/'+movie._id)
            })
            
        })
    }

    else{
        _movie = new Movie({
              doctor:movieObj.doctor,
              title:movieObj.title,
              country:movieObj.country, 
              language:movieObj.language,
              year:movieObj.year,
              poster:movieObj.poster, 
              summary:movieObj.summary,
              flash:movieObj.flash      
        })
        _movie.save(function(err,movie){
                if (err) {
                    console.log(err)
                }

                res.redirect('/movie/'+movie._id)
            })
    }
})

app.get('/admin/movie',function(req,res){
     res.render('admin',{
        title:'imooc 后台管理页',
        movie:{
           title:"",
           doctor:"",
           country:"",
           year:"",
           poster:"",
           flash:"",
           summary:"",
           language:""
        }

    })
})

app.get('/admin/list',function(req,res){
      Movie.fetch(function(err,movies){
        if(err){
            console.log(err)
         }
        res.render('list',{
          title:'imooc 首页',
          movies:movies
        })

    })


    //  res.render('list',{
    //     title:'imooc 列表页',
    //     movies:[{
    //      title:"机械战警",
    //      _id:1,
    //      doctor:'何塞.帕迪利亚',
    //      country:"美国",
    //      year:2014,
    //      poster:"http://r3.ykimg.com/05160000530EEB63675839160D0B79D5",
    //      language:"英语",
    //      flash:"http://player.youku.com/player.php/sid/XNjA1Njc0NTUy/v.swf",
    //      summary:"《机械战警》是由何塞·帕迪里亚执导,乔尔·金纳曼、塞缪尔·杰克逊、加里·奥德曼等主演的一部科幻电影,改编自1987年保罗·范霍文执导的同名电影。影片于2014年2月12日在美国上映,2014年2月28日在中国大陆上映。影片的故事背景与原版基本相同,故事设定在2028年的底特律,男主角亚历克斯·墨菲是一名正直的警察,被坏人安装在车上的炸弹炸成重伤,为了救他,OmniCorp公司将他改造成了生化机器人“机器战警”,代表着美国司法的未来。"

    //     }
    //     ]

    // })
})


// list delete movie data 列表页删除电影
app.delete('/admin/list', function (req, res) {
    var id = req.query.id;
    if (id) {
        Movie.remove({_id: id}, function (err, movie) {
            if (err) {
                console.log(err);
            } else {
                res.json({success: 1});
            }
        });
    }
});