﻿var saco = saco || {};

saco = {
    vars: {},
    init: function () {

        loaderImage: '/Common/Images/ajax_loader.gif', // use this for loading image on ajaxloads .html('<img src="' + saco.loaderImage + '"/> ');
        saco.utilities.init();
        saco.newWindowLinks.init();
        saco.eraseInput.init();
        saco.tools.init();
        saco.gallery.init();
        saco.lightbox.init();
        saco.tellafriend.init();
        saco.contactUs.init();
        saco.contactUsTeaser.init();
        saco.showMoreRelatedArticles.init();
        //saco.megaDropDown.init(); moved to control
        saco.expandable.init();
        saco.anchorLinks.init();
        saco.calender.init();
        saco.searchFocus.init();
        saco.tabs.init();
        saco.customCheckbox.init();
        saco.xformValidation.init();
        saco.searchFocusOmstart.init();
        //saco.bylineImage.init();
        //$('#map img').remove(); // remove static google map if user have js enabled
        $('#nav ul li').has('div').addClass('hasChild');

    },
    eraseInput: {
        init: function () {

            $('#search >  input, #contact-information input, .occupation-search-block  input[type="text"],#not-found-container input[type="text"]').focus(function () {
                if ($(this).val() === $(this).attr('title')) {
                    $(this).val("");
                }
            }).blur(function () {
                if ($(this).val() === "") {
                    $(this).val($(this).attr('title'));
                }
            });
            $("form").submit(function () {
                if ($('#search > input[type="text"]').val() == $('#search > input[type="text"]').attr('title')) {
                    $('#search >input[type="text"]').val("");

                }
            });
        }
    },
    newWindowLinks: {
        init: function () {
            $("a[href*=pdf]").attr("target", "_blank");
            $("a[href^='http:']").not("[href*='saco.se']").attr('target', '_blank');

        }
    },
    occupationFastLinks: {
        init: function () {
            if (!$('#occupation-search-content #utilites').length) return;
            $('#occupation-search-content #utilites').data('origTop', $('#occupation-search-content #utilites').offset().top); //save original top position as data on object.
            $(window).bind('scroll', function (obj) {
                var offsetTop = $(window).scrollTop();
                var origTop = $('#occupation-search-content #utilites').data('origTop') - 30;
                var contentHeight = $('#occupation-search-content').height() - 30;

                $('#occupation-search-content #utilites').stop();
                var scrollToMargin = offsetTop - origTop;
                if (scrollToMargin < 0)
                    scrollToMargin = 0;
                else if (scrollToMargin > contentHeight - $('#occupation-search-content #utilites').height())
                    scrollToMargin = contentHeight - $('#occupation-search-content #utilites').height();

                $('#occupation-search-content #utilites').animate({ marginTop: scrollToMargin });
            });
            //$(window).scrollTop($(window).scrollTop() + 1); // just trigger the event when first loading the page in case it's a reload on the lower parts of the page...

        }
    },
    tabs: {
        init: function () {
            $('#occupation-search-tab .tab').hide();
            $('#occupation-search-tab .tab:first').show();
            $('#occupation-search-content').show();
            $("#occupation-search-tabs li").click(function (e) {
                $("#occupation-search-tabs li").removeClass("active");
                $(this).addClass("active");
                $('#occupation-search-tab .tab').hide();
                var activeTab = $(this).find("a").attr("id"); //Find the href attribute value to identify the active tab + content

                $(activeTab).fadeIn();

                $('#occupation-search-result-container').hide();
                $('#occupation-search-content').show();
                $('.occupation-search-block input[type="text"]').val('Sök yrke');


                e.preventDefault();
            });
        }
    },
    searchFocus: {
        init: function () {
            $('.student #nav input[type="text"]').focus(function () {

                $(this).animate({ width: 180 });
            });
            $('.student #nav input[type="text"]').blur(function () {
                $(this).animate({ width: 50 });
            });

        }
    },
    searchFocusOmstart: {
        init: function () {
            $('.omstart #nav input[type="text"]').focus(function () {

                $(this).animate({ width: 250 });
            });
            $('.omstart #nav input[type="text"]').blur(function () {
                $(this).animate({ width: 130 });
            });

        }
    },
    megaDropDown: {
        init: function () {
            $("#nav ul li").not('#nav .nav-sub li').each(function () {
                if ($(this).children('a:first').hasClass("active")) {
                    var src = $(this).find('img').attr("src").match(/[^\.]+/) + "Active.png";
                    $(this).find('img').attr("src", src);
                }
            });

            function megaHoverOver() {
                $(this).addClass("hovering");
                if ($(this).children('a:first').hasClass("active")) { return; }

                var src = $(this).find('img').attr("src").match(/[^\.]+/) + "Active.png";

                $(this).find('img').attr("src", src);
            }
            function megaHoverOut() {
                $(this).removeClass("hovering");
                if ($(this).children('a:first').hasClass("active")) { return; }

                var src = $(this).find('img').attr("src").replace("Active", "");

                $(this).find('img').attr("src", src);
            }
            var config = {
                sensitivity: 6, // number = sensitivity threshold (must be 1 or higher)    
                interval: 100, // number = milliseconds for onMouseOver polling interval    
                over: megaHoverOver, // function = onMouseOver callback (REQUIRED)    
                timeout: 400, // number = milliseconds delay before onMouseOut    
                out: megaHoverOut // function = onMouseOut callback (REQUIRED)    
            };

            $("#nav ul li").not('#nav .nav-sub li').hoverIntent(config);
        }
    },
    megaDropDownCampaign: {
        init: function () {

            function megaHoverOver() {
                $(this).addClass("hovering");
            }
            function megaHoverOut() {
                $(this).removeClass("hovering");
            }
            var config = {
                sensitivity: 6, // number = sensitivity threshold (must be 1 or higher)    
                interval: 100, // number = milliseconds for onMouseOver polling interval    
                over: megaHoverOver, // function = onMouseOver callback (REQUIRED)    
                timeout: 400, // number = milliseconds delay before onMouseOut    
                out: megaHoverOut // function = onMouseOut callback (REQUIRED)    
            };


            $("#nav ul li").not('#nav .nav-sub li').hoverIntent(config);

        }

    },

    expandable: {
        init: function () {
            $('.expandable .article').hide();
            $('#occupation-search-tab .expandable .article:first').show();

            $('.expandable  h3 a').addClass('closed');
            $('#occupation-search-tab .expandable:first h3 a.closed').removeClass('closed');
            $(".expandable  h3 a").click(function (e) {
                e.preventDefault();
                $(this).parent().parent().find('.article').slideToggle('fast');
                $(this).toggleClass('closed');
            });

        }
    },
    xformValidation: {
        init: function () {
            $('.xForm span.xformvalidator').prev('input[type="text"]').css({ 'background': '#FDEEEE' });
            $('.xForm input[type="text"]').focus(function () {
                $(this).next('span.xformvalidator').css({ 'background': 'none' });
                $(this).css({ 'background': '#ffffff' });
            });
            $('.xForm fieldset').next('span.xformvalidator').addClass('xFormValidationCheckbox').text('* Ett av valen måste väljas.');

            // help style inputs depending on columns
            if ($('.xForm tr td+td').children().size() > 1) {
                $('.xForm  input[type="text"], .xForm  textarea').css({ 'width': '200px' });
            }
            else {
                $('.xForm  input[type="text"], .xForm  textarea').css({ 'width': '500px' });
            }
        }
    },
    anchorLinks: {
        init: function () {
            $(".anchor-links li a, #occupation-search-content #utilites ul a").click(function (e) {


                e.preventDefault();
                var currentId = $(this).attr('href');
                var full_url = this.href;
                var parts = full_url.split("#");
                var trgt = parts[1];
                var target_offset = $("#" + trgt).offset();
                var target_top = target_offset.top;

                $('html, body').animate({ scrollTop: target_top }, 500);
                $(currentId).find('.article').slideDown();
                $(currentId).find('h3 a').removeClass('closed');

            });
        }
    },
    showMoreRelatedArticles: {
        init: function () {
            var articleTotal = $('#related-articles .article').size();

            if (articleTotal < 4) {
                $('#related-articles input').hide();
            }

            $('#related-articles .article:gt(2)').hide();
            $('#related-articles input').click(function (e) {
                e.preventDefault();
                $('#related-articles .article').slideDown();
                $(this).hide();
            });
        }
    },
    lightbox: {
        init: function () {
            $('.union-members-info').hide();
            $(".union-members-card a").click(function (e) {
                e.preventDefault();
                $(this).parent().next().modal({
                    opacity: 80,
                    minHeight: 300,
                    onShow: function (dlg) {
                        $(dlg.container).css('height', 'auto');
                        $(dlg.wrap).css('overflow', 'auto'); // or try jQuery.modal.update();
                    }

                });
            });
            $('.videoTeaserModalLink').click(function (e) {
                e.preventDefault();
                $(this).parent().children('.lightbox').modal({
                    opacity: 80,
                    minHeight: 300,
                    minWidth: 618,
                    onShow: function (dlg) {
                        $(dlg.container).css('height', 'auto');
                        $(dlg.wrap).css('overflow', 'auto'); // or try jQuery.modal.update();
                    }
                });
            });
            $('.exhibitorModalLink').click(function (e) {
                e.preventDefault();
                var url = $(this).attr('href');
                $('<iframe width="578" height="480" src="' + url + '" />').modal({
                    opacity: 80,
                    minHeight: 500,
                    minWidth: 618,
                    close: true,
                    onShow: function (dlg) {
                        $(dlg.container).css('height', 'auto');
                        $(dlg.wrap).css('overflow', 'auto');
                    }
                });
            });
        }
    },
    tools: {
        init: function () {
            $('#tools ul').hide();
            $('#tools >  a').click(function () {
                $('#tools >  a').removeClass('on');
                $(this).parent().find('ul').slideUp('normal');
                if ($(this).next('div').find('ul').is(':hidden') == true) {
                    $(this).addClass('on');
                    $(this).next('div').find('ul').slideDown('normal');
                }

            });
        }
    },
    calender: {
        init: function () {
            $('.calender ul').jcarousel({
                scroll: 3,
                wrap: 'circular',
                initCallback: function () {
                    var items = $('.calender li').length;
                    if (items < 4) {
                        $('.calender .jcarousel-prev').remove();
                        $('.calender .jcarousel-next').remove();
                    }
                }
            });
        }
    },
    gallery: {
        init: function () {
            $('.gallery ul:not(.gallery ul#slideShow)').jcarousel({
                scroll: 1,
                wrap: 'circular'
            });

        }

    },
    utilities: {
        init: function () {
            $('#print, .printBtn').show();
            $('#print, .printBtn').click(function () {
                window.print();
                return false;
            });

        }

    },

    contactUs: {
        init: function () {
            $('#footer #contact input[type=submit]').click(function (e) {
                e.preventDefault();

                var data = { sender: $(".senderName").val(), senderEmail: $(".senderEmail").val(), message: $(".senderMessage").val(), sendCopy: $(".mailMe input").prop('checked') };
                if (!data.sender || !data.senderEmail || !data.message || !data.sendCopy)
                    return;

                var json = JSON.stringify(data); //sender, sendermail, message, sendcopy
                $.ajax({
                    url: '/services/contact/ContactUs',
                    data: data,
                    type: "POST",
                    success: function (res) {
                        if (res.error) {
                            $("#contactUsConfirm p").text(res.error);
                        }
                        else {
                            $("#contactForm").hide();
                            $(".senderName").val('');
                            $(".senderEmail").val('');
                            $(".senderMessage").val('');
                            $("#contactUsConfirm").show();
                            $("#contactUsConfirm p").text(res.message);
                        }
                    }
                });
            });
        }
    },
    contactUsTeaser: {
        init: function () {
            $('#teaser-contactForm input[type=submit]').click(function (e) {
                e.preventDefault();

                var data = { sender: $(".teaser-senderName").val(), senderEmail: $(".teaser-senderEmail").val(), message: $(".teaser-senderMessage").val(), sendCopy: $(".teaser-mailMe input").prop('checked') };
                if (!data.sender || !data.senderEmail || !data.message || !data.sendCopy)
                    return;

                var json = JSON.stringify(data); //sender, sendermail, message, sendcopy
                $.ajax({
                    url: '/services/contact/ContactUs',
                    data: data,
                    type: "POST",
                    success: function (res) {
                        if (res.error) {
                            $("#teaser-contactUsConfirm p").text(res.error);
                        }
                        else {
                            $("#teaser-contactForm").hide();
                            $(".teaser-senderName").val('');
                            $(".teaser-senderEmail").val('');
                            $(".teaser-senderMessage").val('');
                            $("#teaser-contactUsConfirm").show();
                            $("#teaser-contactUsConfirm p").text(res.message);
                        }
                    }
                });
            });
        }
    },
    customCheckbox: {
        init: function () {
            $('span.mailMe').append($('#contact-message-approve>label'));
        }
    },

    tellafriend: {
        init: function () {
            $('#tell-a-friend-link').click(function (e) {
                $('#tell-a-friend').modal();
                $("#tell-a-friend-form").show();
                $("#tell-a-friend-confirm").hide();
            });

            $('#tell-a-friend .sendemail').click(function (e) {
                e.preventDefault();

                var data = { pageId: $(this).attr('id'), receiver: $("#receiverName").val(), receiverEmail: $("#receiverEmail").val(), sender: $("#senderEmail").val() };

                if (!data.receiver || !data.pageId || !data.receiverEmail || !data.sender)
                    return;

                var json = JSON.stringify(data); //receiver, receivermail, sender

                $.ajax({
                    url: '/services/share/TellAFriend',
                    data: data,
                    type: "POST",
                    success: function (res) {
                        if (res.error) {
                            $("#tell-a-friend-confirm p").text(res.error);
                        }
                        else {
                            $("#tell-a-friend-form").hide();
                            $("#receiverName").val('');
                            $("#receiverEmail").val('');
                            $("#senderEmail").val('');
                            $("#tell-a-friend-confirm").show();
                            $("#tell-a-friend-confirm p").text(res.message);

                            setTimeout(function () {
                                $.modal.close();
                            }, 2500);
                        }
                    }
                });
            });
        }
    }

}


$(function () {
	saco.init();
	if ($('#nav ul li').has('div')) {
	    $(this).addClass('test');
	}

});






	
 

