$(document).ready(function(){

    "use strict";

    pageLoad();

    /**
    ** -> PAGE LOAD
    */

    function pageLoad() {

        $(window).on('load', function(){

            $('main').waitForImages(function() {
                $('.loading').delay(100).fadeOut('slow');
            });

            TweenMax.to("main", .5, {css:{top:"0", opacity:"1"}, delay:.2, easy: Quad.easeInOut });

            firstHead();
            masonryBlock();
            mouseMove();
            parallaxBackground();
            topSticky();
            menu();
            pageTop();
            workMove();
            LightBoxJS();
            sliderImages();
            owlSlider();
            carouselMove();

        });
    }

    function ajaxLoad() {

        $('main').waitForImages(function() {
            TweenMax.to($('.sub-loading'), .2, {css:{display:'none', opacity:0}, ease:Quad.easeInOut });
            TweenMax.to(".page-transition", .5, {css:{height:"0%", opacity:"0"}, delay:.2, easy: Quad.easeInOut });
            TweenMax.to("main", .5, {css:{top:"0", opacity:"1"}, delay:.2, easy: Quad.easeInOut });

            firstHead();
            masonryBlock();
            mouseMove();
            parallaxBackground();
            topSticky();
            menu();
            pageTop();
            workMove();
            LightBoxJS();
            sliderImages();
            owlSlider();
            carouselMove();
        });  
    }

    /**
    * MOBILE CHECK
    */

    var isMobile = false; //initiate as false
    
    if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent) 
        || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4))) { 
        isMobile = true;
    }

    /**
     * FIRST HEAD
     */

    function firstHead() {
        TweenMax.to(".slider-item .slider-item-content-title h1", .1, {className:"+=slider-item-content-title-opened", delay:1});
        TweenMax.to(".slider-item .slider-item-content-category p", .1, {className:"+=slider-item-content-category-opened", delay:1});
    }

    /**
     * SLIDER IMAGES
     */

    function sliderImages() {
        $('.slider .slider-item .slider-item-image').each(function(){
            var image = $(this).find('img').attr('src');

            $(this).css('background-image','url(' + image + ')');
            $(this).html('');
        });    
    }
    
    var owl, owlMouse, owlActive, owlFirst, owlLast;

    function owlSlider() {

        owl = $('.owl-carousel');
        owlMouse = true;
        owlActive = 0;
        owlFirst = 0;
        owlLast = $('.slider .slider-item').length - 1;

        // PAGE COUNT
        $("#current-number").html("0" + (owlActive + 1));
        $("#total-number").html("0" + (owlLast + 1));

        $('.owl-carousel').owlCarousel({
            items:1,
            smartSpeed:750,
            dots:true,
            mouseDrag:true,
        });


        owl.on('translated.owl.carousel', function(e) {

            owlActive = $(this).find('.active').index();
            $("#current-number").html("0" + (owlActive + 1));
            
            TweenMax.to(".slider-item", .5, {className:"-=slide-anime"});

            TweenMax.to(".slider-item .slider-item-content-title h1", .1, {className:"+=slider-item-content-title-opened"});
            TweenMax.to(".slider-item .slider-item-content-category p", .1, {className:"+=slider-item-content-category-opened"});

            owlMouse = true;
        }); 


        $('.slider').on('mousewheel DOMMouseScroll', function(e) {
            
            if(e.deltaY < 0) {
                if(owlMouse == true && owlActive != owlLast) {
                    owlMouse = false;

                    $('.slider-plus').removeClass('de-plus');

                    // Yazıları Kapatıyoruz.
                    TweenMax.to(".slider-item .slider-item-content-title h1", .1, {className:"-=slider-item-content-title-opened"});
                    TweenMax.to(".slider-item .slider-item-content-category p", .1, {className:"-=slider-item-content-category-opened"});

                    // Slideları Küçültüyoruz.
                    TweenMax.to(".slider-item", .5, {className:"+=slide-anime", onComplete:NextSlide, delay:.5});

                    // Slide Değiştiriyoruz.
                    function NextSlide() {
                        owl.trigger('next.owl');  
                    }
                }

            } else {
                if(owlMouse == true && owlActive != owlFirst) {
                    owlMouse = false;

                    $('.slider-plus').removeClass('de-plus');

                    // Yazıları Kapatıyoruz.
                    TweenMax.to(".slider-item .slider-item-content-title h1", .1, {className:"-=slider-item-content-title-opened"});
                    TweenMax.to(".slider-item .slider-item-content-category p", .1, {className:"-=slider-item-content-category-opened"});

                    // Slideları Küçültüyoruz.
                    TweenMax.to(".slider-item", .5, {className:"+=slide-anime", onComplete:PrevSlide, delay:.5});

                    // Slide Değiştiriyoruz.
                    function PrevSlide() {
                        owl.trigger('prev.owl');
                    }
                }
            }

        });       
    }

    /** PAGE TOP */

    function pageTop() {
        window.scrollTo(0, 0);
    }

    function topSticky() {
        $(window).on('scroll', function() {

            var scrollTop = 0;
            var scrollCurrent = window.pageYOffset;
            var scrollOpacity = 1 - (scrollCurrent / 750);
        
            $(".top-item-image").css({opacity: scrollOpacity});

            if($(window).scrollTop() > 10) {
                $("header").addClass("header-sticky shadow");
                $(".top-item-content").addClass("head-sticky shadow");
            } else {
                $("header").removeClass("header-sticky shadow");
                $(".top-item-content").removeClass("head-sticky shadow");
            }

        });
    }


    /*
    * CREATE MASONRY
    */

    function masonryBlock() {

        $('#masonry-wrapper').masonry({
            columnWidth: '.masonry-item',
            itemSelector: '.masonry-item'
        });

    }

    /*
    * PORTFOLIO PARALLAX
    */

    function parallaxBackground() {
        if(isMobile != true) {
            VanillaTilt.init(document.querySelectorAll(".masonry-item-wrapper"), {
                max: 30,
                perspective: 1000,
                reverse: true,
                speed: 400,
                easing: "linear",
            });
        }
    }
    
    /*
    * BUTTON CLICK
    */
    
    $("main").on('click', '[data-type="button"]', function(e) {
        var href = $(this).data('href');
        
        if(href){
            window.location.href = href;
        }
    });

    /*
    * AJAX LOAD 
    */

    $("main").on('click', '[data-type="ajax-load"]', function(e) {
        
        var href = $(this).attr("href");

        TweenMax.to("main", .5, {css:{top:"+200", opacity:"0"}, easy: Quad.easeInOut });
        TweenMax.to(".page-transition", .5, {css:{height:"100%", opacity:"1"}, easy: Quad.easeInOut });
        TweenMax.to(".sub-loading", .5, {css:{display:"block", opacity:"1"}, delay:.5, onComplete:loadHtml, easy: Quad.easeInOut });

        function loadHtml() {

            setTimeout(function() {
                loadContent(href);
                history.pushState('', 'new URL: '+href, href);
            },1000);
        }

        e.preventDefault();
    });

    window.onpopstate = function(event) {

        var pathName = location.pathname.split("/").pop();

        TweenMax.to("main", .5, {css:{top:"+200", opacity:"0"}, easy: Quad.easeInOut });
        TweenMax.to(".page-transition", .5, {css:{height:"100%", opacity:"1"}, easy: Quad.easeInOut });
        TweenMax.to(".sub-loading", .5, {css:{display:"block", opacity:"1"}, delay:.5, onComplete:loadHtml, easy: Quad.easeInOut });

        function loadHtml() {

            setTimeout(function() {
                loadContent(pathName);
            },1000);
        }

    };

    function loadContent(url) {

        var getData = $.get(url, function(response) {

            var markup = $("<main>" + response + "</main>");
            var fragment = markup.find("main").html();

            var title = markup.find("title").html();
            $('head title').html( title );

            $("main").html(fragment);

            ajaxLoad();

        });

    }

    /*
    * MENU
    */


    function menu() {

        $(".header-menu-view ul li span").on('click', function() {
            $(this).next("ul").slideToggle();
        });

        $("#menu-open").on("click", function(){

            TweenMax.to('.header-menu-view', 0.5, {top:'0px', opacity:1, display:'block'});

            var tl = new TimelineLite();
                $(".header-menu-view > ul > li").each(function(index, element) {
                    tl.to(element, 0.25, {y:-100, opacity:1, ease:Power1.easeIn, delay:0.1 }, index * 0.05)
            });

        }); 


        $("#menu-close").on("click", function(){

            TweenMax.to('.header-menu-view', 0.5, {top:'100px', opacity:0, display:'none'});

            var tl = new TimelineLite();
                $(".header-menu-view > ul > li").each(function(index, element) {
                    tl.to(element, 0.1, {y:+100, opacity:0, ease:Power1.easeIn, delay:0.1 }, index * 0.05)
            });

        });


    }

    /*
    * MOUSE MOVE
    */

    $(document).on('mousemove','.masonry-item', function(e){
        TweenMax.to('.plus', 0.1,{x:e.pageX - 32, y:e.pageY - 32});
    });

    function mouseMove() {
        if(isMobile != true) {
            $('.masonry-item-image').mouseover(function(e){
                $('.plus').addClass('aplus');
            });
    
            $('.masonry-item-image').mouseout(function(e){
                $('.plus').removeClass('aplus');
            });   
        } 
    }


    $(document).on('mousemove','.work-images', function(e){
        TweenMax.to('.plus', 0.1,{x:e.pageX - 32, y:e.pageY - 32});
    });

    function workMove() {
        if(isMobile != true) {
            $('.work-image img').mouseover(function(e){
                $('.plus').addClass('aplus');
            });
    
            $('.work-image img').mouseout(function(e){
                $('.plus').removeClass('aplus');
            });
        } 
    }

    $(document).on('mousemove','.slider-item-image', function(e){
        TweenMax.to('.plus', 0.1,{x:e.pageX - 32, y:e.pageY - 32});
    });

    function carouselMove() {
        if(isMobile != true) {
            $('.slider-item-image').mouseover(function(e){
                $('.plus').addClass('aplus');
            });
    
            $('.slider-item-image').mouseout(function(e){
                $('.plus').removeClass('aplus');
            });
        } 
    }

    /** LIGHTBOX **/

    function LightBoxJS() {
        var gallery = $(".work-images a").simpleLightbox({
            disableScroll: false,
            history: false,
        });
    }

});