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(/&/gi, '&').replace(/</gi, '<').replace(/>/gi, '>').replace(/'/gi, '\'').replace(/"/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 = ' '; } }; 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 = ""; } 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 = ""; } } 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 */