﻿/// <reference path="jQuery/jquery-1.3.2.min-vsdoc.js" />

/*-------------------------- Sutarčių priedų kūrimas ----------------------------*/
(function($) {
    $.fn.setupAnnexUI = function() {

        return this.each(function() {
            obj = $(this);

            var formListButton = null;
            var formListButtonHidden = null;
            var readActionSelect = null;
            var declareActionSelect = null;
            var signActionSelect = null;

            function SetFormListButtonVisibility() {
                var formListVisible = ($(readActionSelect).val() == "Some") ||
									  ($(declareActionSelect).val() == "Some") ||
									  ($(signActionSelect).val() == "Some");

                if (formListVisible) {
                    $(formListButton).show();
                    $(formListButtonHidden).hide();
                }
                else {
                    $(formListButton).hide();
                    $(formListButtonHidden).show();
                }
            }

            $(obj).find('select').each(
				function() {
				    if (this.id.match('ReadPermissionsEnumPicker$') == 'ReadPermissionsEnumPicker') {
				        readActionSelect = this;
				    }

				    if (this.id.match('DeclarePermissionsEnumPicker$') == 'DeclarePermissionsEnumPicker') {
				        declareActionSelect = this;
				    }

				    if (this.id.match('SignPermissionsEnumPicker$') == 'SignPermissionsEnumPicker') {
				        signActionSelect = this;
				    }
				}
			);

            $(obj).find('.PortalButton').each(
				function() {
				    if (this.id.match('FormListButton$') == 'FormListButton') {
				        formListButton = this;
				    }

				    if (this.id.match('FormListButtonHidden$') == 'FormListButtonHidden') {
				        formListButtonHidden = this;
				    }
				}
			);

            $(readActionSelect).bind('change', SetFormListButtonVisibility);
            $(signActionSelect).bind('change', SetFormListButtonVisibility);
            $(declareActionSelect).bind('change', SetFormListButtonVisibility);
        });
    };

    $.fn.setupAnnexPermissionsUI = function() {

        return this.each(function() {
            obj = $(this);

            function HandleReadActionChanged() {
                var checked = this.checked;

                // Formai nuėmus peržiūros teisę, automatiškai turi būti atimamos ir deklaravimo ir pasirašymo teisės.
                $(this).closest('td').next('td').find('input:checkbox').each(
                    function() {
                        if (checked == false) {
                            this.checked = false;
                        }
                    }
                );

                $(this).closest('td').next('td').next('td').find('input:checkbox').each(
                    function() {
                        if (checked == false) {
                            this.checked = false;
                        }
                    }
                );
            }

            function HandleDeclareActionChanged() {
                var checked = this.checked;

                // Formai pažymėjus deklaravimo teisę, automatiškai turi būti suteikiama peržiūros teisė.
                $(this).closest('td').prev('td').find('input:checkbox').each(
                    function() {
                        if (checked == true) {
                            this.checked = true;
                        }
                    }
                );

                // Formai nuėmus deklaravimo teisę, automatiškai turi būti atimama ir pasirašymo teisė.
                $(this).closest('td').next('td').find('input:checkbox').each(
                    function() {
                        if (checked == false) {
                            this.checked = false;
                        }
                    }
                );
            }

            function HandleSignActionChanged() {
                var checked = this.checked;

                // Formai pažymėjus pasirašymo teisę, automatiškai turi būti suteikiama peržiūros ir deklaravimo teisė.
                $(this).closest('td').prev('td').find('input:checkbox').each(
                    function() {
                        if (checked == true) {
                            this.checked = true;
                        }
                    }
                );

                $(this).closest('td').prev('td').prev('td').find('input:checkbox').each(
                    function() {
                        if (checked == true) {
                            this.checked = true;
                        }
                    }
                );
            }

            $(obj).find('input:checkbox').each(
				function() {
				    if (this.id.match('ReadStateCheckBox$') == 'ReadStateCheckBox' && !this.disabled) {
				        $(this).bind('click', HandleReadActionChanged);
				    }

				    if (this.id.match('DeclareStateCheckBox$') == 'DeclareStateCheckBox' && !this.disabled) {
				        $(this).bind('click', HandleDeclareActionChanged);
				    }

				    if (this.id.match('SignStateCheckBox$') == 'SignStateCheckBox' && !this.disabled) {
				        $(this).bind('click', HandleSignActionChanged);
				    }
				}
			);
        });
    };
})(jQuery);


