//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