/**
 * (c) copyright 2012
 * @author Piotr Wittchen
 */

var InteractiveElements = {
    initPage : function(lang) {
        if( (navigator.appName.toString() != "Microsoft Internet Explorer") && this.initReadCookie() != "1") {
            this.initPreload();
            this.initCreateCookie();
        }
        this.initNavigation();
        this.initScrolling();
        this.initContactForm(lang);
    },
    initPreload : function() {
        $("body").queryLoader2({
            barColor: "#F8F8F8",
            backgroundColor: "#141414",
            percentage: true,
            barHeight: 1,
            completeAnimation: "grow"
        });
    },
    initReadCookie : function() {
        var nameEQ = "preload=";
        var ca = document.cookie.split(';');
        for(var i=0;i < ca.length;i++) {
            var c = ca[i];
            while (c.charAt(0)==' ') c = c.substring(1,c.length);
            if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
        }
        return null;
    },
    initCreateCookie : function() {
        var days = 7;
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
        document.cookie = "preload=1"+expires+"; path=/";
    },
    initNavigation : function() {
        var defaultUrl = 'http://wittchen.biz.pl/';
        $( "#menu-informacje" ).addClass("active");

        var menuLinks = $('#header .menu a');        
        menuLinks.bind('click', function() {
            var self = this;
            $.scrollTo( self.hash, 1000,{ offset: 10 });    
            return false;
        });

        $("#header .title").click( function() {
            $.scrollTo("#informacje", 1000, {offset: 10});
            return false;
        });

        $("#informacje .side-text .projekty").click( function() {
            $.scrollTo("#projekty", 1000, {offset: 10});
            return false; 
        });

        $("#informacje .side-text .kontakt").click( function() {
            $.scrollTo("#kontakt", 1000, {offset: 10});
            return false; 
        });

        $("#header .menu .pl").click( function() {
            window.location.href = defaultUrl;
        });

        $("#header .menu .en").click( function() {
            window.location.href = defaultUrl + "en";
        });

    },
    initScrolling : function() {
        $( ".section" ).each(function(i) {
            var position = $(this).position();
            $(this).scrollspy({
                min: position.top,
                max: position.top + $(this).height(),
                onEnter: function(element, position) {
                    switch(element.id) {
                        case "informacje":
                            $("#menu-informacje").addClass("active");
                            break;
                        case "projekty":
                            if( $("#menu-informacje").hasClass("active") )
                                $("#menu-informacje").removeClass("active");
                        
                            $("#menu-projekty").addClass("active");
                            break;
                        case "kontakt":
                            if( $("#menu-informacje").hasClass("active") )
                                $("#menu-informacje").removeClass("active");
                            
                            $("#menu-kontakt").addClass("active");
                            break;
                    }
                },
                onLeave: function(element, position) {
                    switch(element.id) {
                        case "kontakt":
                            if( $("#menu-kontakt").hasClass("active") )
                                $("#menu-kontakt").removeClass("active");
                            break;
                        case "projekty":
                            if( $("#menu-projekty").hasClass("active") )
                                $("#menu-projekty").removeClass("active");
                            break;
                    }
                }
            });
        });
    },
    initContactForm : function(lang) {
        switch(lang)
        {
            case "pl":
                var form_messages = {
                    error   : "Uwaga, nie wszystkie pola zostały wypełnione poprawnie.",
                    success : "Wiadomość została wysłana pomyślnie!"
                }
                break;
            case "en":
                var form_messages = {
                    error   : "Attention, not all the fields have been filled out correctly.",
                    success : "Message was sent successfully!"        
                }
                break;
        }

        var ajax_form = $( "#contact-form" ).validVal({
            invalidFormFunc: function( field_arr, language ) {
                alert(form_messages.error);
            }
        });

        $( "#contact-form input:submit" ).click(function( event ) {
            event.preventDefault();

            form_data = ajax_form.submitform();
            if ( form_data ) {        
                $.ajax({
                    type: "POST",
                    url: "send.php",
                    data: form_data,
                    async: false,
                    success: function( msg ) {
                        alert(form_messages.success);
                        ajax_form.resetform();
                    }
                });
            }
        });
    }
}
