/* html editor functions */ var textContent; var lastSave; var cPRINT = 1; var cPREVIEW = 2; var cCUT = 3; var cCOPY = 4; var cPASTE = 5; var cBOLD = 6; var cITALIC = 7; var cUNDERLINE = 8; var cSTRIKETHRU = 9; var cSUBSCRIPT = 10; var cSUPERSCRIPT = 11; var cHX = 12; var cFONT_SIZE = 13; var cFONT_NAME = 14; var cFORE_COLOR = 15; var cBACK_COLOR = 16; var cOUTDENT = 17; var cINDENT = 18; var cLEFT = 19; var cCENTER = 20; var cRIGHT = 21; var cPARABUL = 22; var cPARANUM = 23; var cLINKWEB = 24; var cINSERTRULE = 25; var cUNDO = 26; var cREDO = 27; var editRange = null; function doSimpleAction(id,action){ // no check needed for these actions var editor = document.getElementById(id + "htmlbeditor").document; // if ( action == cPRINT) { editor.execCommand("Print",1,""); return; } if ( action == cPRINT) { htmlb_hed_showPrintPreview(id); return; } if ( action == cPREVIEW) { showPreview(id); return; } if (checkDoAction(id) == false) { return; } lastSave = null; switch (action){ case cCUT: editRange.execCommand("Cut"); break; case cCOPY: editRange.execCommand("Copy"); break; case cPASTE: editRange.execCommand("Paste"); break; case cBOLD: editRange.execCommand("Bold"); break; case cITALIC: editRange.execCommand("Italic"); break; case cUNDERLINE: editRange.execCommand("Underline"); break; case cSTRIKETHRU: editRange.execCommand("StrikeThrough"); break; case cSUBSCRIPT: editRange.execCommand("SubScript"); break; case cSUPERSCRIPT: editRange.execCommand("SuperScript"); break; case cOUTDENT: editRange.execCommand("Outdent"); break; case cINDENT: editRange.execCommand("Indent"); break; case cLEFT: editRange.execCommand("JustifyLeft"); break; case cCENTER: editRange.execCommand("JustifyCenter"); break; case cRIGHT: editRange.execCommand("JustifyRight"); break; case cPARABUL: editRange.execCommand("InsertUnorderedList"); break; case cPARANUM: editRange.execCommand("InsertOrderedList"); break; case cINSERTRULE: editRange.execCommand("InsertHorizontalRule"); break; case cUNDO: editRange.execCommand("Undo"); break; case cREDO: editRange.execCommand("Redo"); break; } save(id); document.getElementById(id+"htmlbeditor").focus(); } function doInsertWebLinkAction(id,errorText) { if (checkDoAction(id) == false) { return; } lastSave = null; if ( (editRange.text == null) || (editRange.text == "") ) { alert(errorText); } else { editRange.execCommand("CreateLink",1,""); } myText = editRange.htmlText; if (myText.substring(0,3) == "" + myText + ""; editRange.pasteHTML(myText); } } save(id); return true; } function insertImage(id) { if (lastSave != id) { return false; } save_restore(id); lastSave = null; if (document.getElementById(id + "htmlbeditor").document.selection.type == "Control") { var selectedRange = document.getElementById(id + "htmlbeditor").document.selection.createRange(); editRange=selectedRange.item(0); save_userexit(id); editRange.id = "IMG_" + id; }else if(editRange==null){ return false; }else{ save_userexit(id); if (editRange.parentElement().tagName == 'IMG') { editRange.parentElement().id = "IMG_" + id; editRange.parentElement().name = "IMG_" + id; } else { myText = editRange.htmlText; myText = myText + ""; editRange.pasteHTML(myText); } } save(id); return true; } function editortoolbarswitch(a, skipstart, skipend) { var id; var i=0; var index = 0; var newIndex = 0; var button; if (sapUrMapi_skip(skipstart, skipend, event)){ return true; } if(event.keyCode==37||event.keyCode==39) { id = a.id; i = id.lastIndexOf("_")+1; index = id.substr(i); if(event.keyCode==37) { newIndex = parseInt(index)-1; } else { newIndex = parseInt(index)+1; } newId = id.substring(0,i) + newIndex; button = document.getElementById(newId); if(button!=null) { button.focus(); return true; } } return false; } // ******************************** // new with Unified rendering // ******************************** function htmlb_TblSelectRow(id, index, e) { try { tv = eval(id); tv.setClickedRow(index); } catch(ex) { } if (document.getElementById(id+"-chk"+index).value == "true") document.getElementById(id+"-chk"+index).value = "false"; else document.getElementById(id+"-chk"+index).value = "true"; sapUrMapi_Table_selectRow(id, index-1, e); } function htmlb_TblSingleSelectRow(id, index, e) { document.getElementById(id+"-chk").value = index; sapUrMapi_Table_selectRow(id, index-1, e); // set clicked row in TableView object try { tv = eval(id); tv.setClickedRow(index); } catch(ex) { } } function htmlb_TbvCellClick(table, eventType, formId, controlId, eventId, colEventIds, colEventIdsC, e) { var rowIndex = sapUrMapi_Table_getClickedRowIndex(controlId, e)+1; var colIndex = sapUrMapi_Table_getClickedColIndex(controlId, e)+1; // set clicked row and column in TableView object try { tv = eval(formId+"_"+controlId); tv.setClickedRow(rowIndex); tv.setClickedColumn(colIndex); } catch(ex) { } var colEventIdsArr = colEventIds.split(','); var colEventIdsArrClient = colEventIdsC.split(','); if (rowIndex && colIndex) { var action = ""; if (colEventIdsArr[colIndex-1] && colEventIdsArrClient[colIndex-1]) action = "S,T,C"; else if (colEventIdsArr[colIndex-1]) action = "S"; else if (colEventIdsArrClient[colIndex-1]) action = "T,C"; if (action.length > 0) { window.event.cancelBubble = true; htmlbDoEvent(this, action, eventType, eventId, formId, controlId, colEventIdsArr[colIndex-1], "_"+colIndex, 2, rowIndex, colIndex); } return; } } function htmlb_TrcToggle( idTray, nCancelState, e) { if (document.getElementById(idTray+"_es").value == "true") document.getElementById(idTray+"_es").value = "false"; else document.getElementById(idTray+"_es").value = "true"; return sapUrMapi_Tray_toggle(idTray,'SAPUR_TRAY', e); } function htmlb_MnuToggle(mywindow,id,bIn,e) { sapUrMapi_PopupMenu_hoverItem(mywindow,id,bIn,e); } function htmlb_MnuItemSelect(Event, eventType, formId, indexOfElement, eventId, paramLength, itemId, checked){ var paramLength = 2; if (htmlb_nodeKey != null) { paramLength = 4; } else { if (htmlb_rootComponent != null) paramLength = 3; } htmlbSubmit(window, eventType, formId, indexOfElement, eventId, paramLength, itemId, checked, htmlb_rootComponent, htmlb_nodeKey); } var htmlb_rootComponent; var htmlb_nodeKey; function htmlb_TrayShowOptionMenu( idTray, optionMenuId, rootComponent, e) { htmlb_rootComponent = rootComponent; htmlb_rootNodeKey = null; sapUrMapi_Tray_showOptionMenu(idTray, e.srcElement.id, optionMenuId, sapPopupPositionBehavior.MENURIGHT,e); return true; } function htmlb_ShowPopupMenu(id, optionMenuId, rootComponent, e) { htmlb_rootComponent = rootComponent; htmlb_nodeKey = null; try { if ((e.type=="mouseover")||(e.type=="click")||(e.type=="contextmenu")||(sapUrMapi_checkKey(e,"keydown",new Array("32","40")))){ sapUrMapi_PopupMenu_showMenu(id, optionMenuId, sapPopupPositionBehavior.MENULEFT,e); window.event.cancelBubble=true; return true; } } catch(ex) { sapUrMapi_PopupMenu_showMenu(id, optionMenuId, sapPopupPositionBehavior.MENULEFT,e); return true; } } function htmlb_ShowPopupMenuOnNode(id, optionMenuId, rootComponent, treeNode, e) { htmlb_rootComponent = rootComponent; htmlb_nodeKey = treeNode; sapUrMapi_PopupMenu_showMenu(id, optionMenuId, sapPopupPositionBehavior.MENULEFT,e); return true; } function htmlb_MnuItemToggleChecked(id, index) { var checkedItems = document.getElementById(id+'_chkitm'); var s = checkedItems.value; if (s.indexOf("+"+index+"+") >= 0){ p = s.indexOf("+"+index+"+") checkedItems.value = s.substring(0,p)+s.substring(p+("+"+index+"+").length-1,s.length); } else { checkedItems.value += (index+"+"); } } function htmlb_TreeToggle(treeId, nodeId, e) { var nodeDiv = document.getElementById(nodeId); var expandListField = document.getElementById( nodeId.split("-")[0] + "Eln" ); if(expandListField) { if( nodeDiv.status == "closed" ) { var nodeIndex = nodeId.split("-")[1]; var rex = new RegExp("(:"+nodeIndex+":.)",""); var index = expandListField.value.search(rex); if (index < 0) expandListField.value += ":" +nodeIndex+":+"; else expandListField.value = expandListField.value.replace(rex,":"+nodeIndex+":+"); } else { var nodeIndex = nodeId.split("-")[1]; var rex = new RegExp("(:"+nodeIndex+":.)",""); var index = expandListField.value.search(rex); if (index < 0) expandListField.value += nodeIndex+"-"; else expandListField.value = expandListField.value.replace(rex,":"+nodeIndex+":-"); } } sapUrMapi_Tree_toggle(treeId, nodeId, false, false) } function htmlb_TreeDragEnter(nodeId) { var nodeDiv = document.getElementById( nodeId); if( nodeDiv.status == "closed" ) sapUrMapi_Tree_InvokeNodeClick(nodeId); } function htmlb_TabKeySelect(strId, intTabCount, intSelectedIdx, htmlbIdx, e) { if (sapUrMapi_checkKey(e,"keydown",new Array("39","37"))){ sapUrMapi_TabStrip_focusItem(strId,intSelectedIdx,intTabCount,e.keyCode==39,e.keyCode==37); return; } if (sapUrMapi_checkKey(e,"keydown",new Array("32"))){ document.getElementById(strId + '_idx').value=htmlbIdx; sapUrMapi_TabStrip_setActiveItem(strId,intSelectedIdx); return; } } function htmlbSwitchTabOnClient (id, htmlbIdx, urIdx) { document.getElementById(id + '_idx').value=htmlbIdx; sapUrMapi_TabStrip_setActiveItem(id,urIdx); } function htmlbPopupTriggerOver(id, event){ if (event.type == "mouseover"){ sapUrMapi_PopupTrigger_hover(id ,true ,event); }else if (event.type == "mouseout"){ sapUrMapi_PopupTrigger_hover(id ,false ,event); } } function htmlbButton_checkClick(id, event) { if (event==null || event.type == 'submit') return true; else return sapUrMapi_Button_checkClick(id,event); } function htmlb_addTexts(lang, texts) { if(ur_txt[lang]) { for ( var i in texts) { if(!ur_txt[lang][i]) { ur_txt[lang][i] = texts[i]; } } } else { ur_txt[lang] = texts; } } /* scroll container function */ function htmlbCalScPos(formid, form) { var array = null; try { array = eval(formid+"_htmlbSC"); } catch(e) { array = null; } if(array!=null) { for(var i = 0; i' + obj + ''; document.getElementById(formID).innerHTML = x; } function htmlb_treenodeaction(event,collapse) { var r = false; if(event!=null) { if(collapse==false) { if(event.keyCode=='39' && ur_system.direction!="rtl") { r=true; } else if(event.keyCode=='37' && ur_system.direction=="rtl") { r=true; } } else { if(event.keyCode=='39' && ur_system.direction=="rtl") { r=true; } else if(event.keyCode=='37' && ur_system.direction!="rtl") { r=true; } } } return r; } // html editor ----------------------------------------------------------------- function htmlb_hed_cleanTableStyle(table) { var rowId=0, colId=0; for(i=0; i 0 ){ obj = selectedRange.item(0); } break; case 'None': obj = selectedRange.parentElement(); break; } return obj; } function htmlb_hed_matchTag(editor, elem, tagName) { try { if (elem.tagName.search(tagName)!=-1){ return elem; } if (elem.tagName.toUpperCase()=='TABLE'){ return elem; } if (elem.tagName.toUpperCase()=='DIV'){ elem = editor.getElementsByTagName('TABLE'); if(elem.length>0) elem = elem[0]; return elem; } if(elem!=null) elem = elem.parentElement; return htmlb_hed_matchTag(editor, elem, tagName); } catch(ex) { return null; } } function htmlb_hed_doDeleteTableCol(editor, errorText) { objRef = htmlb_hed_getRangeRef(editor); if(null==objRef)return; objRef = htmlb_hed_matchTag(editor, objRef, '/^(TABLE)|^(TR)|^(TD)|^(TBODY)/'); if(null==objRef)return; switch(objRef.tagName) { case 'TD': var rowIndex = objRef.parentElement.rowIndex; var cellIndex = objRef.cellIndex; var parentTable = objRef.parentElement.parentElement.parentElement; var newTable = parentTable.cloneNode(true); if (1==newTable.rows[0].cells.length){ parentTable.removeNode(true); return; } for(x=0; x=newTable.rows[0].cells.length){ cellIndex=newTable.rows[0].cells.length-1; } if (rowIndex>=newTable.rows.length){ rowIndex=newTable.rows.length-1; } htmlb_hed_refreshTableIds(newTable); parentTable.outerHTML = newTable.outerHTML; if (cellIndex>=0&&rowIndex>=0){ var rg = editor.document.body.createTextRange(); var el = editor.document.getElementById(newTable.id+":"+rowIndex+'_'+cellIndex); if(el){ rg.moveToElementText(el); rg.moveStart('character',rg.text.length); rg.select(); } } break; default: alert(errorText); } } function htmlb_hed_doInsertTableRow(editor, errorText) { objRef = htmlb_hed_getRangeRef(editor); if(objRef==null){ alert(errorText); return; } objRef = htmlb_hed_matchTag(editor, objRef, '/^(TABLE)|^(TR)|^(TD)|^(TBODY)/'); if(objRef==null){ alert(errorText); return; } switch(objRef.tagName) { case 'TD': var parentRow = objRef.parentElement; var rowIndex = parentRow.rowIndex; var cellIndex = objRef.cellIndex; var parentTable = objRef.parentElement.parentElement.parentElement; var newTable = parentTable.cloneNode(true); var newRow = newTable.insertRow(rowIndex+1); var style = objRef.className; for(x=0; x< newTable.rows[0].cells.length; x++) { var newCell = newRow.insertCell(); if (style!=""){ newCell.className=style; } } htmlb_hed_refreshTableIds(newTable); parentTable.outerHTML = newTable.outerHTML; var rg = editor.document.body.createTextRange(); var el = editor.document.getElementById(newTable.id+":"+rowIndex+'_'+cellIndex); if(el){ rg.moveToElementText(el); rg.moveStart('character',rg.text.length); rg.select(); } break; case 'TR': var rowIndex = objRef.rowIndex; var parentTable = objRef.parentElement.parentElement; var newTable = parentTable.cloneNode(true); var newRow = newTable.insertRow(rowIndex+1); for(x=0; x< newTable.rows[0].cells.length; x++) { var newCell = newRow.insertCell(); } htmlb_hed_refreshTableIds(newTable); parentTable.outerHTML = newTable.outerHTML; break; case 'TABLE': var newTable = objRef.cloneNode(true); var newRow = newTable.insertRow(); for(x=0; x=parentTable.rows.length) { rowIndex=parentTable.rows.length-1; } htmlb_hed_refreshTableIds(parentTable); if (rowIndex>=0) { var rg = editor.document.body.createTextRange(); var el = editor.document.getElementById(parentTable.id+":"+rowIndex+'_'+cellIndex); if(el){ rg.moveToElementText(el); rg.moveStart('character',rg.text.length); rg.select(); } } else { parentTable.removeNode(true); } break; case 'TR': var rowIndex = objRef.rowIndex; var parentTable = objRef.parentElement.parentElement; parentTable.deleteRow(rowIndex); htmlb_hed_refreshTableIds(parentTable); break; default: alert(errorText); } } function htmlb_hed_doInsertTableCol(editor, errorText) { objRef = htmlb_hed_getRangeRef(editor); if(objRef==null){ alert(errorText); return; } objRef = htmlb_hed_matchTag(editor, objRef, '/^(TABLE)|^(TR)|^(TD)|^(TBODY)/'); if(objRef==null){ alert(errorText); return; } switch(objRef.tagName) { case 'TABLE': var newTable=objRef.cloneNode(true); for(x=0; x 0 ){ selectedRange = selectedRange.item(0); selectedRange.runtimeStyle.backgroundColor=sColor; selectedRange.style.backgroundColor=sColor; for(i=0; i"; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += "
"; sSizerHtml += ""; if(bInsertMode){ sSizerHtml += ""; sSizerHtml += txtMap["TXT_HTMLB_HED_TITLE_INS_TB"]; sSizerHtml += ""; }else{ sSizerHtml += ""; sSizerHtml += txtMap["TXT_HTMLB_HED_TITLE_MOD_TB"]; sSizerHtml += ""; } sSizerHtml += "
"; sSizerHtml += "
"; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; if(bInsertMode){ sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; } sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += "
 
"; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += "
"; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += "
"; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; if(bInsertMode){ sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; } sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += "
=0){ modWidthUnit=1; modWidth=table.width.substring(0, unitIndx); }else{ modWidthUnit=2; modWidth=table.width; } modCellSpace=table.cellSpacing; modCellPad=table.cellPadding; modBorder=table.border; switch(table.align){ case 'left': modAlign=1; break; case 'center': modAlign=2; break; case 'right': modAlign=3; break; default: modAlign=0; } if(!modSaved){//cancel modSaved=true; modWidthSaved=table.width; if(modWidthUnit==1)modWidthUnitSaved="%"; else modWidthUnitSaved=""; modCellSpaceSaved=modCellSpace; modCellPadSaved=modCellPad; modBorderSaved=modBorder; modAlignSaved=table.align; } } } sSizerHtml += modWidth; sSizerHtml += "\" id=\"htmlb_hed_width\" onChange=\"me.htmlb_hed_tablesizer_val(this);return false;\" onBlur=\"me.htmlb_hed_tablesizer_val(this);return false;\"> "; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += "
"; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += "
"; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += "
"; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += "
 
"; if(bInsertMode){ sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += txtMap["TXT_HTMLB_HED_OK"]; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += " "; sSizerHtml += ""; sSizerHtml += txtMap["TXT_HTMLB_HED_CANCEL"]; sSizerHtml += ""; sSizerHtml += "
"; }else{ sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += txtMap["TXT_HTMLB_HED_OK"]; sSizerHtml += ""; sSizerHtml += "
"; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += txtMap["TXT_HTMLB_HED_CANCEL"]; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += ""; sSizerHtml += txtMap["TXT_HTMLB_HED_APPLY"]; sSizerHtml += ""; sSizerHtml += "
"; } sSizerHtml += "
"; sSizerHtml += "
"; sSizerHtml += "
"; sSizerHtml += "
"; oTableSizer.innerHTML=sSizerHtml; return oTableSizer; } function htmlb_hed_tablesizer_val(input){ if (!input) return true; var obj = new Object; obj.id = input.id; obj.formelement = input; obj.getValue = _htmlbjsgetValue; obj.setValue = _htmlbjssetValue; obj.getChecked = _htmlbjsgetChecked; obj.getEnable = _htmlbjsgetEnable; obj.setEnable = _htmlbjssetEnable; obj.selectFocus = _htmlbjsselectfocus; obj.setErrorText = _htmlbInputFieldSetErrorText; if(!checkLength(obj,3)) e="Allowed maximal number of characters is 3"; else if(!checkInteger(obj,"P,","","")||input.value=="") e="Specify an integer value"; else e=null; obj.setErrorText(e); if (e){ input.className="urEdfiTxtEnbl"; return false; } else{ input.className="urEdfTxtEnbl"; return true; } } htmlb_hed_txt=new Array(); function htmlb_hed_addTexts(lang, texts) { if(htmlb_hed_txt[lang]) { for ( var i in texts) { if(!htmlb_hed_txt[lang][i]) { htmlb_hed_txt[lang][i] = texts[i]; } } } else { htmlb_hed_txt[lang] = texts; } } function htmlb_hed_specialChar_select(sId, specChar){ var editor = document.getElementById(sId); hidePopupMenu(); if (editor!=null){ editor.focus(); sel = editor.document.selection.createRange(); sel.pasteHTML(specChar); } } function htmlb_hed_makeSpecialCharDialog(sId){ var oSpecChar = document.getElementById("htmlb_hed_specChar_popup"); if (!oSpecChar) { var oBody = document.getElementsByTagName("BODY")[0]; var oSpecChar = document.createElement("SPAN"); oSpecChar.id="htmlb_hed_specChar_popup"; oSpecChar.style.position="absolute"; oSpecChar.style.left="-1999px"; oSpecChar.style.top="-1999px"; oBody.appendChild(oSpecChar); } var txtMap = htmlb_hed_txt[ur_language]; var sCharsHtml = ""; sCharsHtml += ""; sCharsHtml += ""; sCharsHtml += ""; var specials = new Array('¢','€','£','¥','¤','©','®','™','°',' ','—','§','¶','•','«','»','→','↔','⇒','⇔','±','≈','≠','≤','≥','×','·','¼','½','¾','∑','Δ','±','‰','⊗','∈'); for (i=0; i<6; i++){ sCharsHtml += ""; for (j=0; j<6; j++){ sCharsHtml += ""; } sCharsHtml += ""; } sCharsHtml += "
"; sCharsHtml += ""; sCharsHtml += ""; sCharsHtml += txtMap["TXT_HTMLB_HED_INS_SC"]; sCharsHtml += ""; sCharsHtml += "
"; sCharsHtml += ""; sCharsHtml += ""+specials[(i*6)+j]+""; sCharsHtml += ""; sCharsHtml += "
"; sCharsHtml += ""; sCharsHtml += ""; sCharsHtml += txtMap["TXT_HTMLB_HED_CANCEL"]; sCharsHtml += ""; sCharsHtml += "
"; sCharsHtml += "
"; oSpecChar.innerHTML=sCharsHtml; return oSpecChar; } function htmlb_hed_insertDateAndTime(editor) { editor.focus(); var d = new Date(); var dateString = sapCal_makeDateString(gDateformat, d.getUTCFullYear(), d.getMonth(), d.getDate()); dateString += " "; dateString += d.toLocaleTimeString(); sel=editor.document.selection.createRange(); sel.pasteHTML(dateString); } function _htmlbjsgetValue() { return this.formelement.value; } function _htmlbjssetValue(newvalue) { this.formelement.value=newvalue; } function _htmlbjsgetChecked() { return this.formelement.checked; } function _htmlbjssetChecked(newchecked) { this.formelement.checked=newchecked; if (this.formelement.className == 'urImgCbgCbx') sapUrMapi_CheckBox_setChecked(this.formelement.id,newchecked) } function _htmlbjsgetEnable () { return this.formelement.style.enable; } function _htmlbjssetEnable (enable) { this.formelement.style.enable=enable; } function _htmlbjsseterrortext (errortext) { if (errortext != null) sapUrMapi_InputField_setInvalid(this.id,true, errortext); else sapUrMapi_InputField_setInvalid(this.id,false, ""); } function _htmlbjsselectfocus() { input = document[this.formid][this.id]; if (input.select) input.select(); if (input.focus) input.focus(); } function _htmlbInputFieldSetErrorText (errortext) { if (errortext != null) sapUrMapi_InputField_setInvalid(this.id,true, errortext); else sapUrMapi_InputField_setInvalid(this.id,false, ""); } function htmlb_hed_showPrintPreview(id) { save(id); myId = id; var editor=document.getElementById(id + "htmlbeditor"); var screenSize=document.getElementById(id + "_SCREEN"); if(screenSize!=null){ var sw, sh, features; switch (screenSize.value){ /*400x300, 640x480, 800x600, 1024x768*/ case '1': sh=300;sw=400;break; case '2': sht=480;sw=640;break; case '3': sh=600;sw=800;break; case '4': sh=768;sw=1024;break; default: sh=600;sw=800; } features="resizable=yes,scrollbars=yes,width="+sw+",height="+sh; mywindow = window.open(document.getElementById('htmlbJavaScriptPath').value + 'prev_htmlbedit.html','_blank',features); }else{ mywindow = window.open(document.getElementById('htmlbJavaScriptPath').value + 'prev_htmlbedit.html','_blank','resizable=yes,scrollbars=yes'); } window.setTimeout("htmlb_hed_printpreview_setContent()",50); } function htmlb_hed_printpreview_setContent() { var x = document.getElementById(myId + "htmlbeditor"); if(x!=null) { try { mywindow.document.createStyleSheet(ur_system.stylepath+"ur_"+ur_system.browser_abbrev+".css"); var content = ''; content += x.innerHTML; content += '__Browser.ExecWB(7, 1);__Browser.outerHTML = "";'; mywindow.document.write(content); mywindow.document.close(); mywindow.close(); } catch(e) { } } } function checkLength(obj, maxlen) { var value = obj.getValue(); if (value != null) return (((maxlen == 0) || (value.length <= maxlen))); else return true; } function checkInteger(obj, numberchars, min, max) { var ok = true; var value = obj.getValue(); if (value == obj.savedValue) ok = obj.savedValResult; // cache for performance else if (value == "") ok = true; else if (value.search(/[A-Z]/) >= 0) ok = false; else { value = replace(value, numberchars.substr(0,1), "P"); // plus value = replace(value, numberchars.substr(1,1), "M"); // minus value = replace(value, numberchars.substr(2,1), "T"); // thousands value = replace(value, numberchars.substr(3,1), "D"); // decimal point or comma (not with integers) value = value.replace (/T\d\d\d/g, "X"); value = value.replace (/D\d*/, "Y"); ok = checkRegExp(value, "[PM]?\\d{1,}X*Y?"); if (ok) { // once we know the value is OK, normalize it to Javascript (so it can be used in other javascript code) and back value = obj.getValue(); value = replace (value, numberchars.substr(0,1), "+"); // remove plus value = replace(value, numberchars.substr(1,1), "-"); // minus value = replace(value, numberchars.substr(2,1), ""); // thousands value = replace(value, numberchars.substr(3,1), "."); // decimal point or comma //remove the 0's at the beginning while (value!=0 && value.indexOf('0')==0) value = value.substr(1, value.length); obj.savedNumber = parseInt (value); //if (value.indexOf("D") >= 0) // value = value.replace(/(\d)0*$/, "$1"); // kill trailing 0s (all but first in ,00..) in mantissa value = replace (value, "+", numberchars.substr(0,1)); // remove plus value = replace(value, "-", numberchars.substr(1,1)); // minus obj.setValue(value); } } //range check if (ok && min!='') ok = (parseInt(min)<=value); if (ok && max!='') ok = (parseInt(max)>=value); obj.savedValue = value; // cache value and result obj.savedValResult = ok; return ok; } function checkRegExp(value, pattern) { re = new RegExp (pattern); return (value == re.exec(value)); } function replace(value, s, t) { var i; // local declaration in order to avoid changing variable in callers context!!! if (s == "") return value; parts = value.split (s); s = parts[0]; for (i = 1; i < parts.length; ++i) s = s + t + parts[i]; return s; } function sapCal_makeDateString(pattern, vYear,vMonth,vDay){ var dateString = ""; var seperator; var i = 0; while (i <= pattern.length) { if (pattern.charAt(i) != "d" && pattern.charAt(i) != "M" && pattern.charAt(i) != "y") { seperator = pattern.charAt(i); i = pattern.length; } i++; } var patternArray = pattern.split(seperator); for (var j=0; j < patternArray.length; j++) { if (patternArray[j].indexOf("dd") >= 0) dateString+=sapCal_setZero(parseInt(vDay)); else if (patternArray[j].indexOf("d") >= 0) dateString+=parseInt(vDay); if (patternArray[j].indexOf("MM") >= 0) dateString+=sapCal_setZero(parseInt(vMonth)); else if (patternArray[j].indexOf("M") >= 0) dateString+=parseInt(vMonth); if (patternArray[j].indexOf("yy") >= 0) dateString+=vYear; if (j < 2) dateString+=seperator; } return dateString; }