﻿function createCookie(name, value, days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    }
    else var expires = "";
    document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    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;
}





// my election show/hide
$(function () {

    if ($("div#my_election").length > 0) {

        var vc = "MyElecContestSliders",
            gc = "MyElecGroupSliders",
            glue = "|",
            life = 60,
            speed = 400,
            showClass = "toShow",
            showText = "Expand Contest Details",
            showGroupText = "Expand Group",
            hideClass = "toHide",
            hideText = "Minimize Contest Details",
            hideGroupText = "Minimize Group";

        var contestSliders = $('h6.slider').removeClass('nojs').addClass(hideClass).text(hideText);
        var groupSliders = $('div.grouphead h6').removeClass('nojs').addClass(hideClass).text(hideGroupText);
        var tableDivs = $("div.group table").parent();
        var groupDivs = $("div.group");

        var cookie = readCookie(vc);
        var contestArray = cookie ? cookie.split(glue) : new Array();
        cookie = readCookie(gc);
        var groupArray = cookie ? cookie.split(glue) : new Array();

        toggleContest = function (cid) {
            var slider = $('#' + cid);
            var index = contestSliders.index(slider);
            var div = tableDivs.eq(index);

            if (slider.hasClass(hideClass)) {
                div.slideUp(speed);
                slider.addClass(showClass).removeClass(hideClass).text(showText);

                contestArray.push(cid);

            } else {
                div.slideDown(speed);
                slider.addClass(hideClass).removeClass(showClass).text(hideText);

                for (id in contestArray) {
                    if (contestArray[id] == cid) {
                        contestArray.splice(id, 1);
                    }
                }
            }
            createCookie(vc, contestArray.length < 1 ? "" : contestArray.join(glue), life);
        }



        toggleGroup = function (gid) {
            var slider = $('#' + gid);
            var index = groupSliders.index(slider);
            var div = groupDivs.eq(index);

            if (slider.hasClass(hideClass)) {
                div.slideUp(speed);
                slider.addClass(showClass).removeClass(hideClass).text(showGroupText);

                groupArray.push(gid);
            } else {
                div.slideDown(speed);
                slider.addClass(hideClass).removeClass(showClass).text(hideGroupText);

                for (id in groupArray) {
                    if (groupArray[id] == gid) {
                        groupArray.splice(id, 1);
                    }
                }
            }

            createCookie(gc, groupArray.length < 1 ? "" : groupArray.join(glue), life);
        }



        for (c in contestArray) {
            var slider = $('#' + contestArray[c]);
            var index = contestSliders.index(slider);
            var div = tableDivs.eq(index);
            div.hide();
            slider.addClass(showClass).removeClass(hideClass).text(showText);
        }

        for (g in groupArray) {
            var slider = $('#' + groupArray[g]);
            var index = groupSliders.index(slider);
            var div = groupDivs.eq(index);
            div.hide();
            slider.addClass(showClass).removeClass(hideClass).text(showGroupText);
        }

        contestSliders.click(function () {
            toggleContest($(this).attr('id'));
        });

        groupSliders.click(function () {
            toggleGroup($(this).attr('id'));
        });



    }

});














// FAQ show/hide
$(function () {

    if ($("div#FAQsHolder").length > 0) {

        var showClass = "toShow",
            hideClass = "toHide",
            showGroupText = 'Expand Group',
            hideGroupText = 'Minimize Group',
            speed = 300;

        var answers = $("div.question div").hide(),
            questions = $("div.question h5").addClass(showClass),
            headings = $("div.grouphead h6").addClass(hideClass).text(hideGroupText),
            groups = $("div.group");

        questions.click(function () {
            var q = $(this);
            var i = questions.index(q);
            var a = answers.eq(i);

            if (q.hasClass(hideClass)) {
                q.removeClass(hideClass).addClass(showClass);
                a.slideUp(speed);
            } else {
                q.removeClass(showClass).addClass(hideClass);
                a.slideDown(speed);
            }
        });

        headings.click(function () {
            var h = $(this);
            var i = headings.index(h);
            var g = groups.eq(i);

            if (h.hasClass(hideClass)) {
                h.removeClass(hideClass).addClass(showClass).text(showGroupText);
                g.slideUp(speed);
            } else {
                h.removeClass(showClass).addClass(hideClass).text(hideGroupText);
                g.slideDown(speed);
            }
        });
    }

});


// Admin show/hide
$(function () {

    if ($("div#AdminHolder").length > 0) {

        var showClass = "toShow",
            hideClass = "toHide",
            showGroupText = 'Expand Group',
            hideGroupText = 'Minimize Group',
            speed = 300;

        var answers = $("div.AdminSetting div").hide(),
            questions = $("div.AdminSetting h5").addClass(showClass),
            headings = $("div.grouphead h6").addClass(hideClass).text(hideGroupText),
            groups = $("div.group");

        questions.click(function () {
            var q = $(this);
            var i = questions.index(q);
            var a = answers.eq(i);

            if (q.hasClass(hideClass)) {
                q.removeClass(hideClass).addClass(showClass);
                a.slideUp(speed);
            } else {
                q.removeClass(showClass).addClass(hideClass);
                a.slideDown(speed);
            }
        });

        headings.click(function () {
            var h = $(this);
            var i = headings.index(h);
            var g = groups.eq(i);

            if (h.hasClass(hideClass)) {
                h.removeClass(hideClass).addClass(showClass).text(showGroupText);
                g.slideUp(speed);
            } else {
                h.removeClass(showClass).addClass(hideClass).text(hideGroupText);
                g.slideDown(speed);
            }
        });
    }

});
 
