Phiên bản đầy đủ: jsB@nk » Ứng dụng » Công cụ xuất » Trình tạo bảng tính
URL: https://www.javascriptbank.com/work-sheet-editor.html
Một chương trình cao cấp tạo một bảng tính tương tự Excel với các câu lệnh đơn giản. Chương trình này có cả phần trợ giúp rất chi tiết. Tuy nhiên giao diện hoàn toàn là tiếng Pháp.
Phiên bản đầy đủ: jsB@nk » Ứng dụng » Công cụ xuất » Trình tạo bảng tính
URL: https://www.javascriptbank.com/work-sheet-editor.html
<STYLE id=appStyle></STYLE><STYLE id=docStyle></STYLE><!-- This script downloaded from www.JavaScriptBank.com Come to view and download over 2000+ free javascript at www.JavaScriptBank.com-->
<SCRIPT>//THISISTHEDATASTARTvar eTblName="new eTablor";var fontSiz=12;myTblSize=new Array(12,6);ColWidth=new Array(41,248,40,52,77,90);RowHeight=new Array(18,18,18,18,15,18,18,18,18,18);GVrow=new Array();sty=new Array();sty1=",,,,12,center,red,,0000";sty2=",bold,,,12,center,blue,cyan,0001";sty3=",,,,12,center,,,0000";sty4=",bold,,,12,right,,,0000";sty5=",,,,12,right,,,0000";sty6="Arial,,,,,,,,0000";sty7=",,,,,,blue,orange,0000";GVrow[1] = new Array("A1|sty2|N°|","B1|sty2|Designation|00","C1|sty2|U.|","D1|sty2|Quant.|","E1|sty2|U.P|00","F1|sty2|Total|");GVrow[2] = new Array("A2|sty1|1|10","B2|sty4|Caniveau à 2 revers, 4 rives, pavés ordinaires|10","C2|sty1|ml|10","D2|sty3|2500|01","E2|sty5|25|20","F2|sty3|=D2+E2|00");GVrow[3] = new Array("A3|sty1|2|10","B3|sty6|Joints compris dégarnissage, lissés à la spatule|10","C3|sty1|ml|10","D3|sty3|125|01","E3|sty5|52|20","F3|sty3|=D3*E3|00");GVrow[4] = new Array("A4|sty1|3|10","B4|sty7|Pavés sur forme de sable de 0.10m, joints mortier|10","C4|sty1|m2|10","D4|sty3|456|01","E4|sty5|120|20","F4|sty3|=E4*D4|00");//FileStartvar aStyle=document.styleSheets[0]; oStyle=document.styleSheets[1]; var borderColor='silver'; oStyle.addRule(".sty0" ,"border-left:1 solid white;border-top:1 solid white;border-right:1 solid '+borderColor+';border-bottom:1 solid '+borderColor+';"); sty0=",,,,"+fontSiz+",,red,,0000";with(aStyle){ addRule(".tcell","border-left:1 solid white;border-top:1 solid white;border-right:1 solid borderColor;border-bottom:1 solid borderColor;");addRule("BODY","overflow: hidden");addRule("#menu","position: absolute; cursor: default;top:-1;left:0;background:silver; border: 1 solid buttonface");addRule("#menu .menu","position: absolute; background: silver; border: 2 outset buttonhighlight; ");addRule("#menu TD","font: menu; height: 16");addRule("#menu .root","border: 1 solid buttonface;height: 20; padding: 1; margin: 5");addRule("#menu .disabled ","color: buttonshadow");addRule("#menu .more","font-family: webdings; width: 20; text-align: right");addRule("#handleTB ","position:relative;border-left: 1 solid buttonhighlight;border-right: 1 solid buttonshadow;border-top: 1 solid buttonhighlight;border-bottom: 1 solid buttonshadow;padding: 0;margin: 0;width: 3;height:18;cursor: move;");addRule("#tbar","cursor: default; position: absolute; background:silver; border: 0;height: 20; width: 100%; padding: 0px;overflow: hidden");addRule("#ODiv","position:absolute;overflow:hidden;height:90%; width:100%;background-color:'white';border: 1 inset white;padding:0px;margin: 0;font: 10pt Verdana, arial, geneva, sans-serif;overflow:hidden;z-index: -1;"); addRule("input","font-family:Arial;font-size:8pt"); addRule("select","font-family:Arial;font-size:8pt"); addRule("td","font-family:Arial;font-size:8pt"); addRule("th","font-family:Arial;font-size:8pt"); addRule(".coolButton","position:relative;border: 1 solid buttonface; padding: 1px; text-align: center; cursor: default;width: 20; height: 18; margin: 0px;font:10pt"); addRule(".diaWinstyle","position:absolute;font-family:Arial;border-style: outset;border-width:2px ;z-index:500;visibility:hidden;background-color:silver "); addRule(".diaWinHead","position:absolute;top:0;left:0;width:100%;font-size:8pt;padding:2;color:white;background-color:highlight"); addRule(".ico","position:relative"); addRule(".highlight","background:highlight;color:white;cursor:hand");addRule(".menuloc","position: absolute; background:silver; border: 2 outset buttonhighlight;cursor:hand");addRule(".oFrame","position:absolute;visibility:'hidden';z-index:510"); addRule(".p","font-family:Arial;font-size:8pt");addRule(".tabl","position:absolute;border: 1 solid buttonface;overflow:hidden");addRule(".thead","align:center;cursor:hand;background-color:GAINSBORO;border-left:1 solid white;border-top:1 solid white;border-right:1 solid buttonshadow;border-bottom:1 solid buttonshadow;"); addRule(".sepTB","border-left: 1 solid buttonhighlight;border-right: 1 solid buttonshadow;border-top: 1 solid buttonhighlight;border-bottom: 1 solid buttonshadow;padding: 0;margin: 0;width: 2;height:18");addRule(".tborder","border:1 solid black;border-bottom:1 solid black");addRule(".selected","background:lightcyan ; filter:alpha(opacity=90);border-right:1 solid silver;border-bottom:1 solid silver;");addRule(".selectar","background:highlight ;color:white; filter:alpha(opacity=90);border-right:1 solid silver;border-bottom:1 solid silver;"); }//----------------application variables---------------------var activeMenu = null;var tbarPos = "top"; var errorInSetup = false; var dragging= false; var borderColor1;var DockHeight=22;var snapVSize= 22;var NS = (navigator.appName == "Netscape"); var VERSION = parseInt(navigator.appVersion); var ie5 = (document.getElementsByTagName != null); var dUS=document.cookie.charAt(document.cookie.length-1);var GVurl,newURL;alphabet='ABCDEFGHIJKLMNOPQRSTUVWXYZ'; var Row,Col,Row1,Col1,Row2,Col2,oEl,selCell,copy,copyF,coun; var colresize=false;var rowresize=false;var getInput=false; var seldrag=false ;var selcalc=false;var celldrag=false ;var clickCell=falsemyTbl = new Array();dCell=new Array(); vCell=new Array();myTbl[0]=new Array();docStyles=new Array();for (j=0;j<myTblSize[1];j++) myTbl[0][j]=alphabet.charAt(j)titres=myTbl[0]; var Tlength=(myTblSize[0]+1);var Twidth=myTblSize[1];var dir = 6;StCell=new Array();ClCell=new Array(); FormatCell=new Array(); fontsize=new Array(7,8,9,10,11,12,14,18,24,36,48);var decimal=2; var IpCell=false; fontfamil=new Array("Arial","Courier","Helvetica","Symbol","Times New Roman","Verdana","Webdings","Western","Wingdings") MathObj=new Array('abs','acos','asin','atan','ceil','cos','exp','floor','log','max','min','pow','random','round','sin','sqrt','tan')Categ=new Array("Nombre","Texte","Monétaire","Date");Typ0=new Array("Number","Integer");Typ1=new Array("Text");Typ2= new Array("Euro","Franc","Dollar");Typ3=new Array("dd/mm/yyyy");Men1= new Array("Fichier","Nouveau","Ouvrir","Sauvegarder","Sauvegarder comme...","Imprimer","Sauvegarder les données","Importer des données","Voir les données en cache","Envoyer au serveur","Télécharger","Poster","Fermer")Men2=new Array("Edition","Couper","Copier","Coller","Ajouter des colonnes","Effacer des colonnes","Ajouter des lignes","Effacer les lignes","Indenter","Désindenter","Recopier vers le bas","Recopier à droite","Montrer/cacher les lignes","Coller une fonction","Précédente","Reprendre","Lignes et Colonnes")Men3=new Array("Format","Nombre","Chaine de caractères","Dates","Trier","Options d'affichage...","Format de cellule...","Grouper ligne de cellules","Dégrouper la cellule")Men4= new Array("Site Web eTablor","Forum","Aide","Extensions dynamiques","A propos de.. ")Men5=new Array("Nouveau","Ouvrir","Sauvegarder","Envoyer par Email","Gras","Italique","Souligné","Bordures","Options d'affichage","Forum eTablor","Info-aide","Confirmer la valeur","Enlever la valeur","Gauche","Centre","Droit","Additionner des cellules","Confirmer","Effacer","Couleur de police","Couleur du fond")Menloc=new Array("Couper","Copier","Coller"); Dia1=new Array("Nouveau eTablor","Démarrer un nouveau eTablor", "Nom","Colonnes","Lignes","Taille des caractères","Oui","Non")Dia2=new Array("Envoyer au serveur ...","Vous devez vous connecter à un dossier enregistré","sur un serveur tel que "," pour pouvoir envoyer un fichier.","Enregistrer un fichier","Fichier:","Votre nom:","MotdePasse:","Utilisateur serveur eTablor","Changer email-MotdePasse")Dia3=new Array("Télécharger un fichier...","Recevoir un dossier eTablor...","Etes vous sûr de vouloir recevoir un nouveau fichier de données?","Fichier:","Dossier:","Utilisateur","Motde Passe","Confirmer","Annuler")Dia4=new Array("Poster un fichier eTablor","De:","A:","Sujet:","Joint:","Données seules (fichier GVM)","(Fichier complet HTML)","HTM Français","Message:") Dia5=new Array("Information cellule...","Catégorie","Type","Hauteur","Largeur","Nom du style:","Fonte:","Type:","Style:","Décoration:","Taille:","Alignement:","Couleur:","Couleur du fond:","Bordure gauche:","Bordure haut:","Bordure droit:","Bordure bas:"); Dia6=new Array("Options d'Affichage...","Barre de formule","Quadrillage","Formules","Nombre de décimales","Valeurs zero","Automatique","Manuel"); Dia7=new Array("A propos de eTablor","Applicatif autonome <br>pour Internet Explorer 5.0", "(DemoV01- 01/05/2001) - par") Dia8=new Array("Ouvrir/Sauvegarder un fichier...","Nom","Type","Tous les fichiers","Taille","Modifié","Entrez une adresse ftp sous la forme \"ftp://eplanning:[email protected]\""); Dia9=new Array("Coller une fonction...","Selectionner") ts2="Fermer"; ti05="Envoyer"; ti18="Plus à propos du serveur"; al01="Sauvegarder les changements avant d'ouvrir un nouveau fichier?"; al02="Import/Export des fichiers excel 2000 htm non implémenté à ce stade"; al03="Vous devez sélectionner une cellule"; al04="Cette adresse Email est incorrecte"; al05="Le fichier sélectionné doit avoir un attribut 'etbl' "; tagsCells=new Array('Caractéristiques','Style','',''); tagsDspOpt=new Array('Affichage','Calculs','','');RGB = new Array( "#F0F8FF","#FAEBD7","#00FFFF","#7FFFD4","#F0FFFF","#F5F5DC","#FFE4C4","#000000","#FFEBCD","#0000FF","#8A2BE2","#A52A2A", "#DEB887","#5F9EA0","#7FFF00","#D2691E","#FF7F50","#6495ED","#FFF8DC","#DC143C","#00FFFF","#00008B","#008B8B","#B8860B", "#A9A9A9","#006400","#BDB76B","#8B008B","#556B2F","#FF8C00","#9932CC","#8B0000","#E9967A","#8FBC8F","#483D8B","#2F4F4F", "#00CED1","#9400D3","#FF1493","#00BFFF","#696969","#1E90FF","#B22222","#FFFAF0","#228B22","#FF00FF","#DCDCDC","#F8F8FF", "#FFD700","#DAA520","#808080","#008000","#ADFF2F","#F0FFF0","#FF69B4","#CD5C5C","#4B0082","#FFFFF0","#F0E68C","#E6E6FA", "#FFF0F5","#7CFC00","#FFFACD","#ADD8E6","#F08080","#E0FFFF","#FAFAD2","#90EE90","#D3D3D3","#FFB6C1","#FFA07A","#20B2AA", "#87CEFA","#778899","#B0C4DE","#FFFFE0","#00FF00","#32CD32","#FAF0E6","#FF00FF","#800000","#66CDAA","#0000CD","#BA55D3", "#9370DB","#3CB371","#7B68EE","#00FA9A","#48D1CC","#C71585","#191970","#F5FFFA","#FFE4E1","#FFE4B5","#FFDEAD","#000080", "#FDF5E6","#808000","#6B8E23","#FFA500","#FF4500","#DA70D6","#EEE8AA","#98FB98","#AFEEEE","#DB7093","#FFEFD5","#FFDAB9", "#CD853F","#FFC0CB","#DDA0DD","#B0E0E6","#800080","#FFBB00","#BC8F8F","#416901","#8B4513","#FA8072","#F4A460","#2E8B57", "#FFF5EE","#A0522D","#C0C0C0","#87CEEB","#6A5ACD","#708090","#FFFAFA","#00FF7F","#4682B4","#D2B48C","#008080","#D8BFD8", "#FF6347","#40E0D0","#EE82EE","#F5DEB3","#FFFFFF","#F5F5F5","#FFFF00","#9ACD32")//-------------menubar functions-------------------------------function lib_bwcheck(){ //Browsercheck needed for non compatible browsersthis.ver=navigator.appVersion ;this.agent=navigator.userAgent;this.dom=document.getElementById?1:0 ;this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0; this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom)?1:0;this.ie4=(document.all && !this.dom)?1:0; this.ie=this.ie4||this.ie5||this.ie6 ;this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0; this.bw=(this.ie || this.ns6 || this.dom); return this}var bw=new lib_bwcheck();if (!bw.bw) {alert("Sorry, this script is not checked on this browser.\n Get IE or.. NS6.1 if -unfortunatly- you are mozilla/netscape addicted")setTimeout(window.history.back(),2000); }//window.onerror = errorHandler;function errorHandler(message, url, line){return true;}window.onresize=fixSizeTB;function document.onmousedown() {doDown();dBarOnMouseDown()}function document.onmouseup() {doUp();dBarOnMouseUp()}function document.onmousemove() {dBarOnMouseMove() }function fixSizeTB() {tbarPos=(document.body.clientWidth > 600 ? "top":"lowerbar" );fixTBpos()}function fixTBpos() {st=document.body;st1=tbar.style;st2=ODiv.style;switch (tbarPos) { case"top": st2.top = 23; menu.style.borderBottom="1px solid silver" st2.height = st.clientHeight - menu.offsetHeight; st1.height = DockHeight;st1.top = 0;st1.zIndex=1; st1.border = "0 solid buttonface";st1.width =650; st1.left=st.clientWidth-350; break; case "lowerbar": st2.top = 46; menu.style.borderBottom="2px groove rgb(255,255,255)"; st2.height = st.clientHeight - 2*menu.offsetHeight;st1.width = "100%"; st1.height = 23;st1.top = DockHeight+1;st1.left=0;st1.zIndex=-1 ;st1.borderLeft="2px solid silver"; break;} if (document.getElementById("spsheet")) {spsheet.style.height=ODiv.clientHeight-17;spsheet.style.width=ODiv.clientWidth-20;} if(document.getElementById("hdtblbd")) hdtblbd.style.left=ODiv.clientWidth-16; if(document.getElementById("bdtblbd")) bdtblbd.style.top=ODiv.clientHeight-16 ; InputBar.style.width=document.body.clientWidth-250 }function iconGV(){ st0='<span style="position:absolute;color:' st='<span style="position:relative;font-family:webdings">'+st0+'blue;font-size:25pt;top:0;left:0">n</span>'; st+=st0+'white;font-size:20pt;top:3;left:3">n</span>'+st0+'blue;height:16px;font-size:16pt;top:5;left:6">n</span>'; st+=st0+'white;font-size:8pt;top:14;left:11">g</span>'+st0+'blue;font-size:22pt;top:2;left:1"><b>|</b></span>' st+='</span>';return st}function menuItemHighlight(el) {el.style.background = "highlight";el.style.color = "highlighttext";}function menuItemNormal(el) {el.style.background = "";el.style.color = "";}function cleanUpMenuBar() {for (i=0; i <menu.rows.length; i++) { for (j=0; j <menu.rows(i).cells.length; j++) { if (menu.rows(i).cells(j).className == "root") { normalButton(menu.rows(i).cells(j));}}}}function getMenuItem(el) {temp = el; while ((temp!=null) && (temp.tagName!="TABLE") && (temp.id!="menubar") && (temp.id!="menu") && (temp.id!="handle")) { if ((temp.tagName=="TR") || (temp.className=="root")) el = temp;temp = temp.parentElement} return el;}function menuClick() { if (event.srcElement == null) return; var el=getMenuItem(event.srcElement); if ((el.className != "disabled") && (el.id != "menubar")){ if (el.className == "root") {activeMenu ? raiseButton(el):pressedButton(el);toggleMenu(el);} else {cleanUpMenuBar(); if (activeMenu) toggleMenu(activeMenu.parentElement); } menuloc.style.display="none"} event.cancelBubble = true;}function Restore() {if (activeMenu) {toggleMenu(activeMenu.parentElement);cleanUpMenuBar()}}document.onclick=Restore;function menuOver() { if ((event.fromElement == null) || (event.toElement == null) || (event.fromElement == event.toElement)) return; var fromEl = getMenuItem(event.fromElement);var toEl = getMenuItem(event.toElement); if (fromEl == toEl)return; if ((toEl.className != "disabled") && (toEl.id != "menubar")){ if (toEl.className == "root") { if (activeMenu) { if (toEl.menu != activeMenu) {cleanUpMenuBar();pressedButton(toEl);toggleMenu(toEl);}} else {raiseButton(toEl);}} else {if ((fromEl != toEl) && (toEl.tagName != "TABLE")){ cleanup(toEl.parentElement.parentElement, false); menuItemHighlight(toEl); toEl.parentElement.parentElement.activeItem = toEl; if (toEl.href) window.status = toEl.href; if (toEl.className == "sub") document.all(toEl.menu).style.visibility=""}}}}function menuOut() {if ((event.fromElement == null) || (event.toElement == null) || (event.fromElement == event.toElement))return; var fromEl = getMenuItem(event.fromElement); var toEl = getMenuItem(event.toElement); if (fromEl == toEl) return; if (fromEl.className == "root"){if (activeMenu) {if (fromEl.menu != activeMenu) normalButton(fromEl);} else normalButton(fromEl);} else { if ((fromEl.className != "disabled") && (fromEl.id != "menubar")){ if ((fromEl != toEl) && (fromEl.tagName != "TABLE")) menuItemNormal(fromEl); window.status = ""; if (fromEl.className == "sub") document.all(fromEl.menu).style.visibility="hidden" }}}function toggleMenu(el) { if (el.menu == null) el.menu = getChildren(el); if (el.menu == activeMenu) {cleanup(el.menu,true);activeMenu = null} else { if (activeMenu) {cleanup(activeMenu,true);hideMenu(activeMenu);} activeMenu = el.menu;var tPos = topPos(el.menu) + menu.offsetHeight; if ((document.body.offsetHeight - tPos) >= el.menu.offsetHeight) { el.menu.style.pixelTop = (ie5) ? (el.offsetHeight + 1):( menu.offsetHeight - el.offsetTop - 2);dir = 2;} else {el.menu.style.pixelTop = el.offsetTop - el.menu.offsetHeight ;dir = 8;} el.menu.style.pixelLeft = el.offsetLeft-2; show(el.menu, dir) }}function topPos(el) {var temp = el;var y = 0;while (temp.id!="menu") {temp = temp.offsetParent;y += temp.offsetTop;} return y}function leftPos(el) {var temp = el;var x = 0; while (temp.id!="menu") {temp = temp.offsetParent;x += temp.offsetLeft} return x + el.offsetParent.offsetWidth}function show(el, dir) { el.style.visibility = "visible";}function cleanup(menu,hide) {if (menu.activeItem) menuItemNormal(menu.activeItem);if (hide) hideMenu(menu);}function hideMenu(el) {el.style.visibility = "hidden"}function getChildren(el) {var tList = el.children.tags("TABLE");return tList[0]}function dBarOnMouseDown() { if(event.srcElement.id == "handleTB"){ dragging = true; tby = (event.clientY - tbar.style.pixelTop);tbx = (event.clientX - tbar.style.pixelLeft); event.returnValue = false;event.cancelBubble = true} else dragging = false}function dBarOnMouseUp() {dragging= false; }function dBarOnMouseMove() { if(dragging==true) {if((event.clientY) <= snapVSize) {tbarPos = "top"; fixTBpos(); tbar.style.left=event.clientX;} else if (event.clientY >= 2*DockHeight - snapVSize){tbarPos="lowerbar"; fixTBpos(); tbar.style.left=event.clientX; } event.returnValue = false;event.cancelBubble = true; } }function doOver() { toEl = getReal(event.toElement, "className", "coolButton");fromEl = getReal(event.fromElement, "className", "coolButton"); if (toEl == fromEl) return;el = toEl; if (el.className == "coolButton") {el.onselectstart = new Function("return false");raiseButton(el)}}function doOut() {toEl = getReal(event.toElement, "className", "coolButton");fromEl = getReal(event.fromElement, "className", "coolButton"); if (toEl == fromEl) return; el = fromEl; cToggle = el.cToggle; if (cToggle && el.value) pressedButton(el); else if (el.className == "coolButton") normalButton(el)}function doDown() { el = getReal(event.srcElement, "className", "coolButton"); if (el.className == "coolButton") pressedButton(el)}function doUp() { el = getReal(event.srcElement, "className", "coolButton"); if (el.className == "coolButton") raiseButton(el)}function raiseButton(el) {with (el.style) {borderTop ="1 solid buttonhighlight";borderLeft ="1 solid buttonhighlight"; borderBottom ="1 solid buttonshadow";borderRight ="1 solid buttonshadow";padding ="1";}}function normalButton(el) {with (el.style) {background = "";border = "1px solid buttonface";padding = "1";}}function pressedButton(el) {with (el.style){ borderTop ="1 solid buttonshadow";paddingTop = "2";borderLeft ="1 solid buttonshadow"; borderBottom ="1 solid buttonhighlight";paddingBottom= "0";borderRight = "1 solid buttonhighlight";}}function getReal(el, type, value) { temp = el; while ((temp != null) && (temp.tagName != "BODY")) { if (eval("temp." + type) == value) {el = temp;return el;} temp = temp.parentElement;}return el;}function Icon(pos,v1,v2){ st='<span class="coolButton" onclick="do'+pos+'()" style="width:16;overflow:hidden"><nobr><span class="ico" style="top:-10">__</span>' st+='<span class="ico" style="top:-8;left:'+v1+'">_</span><span class="ico" style="top:-6;left:-21;">__</span><span class="ico" style="top:-4;left:'+v2+';">_</span></nobr></span>';return st}function ColorTable(sel){ st='<table border="0" ID="tblColor" cellpadding="0" cellspacing="1">\n'; for (j=1;j<11;j++) {st += "<tr>"; for (i=1; i<12; i++) st+='<Td width="9" height="10" onmouseover=\'displaycolor('+sel+',"'+ RGB[10*j+i] +'")\' style=\'background-color:"'+ RGB[10*j+i] +'"\' onclick=\'doColorSelect('+sel+')\'></Td>' st+="</tr>"} st += "</table>";return st}function displaycolor(sel,ttt){ sel=='fonte' ? CLR.style.color=ttt:CLR.style.backgroundColor=ttt}//---------------Common functions----------------function DiaStyle(){ st='<style> h2 {font-family:Arial;font-weight:Bold;font-size:10pt}\n'; st+='.p,p,table,td,th,input,select,button,form {font-family:Arial;font-size:8pt}';st+='.tagTable{background:lightgrey;};.tag{background:lightgrey;cursor:hand}\n';st+='.tag1{border-Left:1 solid white;border-Top:1 solid white;border-Right:1 solid buttonshadow;border-Bottom:solid silver;background:silver;cursor:hand}' st+='</style>\n';return st}function DialogwinHeader(titreDW){DocumentHeader(titreDW);diawin=true;st+=DiaStyle(); st+='<body style="border:0;margin:0" bgcolor="silver" ><center>\n';return st}function DialogwinFooter(haut,larg,posH,posL){ st+=' <button onclick="window.close();">'+ts2+'</button></center></form>\n</body></html>'; st1= 'height='+( haut ? haut : 250)+', width ='+(larg ? larg : 400)+', top= '+(posH ? posH :100)+',left='+(posL ? posL : 100)+', menubar=no,status=no'; dialogwin=window.open("","",st1);dialogwin.document.open("HTML");dialogwin.document.write(st);}var diawindrag=false;function DiawinShow(haut,larg,posH,posL,titr){st0=document.getElementById("diaWin");st=st0.style; st.height=( haut ? haut : 250);st.width =(larg ? larg : 400);st.top= (posH ? posH :100);st.left=(posL ? posL : 100);st.visibility="visible"; if(titr !=undefined) st0.innerHTML='<div class="diaWinHead" onmousedown="diawindrag=true" onmousemove="DiaWinMove()" onmouseup="diawindrag=false;"><b>'+titr+'</b></div><button style="position:absolute;top:1;left:'+(st.pixelWidth-20)+';font-size:7pt;height:16" onclick="document.getElementById(\'diaWin\').style.visibility=\'hidden\';document.getElementById(\'uFrame\').style.visibility=\'hidden\'"><b>X</b></button>'; if (document.getElementById("uFrame")) document.body.removeChild(document.getElementById("uFrame")) var ooFrame = document.createElement("IFRAME");ooFrame.frameBorder=0;ooFrame.id ="uFrame";ooFrame.className="oFrame";document.body.appendChild(ooFrame); st2='<html><head><style> h2 {font-family:Arial;font-weight:Bold;font-size:10pt};.p,p,table,td,th,input,select,button,form {font-family:Arial;font-size:8pt}' st2+='.tagTable{};.tag{cursor:hand}' st2+='.tag1{border-Left:1 solid white;border-Top:1 solid white;border-Right:1 solid buttonshadow;border-Bottom:solid silver;background:silver;cursor:hand}</style></head><body style="border:0;margin:0" bgcolor="rgb(210,220,230)"></body></html>'; document.frames["uFrame"].document.write(st2) st1=document.getElementById("uFrame").style;st1.left=st.pixelLeft+2;st1.top=20+st.pixelTop ;st1.width=st.pixelWidth-5;st1.height=st.pixelHeight-23}function DiaWinMove(e){if(diawindrag==true) { event.CancelBubble=true; st=document.getElementById("uFrame") ;st1= document.getElementById("diaWin") x = bw.ns6 ? x : event.clientX ; y = bw.ns6 ? y :event.clientY; st1.style.top=y-10;st.style.top=y+10;st1.style.left=x-st.offsetWidth/2;st.style.left=st1.style.pixelLeft+2}}function DiawinFrameContent(str){ st1=document.getElementById("uFrame"); oFrame=document.frames["uFrame"].document;str1=str.substring((str.length-4),str.length); if (str1.indexOf("htm") == -1)oFrame.body.insertAdjacentHTML("afterBegin",str); else st1.src=str; st1.style.visibility='visible' }diaWinFrameClose='<button onclick="parent.document.getElementById(\'diaWin\').style.visibility=\'hidden\';parent.document.getElementById(\'uFrame\').style.visibility=\'hidden\'">'+ts2+'</button>'function DiaClose() {document.getElementById('diaWin').style.visibility='hidden';document.getElementById('uFrame').style.visibility='hidden';}function isEmail(string) {if (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1) {frames.uFrame.document.getElementById("sendit").submit()} else alert(al04);}function Tag(va){ for (i=0; i<tags.length;i++) {oFrame=document.frames["uFrame"].document.alloFrame.TagTable.rows[0].cells[i].className='tag';eval("oFrame.Tag"+i+".style.display='none'")} oFrame.TagTable.rows[0].cells[va].className='tag1'; for (i=0; i<tags.length;i++) if (va == i) eval("oFrame.Tag"+i+".style.display = ''")}var list='true'; fileList=new Array(); var dir;function doOpenshowtree(){dialogwin=document.frames["uFrame"].document.all ;dialogwin.FileTree.style.display=(dialogwin.FileTree.style.display=="none" ? "":"none")}function doOpenretpath(nex){dialogwin=document.frames["uFrame"].document.all ;st1=dialogwin.fileUrl.value;st2=dialogwin.filename.value; SaveHTML(st1,st2);nex == "new" ? newDiaWin(): newURL=dialogwin.fileUrl.value=st1 ;DiaClose()}function doNew(){DiawinShow(120,300,30,50,Dia1[0]); st='<center><br><p>'+al01+'<br>';st+='<button onclick="parent.doOpen(document.location,\'save\',\'new\')">'+Dia1[6]+'</button> '; st+='<button onclick="parent.DiaClose();parent.newDiaWin();">'+Dia1[7]+'</button> '+diaWinFrameClose+'</div>'; DiawinFrameContent(st);}function doOpen(loc,act,nex){DiawinShow(270,390,10,15,Dia8[0]); if(loc.toString().substring(0,4)=='http') { DiawinFrameContent("../eProjectOS/eFileSelector.html");return}loc=loc.toString().substring(8,loc.toString().length); fname=loc.substring((loc.lastIndexOf('/')+1),loc.length);loc=loc.substring(0,(loc.lastIndexOf('/')+1)); fpath=loc.substring(0,(loc.lastIndexOf('/')+1)); act=(act==undefined) ?'':act; st='</center><div style="padding:3pt"> <span class="p"> Explorer:</span>\n<span class="p" style="border:2 inset ;height:17;width:200;background:white">\n' st+='<span style="font-family:wingdings;font-size:12pt;width:20;" id="selIcon"></span>\n<span style="width:157;overflow:\'hidden\'" id="selName"></span>\n<input type="hidden" name="selURL" value="">\n' st+='<button onclick="parent.doOpenshowtree()" style="font-family:marlett">6</button></span> \n' st+='<button onclick="parent.FillFileList(selURL.value,\'parent\',filter.options(filter.selectedIndex).value)" style="padding-top:1pt;width:29"><span style="font-family:wingdings;background-color:yellow;">é0</span></button><span> </span>\n' st+='<button onclick="parent.FillFileList(selURL.value,\'\',filter.options(filter.selectedIndex).value,\'false\')" style="width:26;height:21;cursor:hand">' st00='<table cellspacing="0" cellpadding="0"><tr><td style="border: 1px solid black;background-color:white;">';st01='</td></tr></table>'; st21='<span style="font-size:6pt;position:relative;top:-';st22='"> <font face="Marlett">;</font>- <font face="Marlett">;</font>-</span>' st+= st00+st21+'3'+st22+'<br>'+st21+'10'+st22+'<br>'+st21+'17'+st22+st01; st+='</button> \n' st+='<button onclick="parent.FillFileList(selURL.value,\'\',filter.options(filter.selectedIndex).value,\'true\');" style="width:26;height:21;cursor:hand">' st11='<span style="font-size:6pt;position:relative;top:-';st12='"> ---- </span><br>'; st+= st00+st11+'3'+st12+st11+'11'+st12+st11+'19'+st12+st11+'27'+'"> ---- </span>'+st01; st+='</button>\n'; st+='\n</div><div id="FileTree" class="p" style="position:absolute;top:28;left:58;width:250;height:150;border:1 outset silver;background:white;display:\'none\';overflow:\'scroll\';z-index:200"></div>\n'; st+='\n<table><tr><td > </td><td colspan=3><div id="Filelist" style="border:2 inset ;height:150;width:360;background:white;overflow:scroll;z-index:10"></div></td></tr>'; st+='\n<tr><td > </td><td style="width:60">'+Dia8[1]+':</td>\n<td><input type="text" size="40" name="filename" value="'+fname+'"><input type="hidden" name="fileUrl" value="'+fpath+'"></td><td>' if (act=='') st+='<button style="width:50" onclick="parent.newURL=fileUrl.value ;parent.OpenFile();parent.DiaClose()">Select</button>' if (act=='save') st+='\n<button style="width:50" onclick="parent.doOpenretpath('+nex+')">Save</button>\n' st+='</td></tr>\n'; st+='\n<tr><td > </td><td>'+Dia8[2]+':</td>\n<td><select id="filter" style="width:232" onchange="parent.FillFileList(selURL.value,\'\',this.options(this.selectedIndex).value)">\n<option value="html">Complete application + data file (*.html)\n<option value="etbl">eTablor datafiles (*.etbl)\n<option value="" selected>'+Dia8[3]+' (*.*)</select></td>\n' st+='<td>'+diaWinFrameClose+'</center></tr></table></form>\n' DiawinFrameContent(st);FillFileList(loc);}function OpenFile(){if (newURL.indexOf('etbl') > -1 ) doImport(newURL); else this.location=newURL}function FillFileSelect(fil,thisUrl,thisUrlName,thisAtt){ if (fil==2) {dialogwin.fileUrl.value=thisUrl;dialogwin.filename.value=thisUrlName;}; else FillFileList(thisUrl,'tt',thisAtt);}function dateFormat(dateobj){ dF=new Date(dateobj);m = dF.getMonth() + 1;d = dF.getDate(); yy = dF.getYear(); yy < 100 ? yyyy = yy +1900 : yyyy=yy; if(m.toString().length < 2) { mm = "0" + m + ""; } else { mm = m; } if(d.toString().length < 2) { dd = "0" + d + ""; } else { dd = d; } DateString=dd+"/"+mm+"/"+yyyy;return DateString;}function FillFileList(sel,par,att,fil,srt){//if(dialogwin.document.getElementById("uFrame"))dialogwin.document.getElementById("uFrame").style.visibility="hidden" ;dialogwin=document.frames["uFrame"].document.all dialogwin.Filelist.style.overflow="scroll" ; dialogwin.Filelist.style.visibility="visible"; if (fil) list=fil; fileList=new Array(); stt=''; st0D= "<span style='padding-top:1pt;overflow:hidden' onmouseover='this.style.cursor=\"hand\";this.style.backgroundColor=\"highlight\";this.style.color=\"white\"' onmouseout='this.style.color=\"black\";this.style.backgroundColor=\"white\"'" // stt+=" "+st0D+" onclick='FillFileHTTP();selName.innerHTML=\"eFileManager\";selIcon.innerHTML=this.children[0].innerHTML;FileTree.style.display=\"none\";'><span><span style='font-family:Webdings;color:blue;font-size:12pt'>ü</span></span> eFileManager </span><br>"; if(document.location.toString().substring(0,4) =="http"){if (!document.getElementById("uFrame")) dialogwin.FillFileHTTP() ; dialogwin.selIcon.innerHTML="<span style='font-family:Webdings;color:blue;font-size:12pt'>ü</span>";dialogwin.selName.innerHTML="<span> eFileManager </span>"} else { fso = new ActiveXObject("Scripting.FileSystemObject"); att=(att==undefined) ?'':att; if ((sel.charAt(1)!= ":")) sel='C:' ;fldr = fso.GetFolder(sel);fldr=(par=="parent" ? fldr.ParentFolder:fldr); st0D+=" onclick='selIcon.innerHTML=this.children[0].innerHTML;parent.FillFileList(this.children[1].innerHTML,\"tt\",filter.options(filter.selectedIndex).value);FileTree.style.display=\"none\";'> "; st01D="<span style='font-family:wingdings;padding:0pt;"; for (var drv = new Enumerator(fso.Drives); !drv.atEnd(); drv.moveNext()) { x = drv.item();if (x.DriveType == 3) n = x.ShareName; else if (x.IsReady) n = x.VolumeName;else n = "[Drive not ready]"; stt += " "+st0D+st01D+"color:buttonshadow;font-size:12pt'>"+(x.DriveLetter =="A" ? "<":";")+"</span><span style='display:\"none\"'>"+drv.item()+"</span>\n<span>"+ n +"("+x.DriveLetter +")"+"</span> </span><br>"} st0='<td><nobr><span class="p" onmouseover="this.style.cursor=\'hand\'" onmousedown="this.style.backgroundColor=\'highlight\';this.style.color=\'white\'"; onmouseup="this.style.color=\'black\';this.style.backgroundColor=\'white\';"' st0+=' onclick=" parent.FillFileSelect(this.children[0].innerHTML,this.children[1].innerHTML,this.children[2].innerHTML,filter.options(filter.selectedIndex).value)"> <span style="font-family:wingdings;font-size:12pt;'; st01=' </span><span style="display:\'none\'">'; for(var objEn = new Enumerator(fldr.SubFolders); !objEn.atEnd(); objEn.moveNext()) { stt+=" "+st0D+st01D+"color:orange;font-size:12pt;'>0"+"</span>\n<span style='display:\"none\"'>"+objEn.item()+"</span><span>"+objEn.item().Name +"</span> </span><BR>"; fileList[fileList.length]=new Array(); fileList[(fileList.length-1)][0]=objEn.item().Name; fileList[(fileList.length-1)][1]=objEn.item().Size; fileList[(fileList.length-1)][2]=objEn.item().Type; fileList[(fileList.length-1)][3]=objEn.item().DateLastModified; fileList[(fileList.length-1)][4]=st0+'color:orange;">0'+st01+objEn.item()+'</span><span>'+objEn.item().Name +'</span></span></td>'; fileList[(fileList.length-1)][5]=st0+'color:orange;">0'+st01+objEn.item()+'</span><span>'+objEn.item().Name +'</span></span></td><td align="right">'+parseInt(eval(parseInt(objEn.item().Size)/1000)) +'Ko </td><td><nobr> '+objEn.item().Type+'</td><td><nobr>'+dateFormat(objEn.item().DateLastModified)+'</td></tr><tr>';} dialogwin.FileTree.innerHTML=stt; } if(document.location.toString().substring(0,4) =="http"){//stf='<table>';for(i=0;i<dialogwin.document.reptab.length;i++);stf+='<tr><td>'+dialogwinf.reptab[i][0]+'</td></tr>';stf+='</table>'; dialogwin.writeFolderContent (stf); fldr='';sel=''} else{ for(var objEn = new Enumerator(fldr.Files); !objEn.atEnd(); objEn.moveNext()) {st=objEn.item().Name;if( st.substring((st.length-att.length),st.length)==att) {fileList[fileList.length]=new Array() fileList[(fileList.length-1)][0]=objEn.item().Name; fileList[(fileList.length-1)][1]=objEn.item().Size; fileList[(fileList.length-1)][2]=objEn.item().Type; fileList[(fileList.length-1)][3]=objEn.item().DateLastModified; fileList[(fileList.length-1)][4]=st0+'color:'+(st.substring((st.length-4),st.length)=="html" ? 'blue':'black')+'">2'+st01+objEn.item()+'</span><span>'+objEn.item().Name +'</span></span></td>'; fileList[(fileList.length-1)][5]=st0+'color:'+(st.substring((st.length-4),st.length)=="html" ? 'blue':'black')+'">2'+st01+objEn.item()+'</span><span>'+objEn.item().Name +'</span></span></td><td align="right">'+parseInt(eval(parseInt(objEn.item().Size)/1000)) +'Ko </td><td><nobr> '+objEn.item().Type+'</td><td><nobr>'+dateFormat(objEn.item().DateLastModified)+'</td></tr><tr>'; }} stf='<table><tr>'; j=0; if (list=='false'){for(i=0;i<fileList.length;i++) {stf+=fileList[i][4];j++;stf+=(j % 3 == 0 ? '</tr><tr>':'')} stf+='</tr></table>' } else { if (!isNaN(parseInt(srt))) fListSort(srt);else stars=new Array(' ',' ',' ',' ') stf1='style="background: buttonface; padding-left: 5; padding-right: 5;border-top: 1 solid threedhighlight; border-left: 1 solid threedhighlight; border-right: 1 solid threedshadow; border-bottom: 1 solid threedshadow;' starr='style="font-family: webdings; color: black; padding: 0; font-size: 10; height: 11; width: 10; overflow: hidden; margin-bottom: 2; margin-top: -3; padding: 0; padding-top: 0; padding-bottom: 2;"' stsrt='parent.FillFileList(selURL.value,\'\',filter.options(filter.selectedIndex).value,\'true\',\''; stf='<table ID="Flist" cellspacing="0" cellpadding="0" style="overflow:hidden">\n'; stf+='<tr style="background: buttonface; font: icon; width: 100%; color: buttontext; table-layout: fixed; background: threeddarkshadow;border-left: 1 solid threedshadow; border-right: 1 solid threedlightshadow; border-top: 1 solid threedshadow;" id="messageHeader">' stf+='<td '+stf1+'width: 150" style="cursor: hand;" onclick="'+stsrt+'0\')">'+Dia8[1]+stars[0]+'</td>' stf+='<td '+stf1+'width: 50" style="cursor: hand;" onclick="'+stsrt+'1\')">'+Dia8[4]+stars[1]+'</td>' stf+='<td '+stf1+'width: 70" style="cursor: hand;" onClick="'+stsrt+'2\')">'+Dia8[2]+stars[2]+'</td>' stf+='<td '+stf1+'width: 100" style="cursor: hand;" onClick="'+stsrt+'3\')">'+Dia8[5]+stars[3]+'</td>' stf+='<td> </td></tr><tr>' for(i=0;i<fileList.length;i++) stf+=fileList[i][5] stf+='</tr></table>' } dialogwin.Filelist.innerHTML=stf;} dialogwin.selURL.value=fldr; dialogwin.fileUrl.value=sel+'/'; dialogwin.selName.innerHTML=(fldr.name=='' ? fldr:fldr.name)}function fListSort(val) { stars=new Array(); var ll=fileList[0].length; for (i=0;i<4;i++) stars[i]='<span style="font-family:webdings">'+(val==i ? (dir? dir:6):'')+'</span>'; if (dir==5){for ( i=0; i<(ll-1); i++) for (j=i+1; j<ll; j++) if (fileList[j][val]<fileList[i][val]) { var dummy =fileList[i];fileList[i] = fileList[j]; fileList[j] = dummy};dir=6;} else { for ( i=0; i<(ll-1); i++) for (j=i+1; j<ll; j++) if (fileList[j][val]>fileList[i][val]) { var dummy =fileList[i];fileList[i] = fileList[j]; fileList[j] = dummy};dir=5;}}function doSaveAs(){GVurl=( ((GVurl==undefined)||(GVurl=='')) ? document.location.toString():GVurl);doOpen(GVurl,'save')}function doSave(){GVurl=( ((GVurl==undefined)||(GVurl=='')) ? document.location.toString():GVurl);SaveHTML(GVurl);FileMenu.rows[2].className="disabled";}function doSaveDatafile(){SaveGVMfile(); if (newURL=='') return;st=newURL.length;if (newURL.substring((st-3),st)=='htm') {alert(al02);return}; Dataurl=newURL; if(Dataurl.indexOf(".els") == -1) Dataurl+=".els"; ReadFile(); fso = new ActiveXObject("Scripting.FileSystemObject"); f = fso.CreateTextFile(Dataurl,true); s= SaveData();f.write(s);f.Close();GVChanged=false;}function ReadFile(fname){fname=(fname==undefined? 'eTablor': fname); s= DocumentHeader(fname);s+= document.scripts(0).outerHTML;s+=DocumentBody();return s}function getHTMLfile(fname){ savedData=SaveData();s=ReadFile(fname);s= s.substring(0,(s.indexOf('THISISTHEDATASTART')+19))+'\n'+savedData+'\n'+ s.substring(s.indexOf('//FileStart'),s.length);return s }function SaveHTML(localurl,fname){localurl=localurl.toString();if (localurl.substring(0,3)=='http') localurl=localurl.substring(8,localurl.length); if (localurl.substring(0,5).indexOf('file')>-1) localurl=localurl.substring(8,localurl.length); if(localurl.indexOf(".etbl") > -1){fso = new ActiveXObject("Scripting.FileSystemObject");f = fso.CreateTextFile(localurl,true); s=SaveData() } else{ if ( !GVurl || (localurl != GVurl))GVurl=localurl+fname;getHTMLfile() fso = new ActiveXObject("Scripting.FileSystemObject");f = fso.CreateTextFile(GVurl,true)} f.write(s);f.Close( );GVChanged=false; if(localurl.indexOf(".etbl") == -1) this.location=GVurl;}function doPrint(){window.print() }function doImport(dataURL){if ((dataURL.indexOf('etbl')== -1 )||(dataURL=='')) {alert(al05);return}fso = new ActiveXObject("Scripting.FileSystemObject"); ts = fso.OpenTextFile(dataURL, 1); newdata = ts.ReadAll(); ts.Close(); tr = document.URL.substring(7,document.URL.length);ts = fso.OpenTextFile(tr,1);s=ts.ReadAll(); ts.Close() ; var newF= s.substring(0,s.indexOf('//THISISTHEDATASTART'))+newdata+ s.substring(s.indexOf('//FileStart'),s.length); document.write(newF); document.close();}function doUpload(){ DialogwinHeader(Dia2[0]); var upst= server+"/samples/upload&download.php3"; st+='<form name="upload" ACTION="'+upst+'?function=upload&lang='+lang+'" METHOD=POST>\n'; st+='<fieldset><center><br>\n'; if (!connect) { st+= Dia2[1]+'<br>'+Dia2[2]+'<a href="javascript:window.open(\''+server+'\');setTimeout(parent.window.close(),1000)">http://eplanning.free.fr/</a><br>'+Dia2[3]+'<br><br>\n'; st+='<button style="width:130" onclick="window.open(\''+server+'/regform.php3\',\'\',\'height=400,width=500,top=100,left=100,menubar=no,scrollbars=no,status=no\');window.close()">'+Dia2[4]+'</button>\n';} else{st+='<center><br><b>'+Dia2[8]+'<br><br>\n'; st+='<button style="width:130" onclick="window.location=\''+upst+'?function=ChangeEmailPassword&lang='+lang+'\'">'+Dia2[9]+'</button>\n'} st+='</fieldset>\n'; st+='<table><tr><td>'+Dia2[5]+'</td><td><input type="text" name="Projet" size="30" value='+project+'></td></tr>\n'; st+='<tr><td>'+Dia2[6]+'</td><td><input type="text" name="resource" size="30" value='+user+'></td></tr>\n'; st+='<tr><td>'+Dia2[7]+'</td><td><input type="password" name="password" size="30"></td></tr></table><center>\n'; st+='<input style="width:50" type="submit" value="Upload" >\n<input type="reset" style="width:50" value="Reset" >\n'; DialogwinFooter(200,300) ;dialogwin.uploadForm.submit();}function DeleteRemember(){ Oldproject=project;Oldresource=resource;Oldconnect=connect;OldTimeScale=TimeScale;OldInitStart=InitStart;OldLinks=links;OldCPMtasks=CPMtasks oldArray = EPL;OldGroups=Groups;OldResources=Resources;OldDOff=DOff; OldIndentBar=IndentBar; for (i=(oRS.RecordCount-1) ; i >0; i--){Pos = i;DeleteRecord();} }function doViewDataCache(){ newwin=window.open('','','height=200,width=480,top=50,left=10,menubar=yes,scrollbars=yes,status=no'); newwin.document.open("text/plain");DialogwinHeader(Dia1);SaveData(); newwin.document.write(st)}function RegChange(){GVChange=true; FileMenu.rows[2].className="enabled";}function doFclose(){if(window.parent.document.title !="eProjectOS") window.close();else window.parent.doWinClose()}function checkLocation(){st=document.location.toString();if(st.substring((1+st.indexOf("?")),st.length)=="newTablor") newDiaWin()}function doAbout(){DiawinShow(150,250,30,100,Dia7[0]); st='<div style=position:relative;left:60">'+iconGV()+'<font face="arial"><span style="position:relative;left:35;top:9;font-size:20pt;color:blue;"><b>eTablor </b></span></div>'; st+='<br><div style="color: red; background: beige;width:244; font-size: 10; padding: 5;"><center>'+Dia7[1]+'</div><br>'; st+='<small><small>'+ Dia7[2]+' <span onclick="window.open(\'http://g.verron.free.fr\',\'\',\'status,height=400,width=600,scrollbars,resizable \')" style="color:blue;cursor:hand" title="Page perso" >Gerard Verron</span></center>'; DiawinFrameContent(st);}function displayMenuLoc(opt){menuloc.style.display="" ;mlh= ODiv.offsetHeight-menuloc.offsetHeight;mll= ODiv.offsetWidth-menuloc.offsetWidth;menuloc.style.pixelTop =((event.clientY < mlh )? event.clientY:mlh);menuloc.style.pixelLeft=((event.clientX < mll) ? event.clientX:mll)}function writemenus(){ var sp = '<td ><span style="width: 15"></span></td>' var st0= '<tr onclick="' st01='onselectstart="return false" onmouseover="menuOver()" onmouseout="menuOut()" onclick="menuClick()" cellspacing="1"' st='<table id="menu" '+st01+' oncontextmenu="return false">' st+='<tr id="menubar">' st+='<td class="disabled"><div class="disabled" id="handle" for="menu" style="left: 3; width: 3; height: 100%" ></div></td>' st+='<td class="root"> '+Men1[0]+' <table cellspacing="0" class="menu" id="FileMenu" style="visibility: hidden;">' st+= st0+'doNew()"><td class="more"></td><td nowrap>'+Men1[1]+'</td>'+sp+'</tr>' st+= st0+'doOpen(document.location)">'+sp+'<td nowrap>'+Men1[2]+'</td>'+sp+'</tr>' st+= st0+'doSave()" class="disabled"><td style="font-family:wingdings;"> <</td><td nowrap>'+Men1[3]+'</td>'+sp+'</tr>' st+= st0+'doSaveAs()">'+sp+'<td nowrap>'+Men1[4]+'</td>'+sp+'</tr>' // st+= st0+'doPrint()">'+sp+'<td nowrap>'+Men1[5]+'</td>'+sp+'</tr>' st+='<tr class="disabled" ><td colspan=3><hr></td></tr>' st+= st0+'doUpload()" class="disabled">'+sp+'<td nowrap>'+Men1[9]+'</td>'+sp+'</tr>' st+= st0+'doDownload()" class="disabled">'+sp+'<td nowrap>'+Men1[10]+'</td>'+sp+'</tr>' st+= st0+'doPostFile()" >'+sp+'<td nowrap>'+Men1[11]+'</td>'+sp+'</tr>' st+= st0+'doFclose()" >'+sp+'<td nowrap>'+Men1[12]+'</td>'+sp+'</tr>' st+='</table></td>' st+='<td class="root"> '+Men2[0]+' <table cellspacing="0" class="menu" id="tools" style="visibility: hidden;">' st+= st0+'doUndo()" class="disabled">'+sp+'<td nowrap>'+Men2[14]+'</td>'+sp+'</tr>' st+= st0+'doRedo()" class="disabled">'+sp+'<td nowrap>'+Men2[15]+'</td>'+sp+'</tr>' st+= '<tr class="disabled"><td colspan="3"><hr></td></tr>' st+= st0+'doCut()">'+sp+'<td>'+Men2[1]+'</td>'+sp+'</tr>' st+= st0+'doCopy()">'+sp+'<td>'+Men2[2]+'</td>'+sp+'</tr>' st+= st0+'doPaste()">'+sp+'<td>'+Men2[3]+'</td>'+sp+'</tr>' st+= st0+'diaPasteFunction()">'+sp+'<td>'+Men2[13]+'</td>'+sp+'</tr>' st+= '<tr class="disabled"><td colspan="3"><hr></td></tr>' st+= '<tr class ="sub" menu="Rows&Cols"><td></td><td nowrap>'+Men2[16]+'<td class="more">4' st+='<table id="Rows&Cols" class="menu" cellspacing="0" style="visibility: hidden;" onMouseOver="this.style.visibility=\'\'" onMouseOut="this.style.visibility=\'hidden\'">' st+= st0+'doAddColumn()">'+sp+'<td nowrap>'+Men2[4]+'</td>'+sp+'</tr>' st+= st0+'doDeleteColumn()">'+sp+'<td nowrap>'+Men2[5]+'</td>'+sp+'</tr>' st+= st0+'doAddRow()">'+sp+'<td nowrap>'+Men2[6]+'</td>'+sp+'</tr>' st+= st0+'doDeleteRow()">'+sp+'<td nowrap>'+Men2[7]+'</td>'+sp+'</tr>' st+='</table></td></tr>' st+= '<tr class="disabled"><td colspan="3"><hr></td></tr>' st+= st0+'doFillDown()">'+sp+'<td><nobr>'+Men2[10]+'</nobr></td>'+sp+'</tr>' st+= st0+'doFillRight()">'+sp+'<td>'+Men2[11]+'</td>'+sp+'</tr>' st+='</table></td>' st+='<td class="root"> '+Men3[0]+' <table cellspacing="0" class="menu" id="ViewMenu" style="visibility: hidden;">' st+= st0+'doCellInfo()" ><td></td><td nowrap>'+Men3[6]+'</td>'+sp+'</tr>' st+= st0+'doMergeCells()" ><td></td><td nowrap>'+Men3[7]+'</td>'+sp+'</tr>' st+= st0+'doSplitCell()" ><td></td><td nowrap>'+Men3[8]+'</td>'+sp+'</tr>' st+= st0+'doTableSort((Col-1))" class="disabled"><td></td><td nowrap>'+Men3[4]+'</td>'+sp+'</tr>' st+= st0+'doViewDataCache()" >'+sp+'<td nowrap>'+Men1[8]+'</td>'+sp+'</tr>' st+= '<tr class="disabled"><td colspan="3"><hr></td>' st+= st0+'doShowGrid()" >'+sp+'<td nowrap>'+Men2[12]+'</td>'+sp+'</tr>' st+= st0+'doDispOp()" ><td class="more">i</td><td nowrap>'+Men3[5]+'</td><td></td></tr></table></td>'; st+='<td class="root" nowrap> <u>?</u> <table cellspacing="0" class="menu" style="visibility: hidden;">' st+= st0+'doPMForum()"><td class="more">H</td><td nowrap>'+Men4[1]+'</td>'+sp+'</tr>'; st+= st0+'doETblSite()"><td ><b><span style="color:white;">e</span><span style="color:blue">T</span></td><td nowrap>'+Men4[0]+'</td>'+sp+'</tr>'; st+= st0+'doHelp();" title=""><td> <b>? </td><td>'+Men4[2]+'</td>'+sp+'</tr>'; st+='<tr class="disabled"><td colspan="3"><hr></td></tr>'; st+= st0+'doAbout()">'+sp+'<td nowrap>'+Men4[4]+'<b><span style="color:white;">e</span><span style="color:blue">Tablor</span>...</b></td>'+sp+'</tr></table>' st+='</td><td width=100% class="disabled"></td></tr></table>'; st1='<span class="coolButton" title="'; st2='onselectstart="return false" onmouseover = "doOver()" onmouseout ="doOut()" onmousedown="doDown()" onmouseup ="doUp()"' st+='<div style="position:absolute;left:155" '+st2+' >' st+='<span class="sepTB" style="margin-right:1"></span>'; st+= st1+Men5[16]+'" onclick="doCalculation()"><font face="Symbol" style="position:relative;top:1"><b>S</b></small></font></span>'st+= st1+Men5[17]+'" id="inputkey" onclick="myTbl[Row][(Col-1)]=InputBar.value;showTbl();getInput=false" ><font face="webdings" style="font-size:8pt">a</span>' st+= st1+Men5[18]+'" onclick="InputBar.value=\'\'" style="font-size:8pt">r</span><input id="InputBar" type="text" style="position:relative;top:-1;font-size:11;" onkeydown="inputcell();" onclick="getInput=true; inpx=(Col-1);inpy=Row" ></font>' st+='</div>' st+='<div id="menuDiv" style="position:absolute;width:100%;background-color:silver;height:50;z-index:-2"> </div>'st+='<div id="tbar" '+st2+' >'; st+='<span class="sepTB" style="margin-right:1"></span>'; st+='<span id="handleTB" title="Drag to move the toolbar"></span>' st+= st1+Men5[0]+'" onclick="doNew()"><font FACE="Webdings" style="font-size:8pt"></font></span>' st+= st1+Men5[1]+'" onclick="doOpen(document.location)"><font FACE="Wingdings">1</span>' st+= st1+Men5[2]+'" onclick="doSave()" ><</span>' st+= st1+Men5[3]+'" onclick="doPostFile()">*</font></span>' st+=' <span class="sepTB" style="margin-right:1"></span>'; st+= st1+'" name="CLF" onclick="fontfamilier.style.display=(fontfamilier.style.display==\'\' ? \'none\':\'\');fontfamilier.style.left=this.offsetLeft+tbar.offsetLeft;fontfamilier.style.top=(tbar.offsetTop+22)" ><b>T</b></span>'; st+= st1+'" name="CLS" onclick="fontsizer.style.display=(fontsizer.style.display==\'\' ? \'none\':\'\');fontsizer.style.left=this.offsetLeft+tbar.offsetLeft;fontsizer.style.top=(tbar.offsetTop+22)" ><font face="webdings" style="font-size:8pt">></font></span>'; st+='<input name="CLR" style="position:relative;top:-2;width:17;height:17;background-color:cyan;font-family:webdings;color:red;cursor:hand" onclick="colorBox.style.display=(colorBox.style.display==\'\' ? \'none\':\'\');colorBox.style.left=this.offsetLeft+tbar.offsetLeft-100;colorBox.style.top=(tbar.offsetTop+22)" value="n">\n'; st+= st1+Men5[7]+'" style="position:relative;top:3" ><table onclick="borderer.style.display=(borderer.style.display==\'\' ? \'none\':\'\');borderer.style.left=this.parentElement.offsetLeft+tbar.offsetLeft;borderer.style.top=(tbar.offsetTop+22)" border=0 cellspacing=0 cellpadding=0 width=15 style="border-collapse:collapse">' st3='<td class="tborder" style="font-size:3pt" height=6 width=6> </td>' st+='<tr>'+st3+st3+'</tr><tr>'+st3+st3+'</tr></table></span>' st+='<span class="sepTB" style="margin-right:1"></span>'; st+= st1+Men5[4]+'" onclick="doBold()"><b>B</b></span>' st+= st1+Men5[5]+'" onclick="doItalic()"><b><i>I</i></b></span>' st+= st1+Men5[6]+'" onclick="doUnderline()"><b><u>U</u></b></font></span>' st+='<span class="sepTB" style="margin-right:1"></span>'; st+=Icon('Left',-14,-35);st+=Icon('Center',-11,-32);st+=Icon('Right',-8,-29);st+='</div> '; st+='</div>' st+='<table class="menuloc" style="display:none" id="menuloc" '+st01+'>' st+= st0+'doCut()">'+sp+'<td>'+Menloc[0]+' </td>'+sp+'</tr>' st+= st0+'doCopy()">'+sp+'<td>'+Menloc[1]+' </td>'+sp+'</tr>' st+= st0+'doPaste()">'+sp+'<td>'+Menloc[2]+' </td>'+sp+'</tr>' st+= '<tr class="disabled"><td colspan="3"><hr></td></tr>' st+= st0+'doCellInfo()" ><td></td><td nowrap>'+Men3[6]+'</td>'+sp+'</tr>' st+= '<tr class="disabled"><td colspan="3"><hr></td></tr>' st+= st0+'doAddColumn()">'+sp+'<td >'+Men2[4]+'</td>'+sp+'</tr>'st+= st0+'doDeleteColumn()">'+sp+'<td nowrap>'+Men2[5]+'</td>'+sp+'</tr>' st+= st0+'doAddRow()">'+sp+'<td>'+Men2[6]+'</td>'+sp+'</tr>' st+= st0+'doDeleteRow()">'+sp+'<td nowrap>'+Men2[7]+'</td>'+sp+'</tr>'st+= '<tr class="disabled"><td colspan="3"><hr></td></tr>'st+= st0+'doFillDown()">'+sp+'<td>'+Men2[10]+'</td>'+sp+'</tr>' st+= st0+'doShowGrid()">'+sp+'<td nowrap>'+Men2[11]+'</td>'+sp+'</tr>' st+='</table>'st+='<div id="colorBox" style="position:absolute;top:22;width:260;height:;padding:5px;left:200;background-color:white;border:1px solid silver;display:none">\n'; st30='<span onmouseover="CLR.style.';st31='= this.style.backgroundColor" onclick="doColorSelect()" style="cursor:hand; position:relative;width:15px;border:1px solid black;background-color:' st+='<table><tr><td><span class="p">'+Men5[19]+': </span>'+st30+'color'+st31+'black" ></span>';st+=ColorTable('"fonte"'); st+='</td><td width=5px> </td><td><span class="p">'+Men5[20]+':</span>'+st30+'backgroundColor'+st31+'white" ></span>' st+=ColorTable('"background"');st+='</td></table></div>' st+='<div id="fontfamilier" style="position:absolute;width:25;background:white;border:1 outset silver;display:\'none\'">' for(h=0;h<fontfamil.length;h++) st+='<span style="width:100%" onmouseover="this.style.color=\'white\';this.style.background=\'highlight\';this.style.cursor=\'hand\'" onmouseout="this.style.color=\'black\';this.style.background=\'white\'" class="p" onclick="doFontFamily(\''+fontfamil[h]+'\');fontfamilier.style.display=\'none\'"><nobr> '+fontfamil[h]+' </nobr></span><br>'; st+='</div>'; st+='<div id="fontsizer" style="position:absolute;width:25;background:white;border:1 outset silver;display:\'none\'">' for(i=0;i<fontsize.length;i++) st+='<span style="width:100%" onmouseover="this.style.color=\'white\';this.style.background=\'highlight\';this.style.cursor=\'hand\'" onmouseout="this.style.color=\'black\';this.style.background=\'white\'" class="p" onclick="doFontSize('+fontsize[i]+');fontsizer.style.display=\'none\'"> '+fontsize[i]+'p </span><br>'; st+='</div>';st+='<div id="borderer" style="position:absolute;height:50;width:50;background:silver;border:1 outset buttonshadow;display:\'none\'">'st4='<span class="coolButton" onmouseover="this.style.borderStyle=\'outset\'" onmouseout="this.style.borderStyle=\'\'">' st4+='<table bgcolor="white" id="BDR" cellspacing="0" cellpadding="0" width=15 onclick="doCellBorder()"><tr><td style="' st5='"> </td></tr></table></span>';st6='border-right:1 solid '+borderColor+';';st7='border-bottom:1 solid '+borderColor+';';st8='border-left:1 solid '+borderColor+';';st9='border-top:1 solid ' + borderColor+';'; st+='<table cellpadding=3 cellspacing=3 ><tr><td>'+st4+'border-top:1 solid black;'+st6+st7+st8+st5+'</td><td>'+st4+'border-right:1 solid black;'+st7+st8+st9+st5+'</td><td>'+st4+'border-bottom:1 solid black;'+st6+st8+st9+st5+'</td><td>'+st4+'border-left:1 solid black;'+st6+st7+st9+st5+'</td></tr>' st+='<tr><td>'+st4+st6+st7+st8+st9+st5+'</td><td>'+st4+'border-top:1 solid black;border-bottom:1 solid black;'+st6+st8+st5+'</td><td>'+st4+'border-left:1 solid black;border-right:1 solid black;'+st7+st9+st5+'</td><td>'+st4+'border-top:1 solid black;border-left:1 solid black;border-bottom:1 solid black;border-right:1 solid black;'+st5+'</td></tr></table>' st+='</div>' document.write(st) }function doShowGrid(){ for (k=0;k<oStyle.rules.length;k++){st1='sty'+k;st=getRule(st1)[0].style.borderRightColor;getRule(st1)[0].style.borderRightColor=(st!='black' ? (st=='white'? borderColor:'white'):'black');st=getRule(st1)[0].style.borderBottomColor;getRule(st1)[0].style.borderBottomColor=(st!='black' ?(st=='white'? borderColor:'white'):'black');} borderColor=(borderColor=='white' ? borderColor1:'white');showTbl();}//-------------------eTablor functions-------------------------------function showTbl() { for ( i=1; i<Tlength; i++) {tablWidth=0;vCell[i]=new Array();for (j=0; j<Twidth; j++) {vCell[i][j]=false;tablWidth+=ColWidth[j]+6}} ; st='<TABLE class="tabl" id="hdtbl" Border=0 Cellspacing=0 Cellpadding=0 style="position:absolute;top:0;left:0;width:'+(tablWidth+24)+';z-index:2">'; st+='<THEAD><tr><th class="thead" style="width:20"> </th>' for (j=0; j<Twidth; j++){st += '<TH class="thead" oncontextmenu="addColumn();return false" ><nobr><span style="width:'+(ColWidth[j]-4)+'" onclick="unhigh();Row1=\'0\';Row2='+(Tlength-1)+';Col='+(j+1)+';Col1='+(j+1)+';Col2='+(j+1)+';highcell()" >' + titres[j]+ '</span><span onmouseover="this.style.cursor=\'E-resize\'" onmousedown="colresize=true;TDselDown()" style="width:8" > </span></TH>';} st += '</TR></THEAD></TABLE>' st +='<TABLE class="tabl" id="bdtbl" Border=0 Cellspacing=0 Cellpadding=0 style="position:absolute;top:17;left:0;width:22;z-index:1">' st +='<TBODY onmousedown="celldrag=true;st=event.srcElement;Col1=st.cellIndex;Row1=st.parentElement.rowIndex;tbody.setCapture();" onmousemove="if (celldrag==true) cellcolor()" ondragend="tbody.releaseCapture();celldrag=false" onmouseup="celldrag=false;tbody.releaseCapture()">' for ( i=1; i<Tlength; i++) {st += '<TR><td class="thead" onclick="clickCell=false;Col1=\'0\';Col2='+Twidth+';Row2=Row1=Row='+i+';highcell()" align="center" > </td></TR>' } st+='</TBODY></TABLE>'; st+='<div style="position:absolute;top:0;left:0;height:17;width:22;background-color:silver;z-index:3"> </div>' st+='<div id="hdtblbd" style="position:absolute;top:0;left:'+(ODiv.clientWidth-16)+';height:17;width:16;background-color:silver;z-index:3"> </div>' st+='<div id="bdtblbd" style="position:absolute;left:0;top:'+(ODiv.clientHeight-16)+';height:17;width:20;background-color:silver;z-index:3"> </div>' st+='<div id= "spsheet" style="position:absolute;top:17;left:20;width:'+(ODiv.clientWidth-20)+';height:'+(ODiv.clientHeight-17)+';overflow:scroll" onscroll="scrollTheads()">' st += '<TABLE class="tabl" id="tbl" Border=0 Cellspacing=0 style="width:'+(tablWidth+4)+';" >' st+='<col>'; for (j=0; j<Twidth; j++) st+="<COL style='width:"+ColWidth[j]+"'>"; st+='<THEAD><tr style="height:0">' for (j=0; j<=Twidth; j++) st +='<TH ></TH>'; st += '</TR></THEAD>' st+='<TBODY id="tbody" onmousedown="celldrag=true;st=event.srcElement;Col1=st.cellIndex;Row1=st.parentElement.rowIndex;tbody.setCapture();" onmousemove="if (celldrag==true) cellcolor()" ondragend="tbody.releaseCapture();celldrag=false" onmouseup="celldrag=false;tbody.releaseCapture()">' for ( i=1; i<Tlength; i++) {st += '<TR style="height:'+RowHeight[(i-1)]+'"><td class="thead" onclick="clickCell=false;Col1=\'0\';Col2='+Twidth+';Row2=Row1=Row='+i+';highcell()" align="center" style=" padding:0px"></td>'; for ( j=0; j<Twidth; j++) {st += (dCell[i][j] >= 1 ? '<TD colspan="'+dCell[i][j]+'" onmousedown="doMsD ()" onkeydown="keyInput()" ondblclick="showInpCell()" oncontextmenu="displayMenuLoc();return false" class="'+ClCell[i][j]+'" style=" padding:2px" >' +evalue(i,j)+ '</TD>':''); } st+='</TR>' } st+='</TBODY></TABLE>'; st+='</div>' st+='<div id="TDsel" onmouseover="dragTD=true" onmouseout="dragTD=false" onmousemove="TDselMove()" onmouseup="TDselUp()" style="position:absolute;filter:alpha(opacity=20);border:2 solid black;top:0;left:-1000;height:100%;z-index:2;background-color:white" ></div>'; st+='<input type="textArea" id="InpCell" style="border=1 inset blue;position:absolute;top:-1000;left:-1000;width:50;height:100;z-index:2" onkeydown="inputcell()">' ODiv.innerHTML=st; for ( i=1; i<Tlength; i++) {st=tbl.rows[i].offsetHeight; st1='<table Border=0 Cellspacing=0 Cellpadding=0><tr style="height:'+(st-5)+'"><td> '+i+' </td></tr><tr style="height:3" onmouseover="this.style.cursor=\'S-resize\';" onmousedown="rowresize=true;TDselDown()"><td></td></tr></table>' bdtbl.rows[(i-1)].cells[0].innerHTML=st1;} }function scrollTheads(){ if (IpCell) {InpCell.style.pixelLeft=-1000;InpCell.style.pixelTop=-1000;IpCell=false};hdtbl.style.left=-spsheet.scrollLeft;bdtbl.style.top=17-spsheet.scrollTop}function showInpCell(){st=InpCell.style;st1=event.srcElement;InpCell.value=myTbl[Row][(Col-1)]; B=0;st.pixelTop=st1.offsetTop+bdtbl.style.pixelTop;st.pixelLeft=st1.offsetLeft+20+hdtbl.style.pixelLeft;st.pixelHeight=st1.offsetHeight;st.pixelWidth=st1.offsetWidth;InpCell.focus();IpCell=true}function doMsD (){if (event.button==1){if (IpCell) {InpCell.style.pixelLeft=-1000;InpCell.style.pixelTop=-1000;IpCell=false}; st1=InputBar.value.charAt(InputBar.value.length-1);if((st1 !='+')&&(st1 !='-')&&(st1 !='=')&&(st1 !='*')&&(st1 !='/')){Col=event.srcElement.cellIndex;Row=event.srcElement.parentElement.rowIndex;highlightCell(Col,Row);clickCell=true};else inputbarAdd();menuloc.style.display='none'}}function evalue(i,j,fmi,lor){ va=myTbl[i][j]; tot= (lor=='loop'? coun:' '); if (va==''){vCell[i][j]=''; return tot;} vstr='';vi=0 ;st=FormatCell[i][j].toString(); if (va.charAt(0) != '=') {if ((isNaN(va))||(st.charAt(0)==1)||(st.charAt(0)==3)) {vCell[i][j]=va; return va}; else {tot=(tot==''? tot:'');vCell[i][j]=vs=eval(tot+va);return Frmat(vs,i,j)} } ; vs=new Array(); va=va.substring(1,va.length); vc= new Array(); vc=va.split(/([+ * / -])/); for (k=0;k<vc.length;k++) vs[k]=0;vtot=( fmi == '' ? '':0); for(k=0 ;k< vc.length; k++) { if( !isNaN(vc[k])) vs[k]=vc[k]; else if (vc[k].substring(0,3) == 'sum') {vi=0;st1= vc[k].substring((vc[k].indexOf('(')+2),vc[k].indexOf(':')); st2=vc[k].substring((vc[k].indexOf(':')+2),vc[k].indexOf(')'));vb=alphabet.indexOf(vc[k].charAt(4)); for (l=st1;l<=st2;l++) vi +=Math.abs(vCell[l][(vb)]);vs[k]=vi;} else if((alphabet.indexOf(vc[k].charAt(0))!=-1)&&(alphabet.indexOf(vc[k].charAt(1))==-1)) {ca=vc[k].substring(1,vc[k].length);cb=alphabet.indexOf(vc[k].charAt(0)); if ((ca>=Tlength)||(cb>=Twidth)) {vCell[i][j]=va='#HREF!';return va} if(vCell[ca][cb]) vs[k]=vCell[ca][cb]; else vs[k]=myTbl[(ca)][(cb)] ; } else {for(l=0;l<MathObj.length;l++){ if (vc[k].indexOf(MathObj[l]+'(') ==0) {vi=eval('Math.'+MathObj[l]+'('+vc[k].substring((MathObj[l].length+1),(vc[k].length-1))+')');vs[k]=vi}}} } for (k=0;k<vc.length;k++){ if(( !isNaN(vs[k]))&&(vstr =='')) vtot += (k==0 ? '+':va.charAt(va.indexOf(vc[k])-1))+Math.abs(vs[k]); else vtot==0? vstr+=vs[k]:vstr=eval(vtot)+vs[k];} vs=( ((vstr!='')) ? vstr : eval(vtot));if (vs.toString().indexOf("NaN") != -1) vs = "#ERROR!";vCell[i][j]=vs; return Frmat(vs,i,j) }function Frmat (val1,i,j){ var st=FormatCell[i][j]; switch (st){ case '00' : return addSpaces(val1); break; case '01' : val1=Math.floor(val1).toString(); var re = /(-?\d+)(\d{3})/;while (re.test(val1)) val1 = val1.replace( re,"$1 $2"); return val1;break; case '10' : return val1; break;
<BODY style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; MARGIN: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" onload=init();showTbl();checkLocation()><SCRIPT>writemenus(); </SCRIPT><DIV id=ODiv style="OVERFLOW: hidden; POSITION: absolute"></DIV></BODY><!-- This script downloaded from www.JavaScriptBank.com Come to view and download over 2000+ free javascript at www.JavaScriptBank.com-->