'use strict';
var fs = require('fs');
var gulp = require('gulp');
var prefix = require('gulp-autoprefixer'); //префиксы
var concatCss = require('gulp-concat-css'); //конкатенация
var minifyCss = require('gulp-minify-css'); //минификация
var rename = require('gulp-rename');		//переименовывание
var less = require('gulp-less');

var ROOT_PATH = '../';
var APP_PATH = ROOT_PATH + '~dev_rating/';

var SRC_CONFIG_PATH = ROOT_PATH + 'config/';
var DEST_CONFIG_PATH = APP_PATH + 'application/config/';

var SRC_MEDIA_PATH = ROOT_PATH + 'media/';
var DEST_MEDIA_PATH = APP_PATH + 'static/';

gulp.task('less:compile', function () {
	gulp.src(SRC_MEDIA_PATH + 'less/**/*.less')
    	.pipe(less())
    	.pipe(gulp.dest(DEST_MEDIA_PATH + 'css/'));
});

gulp.task('css:copy', function() {
    gulp.src(SRC_MEDIA_PATH + 'css/**/*.css')
        .pipe(gulp.dest(DEST_MEDIA_PATH + 'css/'));
});

gulp.task('js:copy', function() {
    gulp.src(SRC_MEDIA_PATH + 'js/**/*.js')
        .pipe(gulp.dest(DEST_MEDIA_PATH + 'js/'));
});

gulp.task('config:copy', function() {
    gulp.src(SRC_CONFIG_PATH + '*')
        .pipe(gulp.dest(DEST_CONFIG_PATH));
});

gulp.task('folders:create', function() {
    var dirs = [
        APP_PATH + 'application/logs/',
        APP_PATH + 'application/cache/',
        APP_PATH + 'application/cache/twig/'
    ];
    fs.mkdir(dirs[0], function(err, fd) {});
    fs.mkdir(dirs[1], function(err, fd) {
        fs.mkdir(dirs[2], function(err, fd) {});
    });
});

// gulp.task('css', ['less'], function() {
//   return gulp.src('css/*.css')
//     .pipe(concatCss('styles/bundle.css'))
//     .pipe(prefix('last 2 versions', '> 1%', 'ie9'))
//     .pipe(minifyCss(''))
//     .pipe(rename({suffix: '.min'}))
//     .pipe(gulp.dest('out/'));
// });

// gulp.task('copyHtml', function() {
//   gulp.src('source/*.html').pipe(gulp.dest('public'));
// });

gulp.task('watch', function () {
	gulp.watch(SRC_MEDIA_PATH + 'css/*.css', ['css:copy']);
	gulp.watch(SRC_MEDIA_PATH + 'less/*.less', ['less:compile']);
});


gulp.task('default', [
    'less:compile',
    'css:copy',
    'js:copy',
    'config:copy',
    'folders:create'
]);