/*** Freeware Open Source writen by ngoCanh 2002-05 */ /*** Original by Vietdev http://vietdev.sourceforge.net */ /*** Release 2002-11-02 R6.0 */ /*** GPL - Copyright protected */ /*********************************************************************/ /*** CONFIGURATION - HERE YOU CAN SET DEFAULT-VALUES ********************/ if(typeof(QBPATH)=="undefined") QBPATH='/javascript' if(typeof(SECURE)=="undefined") SECURE=1; //=0,1 if(typeof(VISUAL)=="undefined") VISUAL=1; //=0,1,2,3 see bottom of this file if(typeof(POPWIN)=="undefined") POPWIN=0; //=1,0 Rightclick Popup dialog for textarea if(typeof(DFFACE)=="undefined") DFFACE=''; // 'Arial'; // Default fontFamily of Editor if(typeof(DFSIZE)=="undefined") DFSIZE=''; // '14px'; // Default fontSize if(typeof(DCOLOR)=="undefined") DCOLOR=''; // 'blue'; // Default color if(typeof(DBGCOL)=="undefined") DBGCOL=''; // 'green'; // Default backgroundColor if(typeof(DBGIMG)=="undefined") DBGIMG=''; // Default URL-backgroundImage if(typeof(DCSS)=="undefined") DCSS=''; // 'test.css'; // Default-Stylesheet-URL if(typeof(SYMBOLE)=="undefined") SYMBOLE='' ; // Symbole for end-of-field in clipboard-chipcard. if(typeof(USETABLE)=="undefined") USETABLE=1; // Enable table editor if(typeof(USEFORM)=="undefined") USEFORM=1; // Enable form input if(typeof(RETURNNL)=="undefined") RETURNNL=1; // Return-Button= Newline; Shift+Return= New Paragraph if(typeof(FULLCTRL)=="undefined") FULLCTRL=1; //=0,1; 0=fast loading; 1=all control rows at bottom of Edi. /*********************** END CONFIGURATION ****************************/ var fID; //*** IFRAME ID var TXTOBJ=null; //*** TEXT Obj var format=new Array(); var viewm=new Array(); var FACE= new Array(); var SIZE= new Array(); var COLOR= new Array(); var BCOLOR= new Array(); var BIMAGE= new Array(); var CSS= new Array(); var FWORD, FLAGS=0; document.onmousedown=doMDown document.onmouseup= doMUp document.onkeydown=doKDown function changetoIframeEditor(el) { if(navigator.platform!="Win32") return null; var wi= '', hi= ''; if(el.style.height) hi= el.style.height else if(el.rows) hi= (14*el.rows+28) if(el.style.width) wi= el.style.width else if(el.cols) wi= (6*el.cols +25) var parent= el.parentElement while(parent.tagName != 'FORM') parent= parent.parentElement var oform= parent var fidx=0; while(document.forms[fidx] != oform) fidx++ ; // form index var val='', fID; if(el.tagName=='TEXTAREA' || el.tagName=='INPUT'){ fID= fidx+'VDevID'+el.name; val= el.innerText } else fID= fidx+'VDevID'+el.id var strx = createEditor(fID,wi,hi); el.outerHTML= strx iEditor(fID) if(el.tagName!='TEXTAREA' && el.tagName!='INPUT') return val= val.replace(/\r/g,""); val= val.replace(/\n/i ; if( reg.test(val) ) { val= val.replace(/\n/g, " "); val= val.replace(/\t/g, " "); } val= val.replace(/\n/g, "
"); val= val.replace(/\t/g, "     "); val= val.replace(/\\/g, "\"); val= val.replace(/\'/g, "'"); if(val && val.indexOf('ViEtDeVdIvId')>=0) val= initDefaultOptions1(val,fID) else initDefaultOptions0(fID) setTimeout("document.frames['"+fID+"'].document.body.innerHTML='"+val+"'",200) oform[fID.split('VDevID')[1]].value= val TXTOBJ= null return true; } function doMDown() { var el=event.srcElement if( el.type=='text' || el.type=='textarea') { TXTOBJ=el; fID='' if(event.button==2 && POPWIN==1) formatDialog() } } function doFormat(arr,caret) { var wrd=TXTOBJ.curword.text var cmd = new Array(); cmd = arr.split(',') if(!cmd[0] || cmd[0]=='Swap[Text/HTML]' || cmd[0]=='Swap[Uni/View]' ) return if(cmd[0]=='SelectAll') { TXTOBJ.focus(); TXTOBJ.select(); return } if(cmd[0]=='Cut') { caret.execCommand("Cut"); return } if(cmd[0]=='Copy') { caret.execCommand("Copy"); return } if(cmd[0]=='Paste') { caret.execCommand("Paste"); return } TXTOBJ.curword=caret.duplicate(); TXTOBJ.curword.text= cmd[0]+wrd+cmd[1] } function FMDown() { var el=document.frames[fID]; var el = el.event.srcElement if(USETABLE) doClick(el) } // init all found TEXTAREA in document function changeAllTextareaToEditors() { var i=0; while(document.all.tags('textarea')[i]) { if(!changetoIframeEditor(document.all.tags('textarea')[i])) break; if(++i>0 && !document.all.tags('textarea')[i] ) i=0; } } // init all found IFRAME in document to Editable function changeAllIframeToEditors() { var i=0; while(document.all.tags('iframe')[i]) { if(!changetoIframeEditor(document.all.tags('iframe')[i])) break; i++ } } // init only IFRAMEs that have "id=argument of initEditors" // e.g. changeIframeToEditor('id1','id2',...) function changeIframeToEditor() { for(var j=0;j\ Left\ Center\ Right\ Outdent\ Indent\ Italic\ Underline\ StrikeThrough\ SuperScript\ SubScript\ Background\ Foreground\ Insert Image\ Create Link\ Del Link\ OrderedList\ UnorderedList\ SelectAll\ Cut\ Copy\ Paste\ Content Recover/Insert-Smartcard-Data\ " if(FULLCTRL) { str += "\ \ \ InsertTable\ TableProperties\ CellProperties\ InsertCell\ DeleteCell\ InsertRow\ DeleteRow\ InsertCol\ DeleteCol\ IncreaseColSpan\ DecreaseColSpan\ IncreaseRowSpan\ DecreaseRowSpan\ CreateDiv/DivStyle\ DivBorder\ DivFilter\ Emotions\ Characters\ HR\ Pre-Block\ Del Pre-Block\ Marquee\ Delete Format\ Undo\ Redo\ Search/Replace\ Open/Save File\ \ "; } str += "\ \ \ \ " USEFORM=1; if(USEFORM==1) { str += "\ "; } str += "\ \ \ " if(FULLCTRL) { str += "\ \ \ \ \ "; } else { str += "" } str += "" var iurl= QBPATH + '/imgedit' var event= "onmousedown='fID=\"" + fid +"\"'" str = str.replace(/IURL/g, iurl); str = str.replace(/EVENT/g, event); return str ; } function createEditor(id,wi,hi) { if( parseInt(wi) <630) wi=630; var strx = "" var idA= id.split('VDevID') strx += "" var str="" str += controlRows(id); str += "
" str += strx + "
" ; return str ; } function doFormatF(arr) { var el=document.frames[fID]; if(!el){alert('Please click to select the editor');return} el.focus() var cmd = new Array(); cmd = arr.split(',') if(cmd[0]=='SelectAll') selectAll(); else if(cmd[0]=='Swap[Text/HTML]') swapMode(); else if(cmd[0]=='Swap[Uni/View]') swapView(); else if(cmd[0]=='InsertTable') insertTable(); else if(cmd[0]=='TablePropeties') tableProp(); else if(cmd[0]=='CellPropeties') cellProp(); else if(cmd[0]=='InsertLayer') insertDivLayer(); else if(cmd[0]=='EditLayerBorder') editDivBorder(); else if(cmd[0]=='EditLayerFilter') editDivFilter(); else if(cmd[0]=='Emotions') editEmotions(cmd[1],el); else if(cmd[0]=='InsertLayer') insertDivLayer(); else { var edit=el.document; if(cmd[0]=='formatBlock') { edit.execCommand(cmd[0],false,"<"+cmd[1]+">"); if(cmd[1]=='PRE' && format[fID]=="HTML") swapMode(); } else if(cmd[0]=='InsertImage' && !cmd[1] ) { alert('Please notice:\nThe "Picture Source" in following Dialog must be a URL, not a local address.'); edit.execCommand(cmd[0],true,"") } else if(cmd[1]!=null) edit.execCommand(cmd[0],false,cmd[1]) else edit.execCommand(cmd[0],false) } } function editEmotions(wrd,obj) { var caret=obj.document.selection.createRange(); obj.curword=caret.duplicate(); obj.curword.text= wrd + ' ' } function swapView() { var el=document.frames[fID]; if(!el){alert('Please click to select the editor');return} el.focus() var eStyle= el.document.body.style; var strx; if(format[fID]=="HTML") { FACE[fID]= eStyle.fontFamily SIZE[fID]= eStyle.fontSize COLOR[fID]= eStyle.color BCOLOR[fID]= eStyle.backgroundColor BIMAGE[fID]= eStyle.backgroundImage BIMAGE[fID]= BIMAGE[fID].substring( BIMAGE[fID].indexOf('(')+1,BIMAGE[fID].indexOf(')') ) eStyle.fontFamily=""; eStyle.fontSize="12pt" eStyle.fontStyle="normal" eStyle.color="black" eStyle.backgroundColor="#e0e0f0" eStyle.backgroundImage='' strx=el.document.body.innerHTML format[fID]="Text" } else { strx=el.document.body.innerText } if(viewm[fID]) strx=toUnicode(strx) else strx=viewISOCode(strx) el.document.body.innerText=strx viewm[fID]=1 - viewm[fID] } function swapMode() { var el=document.frames[fID]; if(!el){alert('Please click to select the editor');return} el.focus() var MARK= "ViEtDeVtRiCk" var selType=el.document.selection.type if(selType!="Control") { var caret=el.document.selection.createRange(); el.curword=caret.duplicate(); var selwrd= el.curword.text el.curword.text = selwrd + MARK; } var eStyle= el.document.body.style if(format[fID]=="HTML") { FACE[fID]= eStyle.fontFamily SIZE[fID]= eStyle.fontSize COLOR[fID]= eStyle.color BCOLOR[fID]= eStyle.backgroundColor BIMAGE[fID]= eStyle.backgroundImage BIMAGE[fID]= BIMAGE[fID].substring( BIMAGE[fID].indexOf('(')+1,BIMAGE[fID].indexOf(')') ) eStyle.fontFamily=""; eStyle.fontSize="12pt" eStyle.fontStyle="normal" eStyle.color="black" eStyle.backgroundColor="#e0e0f0" eStyle.backgroundImage='' el.document.body.innerText= el.document.body.innerHTML format[fID]="Text" } else { eStyle.fontFamily= FACE[fID] eStyle.fontSize= SIZE[fID] eStyle.color= COLOR[fID] eStyle.backgroundColor= BCOLOR[fID] eStyle.backgroundImage= "url(" + BIMAGE[fID] + ")" el.document.body.innerHTML= el.document.body.innerText format[fID]="HTML" viewm[fID]=1 } if(selType!="Control") { caret = el.document.selection.createRange(); var found= caret.findText(MARK,100000,5) // backward if(found==false) found= caret.findText(MARK,100000,4) // foreward if(found==false && format[fID]=="HTML") { var strx= el.document.body.innerHTML strx= strx.replace(/ViEtDeVtRiCk/ig,""); el.document.body.innerHTML= strx return; } caret.select(); el.curword=caret.duplicate(); el.curword.text = '' ; // erase trick selection if(selwrd!="") caret.findText(selwrd,100000,5); // real selection caret.select(); caret.scrollIntoView(); } } function selectAll() { var el=document.frames[fID]; if(!el){alert('Please click to select the editor');return} el.focus() var s=el.document.body.createTextRange() s.execCommand('SelectAll') } function doFormatDialog(file,cmd,arg) { var urlx= QBPATH + '/' + file var el=document.frames[fID]; if(!el){alert('Please click to select the editor');return} var arr=showModalDialog(urlx, arg, "font-family:Verdana;font-size:12;dialogWidth:30em;dialogHeight:30em; edge:sunken;help:no;status:no"); if(arr !=null) doFormatF(cmd+','+arr) } function selectEmoticon() { doFormatDialog('emoticon.html','InsertImage',QBPATH) } function selectBgColor() { doFormatDialog('selcolor.html','BackColor','') } function selectFgColor() { doFormatDialog('selcolor.html','ForeColor','') } function characters() { var el=document.frames[fID]; if(!el){alert('Please click to select the editor');return} el.focus(); var sel = el.document.selection; if(sel.type=="Control") return var urlx= QBPATH + '/selchar.html' var arr=showModalDialog(urlx, '', "font-family:Verdana;font-size:12;dialogWidth:30em;dialogHeight:34em; edge:sunken;help:no;status:no"); if(arr==null) return var arrA = arr.split(';QuIcKbUiLd;') var strx= "" + arrA[1] + "" var Range = sel.createRange(); if(!Range.duplicate) return; Range.pasteHTML(strx); } function doUploadFile() { var el=document.frames[fID]; if(!el){alert('Please click to select the editor');return} el.focus() var urlx= QBPATH + '/upload.html' var twidth= 0.8*screen.width, theight=190; var tposx= (screen.width- twidth)/2 var tposy= screen.height- theight - 55 var newWin1=window.open(urlx,"upload","toolbar=no,width="+ twidth+",height="+ theight+ ",directories=no,status=no,scrollbars=yes,resizable=no, menubar=no") newWin1.moveTo(tposx,tposy); newWin1.focus() } function doEditorOptions() { var el=document.frames[fID]; if(!el){alert('Please click to select the editor');return} el.focus() var urlx= QBPATH + '/options.html' var twidth= 0.8*screen.width, theight=190; var tposx= (screen.width- twidth)/2 var tposy= screen.height- theight - 55 var newWin1=window.open(urlx,"options","toolbar=no,width="+ twidth+",height="+ theight+ ",directories=no,status=no,scrollbars=yes,resizable=no, menubar=no") newWin1.moveTo(tposx,tposy); newWin1.focus() } function displayHelp() { var urlx= './edithelp.html' var newWin=window.open(urlx,"help","toolbar=no, width=600px,height=400px,directories=no,status=no,scrollbars=yes,resizable=yes,menubar=no;scroll=no") newWin.focus() } function doExtras() { var el=document.frames[fID]; if(!el){alert('Please click to select the editor');return} el.focus() var urlx= QBPATH + '/extras.html' var twidth=400, theight=20; var tposx= (screen.width- twidth)/2 var tposy= screen.height- theight - 155 var newWin1=window.open(urlx,"extras","toolbar=no,width="+ twidth+",height="+ theight+ ",directories=no,status=no,scrollbars=yes,resizable=no, menubar=no") newWin1.moveTo(tposx,tposy); newWin1.focus() } function insertLink(linkurl) { var el=document.frames[fID]; if(!el && !TXTOBJ){alert('Please click a text element');return} if( el ) { el.focus(); var sel = el.document.selection; var strx= "" + linkurl + "" var Range = sel.createRange(); if(!Range.duplicate) return; Range.pasteHTML(strx); } else { TXTOBJ.focus(); var caret= TXTOBJ.document.selection.createRange() TXTOBJ.curword=caret.duplicate(); var strx= "" + linkurl + "," doFormat(strx,caret) } } function insertDivLayer() { var el=document.frames[fID]; if(!el){alert('Please click to select the editor');return} el.focus() var sel = el.document.selection; if (sel==null) return var Range = sel.createRange(); var wrd='' ; if(sel.type!="Control") { if(!Range.duplicate) return; el.curword=Range.duplicate(); wrd= el.curword.text; if(wrd=='') wrd="I'm a DIV-Layer. Select me and click the button once more to change properties. Or doubleclick me to change the text." var arr= "
"+ wrd + "
" ; Range.pasteHTML(arr); return } if(Range(0).tagName!='DIV') return var urlx= QBPATH + '/divstyle.html' var twidth= 0.8*screen.width, theight=190; var tposx= (screen.width- twidth)/2 var tposy= screen.height- theight - 55 var newWin1=window.open(urlx,"divstyle","toolbar=no,width="+ twidth+",height="+ theight+ ",directories=no,status=no,scrollbars=yes,resizable=no, menubar=no") newWin1.moveTo(tposx,tposy); newWin1.focus() } function editDivBorder() { var el=document.frames[fID]; if(!el){alert('Please click to select the editor');return} el.focus() var sel = el.document.selection; if (sel==null || sel.type!='Control') {alert('Please click once to select a div-layer');return} var Range = sel.createRange(); if(Range(0).tagName!='DIV') return var urlx= QBPATH + '/divborder.html' var twidth= 0.8*screen.width, theight=215; var tposx= (screen.width- twidth)/2 var tposy= screen.height- theight - 55 var newWin1=window.open(urlx,"divborder","toolbar=no,width="+ twidth+",height="+ theight+ ",directories=no,status=no,scrollbars=yes,resizable=no, menubar=no") newWin1.moveTo(tposx,tposy); newWin1.focus() } function editDivFilter() { var el=document.frames[fID]; if(!el){alert('Please click to select the editor');return} el.focus() var sel = el.document.selection; if (sel==null || sel.type!='Control') {alert('Please click once to select a div-layer');return} var Range = sel.createRange(); if(Range(0).tagName!='DIV') return var urlx= QBPATH + '/divfilter.html' var twidth= 0.8*screen.width, theight=210; var tposx= (screen.width- twidth)/2 var tposy= screen.height- theight - 55 var newWin1=window.open(urlx,"divfilter","toolbar=no,width="+ twidth+",height="+ theight+ ",directories=no,status=no,scrollbars=yes,resizable=no, menubar=no") newWin1.moveTo(tposx,tposy); newWin1.focus() } function findTextHotKey(forward) { if(!fID && !TXTOBJ){alert('Please click to select the editor');return} if(fID) el= document.frames[fID] else el= TXTOBJ el.focus(); var rng = el.document.selection.createRange(); el.curword=rng.duplicate(); if(!FWORD && !el.curword.text ){ alert('No find string definition'); return } else if(el.curword.text)FWORD= el.curword.text if(el.curword.text) { if(forward==1) rng.moveEnd("character", -1 ); else rng.moveStart("character", 1); } if(rng.findText(FWORD,100000,FLAGS+forward)==true) { rng.select(); rng.scrollIntoView(); return } alert("Finish") return } function highLight(key) { function doDefFormat() { var el= document.frames[fID] el.focus(); var rng = el.document.selection.createRange(); rng.moveEnd("character", 1); rng.select(); el.curword=rng.duplicate(); if(el.curword.text=='') doFormatF('RemoveFormat'); else { rng.moveEnd("character", -1); rng.select(); doFormatF('ForeColor,'); doFormatF('BackColor,'); } } switch(key) { case 48: doDefFormat(); break; // ctrl+0 no highlight case 49: doFormatF('ForeColor,red'); break; // ctrl+1 case 50: doFormatF('ForeColor,green'); break; // ctrl+2 case 51: doFormatF('ForeColor,blue'); break; // ctrl+3 case 52: doFormatF('ForeColor,#00AAFF'); break; // ctrl+4 case 53: doFormatF('ForeColor,magenta'); break; // ctrl+5 case 54: doFormatF('BackColor,yellow'); doFormatF('ForeColor,black'); break; // ctrl+6 case 55: doFormatF('BackColor,cyan'); doFormatF('ForeColor,black'); break; // ctrl+7 case 56: doFormatF('BackColor,#00FF00'); doFormatF('ForeColor,black'); break; // ctrl+8 case 57: doFormatF('BackColor,#FF00AA'); doFormatF('ForeColor,white'); break; // ctrl+9 } } function FileDialog() { var urlx= QBPATH + '/filedialog.html' var twidth= 0.5*screen.width, theight=100; var tposx= (screen.width- twidth)/2 var tposy= screen.height- theight - 55 var newWin1=window.open(urlx,"fdialog","toolbar=no,width="+ twidth+",height="+ theight+ ",directories=no,status=no,scrollbars=yes,resizable=no, menubar=no") newWin1.moveTo(tposx,tposy); newWin1.focus() } function initDefaultOptions0(fID) { setTimeout("document.frames['"+fID+"'].document.body.style.fontFamily='"+DFFACE+"'",200) setTimeout("document.frames['"+fID+"'].document.body.style.fontSize='"+DFSIZE+"'",200) setTimeout("document.frames['"+fID+"'].document.body.style.color='"+DCOLOR+"'",200) setTimeout("document.frames['"+fID+"'].document.body.style.backgroundColor='"+DBGCOL+"'",200) setTimeout("document.frames['"+fID+"'].document.body.style.backgroundImage='url("+DBGIMG+")'",200) setTimeout("CSS['"+fID+"']=document.frames['"+fID+"'].document.createStyleSheet('"+DCSS+"')",200) FACE[fID]= DFFACE; SIZE[fID]= DFSIZE; COLOR[fID]= DCOLOR; BCOLOR[fID]= DBGCOL; BIMAGE[fID]= DBGIMG; } function DefaultOptions(linex) { var retArr= new Array('','','','','','',''); var tempx, strx, objx, idx ; // DEFAULT DIV var idx= linex.indexOf('ViEtDeVdIvId') if(idx>=0) { strx= linex.substring(linex.indexOf('ViEtDeVdIvId style="')+20,linex.indexOf('">')) var atrA= strx.split("; ") for(var i=0; i')+1,linex.lastIndexOf('')) } // EXT STYLE idx= linex.indexOf(''; var defdiv="" ; if(FACE[fid]) defdiv += "; FONT-FAMILY:"+ FACE[fid] if(SIZE[fid]) defdiv += "; FONT-SIZE:"+ SIZE[fid] if(COLOR[fid]) defdiv += "; COLOR:"+ COLOR[fid] if(BCOLOR[fid])defdiv += "; BACKGROUND-COLOR:"+ BCOLOR[fid] if(BIMAGE[fid]) { BIMAGE[fid]= BIMAGE[fid].replace(/\\/g,"/"); defdiv += "; BACKGROUND-IMAGE:url("+ BIMAGE[fid]+")" } if(defdiv) { defdiv = '
' strx = defdiv + strx + "
" } return strx } function formatDialog() { TXTOBJ.focus(); var caret=TXTOBJ.document.selection.createRange() TXTOBJ.curword=caret.duplicate(); var y = screen.height -parseInt('27em')*14 - 30 var feature = "font-family:Arial;font-size:10pt;dialogWidth:30em;dialogHeight:27em;dialogTop:"+y feature+= ";edge:sunken;help:no;status:no" var dialog= QBPATH+'/dialog.html' var arr= showModalDialog(dialog, "", feature); if(arr==null) return ; if(arr=='VISUAL')changetoIframeEditor(TXTOBJ); else doFormat(arr,caret) } if(USETABLE) document.writeln(''); if(RETURNNL) document.writeln(''); document.writeln(''); // VISUAL=0 : Textarea to Editor after confirmation // VISUAL=1 : all Textarea to Editor // VISUAL=2 : change only specific textarea // VISUAL=3 : all Iframe to Editor // VISUAL=4 : some specific iframes // VISUAL=other : no Visual-Editor, only use Rightmouse-Control switch(VISUAL) { case 1: changeAllTextareaToEditors(); break; case 2: changetoIframeEditor(document.forms[xxx].yyy); break; case 3: changeAllIframeToEditors(); break;// please replace xxx=formIndex and yyy=textareaName case 4: changeIframeToEditor('contents1','contents'); break;//please replace contents.. = fid } //*************************************************************/ /********************* not the same *************************/ function doMUp() { var el=event.srcElement if(!el.type) return if(el.type!='text'&&el.type!='textarea'&&el.type!='password'&&el.type!='file') { if(!el.name || el.name.substring(0,7)!='QBCNTRL') { actualize(); if(el.type != 'select-one' && el.type != 'select-multiple') el.focus(); } return } var visual='' if(typeof(ASKED)=="undefined" && el.type=='textarea' && VISUAL==0) { visual=confirm("Use Visual Mode ?"); if(!visual) ASKED=1; } if(visual) changetoIframeEditor(el); } function doKDown() { var ctrl= event.ctrlKey if(!ctrl) return; var el=event.srcElement if(el.type!='text' && el.type!='textarea') return TXTOBJ=el; fID=''; var key= event.keyCode if(ctrl && key==71) { findText(); return false } // ctrl+G search else if(ctrl && key==75){ findTextHotKey(0); return false } // ctrl+K search forward else if(ctrl && key==74){ findTextHotKey(1); return false } // ctrl+J search backward else if(ctrl && key==83 && SYMBOLE!=''){ SmartcardData(); return false } // ctrl+S content rewrite } function iEditor(idF) { var obj=document.frames[idF] obj.document.designMode="On" obj.document.onmousedown= function(){ TXTOBJ=null; fID=idF; FMDown();} obj.document.onkeydown=FKDown format[idF]='HTML' viewm[idF]=1; } function FKDown() { var el=document.frames[fID]; if(!el||!el.event){alert('Please click to select the editor');return} var key=el.event.keyCode var shft= el.event.shiftKey var ctrl= el.event.ctrlKey var alt = el.event.altKey if(RETURNNL && !shft && key==13){ insertNewline(el); return false } else if(RETURNNL && key==13){ insertNewParagraph(el); return false } if(alt) return if(ctrl && key==71) { findText(); return false } // ctrl+G search else if(ctrl && key==75){ findTextHotKey(0); return false } // ctrl+K search forward else if(ctrl && key==74){ findTextHotKey(1); return false } // ctrl+J search backward else if(ctrl && key==83 && SYMBOLE!=''){ SmartcardData(); return false } // ctrl+S content rewrite else if(ctrl && key==84){ swapMode(); return false } // ctrl+T swapMode else if(ctrl && key==84){ swapMode(); return false } // ctrl+T swapMode else if(ctrl && (key>=48 && key<=57)){ highLight(key); return false } // ctrl+1 Highlight } function findText() { if(!fID && !TXTOBJ){alert('Please click to select the editor');return} if(fID) document.frames[fID].focus() else TXTOBJ.focus() var urlx= QBPATH + '/dfindtext.html' var newWin=window.open(urlx,"find","toolbar=no, width=350px,height=220px,directories=no,status=no,scrollbars=yes,resizable=yes,menubar=no;scroll=no") newWin.moveTo(screen.width-500,50); newWin.focus() }