﻿$(document).ready(function () {
    OpenForm();
    PopupLogin();
    PopupTipFriend();
    FrontpageHeaderCarousel();
    NewsTicker();
    ToggleNewsletter();
    ShowHideCustomAmountField();
    ToggleAnonymousGiver();
    //ChangeDropDownStyle();
});


function ToggleNewsletter() {
    $('.expand-newsletter').click(function () {
        $('.newsletter-form').toggle(function () {
            $('.expand-newsletter').toggleClass('active');
            $('.newsletter-form .forename input').focus();
        });
        return false;
    });
}

/*** FORMS ***/

function ToggleAnonymousGiver() {
    $("#divAnonymousGift input:checkbox").click(function () {
        $("#main fieldset input:text:gt(0)").toggleClass("disabled").toggleDisabled();
        $("#main fieldset .information").toggleClass("disabled");
        $("#main fieldset input:checkbox:gt(0)").toggleClass("disabled").toggleDisabled();
    });
}

(function ($) {
    $.fn.toggleDisabled = function () {    
        return this.each(function () {            
            var $this = $(this);
            var $row = $this.closest('div[class^="row"]');
            if ($this.hasClass("disabled")) {
                $('form').data($this.attr('name'), $this.val());
                //add dummy data
                $row.hide();
                $this.val(GetDummyData($this.attr('class')));
            } else {
                //restore form data
                $this.val($('form').data($this.attr('name')));
                $row.show();
            }
        });
    };
})(jQuery);

function GetDummyData(cssClass) {
    if (cssClass.indexOf('dt-txt') >= 0) {
        return "text";
    } else if (cssClass.indexOf("dt-email") >= 0) {
        return "email@email.com";
    } else if (cssClass.indexOf("dt-no") >= 0) {
        var r = cssClass.match(/[\d\.]+/g);
        var no = "";
        var i = 0;
        if (r[0] > 0) {
            while (i < r[0]) {
                no = no + "0";
                i++;
            }
            return no;
        }
        return "1234";
    }
}

function ShowHideCustomAmountField() {
    var customAmountField = $('.customAmountField');
    var customAmountFieldInput = $('.customAmountField input');
    var ddAmountPerYear = $(".ddAmountPerYear");
    //Check if element is present on the current page
    if (customAmountField.length > 0) {
        //Initial state
        if (ddAmountPerYear.val() == "-1") {
            customAmountField.show();
        }
        else {
            customAmountField.hide();
            customAmountFieldInput.val(ddAmountPerYear.val()); //Add value from dropdown
        }
        //On dropdown select change event
        $("select").change(function () {
            if (ddAmountPerYear.val() == "-1") {
                customAmountFieldInput.val(""); //Clear value
                customAmountField.show();
                customAmountFieldInput.focus();
            }
            else {
                customAmountField.hide();
                customAmountFieldInput.val(ddAmountPerYear.val());//Add value from dropdown
            }
        });
    }
}

/* Validation */
function validateDateString(oSrc, args) {
    args.IsValid = Date.parseExact(args.Value, ["d.M.yyyy", "dd/MM/yyyy"]);
}

/* Avoid scrolling to the top on validation event */
window.scrollTo = function () { }

function OpenForm() {
    var nodeId = $('meta[name=node-id]').attr("content");
    if ($("#formToggleState").val() == "1") {
        $('.section .block-form').slideToggle(400);
        $("#formToggleButton").text("Lukk");        
    }
    $('.section .open').click(function () {
        $('.section .block-form').slideToggle(400);
        //$('.section .block-form').slideDown('slow', null);
        //$(this).text($(this).text() == 'Lukk' ? 'Start nå' : 'Lukk');
        $("#formToggleState").val("1");

        //Check if form is closed/open
        if ($(this).text() == 'Lukk') {
            $(this).text('Start nå'); //Change button text
            _gaq.push(['_trackEvent', 'Skjema', 'NodeId ' + nodeId, 'lukking sv skjema']); //Send to Analytics
        }
        else {
            $(this).text('Lukk'); //Change button text
            _gaq.push(['_trackEvent', 'Skjema', 'NodeId ' + nodeId, 'skjemavisning']); //Send to Analytics
        }
        return false;
    });
    /*$('.section .close').click(function () {
        //$('.section .block-form').slideToggle(400);
        $('.section .block-form').slideUp('slow', null);
        $("#formToggleState").val("0");
        return false;
    });*/

    //Submit button in form clicked
    $('.section input:submit').click(function () {
        //Check if there are validation errors
        if ($(".validation-summary").length > 0) {
            $(".validation-summary ul li").each(function (i) {
                _gaq.push(['_trackEvent', 'Skjema', $(this).text(), 'Feilmelding']);
            });
        }
        else {
            //_gaq.push(['_trackEvent', 'Skjema', '{Rollenr/prosjektnummer}', 'Feilmelding']);
        }
    });
}


function PopupLogin() {
    var openLink = ".mypage-login";
    var divContainer = "#signin-container fieldset#signin_menu";
    var inputFocus = ".signin-username input";
    $(openLink).click(function (e) {
        e.preventDefault();
        $(divContainer).toggle();
        $(inputFocus).focus();
        $(openLink).parent().toggleClass("active");
    });
    $(divContainer).mouseup(function () {
        return false
    });
    $(document).mouseup(function (e) {
        if ($(e.target).parent(openLink).length == 0) {
            $(openLink).parent().removeClass("active");
            $(divContainer).hide();
        }
    });
    $("a.login-close").click(function (e) {
        e.preventDefault();
        $(openLink).parent().removeClass("active");
        $(divContainer).hide();
    });
}


function PopupTipFriend() {
    var openLink = ".tip-a-friend";
    var divContainer = "#tip-friend-container fieldset#signin_menu";
    $(openLink).click(function (e) {
        e.preventDefault();
        $(divContainer).toggle();
        $(openLink).parent().toggleClass("active");
    });
    $(divContainer).mouseup(function () {
        return false
    });
    $(document).mouseup(function (e) {
        if ($(e.target).parent(openLink).length == 0) {
            $(openLink).parent().removeClass("active");
            $(divContainer).hide();
        }
    });
    $("a.login-close").click(function (e) {
        e.preventDefault();
        $(openLink).parent().removeClass("active");
        $(divContainer).hide();
    });
}


function FrontpageHeaderCarousel() {
    if ($('.maincarousel').length > 0) {
        $('.maincarousel .gallery-block .gallery-holder')
        .after('<div id="carouselnav">')
        .cycle({
            fx: 'fade',
            speed: 2000,
            timeout: 1,
            pause: 1,
            pager: '#carouselnav'
        });
    }
}


function NewsTicker() {
    $('.ticker-contents')
    .cycle({
        fx: 'scrollVert',
        speed: 800,
        timeout: 1000,
        pause: 1,
        delay: -4000
    });
}


function ChangeDropDownStyle() {
    //Changes all dropdowns to sexy-combo, except the ones with class "custom-ddl"
    $("select").not("select.custom-ddl").each(function () {
        //Activate sexy-combo
        $(this).sexyCombo();

        //Change with based on dropdown size
        var divSexy = $(this).parent("div.sexy");
        w = $(this).siblings(".list-wrapper li").css("visibility", "hidden").end().outerWidth(true);
        $(this).next("input").width(w);
        $(divSexy).width(w + 40);
        $(divSexy).children("div.icon").css("left", w + 10 + "px");
        $(divSexy).children("div.list-wrapper").width(w + 20);
    });
}
