﻿
/* Global Site Script */
Site = function($) {

    function init() {

        $(".radio").dgStyle();
        $(".checkbox").dgStyle();

        initMainMenu();

        initDateTimePicker();
        initEvents();
    }
    function initEvents() {
        var formActivityRegistration = $("#_FormActivityRegistration");
        if (formActivityRegistration) {
            formActivityRegistration.find(".agreed-to-sign-up input").bind("click", function() {
                $("#_FormActivityRegistration").find(".sign-up-block").toggle("slow");
            });
        }
    }
    function initDateTimePicker() {
        if ($(".datepicker").length > 0) {
            $.datepicker.regional['he'] = {
                monthNames: ['ינואר', 'פברואר', 'מרץ', 'אפריל', 'מאי', 'יוני',
        	'יולי', 'אוגוסט', 'ספטמבר', 'אוקטובר', 'נובמבר', 'דצמבר'],
                monthNamesShort: ['1', '2', '3', '4', '5', '6',
        	'7', '8', '9', '10', '11', '12'],
                dayNames: ['ראשון', 'שני', 'שלישי', 'רביעי', 'חמישי', 'שישי', 'שבת'],
                dayNamesShort: ['א\'', 'ב\'', 'ג\'', 'ד\'', 'ה\'', 'ו\'', 'שבת'],
                dayNamesMin: ['א\'', 'ב\'', 'ג\'', 'ד\'', 'ה\'', 'ו\'', 'שבת'],
                dateFormat: 'dd/mm/yyyy', firstDay: 0,
                renderer: $.datepicker.defaultRenderer,
                prevText: '&#x3c;הקודם', prevStatus: '',
                prevJumpText: '&#x3c;&#x3c;', prevJumpStatus: '',
                nextText: 'הבא&#x3e;', nextStatus: '',
                nextJumpText: '&#x3e;&#x3e;', nextJumpStatus: '',
                currentText: 'היום', currentStatus: '',
                todayText: 'היום', todayStatus: '',
                clearText: 'נקה', clearStatus: '',
                closeText: 'סגור', closeStatus: '',
                yearStatus: '', monthStatus: '',
                weekText: 'Wk', weekStatus: '',
                dayStatus: 'DD, M d', defaultStatus: '',
                isRTL: true
            };
            $.datepicker.setDefaults($.datepicker.regional['he']);
            $(".datepicker").datepicker({ dateFormat: "dd.mm.yy" });
        }
    }
    $(document).ready(function() {
        init();
    });

    function initMainMenu() {
        $(".level-1 li").bind("mouseenter", function() {
            $(this).find(".level-2").show();
        }).bind("mouseleave", function() {
            $(this).find(".level-2").hide();
        });
    }
    function registerJs(url, id) {
        var script = document.createElement("script");
        script.src = url;
        document.body.appendChild(script);
    }

    function getQueryVariable(variable) {
        var query = window.location.search.substring(1);
        var vars = query.split("&");
        for (var i = 0; i < vars.length; i++) {
            var pair = vars[i].split("=");
            if (pair[0] == variable) {
                return pair[1];
            }
        }
    }

    function formCallback(response) {
        //debugger;
        try {
            var data = response.get_object();
            var errorContainer = $("#_" + data.CodeName + " .server-error");
            if (data.Errors && data.Errors.ErrorMessage) {
                errorContainer.find("span").html(data.Errors.ErrorMessage);
                errorContainer.show("slow");
            }
            else if (data.ReturnURL) {
                window.location.href = data.ReturnURL;
            }
        } catch (e) {
            window.location.href = "/error?msg=hacker-input";
        }
    }
    function hideErrorPanel(formCodename) {
        var errorContainer = $("#_" + formCodename + " .server-error");
        errorContainer.find("span").html("");
        errorContainer.hide();
    }
    function formSubmitStart(p) {
    }
    return {
        RegisterJs: function(url) {
            registerJs(url);
        },
        FormCallback: function(p) {
            formCallback(p);
        },
        HideErrors: function(p) {
            hideErrorPanel(p);
        },
        FormSubmitStart: function(p) {
            formSubmitStart(p);
        },
        QS: function(p) {
            return getQueryVariable(p);
        }
    }

} (jQuery);
