function doRequest(where, post, doFunction, error) { this.Display = function(result) { doFunction(result.responseText); } this.Fail = function(result) { if (error) alert(error); } YAHOO.util.Connect.asyncRequest('POST', where, {success: this.Display, failure: this.Fail}, post); } function changeValidateRequired(formname, name, required) { for (var i = 0; i < validate[formname].length; i++) if (validate[formname][i][0] == name) { validate[formname][i][2] = required; break; } } function set_focus() { document.getElementById('name').focus(); } function my_popup(module, field_array, call_back_function, form_name) { if (!call_back_function) call_back_function = "set_return"; if (!form_name) form_name = "EditView"; return open_popup(module, 600, 400, "", true, false, {"call_back_function": call_back_function, "form_name": form_name, "field_to_name_array": field_array}); } function addEvent(object, eventName, do_function) { if (typeof(object) == "string") object = document.getElementById(object); if (!object) { alert('No object in function addEvent!'); return; } if (object.addEventListener) { object.addEventListener(eventName, do_function, false); } else { object.attachEvent('on' + eventName, do_function); } } function ItemListClear() { while (N.rowCount() > 0) N.row(0).deleteRow(); } addEvent( window, 'load', function() { //initialize table N = new MyTable('itemsTable'); N.onRefreshRowIndex = function(row) { var data = new Object(); data['index'] = (row.index + 1).toString(); row.cells.item(0).setData(data); } N.onCreateRow = function(row) { row.newPos = false; row.ondblclick = function() { this.newPos = !this.newPos; var img = this.cells.item(1).getElementsByTagName('img'); if (!this.newPos) img[0].src = "modules/EcmInvoiceOuts/images/edit.gif"; else img[0].src = "modules/EcmInvoiceOuts/images/editset.gif"; 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() { //do nothing :) } } N.onCreateCell = function(cell) { var i = cell.index; cell.change = function(select) { }; //cell.style.height = OPT['row_item_height']; cell.style.height = 50; cell.noSelect = true; if (i == 0) { cell.setData = function(data) { if (data.index) cell.firstChild.value = data.index; }; cell.getData = function(data) { data.index = cell.firstChild.value; } cell.select = function() { this.selectNext(); } var edit = document.createElement('input'); edit.setAttribute('type', 'text'); edit.setAttribute('readOnly', 'readonly'); edit.setAttribute('tabIndex', 1); edit.className = 'inputs'; cell.appendChild(edit); } if (i == 1) { cell.getData = function(data) { var cn = this.getElementsByTagName('input'); data.code = cn[0].value; data.id = cn[1].value; data.unit_name = cn[2].value; data.vat_id = cn[3].value; data.category_id = cn[4].value; } cell.setData = function(data) { var cn = this.getElementsByTagName('input'); if (data.code) cn[0].value = data.code; if (data.id) cn[1].value = data.id; if (data.unit_name) cn[2].value = data.unit_name; if (data.vat_id) cn[3].value = data.vat_id; if (data.category_id) cn[4].value = data.category_id; } var edit = ''; cell.innerHTML = edit; cell.align = 'right'; var id = document.createElement('input'); id.setAttribute('type', 'hidden'); cell.appendChild(id); var unit_id = document.createElement('input'); unit_id.setAttribute('type', 'hidden'); //unit_id.setAttribute('value',OPT['default_unit']); unit_id.setAttribute('value', 'TMP'); cell.appendChild(unit_id); var vat_id = document.createElement('input'); vat_id.setAttribute('type', 'hidden'); //vat_id.setAttribute('value',OPT['default_vat']); vat_id.setAttribute('value', '23'); cell.appendChild(vat_id); var category_id = document.createElement('input'); category_id.setAttribute('type', 'hidden'); category_id.setAttribute('value', ''); cell.appendChild(category_id); } if (i == 2) { cell.getData = function(data) { var cn = this.getElementsByTagName('textarea'); data.name = cn[0].value; } cell.setData = function(data) { var cn = this.getElementsByTagName('textarea'); if (data.name) cn[0].value = data.name; } var textarea = ''; cell.innerHTML = textarea; } if (i == 3) { cell.getData = function(data, noAlert) { var tmp = UserFormatNumberToNumber(this.firstChild.value); if (tmp == -1) { ERROR = true; //if(!noAlert) //alert(MOD['LBL_FORMAT_NUMBER_ERROR']+' ('+this.firstChild.value+')'); data.quantity = 0; this.firstChild.style.color = 'red'; } else { data.quantity = tmp; this.firstChild.style.color = 'black'; } } cell.setData = function(data) { if (data.quantity) this.firstChild.value = NumberToUserFormatNumber(data.quantity); else this.firstChild.value = NumberToUserFormatNumber(0); } var edit = ''; cell.innerHTML = edit; } if (i == 4) { cell.getData = function(data, noAlert) { data.unit_id = this.firstChild.value; } cell.setData = function(data) { this.firstChild.value = data.unit_id; } var edit = ''; cell.innerHTML = edit; } if (i == 5) { cell.getData = function(data, noAlert) { } cell.setData = function(data) { var value; if (data.startprice) value = data.startprice; else value = 0; this.firstChild.value = NumberToUserFormatNumber(value); } var edit = ''; cell.innerHTML = edit; } if (i == 6) { cell.getData = function(data, noAlert) { var tmp = UserFormatNumberToNumber(this.firstChild.value, '%'); if (tmp == -1) { ERROR = true; if (!noAlert) alert(MOD['LBL_FORMAT_NUMBER_ERROR'] + ' (' + this.firstChild.value + ')'); data.discount = 0; this.firstChild.style.color = 'red'; } else { data.discount = tmp; this.firstChild.style.color = 'black'; } } cell.setData = function(data) { if (data.discount) this.firstChild.value = NumberToUserFormatNumber(data.discount, '%'); else this.firstChild.value = NumberToUserFormatNumber(0, '%'); } cell.selectNext = function() { var row = this.parentNode.selectNext(); row.select(); row.cells.item(0).select(); }; var edit = ''; cell.innerHTML = edit; } if (i == 7) { cell.getData = function(data, noAlert) { var tmp = UserFormatNumberToNumber(this.firstChild.value); if (tmp == -1) { ERROR = true; if (!noAlert) alert(MOD['LBL_FORMAT_NUMBER_ERROR'] + ' (' + this.firstChild.value + ')'); data.price = 0; this.firstChild.style.color = 'red'; } else { data.price = tmp; this.firstChild.style.color = 'black'; } } cell.setData = function(data) { var cn = this.getElementsByTagName('input'); if(data.subprice) cn[0].value = NumberToUserFormatNumber(data.subprice); else cn[0].value = NumberToUserFormatNumber(0); if(data.price) cn[1].value = NumberToUserFormatNumber(data.price); else cn[1].value = NumberToUserFormatNumber(0); } var edit = '
'; cell.innerHTML = edit; } if (i == 8) { cell.getData = function(data, noAlert) { var cn = this.getElementsByTagName('input'); data.vat_value = cn[0].value; data.vat_id = cn[1].value; if (VAT[cn[1].value]) data.vat_name = VAT[cn[1].value].name; } cell.setData = function(data) { if (data.vat_value) this.getElementsByTagName('input')[0].value = data.vat_value; if (data.vat_id) this.getElementsByTagName('input')[1].value = data.vat_id; if (data.vat_name) this.getElementsByTagName('input')[2].value = data.vat_name; } cell.onDeselect = function() { ERROR = false; var data = new Object(); this.getData(data); if (!ERROR) { data.vat_id = data.vat_id; this.setData(data); } } var inp = document.createElement('input'); inp.setAttribute('type', 'hidden'); cell.appendChild(inp); var inp = document.createElement('input'); inp.setAttribute('type', 'hidden'); cell.appendChild(inp); var inp; inp = document.createElement('input'); inp.setAttribute('type', 'text'); inp.className = 'inputs'; inp.style.textAlign = "right"; inp.cell = cell; cell.appendChild(inp); } if (i == 9) { //cell.select = function() { }; cell.getData = function(data) { var cn = this.getElementsByTagName('input'); if (cn[0]) data.subtotal = UserFormatNumberToNumber(cn[0].value); else data.subtotal = 0; if (cn[1]) data.total = UserFormatNumberToNumber(cn[1].value); else data.total = 0; } cell.setData = function(data) { var cn = this.getElementsByTagName('input'); if(data.subtotal) cn[0].value = NumberToUserFormatNumber(data.subtotal); else cn[0].value = NumberToUserFormatNumber(0); if(data.total) cn[1].value = NumberToUserFormatNumber(data.total); else cn[1].value = NumberToUserFormatNumber(0); } var edit = '
'; cell.innerHTML = edit; } } N.onSetCellData = function(row, cell, data) { if (cell.innerHTML == '') cell.innerHTML = ' '; } var pl = document.getElementById('position_list').value; if (pl && pl != '') { try { pl = eval(pl); for (x in pl) { if (typeof(pl[x].code) != "undefined") { var pl_row = pl[x]; N.addRow().setData(pl_row); } } } catch (err) { pl = null; } ; } if (N.rowCount() == 0) N.addRow(); calculateTotal = function() { var vats = new Object(); var subtotal = 0; var total = 0; //var cbm_total = 0; for(var i=0; i"; } 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; var discount; // if((discount = CheckDiscount(true)) == -1) discount = 0; discount = 0; var discount2 = subtotal*discount/100; total = total2-discount2; discount2 = NumberToUserFormatNumber(discount2).toString(); total2 = ((OPT['type'] == "correct")?'-':'')+NumberToUserFormatNumber(total2).toString(); total = ((OPT['type'] == "correct")?'-':'')+NumberToUserFormatNumber(total).toString(); document.getElementById('subtotal').value = NumberToUserFormatNumber(subtotal); if(document.getElementById('total_2')) document.getElementById('total_2').value = total2; //rt.rows.item(rt.rows.length-2).cells.item(0).innerHTML = MOD['LBL_DISCOUNT']+' ('+NumberToUserFormatNumber(discount,'%')+')'; //document.getElementById('discount_2').value = discount2; document.getElementById('total').value = total2; //document.getElementById('cbm_total').value = cbm_total; } calculateTotal(); function HideLoadingView() { var slv = document.getElementById('ShowLoadingView'); if (slv) slv.style.display = 'none'; } setPREVIEW = function() { if (SHOW_PDF_IN_DIV == 1) { HideLoadingView(); //SetTab('preview_PREVIEW'); EcmPreviewPDF('index.php?module=EcmInvoiceOuts&action=previewPDF&to_pdf=1&method=I&record=' + document.forms.DetailView.record.value + '&type=' + type, {zoom: 75}); } else { SetTab('panel_PREVIEW'); } } preview_pdf = function() { console.log('test'); var type = document.getElementById('preview_type').value; switch(type) { default: type = ''; break; case 'exp': type = 'exp'; break; case 'pl': type = 'pl'; break; } console.log(type); document.getElementById('previewPDF').innerHTML = ''; } setEMAIL = function(noCheck) { SetTab('panel_EMAIL'); document.getElementById('emailTAB').innerHTML = ''; } setInterval(function() { doRequest('index.php', "module=EcmInvoiceOuts&action=subpanels&to_pdf=1&record=" + document.forms.DetailView.record.value, function(result) { if (result != '' && document.getElementById('subpanels_div')) document.getElementById('subpanels_div').innerHTML = result; } ); }, 10000 ); //quick view var main = document.getElementById('main'); if (main) { var h2 = main.getElementsByTagName('h2')[0]; if (h2) { h2.style.display = 'inline'; var quickInfoH2 = document.getElementById('quickInfoH2'); if (quickInfoH2) { h2.parentNode.appendChild(quickInfoH2); quickInfoH2.style.display = ''; } } } if (OPT['setTab'] && OPT['setTab'] != '') { if (OPT['setTab'] == 'EMAIL') setEMAIL(); } for(var i=0; i