var CHANGER = new changer();
CHANGER.interval = 500;

/* because of perfect code portability! */
document.forms.EditView = document.forms.DetailView;

/* Decree */
addEvent(
    window,
    'load',
    function() {

        CHANGER.add(
            'account_acc_wn',
            'checked',
            function(obj) {
                if (true == obj.checked) {
                    document.getElementById('acc_wn').disabled = true;
                    document.getElementById('acc_wn_code').disabled = true

                    document.getElementById('btn_acc_wn_code').disabled = true
                    document.getElementById('btn_clr_acc_wn_code').disabled = true

                    return true;
                }

                document.getElementById('acc_wn').disabled = false;
                document.getElementById('acc_wn_code').disabled = false;

                document.getElementById('btn_acc_wn_code').disabled = false;
                document.getElementById('btn_clr_acc_wn_code').disabled = false;
            },
            false
        );

        CHANGER.add(
            'account_acc_ma',
            'checked',
            function(obj) {
                if (true == obj.checked) {
                    document.getElementById('acc_ma').disabled = true;
                    document.getElementById('acc_ma_code').disabled = true

                    document.getElementById('btn_acc_ma_code').disabled = true
                    document.getElementById('btn_clr_acc_ma_code').disabled = true

                    return true;
                }

                document.getElementById('acc_ma').disabled = false;
                document.getElementById('acc_ma_code').disabled = false;

                document.getElementById('btn_acc_ma_code').disabled = false;
                document.getElementById('btn_clr_acc_ma_code').disabled = false;
            },
            false
        );
        
        set_focus();

        //initialize table
        N = new MyTable('decreeTable');
        N.divParent = document.getElementById('decreeTableDIV');
        
        var from_popup_return = false;

        function returnedData(popup_reply_data) {
            from_popup_return = true;

            var form_name = popup_reply_data.form_name;
            var name_to_value_array = popup_reply_data.name_to_value_array;

            for (var the_key in name_to_value_array) {
                if (the_key == 'toJSON') {
                    //
                }
                else {
                    var displayValue = name_to_value_array[the_key].replace(/&amp;/gi, '&').replace(/&lt;/gi, '<').replace(/&gt;/gi, '>').replace(/&#039;/gi, '\'').replace(/&quot;/gi, '"');

                    var e = document.getElementById(the_key);

                    if (e) {
                        e.value = displayValue;
                    }
                }
            }

           // if(N.selectedRow)
               // N.selectedRow.calculateTotal();
        }

        N.onRefreshRowIndex = function(row) {
            return true;
            
            var data = new Object();
            data['index'] = (row.index + 1).toString();

            row.cells.item(0).setData(data);
        };

        N.onCreateRow = function(row) {
            // console.log(row);
            
            row.newPos = false;
            row.style.height = OPT['row_item_height'];

            row.ondblclick = function() {
                this.newPos = !this.newPos;

                for (var i = 0; i < this.myTable.colCount(); i++) {
                    this.cells.item(i).change(!this.newPos);
                }
            };

            row.onSelect = function() {
                for (var i = 0; i < this.myTable.colCount(); i++) {
                    this.cells.item(i).style.height = OPT['row_item_height_selected'];
                    this.cells.item(i).change(!this.newPos);
                }
            };

            row.onDeselect = function() {
                for (var i = 0; i < this.myTable.colCount(); i++) {
                    this.cells.item(i).style.height = OPT['row_item_height'];
                    this.cells.item(i).change(false);
                }
            };

            row.calculateTotal = function() {
                // console.log('calculateTotal');
                return true;

                var data = new Object();

                this.cells.item(3).getData(data, true);
                this.cells.item(5).getData(data, true);
                this.cells.item(6).getData(data, true);

                if (data.quantity && data.price) {
                    data.price2 = data.price - data.price * data.discount / 100;
                    data.total = data.quantity * data.price2;
                }
                else {
                    data.total = 0;
                    data.price2 = 0;
                }

                this.cells.item(7).setData(data);
                this.cells.item(10).setData(data);

                calculateTotalItems();
            };
        };

        var itd = document.getElementById('decreeTableDIV');
        
        itd.onscroll = function() {
            // console.log('onscroll');
            return true;

            if (!AjaxSearch1Items.AjaxSearchFrozen)
                if (N.selectedCell && N.selectedCell.LeftPosition && N.selectedCell.TopPosition) {
                    var top = N.selectedCell.TopPosition + N.selectedCell.offsetHeight;

                    if (((N.selectedCell.offsetTop + N.selectedCell.offsetHeight - this.scrollTop) > (this.offsetHeight + 5)) || ((N.selectedCell.offsetTop - this.scrollTop) < (-10)))
                        AjaxSearch1Items.div.style.display = 'none';
                    else
                        AjaxSearch1Items.div.style.display = '';

                    AjaxSearch1Items.div.style.top = top - this.scrollTop;
                }
        };

        N.onCreateCell = function(cell) {
            var i = cell.index;

            cell.change = function(select) {
                //
            };

            cell.style.height = OPT['row_item_height'];

            // cell.select = function() {
                // var d = new Date();
                // console.log(d + " " + i);
            // }
            
            cell.onDeselect = function() {
                var data = this.parentNode.getData();
                this.parentNode.setData(data);
                
                // console.log(data);
                
                // if (!data.id || data.id == '') {
                    // var data2 = new Object();
                    // this.parentNode.setData(data2);
                // }
            };
            
            // Position.
            if (i == 0) {
                cell.change = function(select) {
                    var cn = this.getElementsByTagName('input');
                    
                    // console.log('change', cn);
                    
                    if(select) {
                        cn[0].name = 'vr_position';
                        cn[0].id = 'vr_position';
                    } else {
                        cn[0].name = '';
                        cn[0].id = '';
                    }
                }
                
                cell.getData = function(data) {
                    var cn = this.getElementsByTagName('input');
                    
                    if(cn[0].value) {
                        data.vr_position = cn[0].value;
                    } else {
                        data.vr_position = '';
                    }
                };

                cell.setData = function(data) {
                    var cn = this.getElementsByTagName('input');
                    
                    if(data.vr_position) {
                        cn[0].value = data.vr_position;
                    } else {
                        cn[0].value = '';
                    }
                };

                var edit = document.createElement('input');
                edit.setAttribute('type', 'text');
                edit.setAttribute('readOnly', 'readonly');
                edit.setAttribute('tabIndex', 1);
                edit.className = 'inputs';

                cell.appendChild(edit);
            }

            // Name.
            if (i == 1) {
                cell.change = function(select) {
                    var cn = this.getElementsByTagName('input');
                    
                    // console.log('change', cn);
                    
                    if(select) {
                        cn[0].name = 'ecmfkvatkind_id';
                        cn[0].id = 'ecmfkvatkind_id';
                        
                        cn[1].name = 'vr_name';
                        cn[1].id = 'vr_name';
                    } else {
                        cn[0].name = '';
                        cn[0].id = '';
                        
                        cn[1].name = '';
                        cn[1].id = '';
                    }
                }
                
                cell.getData = function(data) {
                    var cn = this.getElementsByTagName('input');
                    
                    if(cn[0].value) {
                        data.ecmfkvatkind_id = cn[0].value;
                    } else {
                        data.ecmfkvatkind_id = '';
                    }
                    
                    if(cn[1].value) {
                        data.vr_name = cn[1].value;
                    } else {
                        data.vr_name = '';
                    }
                    
                };

                cell.setData = function(data) {
                    var cn = this.getElementsByTagName('input');
                    
                    if(data.ecmfkvatkind_id) {
                        cn[0].value = data.ecmfkvatkind_id;
                    } else {
                        cn[0].value = '';
                    }
                    
                    if(data.vr_name) {
                        cn[1].value = data.vr_name; 
                    } else {
                        cn[1].value = ''; 
                    }
                };
                
                var edit0 = document.createElement('input');
                edit0.setAttribute('type', 'hidden');
                edit0.setAttribute('readOnly', 'readonly');
                edit0.setAttribute('tabIndex', 1);
                edit0.className = 'inputs';

                cell.appendChild(edit0);
                
                var edit1 = document.createElement('input');
                edit1.setAttribute('type', 'text');
                edit1.setAttribute('readOnly', 'readonly');
                edit1.setAttribute('tabIndex', 1);
                edit1.className = 'inputs';

                cell.appendChild(edit1);
                
                var img = document.createElement('img');
                img.setAttribute('alt', MOD['LBL_IMG_SEARCH']);
                img.setAttribute('src', 'modules/EcmInvoiceOuts/images/search.gif');
                img.style.cursor = 'pointer';

                img.onclick = function() {
                    try {
                        // this.parentNode.select();
                    } catch(e) {
                        //
                    }

                    this.parentNode.ajax_search = false;

                    var ecmpopup = my_popup(
                            'EcmFkVatKinds',
                            {
                                // id: 'id_p',
                                // name: 'name_p',
                                // position: 'position_p',
                                //
                                id: 'ecmfkvatkind_id',
                                name: 'vr_name',
                                position: 'vr_position'
                            }
                        );

                    setTimeout(
                        function(){
                            // ecmpopup.focus();
                        },
                        200
                    );
                }

                // Search image button.
                // cell.appendChild(img);
            }

            // Wn.
            if (i == 2) {
                cell.change = function(select) {
                    var cn = this.getElementsByTagName('input');
                    
                    // console.log('change', cn);
                    
                    if(select) {
                        cn[0].name = 'i_acc_wn';
                        cn[0].id = 'i_acc_wn';
                        
                        cn[1].name = 'i_acc_wn_code';
                        cn[1].id = 'i_acc_wn_code';
                        
                        cn[2].name = 'i_acc_wn_name';
                        cn[2].id = 'i_acc_wn_name';
                        
                        cn[3].name = 'i_account_acc_wn';
                        cn[3].id = 'i_account_acc_wn';
                    } else {
                        cn[0].name = '';
                        cn[0].id = '';
                        
                        cn[1].name = '';
                        cn[1].id = '';
                        
                        cn[2].name = '';
                        cn[2].id = '';
                        
                        cn[3].name = '';
                        cn[3].id = '';
                    }
                }
                
                cell.getData = function(data) {
                    var cn = this.getElementsByTagName('input');
                    
                    if(cn[0].value) {
                        data.i_acc_wn = cn[0].value;
                    } else {
                        data.i_acc_wn = '';
                    }
                    
                    if(cn[1].value) {
                        data.i_acc_wn_code = cn[1].value;
                    } else {
                        data.i_acc_wn_code = '000';
                    }
                    
                    if(cn[2].value) {
                        data.i_acc_wn_name = cn[2].value;
                    } else {
                        data.i_acc_wn_name = 'Brak';
                    }
                    
                    if(cn[3].value) {
                        data.i_account_acc_wn = cn[3].value;
                    } else {
                        data.i_account_acc_wn = '0';
                    }
                    
                    // console.log(data);
                };

                cell.setData = function(data) {
                    // console.log(data);
                    
                    var cn = this.getElementsByTagName('input');
                    
                    if(data.i_acc_wn) {
                        cn[0].value = data.i_acc_wn;
                    } else {
                        cn[0].value = '';
                    }
                    
                    if(data.i_acc_wn_code) {
                        cn[1].value = data.i_acc_wn_code; 
                    } else {
                        cn[1].value = '000';
                    }
                    
                    if(data.i_acc_wn_name) {
                        cn[2].value = data.i_acc_wn_name; 
                    } else {
                        cn[2].value = 'Brak';
                    }
                    
                    if(data.i_account_acc_wn) {
                        cn[3].value = data.i_account_acc_wn; 
                    } else {
                        cn[3].value = '0';
                    }
                };

                var edit0 = document.createElement('input');
                edit0.setAttribute('type', 'hidden');
                // edit0.setAttribute('readOnly', 'readonly');
                edit0.setAttribute('tabIndex', 1);
                edit0.className = 'inputs';

                cell.appendChild(edit0);
                
                var edit1 = document.createElement('input');
                edit1.setAttribute('type', 'text');
                edit1.setAttribute('readOnly', 'readonly');
                edit1.setAttribute('tabIndex', 1);
                edit1.className = 'inputs';

                cell.appendChild(edit1);
                
                var edit2 = document.createElement('input');
                edit2.setAttribute('type', 'text');
                edit2.setAttribute('readOnly', 'readonly');
                edit2.setAttribute('tabIndex', 1);
                edit2.className = 'inputs';

                cell.appendChild(edit2);
                
                var edit3 = document.createElement('input');
                edit3.setAttribute('type', 'hidden');
                // edit3.setAttribute('readOnly', 'readonly');
                edit3.setAttribute('tabIndex', 1);
                edit3.className = 'inputs';

                cell.appendChild(edit3);
                
                var img0 = document.createElement('img');
                img0.setAttribute('alt', MOD['LBL_IMG_SEARCH']);
                img0.setAttribute('src', 'modules/EcmInvoiceOuts/images/search.gif');
                img0.style.cursor = 'pointer';

                img0.onclick = function() {
                    try {
                        this.parentNode.select();
                    } catch(e) {
                        //
                    }

                    this.parentNode.ajax_search = false;

                    var ecmpopup = my_popup(
                            'EcmBankAccounts',
                            {
                                // 'id': 'id_p',
                                // 'short_name': 'short_name_p',
                                // 'name': 'name_p',
                                // 'code': 'code_p',
                                // 'analytic': 'analytic_p',
                                // 'synthetic': 'synthetic_p'
                                //
                                'id': 'i_acc_wn',
                                // 'short_name': 'acc_wn_short_name',
                                'name': 'i_acc_wn_name',
                                'code': 'i_acc_wn_code'
                                // 'analytic': 'acc_wn_analytic',
                                // 'synthetic': 'acc_wn_synthetic'
                            }
                        );

                    setTimeout(
                        function(){
                            ecmpopup.focus();
                        },
                        200
                    );
                }

                // Search image button.
                // cell.appendChild(img0);
                
                // Separate.
                // cell.appendChild(document.createTextNode(' '));
                
                var img1 = document.createElement('img');
                img1.setAttribute('alt', MOD['LBL_DELETE_ROW']);
                img1.setAttribute('src', 'modules/EcmFkPackages/images/deleterow.gif');
                img1.style.cursor = 'pointer';

                img1.onclick = function() {
                    var data = this.parentNode.parentNode.getData();
                    
                    data.i_acc_wn = '';
                    data.i_acc_wn_code = 'RRR';
                    data.i_acc_wn_name = 'Konto kontrahenta';
                    data.i_account_acc_wn = '1';
                    
                    this.parentNode.parentNode.setData(data);
                };

                // cell.appendChild(img1);
            }

            // Ma.
            if (i == 3) {
                cell.change = function(select) {
                    var cn = this.getElementsByTagName('input');
                    
                    // console.log('change', cn);
                    
                    if(select) {
                        cn[0].name = 'i_acc_ma';
                        cn[0].id = 'i_acc_ma';
                        
                        cn[1].name = 'i_acc_ma_code';
                        cn[1].id = 'i_acc_ma_code';
                        
                        cn[2].name = 'i_acc_ma_name';
                        cn[2].id = 'i_acc_ma_name';
                        
                        cn[3].name = 'i_account_acc_ma';
                        cn[3].id = 'i_account_acc_ma';
                    } else {
                        cn[0].name = '';
                        cn[0].id = '';
                        
                        cn[1].name = '';
                        cn[1].id = '';
                        
                        cn[2].name = '';
                        cn[2].id = '';
                        
                        cn[3].name = '';
                        cn[3].id = '';
                    }
                }
                
                cell.getData = function(data) {
                    var cn = this.getElementsByTagName('input');
                    
                    if(cn[0].value) {
                        data.i_acc_ma = cn[0].value;
                    } else {
                        data.i_acc_ma = '';
                    }
                    
                    if(cn[1].value) {
                        data.i_acc_ma_code = cn[1].value;
                    } else {
                        data.i_acc_ma_code = '';
                    }
                    
                    if(cn[2].value) {
                        data.i_acc_ma_name = cn[2].value;
                    } else {
                        data.i_acc_ma_name = '';
                    }
                    
                    if(cn[3].value) {
                        data.i_account_acc_ma = cn[3].value;
                    } else {
                        data.i_account_acc_ma = '0';
                    }
                    
                    // console.log(data);
                };

                cell.setData = function(data) {
                    // console.log(data);
                    
                    var cn = this.getElementsByTagName('input');
                    
                    if(data.i_acc_ma) {
                        cn[0].value = data.i_acc_ma;
                    } else {
                        cn[0].value = '';
                    }
                    
                    if(data.i_acc_ma_code) {
                        cn[1].value = data.i_acc_ma_code; 
                    } else {
                        cn[1].value = '000';
                    }
                    
                    if(data.i_acc_ma_name) {
                        cn[2].value = data.i_acc_ma_name; 
                    } else {
                        cn[2].value = 'Brak';
                    }
                    
                    if(data.i_account_acc_ma) {
                        cn[3].value = data.i_account_acc_ma; 
                    } else {
                        cn[3].value = '0';
                    }
                };

                var edit0 = document.createElement('input');
                edit0.setAttribute('type', 'hidden');
                // edit0.setAttribute('readOnly', 'readonly');
                edit0.setAttribute('tabIndex', 1);
                edit0.className = 'inputs';

                cell.appendChild(edit0);
                
                var edit1 = document.createElement('input');
                edit1.setAttribute('type', 'text');
                edit1.setAttribute('readOnly', 'readonly');
                edit1.setAttribute('tabIndex', 1);
                edit1.className = 'inputs';

                cell.appendChild(edit1);
                
                var edit2 = document.createElement('input');
                edit2.setAttribute('type', 'text');
                edit2.setAttribute('readOnly', 'readonly');
                edit2.setAttribute('tabIndex', 1);
                edit2.className = 'inputs';

                cell.appendChild(edit2);
                
                var edit3 = document.createElement('input');
                edit3.setAttribute('type', 'hidden');
                // edit3.setAttribute('readOnly', 'readonly');
                edit3.setAttribute('tabIndex', 1);
                edit3.className = 'inputs';

                cell.appendChild(edit3);
                
                var img0 = document.createElement('img');
                img0.setAttribute('alt', MOD['LBL_IMG_SEARCH']);
                img0.setAttribute('src', 'modules/EcmInvoiceOuts/images/search.gif');
                img0.style.cursor = 'pointer';

                img0.onclick = function() {
                    try {
                        this.parentNode.select();
                    } catch(e) {
                        //
                    }

                    this.parentNode.ajax_search = false;

                    var ecmpopup = my_popup(
                            'EcmBankAccounts',
                            {
                                // 'id': 'id_p',
                                // 'short_name': 'short_name_p',
                                // 'name': 'name_p',
                                // 'code': 'code_p',
                                // 'analytic': 'analytic_p',
                                // 'synthetic': 'synthetic_p'
                                //
                                'id': 'i_acc_ma',
                                // 'short_name': 'acc_ma_short_name',
                                'name': 'i_acc_ma_name',
                                'code': 'i_acc_ma_code'
                                // 'analytic': 'acc_ma_analytic',
                                // 'synthetic': 'acc_ma_synthetic'
                            }
                        );

                    setTimeout(
                        function(){
                            ecmpopup.focus();
                        },
                        200
                    );
                }

                // Search image button.
                // cell.appendChild(img0);
                
                // Separate.
                // cell.appendChild(document.createTextNode(' '));
                
                var img1 = document.createElement('img');
                img1.setAttribute('alt', MOD['LBL_DELETE_ROW']);
                img1.setAttribute('src', 'modules/EcmFkPackages/images/deleterow.gif');
                img1.style.cursor = 'pointer';

                img1.onclick = function() {
                    var data = this.parentNode.parentNode.getData();
                    
                    data.i_acc_ma = '';
                    data.i_acc_ma_code = 'RRR';
                    data.i_acc_ma_name = 'Konto kontrahenta';
                    data.i_account_acc_ma = '1';
                    
                    this.parentNode.parentNode.setData(data);
                };

                // cell.appendChild(img1);
            }
            
            /*
            // Options.
            if (i == 4) {
                var img;

                //insert
                img = document.createElement('img');
                img.setAttribute('alt', MOD['LBL_INSERT_NEW_ROW']);
                img.setAttribute('src', 'modules/EcmFkPackages/images/insertrow.gif');
                img.style.cursor = 'pointer';

                img.onclick = function() {
                    this.parentNode.myTable.addRow(this.parentNode.parentNode.index + 1);
                };

                //delete
                cell.appendChild(img);
                cell.appendChild(document.createTextNode(" "));
                
                img = document.createElement('img');
                img.setAttribute('alt', MOD['LBL_DELETE_ROW']);
                img.setAttribute('src', 'modules/EcmFkPackages/images/deleterow.gif');
                img.style.cursor = 'pointer';

                img.onclick = function() {
                    removeReservation(cell);
                    this.parentNode.parentNode.deleteRow();
                };

                cell.appendChild(img);
                cell.appendChild(document.createElement('br'));

                //move up
                img = document.createElement('img');
                img.setAttribute('alt', MOD['LBL_MOVE_ROW_UP']);
                img.setAttribute('src', 'modules/EcmFkPackages/images/moverowup.gif');
                img.style.cursor = 'pointer';

                img.onclick = function() {
                    this.parentNode.parentNode.moveUp();
                };

                cell.appendChild(img);
                cell.appendChild(document.createTextNode(" "));

                //move down
                img = document.createElement('img');
                img.setAttribute('alt', MOD['LBL_MOVE_ROW_DOWN']);
                img.setAttribute('src', 'modules/EcmFkPackages/images/moverowdown.gif');
                img.style.cursor = 'pointer';

                img.onclick = function() {
                    this.parentNode.parentNode.moveDown();
                };

                cell.appendChild(img);
            }
            */
        };

        N.onSetCellData = function(row, cell, data) {
            if (cell.innerHTML == '') {
                cell.innerHTML = '&nbsp;';
            }
        };

        var pl = document.getElementById('decree_list').value;

        if (pl && pl != '') {
            try {
                pl = eval(pl);
                // console.log(pl);
                
                for (x in pl) {
                    var pl_row = pl[x];

                    // if (!pl[x].code || pl[x].code == '')
                    // {
                        //
                    // } else {
                        N.addRow().setData(pl_row);
                    // }
                }
            } catch (err) {
                pl = null;
            }
        }

        if (N.rowCount() == 0) {
            N.addRow();
        }

        calculateTotalItems = function() {
            return true;

            var vats = new Object();
            var subtotal = 0;
            var total = 0;

            for (var i = 0; i < N.rowCount(); i++) {
                var data = N.row(i).getData();

                if (OPT.to_is_vat_free == 0) {
                    if (data.vat_id && data.name != '') {
                        if (typeof(vats[data.vat_id]) != "object") {
                            vats[data.vat_id] = new Object();
                            vats[data.vat_id]['vat'] = 0;
                        }

                        vats[data.vat_id]['vat'] += data.total;
                    }
                }

                subtotal += data.total;
            }

            total = subtotal;

            var rt = document.getElementById('position_result_table');

            for (var i = 1; i < rt.rows.length - 1; i++) {
                if (!vats[rt.rows.item(i).id]) {
                    rt.deleteRow(i);
                    --i;
                } else {
                    vats[rt.rows.item(i).id]['node'] = rt.rows.item(i);
                }
            }

            for (var x in vats) {
                if (VAT[x]) {
                    vats[x]['vat'] = vats[x]['vat'] * (parseFloat(VAT[x].value) / 100);
                    total += vats[x]['vat'];

                    var txL = MOD['LBL_VAT'] + ' (' + VAT[x].name + ')';
                    var txF = NumberToUserFormatNumber(vats[x]['vat']);
                }

                if (vats[x]['node']) {
                    vats[x]['node'].id = x;
                    vats[x]['node'].cells.item(0).innerHTML = txL;
                    vats[x]['node'].cells.item(1).innerHTML = "<input type='text' readonly='readonly' style='border:0px;font-weight:900;width:100%;text-align:right;' value='" + txF + "'>";
                } else {
                    rt.insertRow(1);

                    rt.rows.item(1).id = x;
                    rt.rows.item(1).insertCell(0);
                    rt.rows.item(1).cells.item(0).className = 'positionsLabel';
                    rt.rows.item(1).cells.item(0).innerHTML = txL;
                    rt.rows.item(1).insertCell(1);
                    rt.rows.item(1).cells.item(1).className = 'positionsField';
                    rt.rows.item(1).cells.item(1).innerHTML = "<input type='text' readonly='readonly' style='border:0px;font-weight:900;width:100%;text-align:right;' value='" + txF + "'>";
                }
            }

            var total2 = total;

            total2 = ((OPT['type'] == "correct") ? '-' : '') + NumberToUserFormatNumber(total2).toString();
            total = ((OPT['type'] == "correct") ? '-' : '') + NumberToUserFormatNumber(total).toString();

            document.getElementById('articles_subtotal').value = NumberToUserFormatNumber(subtotal);

            if (document.getElementById('articles_total'))
                document.getElementById('articles_total').value = total2;
        };

        ItemListSave = function(json) {
            var data = '';

            for (var i = 0; i < N.rowCount(); i++) {
                data = data + '&decree_' + i.toString() + '=' + JSON.stringifyNoSecurity(N.row(i).getData());
            }

            return data;
        };

        if (typeof sqs_objects != 'undefined') {
            sqs_objects["code_p"] = {
                "method": "get_product_array",
                "modules": ["EcmProducts"],
                "field_list": ["index_dbf", "id", "name", "currency_id"],
                "populate_list": ["code_p", "id_p", "name_p", "currency_id_p"],
                "conditions": [{
                        "name": "index_dbf",
                        "op": "like_custom",
                        "end": "%",
                        "value": ""
                    }],
                "limit": "30",
                "order": "index_dbf",
                "no_match_text": "No Match"
            };

            sqs_objects["name_p"] = {
                "method": "get_product_array",
                "modules": ["EcmProducts"],
                "field_list": ["date_entered", "name", "id", "index_dbf", "currency_id"],
                "populate_list": ["name_p", "name_p", "id_p", "code_p", "currency_id_p"],
                "conditions": [{
                        "name": "name",
                        "op": "like_custom",
                        "end": "%",
                        "value": ""
                    }],
                "limit": "30",
                "order": "name",
                "no_match_text": "No Match"
            };
        }

        function generateNumber() {
            var url = 'to_pdf=1&generate=1&module=EcmFkPackages&action=generateNumber&type=normal&template_id=' + document.getElementById('template_id').value;//+'&record='+document.forms.EditView.record.value;

            //if(document.getElementById('template_id').value == '') { alert('There are no DocumentTemplates in data base!'); return;}
            doRequest(
                'index.php',
                url,
                function(result) {
                    var arr = eval(result)[0];

                    document.getElementById('number').value = arr.number;
                    document.getElementById('document_no').value = arr.document_no;
                },
                ''
                );
        };

        //calculateTotalItems();

        if (OPT['new_number']) {
            generateNumber();

            document.getElementById('ITEMS_menu').style.display = 'none';
            document.getElementById('SERVICES_menu').style.display = 'none';

            //save PW
            document.getElementById('stock_doc_inside_in').value = '1';
        }

        function setToAddrEmail(str) {
            if (str && str != '')
                str = eval(str);
            else
                str = '';

            if (typeof(str) == "object")
                str = str[0];
            else
                str = '';

            if (document.getElementById('parent_type').value == 'Accounts') {
                //= document.getElementById('to_addrs_field'); if(tmp) tmp.value = (str=='')?'':(((str.name)?str.name:'')+' <'+((str.email1)?str.email1:'')+'>; ');
                tmp = document.getElementById('parent_address_street');

                if (tmp) {
                    tmp.value = (str.billing_address_street) ? str.billing_address_street : '';
                }

                tmp = document.getElementById('parent_address_city');

                if (tmp) {
                    tmp.value = (str.billing_address_city) ? str.billing_address_city : '';
                }

                tmp = document.getElementById('parent_address_postalcode');

                if (tmp) {
                    tmp.value = (str.billing_address_postalcode) ? str.billing_address_postalcode : '';
                }

                tmp = document.getElementById('parent_address_country');

                if (tmp) {
                    tmp.value = (str.billing_address_country) ? str.billing_address_country : '';
                }

//                tmp = document.getElementById('to_nip');
//
//                if (tmp) {
//                    tmp.value = (str.sic_code) ? str.sic_code : '';
//                }

                tmp = document.getElementById('to_vatid');

                if (tmp) {
                    tmp.value = (str.nip) ? str.nip : '';
                }

                tmp = document.getElementById('to_is_vat_free');

                if (tmp) {
                    tmp.checked = (str.is_vat_free == 1) ? true : false;
                }

                document.getElementById('parent_name_copy').value = document.getElementById('parent_name').value;

                tmp = document.getElementById('ecmlanguage');

                if (tmp && str.ecmlanguage) {
                    if (tmp.value != str.ecmlanguage) {
                        tmp.value = str.ecmlanguage;
                        setTexts();
                    }
                }
            }
        }

        function ChangeAccessFunction(obj, type) {
            var objs = obj.getElementsByTagName('input');

            for (var i = 0; i < objs.length; i++)
                if (objs[i].id != 'parent_name' && objs[i].id != 'parent_id' && objs[i].name != 'btn_parent_name' && objs[i].name != 'btn_clr_parent_name' && objs[i].name != 'btn_create_parent_name') {
                    objs[i].disabled = type;
                }

            var objs = obj.getElementsByTagName('textarea');

            for (var i = 0; i < objs.length; i++) {
                objs[i].disabled = type;
            }

            var objs = obj.getElementsByTagName('select');

            for (var i = 0; i < objs.length; i++) {
                if (objs[i].id != 'parent_type') {
                    objs[i].disabled = type;
                }
            }

            if (type == 'disabled') {
                TabsMainBlock = true;
            } else {
                TabsMainBlock = false;
            }

        }

        // console.log('N done');
    }
);
/* /Decree */