function hasClassName (node, className) {
	if (!(node = $(node))) return;
	var cn = node.className;
	return (cn.length && (cn == className || cn.match (new RegExp("(^|\\s)" + className + "(\\s|$)"))));
}

function addClassName (node, className) {
	if (!(node = $(node)) || hasClassName(node, className)) return;
	node.className += (node.className ? ' ' : '') + className;
}



function removeClassName (node, className) {
	if (!(node = $(node))) return;
	node.className = node.className.replace (new RegExp("(^|\\s+)"+className+"(\\s+|$)"), ' ');
}

// ---------------------------------------------------------------------------------------------------------------------
// ---------------------------------------------------------------------------------------------------------------------


var WaitDiv;

var Register = {
    // funkcje ogolne, pomocnicze
    _row_toggle__callback: function (action, row_id) {
        var
            row     = $(row_id),
            row_sep = $(row_id + '_sepmid');

        if (!row) {
            return;
        }

        switch (action) {
            case 'toggle':
                row.style.display = row.style.display == "none" ? "" : "none";

                if (row_sep) {
                    row_sep.style.display = row_sep.style.display == "none" ? "" : "none";
                }
                break;
            case 'show':
                row.style.display ="";

                if (row_sep) {
                    row_sep.style.display = "";
                }
                break;
            case 'hide':
                row.style.display = "none";

                if (row_sep) {
                    row_sep.style.display = "none";
                }
                break;
        }
    },


    // pola wymagane
    required_fields_list: new Array(),


    required_fields_init: function () {

        if (Register.required_fields_list.length <= 0) {
            return;
        }

        var item, iter, element;

        for (iter in Register.required_fields_list) {
            if ( !(item = document.getElementsByName(Register.required_fields_list[iter])) ) {
                continue;
            }
            for (element in item) {
                if (!item[element] || !item[element].tagName || ('input' != item[element].tagName && 'INPUT' != item[element].tagName) ) {
                    continue;
                };

                item[element].onfocus = function () {
                    removeClassName (this, 'required_field');
                };
                item[element].onblur  = function () {
                    if (this.value == "") {
                        addClassName (this, 'required_field');
                    }
                };
                if (item[element].value == "") {
                    addClassName (item[element], 'required_field');
                }
            }
        }

    }


};


