$(function() { if (OPT.IamPopup) $("#header").hide(); $(".loading_panel").css("display", "none"); }); function ajax(options) { options = { type: options.type || "POST", url: options.url || "", onComplete: options.onComplete || function() {}, onError: options.onError || function() {}, onSuccess: options.onSuccess || function() {}, dataType: options.dataType || "text" }; var xml = new XMLHttpRequest(); xml.open(options.type, options.url, false); xml.onreadystatechange = function() { if (xml.readyState == 4) { if (httpSuccess(xml)) { var returnData = (options.dataType == "xml") ? xml.responseXML : xml.responseText options.onSuccess(returnData); } else { options.onError(); } options.onComplete(); xml = null; } }; xml.send(); function httpSuccess(r) { try { return (r.status >= 200 && r.status < 300 || r.status == 304 || navigator.userAgent.indexOf("Safari") >= 0 && typeof r.status == "undefined") } catch (e) { return false; } } } function SetTabIndexs() { var main = document.getElementById('main'); var td = main.getElementsByTagName('td'); var selectedTable = null; //var selectingColor = 'red'; //var selectingCellTable = 'green'; var TableIndex = 0; for (var i = 0; i < td.length; i++) { if (td[i].className == 'tabEditViewDF') { var TI = 0; if (td[i].parentNode.cells.item(1) == td[i]) TI = 101 + TableIndex; else TI = 102 + TableIndex; var nodes = td[i].getElementsByTagName('input'); for (var j = 0; j < nodes.length; j++) nodes[j].tabIndex = TI; var nodes = td[i].getElementsByTagName('select'); for (var j = 0; j < nodes.length; j++) nodes[j].tabIndex = TI; var nodes = td[i].getElementsByTagName('textarea'); for (var j = 0; j < nodes.length; j++) nodes[j].tabIndex = TI; if (td[i].parentNode.parentNode.parentNode !== selectedTable) { //if(selectingColor == 'red') selectingColor = 'blue'; else selectingColor = 'red'; selectedTable = td[i].parentNode.parentNode.parentNode; TableIndex++; } } } } 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, met, call_back_function, form_name) { if (!call_back_function) call_back_function = "set_return"; if (!form_name) form_name = "EditView"; return open_popup(module, 900, 700, met, 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 findPos(obj) { var nleft = 0; var ntop = 0; if (obj.offsetParent) { nleft = obj.offsetLeft ntop = obj.offsetTop while (obj = obj.offsetParent) { nleft += obj.offsetLeft ntop += obj.offsetTop } } return [nleft, ntop]; } function cursorEOT(isField) { isRange = isField.createTextRange(); isRange.move('textedit'); isRange.select(); testOverflow = isField.scrollTop; if (testOverflow != 0) { return true } else { return false } } function adjustRows(isField) { while (cursorEOT(isField)) { isField.rows++ } } function insertText(isField, isText) { isField.value = testText; isField.focus(); } function changer() { this.list = new Object(); this.add = function(object, type, do_function, start_value) { if (typeof(object) == "string") object = document.getElementById(object); if (!object) return; this.list[object.id] = new Object(); this.list[object.id].object = object; this.list[object.id].type = type; this.list[object.id].do_function = do_function; this.list[object.id].start_value = start_value; this.list[object.id].value = ''; } this.getValue = function(element) { var value = null; if (element.object) { if (element.type == "innerHTML") value = element.object.innerHTML; if (element.type == "value") value = element.object.value; if (element.type == "checked") value = element.object.checked; } return value; } this.interval = 1000; this.timer = null; this.startTimer = function() { var cc = this; this.timer = setInterval( function() { var list = cc.list; for (x in list) { if (list[x].start_value) { list[x].value = cc.getValue(list[x]); list[x].start_value = false; } else { var value = cc.getValue(list[x]); if (list[x].value !== value) if (list[x].do_function) list[x].do_function(list[x].object); list[x].value = value; } } }, this.interval ); } this.stopTimer = function() { clearInterval(this.timer); this.timer = null; } } var ERROR = false; var ItemListSave = function(json) {} function ShowLoadingView() { var slv = document.getElementById('ShowLoadingView'); if (!slv) { slv = document.createElement('div'); slv.id = 'ShowLoadingView'; slv.className = 'transparent_class_loading'; slv.style.width = '100%'; slv.style.height = '500%'; var sli = document.createElement('img'); sli.className = 'transparent_class_loading_image'; sli.src = 'themes/default/images/loading.gif'; slv.appendChild(sli); document.body.appendChild(slv); } slv.style.display = ''; } function HideLoadingView() { var slv = document.getElementById('ShowLoadingView'); if (slv) slv.style.display = 'none'; } function SaveForm() { ShowLoadingView(); setTimeout(function() { if (OPT['checkbox_demo'] == 1 && document.forms.EditView.record.value == '') { alert(MOD.LBL_DEMO_VERSION_INFORMATION); return; } ERROR = false; //document.getElementById('position_list').value = ItemListSave(true); if (ERROR) { alert(MOD['LBL_SAVE_FORM_ERROR']); HideLoadingView(); return false; } document.forms.EditView.action.value = 'Save'; if (check_form('EditView')) { var result = confirm(MOD.LBL_CONFIRM_QUESTION); if (result) document.forms.EditView.status.value = (OPT['auto_commiting'] ? 's30' : 's20'); doRequest('index.php', getFormPost('Save'), function(result) { document.forms.EditView.record.value = result.substring(result.length - 36); alert(MOD['LBL_SAVED']); if (OPT['setEmailTab']) setEMAIL(true); else window.location = 'index.php?module=' + document.forms.EditView.module.value + '&action=DetailView&record=' + document.forms.EditView.record.value; }, MOD['LBL_NOT_SAVED'] ); } else { alert(MOD['LBL_NOT_SAVED']); HideLoadingView(); return false; } }, 200); } function ItemListClear() { while (N.rowCount() > 0) N.row(0).deleteRow(); } function getFormPost(action) { if (!action) action = 'previewPDF'; var pd = 'to_pdf=1' + '&module=EcmQuotes&action=' + action + '&record=' + document.forms.EditView.record.value; pd += '&cache=fromJava' + ItemListSave(true); var pd2 = new Object(); pd2['module'] = 'EcmQuotes'; pd2['action'] = action; pd2['record'] = document.forms.EditView.record.value; pd2['to_pdf'] = '1'; pd2['cache'] = 'fromJava'; document.forms.EditView.position_list.value = ''; document.forms["EditView"].action.value = action; var tmp; for (var i = 0; i < document.forms["EditView"].elements.length; i++) { tmp = document.forms["EditView"].elements[i]; if (tmp.name != '') { if (tmp.type == "checkbox") pd2[document.forms["EditView"].elements[i].name] = (document.forms["EditView"].elements[i].checked ? '1' : '0'); else pd2[document.forms["EditView"].elements[i].name] = document.forms["EditView"].elements[i].value; } } pd += '&otherFormData=' + JSON.stringifyNoSecurity(pd2); return pd; } /* function sendFormPostToPdf() { ShowLoadingView(); setTimeout( function() { ERROR = false; //document.getElementById('position_list').value = ItemListSave(true); if(ERROR) { alert('There are some errors on list'); HideLoadingView(); return false; } doRequest("index.php",getFormPost(),function(result){ HideLoadingView(); SetTab('PREVIEW'); EcmPreviewPDF('index.php?module=EcmQuotes&action=previewPDF&to_pdf=1&from=EcmQuotes',{zoom:75}); } ); }, 200); }*/ function sendFormPostToPdf() { ERROR = false; document.getElementById('position_list').value = ItemListSave(true); if (ERROR) { alert('There are some errors on list'); return false; } doRequest("index.php", getFormPost(), function(result) { if (SHOW_PDF_IN_DIV == 1) { HideLoadingView(); //SetTab('PREVIEW'); EcmPreviewPDF('index.php?module=EcmQuotes&action=previewPDF&to_pdf=1&from=EcmQuotes', { zoom: 75 }); } else { SetTab('PREVIEW'); document.getElementById('previewPDF').innerHTML = ""; } }); } function canConfirm() { if (document.forms.EditView.status.value == "accepted" && !OPT.user.confirm_quotes) { alert('This option is disabled for You.'); document.forms.EditView.status.value = ((OPT.old_status) ? OPT.old_status : ''); } OPT.old_status = document.forms.EditView.status.value; } function CheckDiscount(noAlert) { var discount = 0; var tmp = UserFormatNumberToNumber(document.getElementById('discount').value); if (tmp == -1) { if (!noAlert) alert(MOD['LBL_DISCOUNT_ERROR'] + ' (' + document.getElementById('discount').value + ')'); discount = -1; document.getElementById('discount').style.color = 'red'; } else { discount = tmp; document.getElementById('discount').value = NumberToUserFormatNumber(discount); document.getElementById('discount').style.color = 'black'; } return discount; } //document.getElementById('previewPDF').innerHTML = ""; //ProductListSave(); //YAHOO.util.Connect.asyncRequest('POST','index.php',{success:this.Display,failure:this.Fail},this.postData()); var AjaxSearchProducts; var parentFL; var productFL; var contactFL; var first_code; addEvent( window, 'load', function() { first_code = document.getElementById('code').value; var CHANGER = new changer(); CHANGER.interval = 500; set_focus(); //initialize table N = new MyTable('itemsTable'); N.divParent = document.getElementById('itemsTableDIV'); 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) { var data = new Object(); data['index'] = (row.index + 1).toString(); row.cells.item(0).setData(data); } N.onCreateRow = function(row) { row.newPos = false; //row.style.height = OPT['row_item_height']; row.ondblclick = function() { this.newPos = !this.newPos; /* var img = this.cells.item(1).getElementsByTagName('img'); //if(!this.newPos) img[0].src = "modules/EcmQuotes/images/insertrow.gif"; //else img[0].src = "modules/EcmQuotes/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() { /* var data = new Object(); this.cells.item(3).getData(data,true); this.cells.item(4).getData(data,true); this.cells.item(5).getData(data,true); this.cells.item(6).getData(data,true); if(data.quantity && data.price) data.total = data.quantity*data.price-data.quantity*data.price*data.discount/100; else data.total = 0; this.cells.item(8).setData(data); calculateTotal(); */ } } var itd = document.getElementById('itemsTableDIV'); itd.onscroll = function() { if (!AjaxSearchProducts.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))) AjaxSearchProducts.div.style.display = 'none'; else AjaxSearchProducts.div.style.display = ''; AjaxSearchProducts.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.onDeselect2 = function() { var data = this.parentNode.getData(); if (!data.id || data.id == '') { var data2 = new Object(); this.parentNode.setData(data2); } } 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.change = function(select) { var cn = this.getElementsByTagName('input'); var c; if (select) { c = cn[0]; c.name = 'code_p'; c.id = 'code_p'; c.className = 'inputs'; // sqsEnabled'; c = cn[1]; c.name = 'id_p'; c.id = 'id_p'; c = cn[2]; c.name = 'unit_id_p'; c.id = 'unit_id_p'; //c = cn[3]; c.name = 'vat_id_p'; c.id = 'vat_id_p'; c = cn[3]; c.name = 'category_id_p'; c.id = 'category_id_p'; c = cn[4]; c.name = 'currency_id_p'; c.id = 'currency_id_p'; c = cn[5]; c.name = 'currency_symbol_p'; c.id = 'currency_symbol_p'; } else { c = cn[0]; c.name = ''; c.id = ''; c.className = 'inputs'; c = cn[1]; c.name = ''; c.id = ''; c = cn[2]; c.name = ''; c.id = ''; //c = cn[3]; c.name = ''; c.id = ''; c = cn[3]; c.name = ''; c.id = ''; c = cn[4]; c.name = ''; c.id = ''; c = cn[5]; c.name = ''; c.id = ''; } } cell.onSelect = function() { var xy = findPos(this); this.TopPosition = xy[1]; this.LeftPosition = xy[0]; var top = xy[1] + this.offsetHeight; var itd = document.getElementById('itemsTableDIV'); AjaxSearchProducts.setInputCode(this.getElementsByTagName('input')[0]); if (!AjaxSearchProducts.AjaxSearchFrozen) { AjaxSearchProducts.div.style.left = xy[0]; AjaxSearchProducts.div.TopPosition = top; AjaxSearchProducts.div.style.top = top - itd.scrollTop; } this.ajax_search = false; this.parentNode.noHideASP = false; } cell.onDeselect = function() { if (!this.parentNode.noHideASP) AjaxSearchProducts.div.style.display = 'none'; this.ajax_search = false; } cell.getData = function(data) { var cn = this.getElementsByTagName('input'); data.code = cn[0].value; data.id = cn[1].value; data.unit_id = cn[2].value; //data.vat_id = cn[3].value; data.category_id = cn[3].value; data.currency_id = cn[4].value; data.currency_symbol = cn[5].value; } cell.setData = function(data) { var cn = this.getElementsByTagName('input'); cn[0].value = ((data.code) ? data.code : ''); cn[1].value = ((data.id) ? data.id : ''); cn[2].value = ((data.unit_id) ? data.unit_id : OPT['default_unit']); //if(data.vat_id) cn[3].value = data.vat_id; cn[3].value = ((data.category_id) ? data.category_id : OPT['default_category']); cn[4].value = ((data.currency_id) ? data.currency_id : OPT['default_currency_id']); cn[5].value = ((data.currency_symbol) ? data.currency_symbol : OPT['default_category']); } cell.onKeyDownEvent = function(ev, input) { var keynum; if (window.event) keynum = ev.keyCode; else keynum = ev.which; if (keynum != 13 && keynum != 9) this.ajax_search = true; if (this.ajax_search == true) { AjaxSearchProducts.div.style.display = ''; setTimeout(function() { AjaxSearchProducts.inputSearch.value = input.value; AjaxSearchProducts.inputSearchOnKeyDown(keynum, "clear"); }, 50); } if (input.value == '' && keynum == 40) { setSelectionRange(AjaxSearchProducts.inputSearch); return false; } if (keynum == 13 || keynum == 9) { if (input.value == '') return false; if (this.ajax_search != true && this.parentNode.myTable.selectedCell && this.parentNode.myTable.selectedCell.index == 1) this.selectNext(); return false; } if (keynum == 27) { return false; } return true; //return input.parentNode.myTable.KeyPressed(ev,input.parentNode,null,true); } 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']); cell.appendChild(unit_id); /* var vat_id = document.createElement('input'); vat_id.setAttribute('type','hidden'); vat_id.setAttribute('value',OPT['default_vat']); cell.appendChild(vat_id); */ var category_id = document.createElement('input'); category_id.setAttribute('type', 'hidden'); category_id.setAttribute('value', OPT['default_category']); cell.appendChild(category_id); var currency_id = document.createElement('input'); currency_id.setAttribute('type', 'hidden'); currency_id.setAttribute('value', OPT['default_currency']); cell.appendChild(currency_id); var currency_symbol = document.createElement('input'); currency_symbol.setAttribute('type', 'hidden'); currency_symbol.setAttribute('value', OPT['default_category']); cell.appendChild(currency_symbol); var img = document.createElement('img'); img.setAttribute('alt', MOD['LBL_IMG_SEARCH']); img.setAttribute('src', 'modules/EcmQuotes/images/search.gif'); img.style.cursor = 'pointer'; img.onclick = function() { try { this.parentNode.select(); } catch (e) {} if (!this.parentNode.noHideASP) AjaxSearchProducts.div.style.display = 'none'; this.parentNode.ajax_search = false; var ecmpopup = my_popup('EcmProducts', { 'id': 'id_p', 'code': 'code_p', 'name': 'name_p', 'selling_price': 'price_p', 'encoded_unit_id': 'unit_id_p', 'vat_id': 'vat_id_p', 'vat_value': 'vat_value_p', 'vat_name': 'vat_name_p', 'encoded_category_id': 'category_id_p', 'currency_id': 'currency_id_p', 'currency_symbol': 'currency_symbol_p' }); setTimeout(function() { ecmpopup.focus(); }, 200); } cell.appendChild(img); cell.appendChild(document.createTextNode(" ")); var img = document.createElement('img'); img.setAttribute('alt', MOD['LBL_IMG_EDIT']); img.setAttribute('src', 'modules/EcmQuotes/images/edit_position.gif'); img.style.cursor = 'pointer'; img.onclick = function() { try { this.parentNode.select(); } catch (e) {} if (!this.parentNode.noHideASP) AjaxSearchProducts.div.style.display = 'none'; this.parentNode.ajax_search = false; var data = new Object(); this.parentNode.getData(data); var ecmpopup = window.open("index.php?module=EcmQuotes&action=formloader&to_pdf=1&loaderAction=ViewForm&loaderFieldName=productFL&createModule=EcmProducts&fl_record=" + data.id, "New", "resizable=yes,scrollbars=no,status=no,height=700,width=900"); setTimeout(function() { ecmpopup.focus(); }, 200); }; cell.appendChild(img); cell.appendChild(document.createTextNode(" ")); var img = document.createElement('img'); img.setAttribute('alt', MOD['LBL_IMG_NEW']); img.setAttribute('src', 'modules/EcmQuotes/images/add_position.gif'); img.style.cursor = 'pointer'; img.onclick = function() { try { this.parentNode.select(); } catch (e) {} if (!this.parentNode.noHideASP) AjaxSearchProducts.div.style.display = 'none'; this.parentNode.ajax_search = false; var ecmpopup = window.open("index.php?module=EcmQuotes&action=formloader&to_pdf=1&loaderAction=ViewForm&loaderFieldName=productFL&createModule=EcmProducts", "Create", "resizable=yes,scrollbars=no,status=no,height=700,width=900"); setTimeout(function() { ecmpopup.focus(); }, 200); /* this.parentNode.addToBase = !this.parentNode.addToBase; if(!this.parentNode.addToBase) this.src = 'modules/EcmQuotes/images/new.gif'; else this.src = 'modules/EcmQuotes/images/newset.gif' */ }; cell.appendChild(img); } if (i == 2) { cell.change = function(select) { var c; if (select) { c = this.childNodes[0]; c.name = 'name_p'; c.id = 'name_p'; //c.className = 'sqsEnabled'; } else { c = this.childNodes[0]; c.name = ''; c.id = ''; c.className = ''; } } cell.getData = function(data) { var cn = this.getElementsByTagName('textarea'); data.name = cn[0].value; } cell.setData = function(data) { var cn = this.getElementsByTagName('textarea'); cn[0].value = ((data.name) ? data.name : ''); } var textarea = ''; cell.innerHTML = textarea; } if (i == 3) { cell.change = function(select) { var c; if (select) { c = this.childNodes[0]; c.name = 'unit_p'; c.id = 'unit_p'; //c.className = 'sqsEnabled'; } else { c = this.childNodes[0]; c.name = ''; c.id = ''; c.className = ''; } } cell.getData = function(data) { var cn = this.getElementsByTagName('select'); data.unit_id = cn[0].value; } cell.setData = function(data) { var cn = this.getElementsByTagName('select'); cn[0].value = ((data.unit_id) ? data.unit_id : ''); } var textarea = ''; cell.innerHTML = textarea; } if (i == 4) { cell.change = function(select) { var c; if (select) { c = this.childNodes[0]; c.name = 'quantity_p'; c.id = 'quantity_p'; } else { c = this.childNodes[0]; c.name = ''; c.id = ''; } } 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, '', 4, 2); else this.firstChild.value = NumberToUserFormatNumber(1); } cell.onDeselect = function() { ERROR = false; var data = new Object(); this.getData(data); if (!ERROR) { data.quantity = data.quantity; this.setData(data); } } cell.selectNext = function() { var row = this.parentNode.selectNext(); row.select(); row.cells.item(0).select(); }; var edit = ''; cell.innerHTML = edit; } /* if(i == 4) { cell.change = function(select) { var c; if(select) { c = this.childNodes[0]; c.name = 'price_p'; c.id = 'price_p'; } else { c = this.childNodes[0]; c.name = ''; c.id = ''; } } 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) { if(data.price) this.firstChild.value = NumberToUserFormatNumber(data.price); else this.firstChild.value = NumberToUserFormatNumber(0); } cell.onDeselect = function() { ERROR = false; var data = new Object(); this.getData(data); if(!ERROR) { data.price = data.price; this.setData(data); } } var edit = ''; cell.innerHTML = edit; cell.appendChild(document.createTextNode(" ")); var img = document.createElement('img'); img.setAttribute('alt',MOD['LBL_IMG_SEARCH']); img.setAttribute('src','modules/EcmSales/images/search.gif'); img.style.cursor = 'pointer'; img.onclick = function() { var dat = cell.parentNode.getData(); this.parentNode.parentNode.select(); my_popup('EcmPriceBooks',{'price':'price_p','recipient_code':'recipient_code_p'},'&pricebook_product_id='+dat.id+'&pricebook_id='+document.getElementById('pricebook_id').value); } cell.appendChild(img); } */ /* if(i == 5) { cell.change = function(select) { var c; if(select) { c = this.childNodes[0]; c.name = 'vat_name_p'; c.id = 'vat_name_p'; c = this.childNodes[1]; c.name = 'vat_value_p'; c.id = 'vat_value_p'; c = this.childNodes[2]; c.name = 'vat_id_p'; c.id = 'vat_id_p'; } else { c = this.childNodes[0]; c.name = ''; c.id = ''; c = this.childNodes[1]; c.name = ''; c.id = ''; c = this.childNodes[2]; c.name = ''; c.id = ''; } } cell.getData = function(data,noAlert) { var cn = this.getElementsByTagName('input'); data.vat_value = cn[1].value; data.vat_id = cn[2].value; if(VAT[cn[2].value])data.vat_name = VAT[cn[2].value].name; } cell.setData = function(data) { if(data.vat_value) this.getElementsByTagName('input')[1].value = data.vat_value; //0->1, 1->2, 2->0 if(data.vat_id) this.getElementsByTagName('input')[2].value = data.vat_id; if(data.vat_name) this.getElementsByTagName('input')[0].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 edit = ''; cell.innerHTML = edit; } */ /* if(i == 6) { cell.change = function(select) { var c; if(select) { c = this.childNodes[0]; c.name = 'discount_p'; c.id = 'discount_p'; } else { c = this.childNodes[0]; c.name = ''; c.id = ''; } } 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.onDeselect = function() { ERROR = false; var data = new Object(); this.getData(data); if(!ERROR) { data.discount = data.discount; this.setData(data); } } //cell.selectNext = function() { var row = this.parentNode.selectNext(); row.select(); row.cells.item(0).select(); }; var edit = ''; cell.innerHTML = edit; } if(i == 7) { cell.change = function(select) { var c; if(select) { c = this.childNodes[0]; c.name = 'recipient_code_p'; c.id = 'recipient_code_p'; } else { c = this.childNodes[0]; c.name = ''; c.id = ''; } } cell.getData = function(data) { var cn = this.getElementsByTagName('input'); data.recipient_code = cn[0].value; } cell.setData = function(data) { var cn = this.getElementsByTagName('input'); if(data.recipient_code) cn[0].value = data.recipient_code; } cell.selectNext = function() { var row = this.parentNode.selectNext(); row.select(); row.cells.item(0).select(); }; var edit = ''; cell.innerHTML = edit; }*/ /* if(i == 8) { //cell.select = function() { }; cell.getData = function(data) { var cn = this.getElementsByTagName('input'); data.total = UserFormatNumberToNumber(cn[0].value); } cell.setData = function(data) { var cn = this.getElementsByTagName('input'); if(data.total) cn[0].value = NumberToUserFormatNumber(data.total); else cn[0].value = NumberToUserFormatNumber(0); } var edit = document.createElement('input'); edit.setAttribute('type','text'); edit.setAttribute('value',NumberToUserFormatNumber(0)); edit.setAttribute('readOnly','readonly'); edit.className = 'inputs'; edit.style.textAlign = "right"; cell.appendChild(edit); } */ if (i == 5) { var img; //insert img = document.createElement('img'); img.setAttribute('alt', MOD['LBL_INSERT_NEW_ROW']); img.setAttribute('src', 'modules/EcmQuotes/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/EcmQuotes/images/deleterow.gif'); img.style.cursor = 'pointer'; img.onclick = function() { 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/EcmQuotes/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/EcmQuotes/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('position_list').value; if (pl && pl != '') { try { pl = eval(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(); 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; var discount2 = total2*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 = total; //document.getElementById('cbm_total').value = cbm_total; */ } ItemListSave = function(json) { //if(CheckDiscount() == -1) { ERROR = true; return false; } //calculateTotal(); var data = new Object(); for (var i = 0; i < N.rowCount(); i++) { data[i.toString()] = N.row(i).getData(); } return json ? JSON.stringifyNoSecurity(data) : data; } sqs_objects["code_p"] = { "method": "get_product_array", "modules": ["EcmProducts"], "field_list": ["date_entered", "code", "id", "encoded_unit_id", "vat_id", "encoded_category_id", "name", "selling_price", "currency_id"], "populate_list": ["code_p", "code_p", "id_p", "unit_id_p", "vat_id_p", "category_id_p", "name_p", "price_p", "currency_id_p"], "conditions": [{ "name": "code", "op": "like_custom", "end": "%", "value": "" }], "limit": "30", "order": "code", "no_match_text": "No Match" }; sqs_objects["name_p"] = { "method": "get_product_array", "modules": ["EcmProducts"], "field_list": ["date_entered", "name", "id", "encoded_unit_id", "vat_id", "encoded_category_id", "code", "selling_price", "currency_id"], "populate_list": ["name_p", "name_p", "id_p", "unit_id_p", "vat_id_p", "category_id_p", "code_p", "price_p", "currency_id_p"], "conditions": [{ "name": "name", "op": "like_custom", "end": "%", "value": "" }], "limit": "30", "order": "name", "no_match_text": "No Match" }; function generateNumber() { if (document.getElementById('template_id').value == '') { alert('There are no DocumentTemplates in data base!'); return; } doRequest( 'index.php', 'to_pdf=1&generate=1&module=EcmQuotes&action=generateNumber&type=normal&template_id=' + document.getElementById('template_id').value + '&record=' + document.forms.EditView.record.value, function(result) { var arr = eval(result)[0]; document.getElementById('number').value = arr.number; document.getElementById('document_no').value = arr.document_no; }, '' ); }; /* calculateTotal(); if(OPT['new_number']) generateNumber(); if(document.getElementById('template_id').value != '') document.getElementById('template_id').onchange(); addEvent('template_id','change',generateNumber); addEvent(document.forms.EditView.status,'change',canConfirm); setPREVIEW = function() { if(CheckDiscount() != -1) { calculateTotal(); sendFormPostToPdf(); } } setITEMS = function() { if(CheckDiscount() != -1) { calculateTotal(); SetTab('ITEMS'); } } if(!OPT.user.access.send_email) setEMAIL = function() { alert(MOD['LBL_ACCESS_UNAVAIBLE_DELETE_EMAIL']); }; else setEMAIL = function(noCheck) { if(CheckDiscount() != -1) { calculateTotal(); OPT['setEmailTab'] = 0; var view = true; if(!noCheck) { var record = document.forms.EditView.record.value; if(record == '') { alert('Quote is not saved!'); view = false; } else { if(confirm('Save quote changes?')) { OPT['setEmailTab'] = 1; view = false; SaveForm(); } } } if(view) { SetTab('EMAIL'); document.getElementById('emailTAB').innerHTML = ""; } } } CHANGER.add('to_is_vat_free', 'checked', function(obj){ obj.value = (obj.checked) ? 1 : 0; OPT['to_is_vat_free'] = obj.value; calculateTotal(); }, false ); //CHANGER.add('parent_id','value',function(){alert('zmiana parent');},true); 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.vatid)?str.vatid:''; 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