//v.1.5 build 80319 /* Copyright DHTMLX LTD. http://www.dhtmlx.com You allowed to use this component or parts of it under GPL terms To use it on other terms or get Professional edition of the component please contact us at sales@dhtmlx.com */ function dhtmlXGridCellObject(obj){this.destructor=function(){this.cell.obj=null;this.cell=null;this.grid=null;this.base=null;return null};this.cell = obj;this.getValue = function(){if ((this.cell.firstChild)&&(this.cell.firstChild.tagName=="TEXTAREA")) return this.cell.firstChild.value;else return this.cell.innerHTML._dhx_trim()};this.getMathValue = function(){if (this.cell._val)return this.cell._val;else return this.getValue()};this.getFont = function(){arOut = new Array(3);if(this.cell.style.fontFamily)arOut[0] = this.cell.style.fontFamily if(this.cell.style.fontWeight=='bold' || this.cell.parentNode.style.fontWeight=='bold')arOut[1] = 'bold';if(this.cell.style.fontStyle=='italic' || this.cell.parentNode.style.fontWeight=='italic')arOut[1] += 'italic';if(this.cell.style.fontSize)arOut[2] = this.cell.style.fontSize else arOut[2] = "";return arOut.join("-") };this.getTextColor = function(){if(this.cell.style.color)return this.cell.style.color else return "#000000"};this.getBgColor = function(){if(this.cell.bgColor)return this.cell.bgColor else return "#FFFFFF"};this.getHorAlign = function(){if(this.cell.style.textAlign)return this.cell.style.textAlign;else if(this.cell.align)return this.cell.align else return "left"};this.getWidth = function(){return this.cell.scrollWidth};this.setFont = function(val){fntAr = val.split("-");this.cell.style.fontFamily = fntAr[0];this.cell.style.fontSize = fntAr[fntAr.length-1] if(fntAr.length==3){if(/bold/.test(fntAr[1])) this.cell.style.fontWeight = "bold";if(/italic/.test(fntAr[1])) this.cell.style.fontStyle = "italic";if(/underline/.test(fntAr[1])) this.cell.style.textDecoration = "underline"}};this.setTextColor = function(val){this.cell.style.color = val};this.setBgColor = function(val){if(val=="")val = null;this.cell.bgColor = val};this.setHorAlign = function(val){if(val.length==1){if(val=='c')this.cell.style.textAlign = 'center' else if(val=='l')this.cell.style.textAlign = 'left';else this.cell.style.textAlign = 'right'}else this.cell.style.textAlign = val };this.wasChanged = function(){if(this.cell.wasChanged)return true;else return false};this.isCheckbox = function(){var ch = this.cell.firstChild;if(ch && ch.tagName=='INPUT'){type = ch.type;if(type=='radio' || type=='checkbox')return true;else return false}else return false};this.isChecked = function(){if(this.isCheckbox()){return this.cell.firstChild.checked}};this.isDisabled = function(){return this.cell._disabled};this.setChecked = function(fl){if(this.isCheckbox()){if(fl!='true' && fl!=1)fl = false;this.cell.firstChild.checked = fl}};this.setDisabled = function(fl){if(fl!='true' && fl!=1)fl = false;if(this.isCheckbox()){this.cell.firstChild.disabled = fl;if (this.disabledF)this.disabledF(fl)};this.cell._disabled = fl}};dhtmlXGridCellObject.prototype.setValue = function(val){if((typeof(val)!="number") && (!val || val.toString()._dhx_trim()=="")){val=" " this.cell._clearCell=true}else this.cell._clearCell=false;this.setCValue(val)};dhtmlXGridCellObject.prototype.getTitle=function(){return (_isIE?this.cell.innerText:this.cell.textContent)};dhtmlXGridCellObject.prototype.setCValue = function(val,val2){this.cell.innerHTML = val};dhtmlXGridCellObject.prototype.setCTxtValue = function(val){this.cell.innerHTML="";this.cell.appendChild(document.createTextNode(val))};dhtmlXGridCellObject.prototype.setLabel = function(val){this.cell.innerHTML = val};dhtmlXGridCellObject.prototype.getMath = function(){if (this._val)return this.val;else return this.getValue()};function eXcell(){this.obj = null;this.val = null;this.changeState = function(){return false};this.edit = function(){this.val = this.getValue()};this.detach = function(){return false};this.getPosition = function(oNode){var oCurrentNode=oNode;var iLeft=0;var iTop=0;while(oCurrentNode.tagName!="BODY"){iLeft+=oCurrentNode.offsetLeft;iTop+=oCurrentNode.offsetTop;oCurrentNode=oCurrentNode.offsetParent};return new Array(iLeft,iTop)}};eXcell.prototype = new dhtmlXGridCellObject;function eXcell_ed(cell){if (cell){this.cell = cell;this.grid = this.cell.parentNode.grid};this.edit = function(){this.cell.atag=((!this.grid.multiLine)&&(_isKHTML||_isMacOS||_isFF))?"INPUT":"TEXTAREA";this.val = this.getValue();this.obj = document.createElement(this.cell.atag);this.obj.setAttribute("autocomplete","off");this.obj.style.height = (this.cell.offsetHeight-(_isIE?4:2))+"px";this.obj.className="dhx_combo_edit";this.obj.wrap = "soft";this.obj.style.textAlign = this.cell.align;this.obj.onclick = function(e){(e||event).cancelBubble = true};this.obj.onmousedown = function(e){(e||event).cancelBubble = true};this.obj.value = this.val this.cell.innerHTML = "";this.cell.appendChild(this.obj);if (_isFF){this.obj.style.overflow="visible";if ((this.grid.multiLine)&&(this.obj.offsetHeight>=18)&&(this.obj.offsetHeight<40)){this.obj.style.height="36px";this.obj.style.overflow="scroll"}};this.obj.onselectstart=function(e){if (!e)e=event;e.cancelBubble=true;return true};this.obj.focus() this.obj.focus() };this.getValue = function(){if ((this.cell.firstChild)&&((this.cell.atag)&&(this.cell.firstChild.tagName==this.cell.atag))) return this.cell.firstChild.value;if (this.cell._clearCell)return "";return this.cell.innerHTML.toString()._dhx_trim()};this.detach = function(){this.setValue(this.obj.value);return this.val!=this.getValue()}};eXcell_ed.prototype = new eXcell;function eXcell_edtxt(cell){if (cell){this.cell = cell;this.grid = this.cell.parentNode.grid};this.getValue = function(){if ((this.cell.firstChild)&&((this.cell.atag)&&(this.cell.firstChild.tagName==this.cell.atag))) return this.cell.firstChild.value;if (this.cell._clearCell)return "";return (_isIE?this.cell.innerText:this.cell.textContent)};this.setValue = function(val){if(!val || val.toString()._dhx_trim()==""){val=" ";this.cell._clearCell=true}else this.cell._clearCell=false;this.setCTxtValue(val)}};eXcell_edtxt.prototype = new eXcell_ed;function eXcell_ch(cell){if(cell){this.cell = cell;this.grid = this.cell.parentNode.grid;this.cell.obj = this};this.disabledF=function(fl){if ((fl==true)||(fl==1)) this.cell.innerHTML=this.cell.innerHTML.replace("item_chk0.","item_chk0_dis.").replace("item_chk1.","item_chk1_dis.");else this.cell.innerHTML=this.cell.innerHTML.replace("item_chk0_dis.","item_chk0.").replace("item_chk1_dis.","item_chk1.")};this.changeState = function(){if ((!this.grid.isEditable)||(this.cell.parentNode._locked)||(this.isDisabled())) return;if(this.grid.callEvent("onEditCell",[0,this.cell.parentNode.idd,this.cell._cellIndex])){this.val = this.getValue() if(this.val=="1")this.setValue("0") else this.setValue("1") this.cell.wasChanged=true;this.grid.callEvent("onEditCell",[1,this.cell.parentNode.idd,this.cell._cellIndex]);this.grid.callEvent("onCheckbox",[this.cell.parentNode.idd,this.cell._cellIndex,(this.val!='1')])}else{this.editor=null}};this.getValue = function(){return this.cell.chstate?this.cell.chstate.toString():"0"};this.isCheckbox = function(){return true};this.isChecked = function(){if(this.getValue()=="1") return true;else return false};this.setChecked = function(fl){this.setValue(fl.toString()) };this.detach = function(){return this.val!=this.getValue()};this.edit=null};eXcell_ch.prototype = new eXcell;eXcell_ch.prototype.setValue = function(val){this.cell.style.verticalAlign = "middle";if (val){val=val.toString()._dhx_trim();if ((val=="false")||(val=="0")) val=""};if(val){val = "1";this.cell.chstate = "1"}else{val = "0";this.cell.chstate = "0" };var obj = this;this.setCValue("",this.cell.chstate)};function eXcell_ra(cell){this.base = eXcell_ch;this.base(cell) this.grid = cell.parentNode.grid;this.disabledF=function(fl){if ((fl==true)||(fl==1)) this.cell.innerHTML=this.cell.innerHTML.replace("radio_chk0.","radio_chk0_dis.").replace("radio_chk1.","radio_chk1_dis.");else this.cell.innerHTML=this.cell.innerHTML.replace("radio_chk0_dis.","radio_chk0.").replace("radio_chk1_dis.","radio_chk1.")};this.changeState = function(){if ((!this.grid.isEditable)||(this.cell.parentNode._locked)) return;if(this.grid.callEvent("onEditCell",[0,this.cell.parentNode.idd,this.cell._cellIndex])!=false){this.val = this.getValue() if(this.val=="1")this.setValue("0") else this.setValue("1") this.cell.wasChanged=true;this.grid.callEvent("onEditCell",[1,this.cell.parentNode.idd,this.cell._cellIndex]);this.grid.callEvent("onCheckbox",[this.cell.parentNode.idd,this.cell._cellIndex,(this.val!='1')])}else{this.editor=null}};this.edit=null};eXcell_ra.prototype = new eXcell_ch;eXcell_ra.prototype.setValue = function(val){this.cell.style.verticalAlign = "middle";if (val){val=val.toString()._dhx_trim();if ((val=="false")||(val=="0")) val=""};if(val){if (!this.grid._RaSeCol)this.grid._RaSeCol=[];if (this.grid._RaSeCol[this.cell._cellIndex]){var z=this.grid.cells4(this.grid._RaSeCol[this.cell._cellIndex]);z.setValue("0") this.grid.callEvent("onEditCell",[1,z.cell.parentNode.idd,z.cell._cellIndex])};this.grid._RaSeCol[this.cell._cellIndex]=this.cell;val = "1";this.cell.chstate = "1"}else{val = "0";this.cell.chstate = "0" };var obj = this;this.setCValue("",this.cell.chstate)};function eXcell_txt(cell){if (cell){this.cell = cell;this.grid = this.cell.parentNode.grid};this.edit = function(){this.val = this.getValue() this.obj = document.createElement("TEXTAREA");this.obj.className="dhx_textarea";this.obj.onclick = function(e){(e||event).cancelBubble = true};var arPos = this.grid.getPosition(this.cell);if (!this.cell._clearCell)this.obj.value = this.val;this.obj.style.display = "";this.obj.style.textAlign = this.cell.align;if (_isFF){var z_ff=document.createElement("DIV");z_ff.appendChild(this.obj);z_ff.style.overflow="auto";z_ff.className="dhx_textarea";this.obj.style.margin="0px 0px 0px 0px";this.obj.style.border="0px";this.obj=z_ff};document.body.appendChild(this.obj);this.obj.onkeydown=function(e){var ev=(e||event);if (ev.keyCode==9){globalActiveDHTMLGridObject.entBox.focus();globalActiveDHTMLGridObject.doKey({keyCode:ev.keyCode,shiftKey:ev.shiftKey,srcElement:"0"});return false}};this.obj.style.left = arPos[0]+"px";this.obj.style.top = arPos[1]+this.cell.offsetHeight+"px";if(this.cell.scrollWidth<200)var pw=200;else var pw=this.cell.scrollWidth;this.obj.style.width = pw+(_isFF?18:16)+"px" if (_isFF){this.obj.firstChild.style.width = parseInt(this.obj.style.width)+"px";this.obj.firstChild.style.height = this.obj.offsetHeight-3+"px"};if (_isFF)this.obj.firstChild.focus();else{this.obj.focus();this.obj.focus() }};this.detach = function(){var a_val="";if (_isFF)a_val=this.obj.firstChild.value;else a_val=this.obj.value;if (a_val==""){this.cell._clearCell=true}else this.cell._clearCell=false;this.setValue(a_val);document.body.removeChild(this.obj);return this.val!=this.getValue()};this.getValue = function(){if (this.cell.firstChild){if (this.cell.firstChild.tagName=="TEXTAREA")return this.obj.firstChild.value;else if (this.cell.firstChild.tagName=="DIV")return this.obj.firstChild.firstChild.value};if (this.cell._clearCell)return "";if ((!this.grid.multiLine)) return this.cell._brval||this.cell.innerHTML;else return this.cell.innerHTML.replace(/]*>/gi,"\n")._dhx_trim()}};eXcell_txt.prototype = new eXcell;function eXcell_txttxt(cell){if (cell){this.cell = cell;this.grid = this.cell.parentNode.grid};this.getValue = function(){if ((this.cell.firstChild)&&(this.cell.firstChild.tagName=="TEXTAREA")) return this.cell.firstChild.value;if (this.cell._clearCell)return "";if ((!this.grid.multiLine)&& this.cell._brval) return this.cell._brval;return (_isIE?this.cell.innerText:this.cell.textContent)};this.setValue = function(val){this.cell._brval=val;if(!val || val.toString()._dhx_trim()=="") val=" ";this.setCTxtValue(val)}};eXcell_txttxt.prototype = new eXcell_txt;eXcell_txt.prototype.setValue = function(val){if(!val || val.toString()._dhx_trim()==""){val=" " this.cell._clearCell=true}else this.cell._clearCell=false;this.cell._brval=val;if ((!this.grid.multiLine)) this.setCValue(val,val);else this.setCValue(val.replace(/\n/g,"
"),val)};function eXcell_co(cell){if (cell){this.cell = cell;this.grid = this.cell.parentNode.grid;this.combo = (this.cell._combo||this.grid.getCombo(this.cell._cellIndex));this.editable = true };this.shiftNext=function(){var z=this.list.options[this.list.selectedIndex+1];if (z)z.selected=true;this.obj.value=this.list.options[this.list.selectedIndex].text;return true};this.shiftPrev=function(){if (this.list.selectedIndex!=0){var z=this.list.options[this.list.selectedIndex-1];if (z)z.selected=true;this.obj.value=this.list.options[this.list.selectedIndex].text};return true};this.edit = function(){this.val = this.getValue();this.text = this.getText()._dhx_trim();var arPos = this.grid.getPosition(this.cell) this.obj = document.createElement("TEXTAREA");this.obj.className="dhx_combo_edit";this.obj.style.height=(this.cell.offsetHeight-4)+"px";this.obj.wrap = "soft";this.obj.style.textAlign = this.cell.align;this.obj.onclick = function(e){(e||event).cancelBubble = true};this.obj.value = this.text this.obj.onselectstart=function(e){if(!e)e=event;e.cancelBubble=true;return true};var editor_obj = this;this.obj.onkeyup=function(e){var val=this.readonly?String.fromCharCode((e||event).keyCode):this.value;var c=editor_obj.list.options;for (var i=0;i ",val)};function eXcell_img(cell){try{this.cell = cell;this.grid = this.cell.parentNode.grid}catch(er){};this.getValue = function(){if(this.cell.firstChild.tagName=="IMG")return this.cell.firstChild.src+(this.cell.titFl!=null?"^"+this.cell.tit:"");else if(this.cell.firstChild.tagName=="A"){var out = this.cell.firstChild.firstChild.src+(this.cell.titFl!=null?"^"+this.cell.tit:"");out+="^"+this.cell.lnk;if(this.cell.trg)out+="^"+this.cell.trg return out}}};eXcell_img.prototype = new eXcell;eXcell_img.prototype.getTitle = function(){return this.cell.tit };eXcell_img.prototype.setValue = function(val){var title = val;if(val.indexOf("^")!=-1){var ar = val.split("^");val = ar[0] title = ar[1];if(ar.length>2){this.cell.lnk = ar[2] if(ar[3])this.cell.trg = ar[3] };this.cell.titFl = "1"};this.setCValue("",val);if(this.cell.lnk){this.cell.innerHTML = ""+this.cell.innerHTML+"" };this.cell.tit = title};function eXcell_price(cell){this.base = eXcell_ed;this.base(cell) this.getValue = function(){if(this.cell.childNodes.length>1)return this.cell.childNodes[1].innerHTML.toString()._dhx_trim() else return "0"}};eXcell_price.prototype = new eXcell_ed;eXcell_price.prototype.setValue = function(val){if(isNaN(Number(val))){if(!(val||"")|| (val||"")._dhx_trim()!="") val = 0;val = this.val || 0};var color = "green";if(val<0)color = "red";this.setCValue("$"+val+"",val)};function eXcell_dyn(cell){this.base = eXcell_ed;this.base(cell) this.getValue = function(){return this.cell.firstChild.childNodes[1].innerHTML.toString()._dhx_trim() }};eXcell_dyn.prototype = new eXcell_ed;eXcell_dyn.prototype.setValue = function(val){if(!val || isNaN(Number(val))){val = 0};if(val>0){var color = "green";var img = "dyn_up.gif"}else if (val==0){var color = "black";var img = "dyn_.gif"}else{var color = "red";var img = "dyn_down.gif"};this.setCValue("
"+val+"
",val)};function eXcell_ro(cell){if (cell){this.cell = cell;this.grid = this.cell.parentNode.grid};this.edit = function(){};this.isDisabled = function(){return true}};eXcell_ro.prototype = new eXcell;function eXcell_ron(cell){this.cell = cell;this.grid = this.cell.parentNode.grid;this.edit = function(){};this.isDisabled = function(){return true};this.getValue = function(){return this.grid._aplNFb(this.cell.innerHTML.toString()._dhx_trim(),this.cell._cellIndex)}};eXcell_ron.prototype = new eXcell;eXcell_ron.prototype.setValue = function(val){if (val===0)val="0";else if(!val || val.toString()._dhx_trim()=="") return this.setCValue(" ");this.setCValue(this.grid._aplNF(val,this.cell._cellIndex))};function eXcell_rotxt(cell){this.cell = cell;this.grid = this.cell.parentNode.grid;this.edit = function(){};this.isDisabled = function(){return true};this.setValue = function(val){if(!val || val.toString()._dhx_trim()=="") val=" ";this.setCTxtValue(val)}};eXcell_rotxt.prototype = new eXcell;function dhtmlXGridComboObject(){this.keys = new dhtmlxArray();this.values = new dhtmlxArray();this.put = function(key,value){for(var i=0;i