import Vue from 'vue'
import VueRouter from 'vue-router'

import Login from '@/components/Login.vue'
import Home from '@/components/Home.vue'
import Signup from '@/components/Signup'
import ForgotPassword from '@/components/ForgotPassword'
import Home2 from '@/components/Home2'
import Home3 from '@/components/Home3'
import Home4 from '@/components/Home4'
import Home5 from '@/components/Home5'
import Home6 from '@/components/Home6'
import Home7 from '@/components/Home7'
import Home8 from '@/components/Home8'
import Home9 from '@/components/Home9'

Vue.config.productionTip = false
Vue.use(VueRouter)
  
const routes = {
    '/': Home,
    '/login': Login,
    '/register': Signup,
    '/forgot-password': ForgotPassword,
    '/home-2': Home2,
    '/home-3': Home3,
    '/home-4': Home4,
    '/home-5': Home5,
    '/home-6': Home6,
    '/home-7': Home7,
    '/home-8': Home8,
    '/home-9': Home9
}

new Vue({
  data: {
    currentRoute: window.location.pathname,
    currentTheme: 'red',
    isParticles: false
  },
  computed: {
    ViewComponent () {
        if(this.currentRoute == '/home-9'){
            this.isParticles = true;
        }
        return routes[this.currentRoute]
    }
  },
  mounted: function() {
    // Navbar
    function initNavbar() {
        jQuery('.navbar-nav a').bind('click', function(event) {
            var jQueryanchor = jQuery(this);
            jQuery('html, body').stop().animate({
                scrollTop: jQuery(jQueryanchor.attr('href')).offset().top - 0
            }, 1500, 'easeInOutExpo');
            event.preventDefault();
        });
    }

    // Sticky Header
    function initSticky() {        
        jQuery(".sticky").sticky({
            topSpacing: 0
        });
    }
    
    //Scrollspy
  function initScrollspy() {
    // jQuery("#navbarCollapse").scrollspy({
    //     offset:20
        // });
  }

  // Magnific Popup
    function initMagnificPopup() {
        jQuery('.video-play-icon').magnificPopup({
          disableOn: 700,
          type: 'iframe',
          mainClass: 'mfp-fade',
          removalDelay: 160,
          preloader: false,

          fixedContentPos: false
        });
    }

    function initContactForm() {
      jQuery('#contact-form').submit(function() {

            var action = jQuery(this).attr('action');

            jQuery("#message").slideUp(750, function() {
                jQuery('#message').hide();

                jQuery('#submit')
                    .attr('disabled', 'disabled');

                jQuery.post(action, {
                        name: jQuery('#name').val(),
                        email: jQuery('#email').val(),
                        comments: jQuery('#comments').val(),
                    },
                    function(data) {
                        document.getElementById('message').innerHTML = data;
                        jQuery('#message').slideDown('slow');
                        jQuery('#cform img.contact-loader').fadeOut('slow', function() {
                            jQuery(this).remove()
                        });
                        jQuery('#submit').removeAttr('disabled');
                        if (data.match('success') != null) jQuery('#cform').slideUp('slow');
                    }
                );

            });

            return false;
        });
    }

    function init() {
        initNavbar();
        initSticky();
        initScrollspy();
        initMagnificPopup();
        initContactForm();
        Waves.init();
    }
    init();
    if(this.isParticles){
        //load particles
        jQuery('head').append("");
    }
    jQuery("#style-switcher .bottom a.settings").click(function(e){
        e.preventDefault();
        var div = jQuery("#style-switcher");
        if (div.css("left") === "-189px") {
            jQuery("#style-switcher").animate({
                left: "0px"
            }); 
        } else {
            jQuery("#style-switcher").animate({
                left: "-189px"
            });
        }
    })
    
    jQuery("ul.pattern li a").click(function(e){
        e.preventDefault();
        jQuery(this).parent().parent().find("a").removeClass("active");
        jQuery(this).addClass("active");
    })

    jQuery("#style-switcher").animate({
        left: "-189px"
    }); 
  },
  methods: {
    handleScroll () {
        var scrollDistance = jQuery(window).scrollTop();
        // Assign active class to nav links while scolling
    jQuery('section.scroll-select').each(function(i) {
            if (jQuery(this).position().top <= scrollDistance + 160) {
                jQuery('#mySidenav li.active').removeClass('active');
                jQuery('#mySidenav li').eq(i).addClass('active');
            }
    });      
    }
  },
  created() {
    window.addEventListener('scroll', this.handleScroll);
  },
  destroyed() {
    window.removeEventListener('scroll', this.handleScroll);
  },
  render (h) { return h(this.ViewComponent) }
}).$mount('#dorsionApp')