﻿var svbUtils = {
    init: function () {
        // onload functions


        var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
        if (!is_chrome) {
            svbUtils.setEqualSpotHeight($j(".list .spot").not(".noimgs .spot, .joblist .spot"));
        }
        //$j(".list .spot").equalHeights();
        svbUtils.RemoveLastSN();
        svbUtils.RemoveEmptyP();
        svbUtils.editmodeOverlays();

        if (jQuery.browser.msie && jQuery.browser.version == "6.0") { }
        else {
            svbUtils.initDropDownMenu();
        }


        svbUtils.InitGallerys();
        svbUtils.GaHandlers();

    },
    setEqualSpotHeight: function (group) {
        var tallest = 0;
        group.each(function () {
            var thisHeight = $j(this).height();
            //$j(this).css("float", "left");

            if (thisHeight > tallest) {
                tallest = thisHeight;
            }
        });
        group.height(tallest);
    },
    RemoveLastSN: function () {
        $j(".valtechfooter .f-divider:last").css("display", "none");
        //$j(".valtechtop li:last").css("padding-right", "0");
    },
    RemoveEmptyP: function () {
        $j("p").each(function () {
            if ($j(this).innerHeight() == 0 && !$j(this).parent().hasClass("content")) {
                $j(this).remove();
            }
        });
    },
    setActiveLeftMenu: function () {
        $j("#menuleft a.current:last").css("color", "#6793AD");
    },
    GaHandlers: function () {
        var gaUtilThisPageURL = document.location.pathname
        $j('.sidebar .action a').click(function () {
            _gaq.push(['_trackPageview', '/goal/actionspot-klik']);
            _gaq.push(['_trackEvent', 'Action Spots', gaUtilThisPageURL, $j(this).attr('href')]);
        });
        $j('.sidebar .contact-information-spot a').click(function () {
            _gaq.push(['_trackPageview', '/goal/kontaktboks-klik']);
            _gaq.push(['_trackEvent', 'Kontakt spots', gaUtilThisPageURL, $j(this).text()]);
        });
        if (gaUtilThisPageURL == '/Publicservices/404.aspx') {
            _gaq.push(['_trackEvent', 'Fejl', '404', document.referrer]);
        }

    },
    FormValidator: function () {
        $j('.callus .txtinput,.callus .selectbox').click(function () {
            $j(this).removeClass('error'); $j(this).removeClass('dderror');

        });


        if ($j(".callus input[name='name']").val() == '' || $j(".callus input[name='name']").val() == $j(".callus input[name='nameDefault']").val() || $j(".callus input[name='name']").val() == $j(".callus input[name='nameError']").val()) { $j(".callus input[name='name']").val($j(".callus input[name='nameError']").val()); $j(".callus input[name='name']").addClass("txtinput error"); return false; }
        else { $j(".callus input[name='name']").removeClass("error"); }

        if ($j(".callus input[name='company']").val() == '' || $j(".callus input[name='company']").val() == $j(".callus input[name='companyDefault']").val() || $j(".callus input[name='company']").val() == $j(".callus input[name='companyError']").val()) { $j(".callus input[name='company']").val($j(".callus input[name='companyError']").val()); $j(".callus input[name='company']").addClass("txtinput error"); return false; }
        else { $j(".callus input[name='company']").removeClass("error"); }

        if ($j(".callus input[name='title']").val() == '' || $j(".callus input[name='title']").val() == $j(".callus input[name='titleDefault']").val() || $j(".callus input[name='title']").val() == $j(".callus input[name='titleError']").val()) { $j(".callus input[name='title']").val($j(".callus input[name='titleError']").val()); $j(".callus input[name='title']").addClass("txtinput error"); return false; }
        else { $j(".callus input[name='title']").removeClass("error"); }

        //var digitest = /^-{0,1}\d*\.{0,1}\d+$/;

        var digitest = /^\s*\+?[\d\s]+$/;
        if (digitest.test($j(".callus input[name='phone']").val()) == false || $j(".callus input[name='phone']").val() == '' || $j(".callus input[name='phone']").val() == $j(".callus input[name='phoneDefault']").val() || $j(".callus input[name='phone']").val() == $j(".callus input[name='phoneError']").val()) { $j(".callus input[name='phone']").val($j(".callus input[name='phoneError']").val()); $j(".callus input[name='phone']").addClass("txtinput error"); return false; }
        else { $j(".callus input[name='phone']").removeClass("error"); }

        if ($j("#contactarea").val() == '0') { $j(".callus .selectbox").addClass("dderror"); return false; }
        else { $j(".callus .selectbox").removeClass("dderror"); }

        return true;
    },
    InitGallerys: function () {
        if ($j('.banner-holder img').size() != 1) {
            function onBefore(currSlideElement, nextSlideElement) {
                var index = getActiveSlideIndex(nextSlideElement);

                setActiveSlideNumber(index);
                setActiveSlideText(index);
            }

            function setActiveSlideNumber(index) {
                $j('#currentslide').html(index + 1);
            }

            function setActiveSlideText(index) {
                var bannerInfo = $j('#bannerinfo');
                var nolinkGal = $j(".banner-holder .nolinkgal:nth-child(" + (index + 1) + ")");
                var header = $j('.nolinkgal-contents .header', nolinkGal);
                var contents = $j('.nolinkgal-contents .content', nolinkGal);
                var slideUrl = $j('.banner-holder .nolinkgal:nth-child(' + (index + 1) + ') > a:first-child');
                var contentHasPTag = $j('.nolinkgal-contents .content > p:first-child', nolinkGal).length > 0;

                setSlideText(bannerInfo, header, contents, slideUrl, contentHasPTag);
            }

            function getActiveSlideIndex(element) {
                var elem = $j(element);
                var slideElements;
                if (typeof elem.parentNode !== "undefined") {
                    slideElements = elem.parentNode.childNodes;
                } else {
                    slideElements = elem.parent().children();
                }

                var slideLength = slideElements.length;

                for (var i = 0; i < slideLength; i++) {
                    if (slideElements[i] === element) {
                        return i;
                    }
                }
            }

            $j('.banner-holder').cycle({
                fx: 'scrollHorz',
                rev: 0,
                timeout: 10000,
                before: onBefore,
                next: '#gallery-next',
                prev: '#gallery-prev',
                pager: '#big-dummtnav',
                pause: 1
            });
            $j('.totaltslides').html($j('.banner-holder img').size());

        }
        else {
            var bannerInfo = $j('#bannerinfo');
            var header = $j('.nolinkgal-contents .header');
            var contents = $j('.nolinkgal-contents .content');
            var slideUrl = $j(".banner-holder .nolinkgal > a:first-child");
            var contentHasPTag = $j('.nolinkgal-contents .content > p:first-child').length > 0;

            setSlideText(bannerInfo, header, contents, slideUrl, contentHasPTag);
        }

        function setSlideText(element, headerElement, contentsElement, urlElements, hasPTag) {
            element.contents().remove();

            if (headerElement.length == 0 && contentsElement.length == 0)
                return;

            if (urlElements.length > 0) {
                var url = $j(urlElements[0]);
                element.append('<a href="' + url.attr('href') + '"><strong>' + headerElement.text() + '</strong></a>');
            }
            else {
                element.append('<strong>' + headerElement.text() + '</strong>');
            }

            if (hasPTag === false) {
                element.append('<p>' + contentsElement.html() + '</p>');
            }
            else {
                element.append(contentsElement.html());
            }

            if (element.text().trim().length > 0) {
                element.show();
            }
        }

        /*Small spot gallery 1*/
        $j('.sum-spot-list-item').wrapAll('<div class="spotgallery" />');
        $j('.spotgallery').before('<div class="small-banner-navigator"><a href="" id="sumspotnext">&nbsp;</a><div class="small-gallery-nav"><span id="small-currentslide">1</span><span class="small-galleryof">' + $j('#smallspotsumOfText').val() + '</span><span class="small-totaltslides"></span><div id="small-dummtnav"></div></div><a href="" id="sumspotprev">&nbsp;</a></div>');

        function onBeforeSmall() {

        }
        function onAfterSmall() {
            if ($j('#small-dummtnav .activeSlide').html() !== null) {
                $j('#small-currentslide').html($j('#small-dummtnav .activeSlide').html());
            } else {
                $j('#small-currentslide').html('1');
            }
        }

        $j('.spotgallery').cycle({
            fx: 'scrollHorz',
            timeout: 10000,
            rev: 1,
            before: onBeforeSmall,
            after: onAfterSmall,
            timeout: 0,
            next: '#sumspotprev',
            prev: '#sumspotnext',
            pager: '#small-dummtnav',
            pause: 1
        });
        $j('.small-totaltslides').html($j('.spotgallery .sum-spot-list-item').size());
        //$j("#totalsumspotitm a[class!='activeSlide']").css('display', 'none');


        /*Small spot gallery 2*/
        $j('.spotslider2').wrapAll('<div class="spotgallery2" />');
        $j('.spotgallery2').before('<div class="small-banner-navigator"><a href="" id="sumspotnext2">&nbsp;</a><div class="small-gallery-nav"><span id="small-currentslide2">1</span><span class="small-galleryof">' + $j('#smallspotsumOfText').val() + '</span><span class="small-totaltslides2"></span><div id="small-dummtnav2"></div></div><a href="" id="sumspotprev2">&nbsp;</a></div>');

        function onBeforeSmall2() {

        }
        function onAfterSmall2() {
            if ($j('#small-dummtnav2 .activeSlide').html() !== null) {
                $j('#small-currentslide2').html($j('#small-dummtnav2 .activeSlide').html());
            } else {
                $j('#small-currentslide2').html('1');
            }
        }

        $j('.spotgallery2').cycle({
            fx: 'scrollHorz',
            timeout: 10000,
            rev: 1,
            before: onBeforeSmall2,
            after: onAfterSmall2,
            timeout: 0,
            next: '#sumspotprev2',
            prev: '#sumspotnext2',
            pager: '#small-dummtnav2',
            pause: 1
        });
        $j('.small-totaltslides2').html($j('.spotgallery2 .spotslider2').size());

        /*Small spot gallery 3*/
        $j('.spotslider3').wrapAll('<div class="spotgallery3" />');
        $j('.spotgallery3').before('<div class="small-banner-navigator"><a href="" id="sumspotnext3">&nbsp;</a><div class="small-gallery-nav"><span id="small-currentslide3">1</span><span class="small-galleryof">' + $j('#smallspotsumOfText').val() + '</span><span class="small-totaltslides3"></span><div id="small-dummtnav3"></div></div><a href="" id="sumspotprev3">&nbsp;</a></div>');

        function onBeforeSmall3() {

        }
        function onAfterSmall3() {
            if ($j('#small-dummtnav3 .activeSlide').html() !== null) {
                $j('#small-currentslide3').html($j('#small-dummtnav3 .activeSlide').html())
            } else {
                $j('#small-currentslide3').html('1')
            }
        }

        $j('.spotgallery3').cycle({
            fx: 'scrollHorz',
            timeout: 10000,
            rev: 1,
            before: onBeforeSmall3,
            after: onAfterSmall3,
            timeout: 0,
            next: '#sumspotprev3',
            prev: '#sumspotnext3',
            pager: '#small-dummtnav3',
            pause: 1
        });
        $j('.small-totaltslides3').html($j('.spotgallery3 .spotslider3').size());


    },
    initDropDownMenu: function () {
        /*Menu dropdown*/
        var timeout = 500;
        var closetimer = 0;
        var ddmenuitem = 0;

        function jsddm_open() {
            jsddm_canceltimer();
            jsddm_close();
            var list = $j(this).find('ul');
            if (list.children().length == 0)
                return;

            ddmenuitem = list.show();
        }

        function jsddm_close()
        { if (ddmenuitem) ddmenuitem.hide(); }

        function jsddm_timer()
        { closetimer = window.setTimeout(jsddm_close, timeout); }

        function jsddm_canceltimer() {
            if (closetimer) {
                window.clearTimeout(closetimer);
                closetimer = null;
            }
        }

        $j('#menutop > li').bind('mouseover', jsddm_open);
        $j('#menutop > li').bind('mouseout', jsddm_timer);

        document.onclick = jsddm_close;
    },
    editmodeOverlays: function () {
        $j('.scPageDesignerDropZone').each(function () {
            var parent = $j(this).parent();
            $j(this).css({
                height: parent.height(),
                width: parent.width(),
                position: 'absolute',
                top: 0,
                left: 0,
                background: '#f90',
                opacity: 0.5,
                'z-index': '1000'
            });
            parent.css({
                position: 'relative'
            });

        });

    },

    // Validate form using ASP.NET field validators (RequiredFieldValidator, }etc.)
    validatePage: function () {
        if (typeof Page_Validators === "undefined")
            return true;

        for (var i = 0; i < Page_Validators.length; i++) {
            var e = Page_Validators[i];
            if (e.evaluationfunction(e) === false) {
                $j('#' + e.controltovalidate).btOn();
                return false;
            }
        }

        return true;
    }

};


$j(document).ready(function () {
    svbUtils.init();
    $j('#contactarea').selectbox();


    /*Deafautll text for call me*/
    $j(".txtinput,#search-field").focus(function (srcc) {
        if ($j(this).val() == $j(this)[0].title || $j(this).val() == $j(this).next().val()) {
            $j(this).val("");
        }
    });
    $j(".txtinput,#search-field").blur(function () {
        if ($j(this).val() == "") {

            $j(this).val($j(this)[0].title);
        }
    });
    $j(".txtinput,#search-field").blur();
});

function SubmitSearch() {
    location.href = '/search.aspx?searchk=' + $j("#servicenavigation .search-field").val();
}
