Accueil > Supports pédagogiques > TP et projets > Micro projet Conception et BD/Web > Exemple html/javascript pour Joust
<HTML>
<HEAD>
<TITLE>Réussir une Affaire avec la procédure Aquarelle</TITLE>
<!--
Joust Outliner Version 2.4.1
(c) Copyright 1996-1999, Alchemy Computing Limited. All rights reserved.
This code may be freely copied and distributed provided that it is accompanied by this header.
Do not modify anything between here and the "End of Joust" marker other than the "Initialise" function
unless you know what you are doing. You can find the latest version of Joust and all associated files and
help at http://www.alchemy-computing.co.uk/joust/. If you have any questions/problems visit the
Joust User Forum at http://www.customforum.com/joust/
-->
<script language="JavaScript">
<!--
function getDHTMLObj(docName, objName) {return eval(docName + theBrowser.DHTMLRange + '.' + objName + theBrowser.DHTMLStyleObj);}
function getDHTMLObjTop(theObj) {return (theBrowser.code == "MSIE") ? theObj.pixelTop : theObj.top;}
function getDHTMLObjHeight(docName, objName) {return eval(docName + theBrowser.DHTMLRange + '.' + objName + theBrowser.DHTMLDivHeight);}
function getDHTMLImg(docName, objName, imgName) {
return (theBrowser.code == 'MSIE') ? eval(docName + '.all.' + imgName) : getDHTMLObj(docName, objName).document.images[imgName];
}
function simpleArray() {this.item = 0;}
function imgStoreItem(n, s, w, h) {
this.name = n;
this.src = s;
this.obj = null;
this.w = w;
this.h = h;
if ((theBrowser.canCache) && (s)) {
this.obj = new Image(w, h);
this.obj.src = s;
}
}
function imgStoreObject() {
this.count = -1;
this.img = new imgStoreItem;
this.find = imgStoreFind;
this.add = imgStoreAdd;
this.getSrc = imgStoreGetSrc;
this.getTag = imgStoreGetTag;
}
function imgStoreFind(theName) {
var foundItem = -1;
for (var i = 0; i <= this.count; i++) {if (this.img[i].name == theName) {foundItem = i;break;}}
return foundItem;
}
function imgStoreAdd(n, s, w, h) {
var i = this.find(n);
if (i == -1) {i = ++this.count;}
this.img[i] = new imgStoreItem(n, s, parseInt(w, 10), parseInt(h, 10));
}
function imgStoreGetSrc(theName) {
var i = this.find(theName);
var img = this.img[i];
return (i == -1) ? '' : ((img.obj) ? img.obj.src : img.src);
}
function imgStoreGetTag(theName, iconID, altText) {
var i = this.find(theName);
if (i < 0) {return ''}
with (this.img[i]) {
if (src == '') {return ''}
var tag = '<img src="' + src + '" width="' + w + '" height="' + h + '" border="0" align="left" hspace="0" vspace="0"';
tag += (iconID != '') ? ' name="' + iconID + '"' : '';
tag += ' alt="' + ((altText)?altText:'') + '">';
}
return tag;
}
// The MenuItem object. This contains the data and functions for drawing each item.
function MenuItem (owner, id, type, text, url, status, nItem, pItem, parent) {
this.owner = owner;
this.id = id;
this.type = type;
this.text = text;
this.url = url;
this.status = status;
this.target = owner.defaultTarget;
this.nextItem = nItem;
this.prevItem = pItem;
this.FirstChild = -1;
this.parent = parent;
this.isopen = false;
this.isSelected = false;
this.draw = MIDraw;
this.PMIconName = MIGetPMIconName;
this.docIconName = MIGetDocIconName;
this.setImg = MISetImage;
this.setIsOpen = MISetIsOpen;
this.setSelected = MISetSelected;
this.mouseOver = MIMouseOver;
this.mouseOut = MIMouseOut;
var i = (this.owner.imgStore) ? this.owner.imgStore.find(type) : -2;
if (i == -1) {i = this.owner.imgStore.find('iconPlus');}
this.height = (i > -1) ? this.owner.imgStore.img[i].h : 0;
}
function MIDraw (indentStr) {
var o = this.owner;
var mRef = '="return ' + o.reverseRef + "." + o.name;
var tmp = mRef + '.entry[' + this.id + '].';
var MOver = ' onMouseOver' + tmp + 'mouseOver(\''
var MOut = ' onMouseOut' + tmp + 'mouseOut(\''
var iconTag = o.imgStore.getTag(this.PMIconName(), 'plusMinusIcon' + this.id, '');
var aLine = '<nobr>' + indentStr;
if (!this.noOutlineImg) {
if (this.FirstChild != -1) {
aLine += '<A href="#"'
+ ' onClick' + mRef + '.toggle(' + this.id + ');"'
+ MOver + 'plusMinusIcon\',this);"'
+ MOut + 'plusMinusIcon\');">' + iconTag + '</A>';
} else {
aLine += iconTag;
}
}
var tip = (o.tipText == 'text') ? this.text : ((o.tipText == 'status') ? this.status : '');
var theEntry = o.imgStore.getTag(this.docIconName(), 'docIcon' + this.id, tip) + this.text;
var theImg = o.imgStore.getTag(this.docIconName(), 'docIcon' + this.id, tip);
var sTxt = '<SPAN CLASS="' + ((this.CSSClass) ? this.CSSClass : ((this.FirstChild != -1) ? 'node' : 'leaf')) + '">';
var lTxt = '<A NAME="joustEntry' + this.id + '"';
var theUrl = (((this.url == '') && theBrowser.canJSVoid && o.showAllAsLinks) || this.noOutlineImg || o.wizardInstalled) ? 'javascript:void(0);' : this.url;
if (theUrl != '') {
if (this.target == "_top") {theUrl = "javascript:" + o.reverseRef + ".loadURLInTop('" + theUrl + "');";}
lTxt += ' href="' + theUrl + '"'
+ ' TARGET="' + this.target + '"'
+ ' onClick' + mRef + '.itemClicked(' + this.id + ');"'
+ MOver + 'docIcon\',this);"'
+ MOut + 'docIcon\');"';
}
lTxt += (tip) ? ' TITLE="' + tip + '">' : '>';
aLine += sTxt + lTxt + theImg;
if (this.multiLine) {
aLine += '</A></SPAN><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0"><TR><TD>'
+ sTxt + lTxt + this.text + '</A></SPAN></TD></TR></TABLE>';
} else {
aLine += this.text + '</A></SPAN>';
}
aLine += '</nobr>';
return aLine
}
function MIGetPMIconName() {
var n = 'icon' + ((this.FirstChild != -1) ? ((this.isopen == true) ? 'Minus' : 'Plus') : 'Join');
n += (this.id == this.owner.firstEntry) ? ((this.nextItem == -1) ? 'Only' : 'Top') : ((this.nextItem == -1) ? 'Bottom' : '');
return n;
}
function MIGetDocIconName() {
var is = this.owner.imgStore; var n = this.type;
n += ((this.isopen) && (is.getSrc(n + 'Expanded') != '')) ? 'Expanded' : '';
n += ((this.isSelected) && (is.getSrc(n + 'Selected') != '')) ? 'Selected' : '';
return n;
}
function MISetImage(imgID, imgName) {
var o = this.owner; var imgSrc = o.imgStore.getSrc(imgName);
if ((imgSrc != '') && (theBrowser.canCache) && (!o.amBusy)) {
var img = (theBrowser.hasDHTML) ? getDHTMLImg(o.container + '.document', 'entryDIV' + this.id, imgID) : eval(o.container).document.images[imgID];
if (img) {img.src = imgSrc;}
}
}
function MISetIsOpen (isOpen) {
if ((this.isopen != isOpen) && (this.FirstChild != -1)) {
this.isopen = isOpen;
this.setImg('plusMinusIcon' + this.id, this.PMIconName());
this.setImg('docIcon' + this.id, this.docIconName(false));
return true;
} else {
return false;
}
}
function MISetSelected (isSelected) {
this.isSelected = isSelected;
this.setImg('docIcon' + this.id, this.docIconName(false));
if ((this.parent >= 0) && this.owner.selectParents) {this.owner.entry[this.parent].setSelected(isSelected);}
}
function MIMouseOver(imgName, theURL) {
eval(this.owner.container).status = ''; //Needed for setStatus to work on MSIE 3 - Go figure!?
var newImg = '';
var s = '';
if (imgName == 'plusMinusIcon') {
newImg = this.PMIconName();
s = 'Clicker pour ' + ((this.isopen == true) ? 'fermer.' : 'ouvrir.');
} else {
if (imgName == 'docIcon') {
newImg = this.docIconName();
s = (this.status != null) ? this.status : theURL;
}
}
setStatus(s);
if (theBrowser.canOnMouseOut) {this.setImg(imgName + this.id, newImg + 'MouseOver');}
if(this.onMouseOver) {var me=this;eval(me.onMouseOver);}
return true;
}
function MIMouseOut(imgName) {
clearStatus();
var newImg = '';
if (imgName == 'plusMinusIcon') {
newImg = this.PMIconName();
} else {
if (imgName == 'docIcon') {newImg = this.docIconName();}
}
this.setImg(imgName + this.id, newImg);
if(this.onMouseOut) {var me=this;eval(me.onMouseOut);}
return true;
}
// The Menu object. This is basically an array object although the data in it is a tree.
function Menu () {
this.count = -1;
this.version = '2.4.1';
this.firstEntry = -1;
this.autoScrolling = false;
this.modalFolders = false;
this.linkOnExpand = false;
this.toggleOnLink = false;
this.showAllAsLinks = false;
this.savePage = true;
this.name = 'theMenu';
this.container = 'menu';
this.reverseRef = 'parent';
this.contentFrame = 'text';
this.defaultTarget = 'text';
this.tipText = 'none';
this.selectParents = false;
this.lastPMClicked = -1;
this.selectedEntry = -1;
this.wizardInstalled = false;
this.amBusy = true;
this.maxHeight = 0;
this.imgStore = new imgStoreObject;
this.entry = new MenuItem(this, 0, '', '', '', '', -1, -1, -1);
this.contentWin = MenuGetContentWin;
this.getEmptyEntry = MenuGetEmptyEntry;
this.addEntry = MenuAddEntry;
this.addMenu = MenuAddEntry;
this.addChild = MenuAddChild;
this.rmvEntry = MenuRmvEntry;
this.rmvChildren = MenuRmvChildren;
this.draw = MenuDraw;
this.drawALevel = MenuDrawALevel;
this.refresh = MenuRefresh;
this.reload = MenuReload;
this.refreshDHTML = MenuRefreshDHTML;
this.scrollTo = MenuScrollTo;
this.itemClicked = MenuItemClicked;
this.selectEntry = MenuSelectEntry;
this.setEntry = MenuSetEntry;
this.setEntryByURL = MenuSetEntryByURL;
this.setAllChildren = MenuSetAllChildren;
this.setAll = MenuSetAll;
this.openAll = MenuOpenAll;
this.closeAll = MenuCloseAll;
this.findEntry = MenuFindEntry;
this.toggle = MenuToggle;
}
function MenuGetContentWin() {
return eval(((myOpener != null) ? 'myOpener.' : 'self.') + this.contentFrame);
}
function MenuGetEmptyEntry() {
for (var i = 0; i <= this.count; i++) {if (this.entry[i] == null) {break;}}
if (i > this.count) {this.count = i};
return i
}
function MenuAddEntry (addTo, type, text, url, status, insert) {
if (!insert) {insert=false;}
var theNI = -1;var theP = -1;var thePI = -1;
if (addTo < 0) {
var i = addTo = this.firstEntry;
if (!insert) {while (i > -1) {addTo = i;i = this.entry[i].nextItem;}}
}
if (addTo >= 0) {
var e = this.entry[addTo];
if (!e) {return -1;}
thePI = (insert)?e.prevItem:addTo;
theNI = (insert)?addTo:e.nextItem;
theP = e.parent;
}
var eNum = this.getEmptyEntry();
if (thePI >= 0) {
this.entry[thePI].nextItem = eNum;
} else {
if (theP >= 0) {
this.entry[theP].FirstChild = eNum;
} else {
this.firstEntry = eNum;
}
}
if (theNI >= 0) {this.entry[theNI].prevItem = eNum;}
this.entry[eNum] = new MenuItem(this, eNum, type, text, url, status, theNI, thePI, theP);
return eNum;
}
function MenuAddChild (addTo, type, text, url, status, insert) {
if (!insert) {insert=false;}
var eNum = -1;
if ((this.count == -1) || (addTo < 0)) {
eNum = this.addEntry(-1, type, text, url, status, false);
} else {
var e = this.entry[addTo];
if (!e) {return -1;}
var cID = e.FirstChild;
if (cID < 0) {
e.FirstChild = eNum = this.getEmptyEntry();
this.entry[eNum] = new MenuItem(this, eNum, type, text, url, status, -1, -1, addTo);
} else {
while (!insert && (this.entry[cID].nextItem >= 0)) {cID = this.entry[cID].nextItem;}
eNum = this.addEntry(cID, type, text, url, status, insert);
}
}
return eNum;
}
function MenuRmvEntry (theEntry) {
var e = this.entry[theEntry];
if (e == null) {return;}
var p = e.prevItem;
var n = e.nextItem;
if (e.FirstChild > -1) {this.rmvChildren(theEntry);}
if (this.firstEntry == theEntry) {this.firstEntry = n}
if (this.selectedEntry == theEntry) {this.selectedEntry = n}
if (p > -1) {
this.entry[p].nextItem = n;
} else {
if (e.parent > -1) {
this.entry[e.parent].FirstChild = n;
} else {
if (this.firstEntry == theEntry) {this.firstEntry = n}
}
}
if (n > -1) {this.entry[n].prevItem = p;}
this.entry[theEntry] = null;
}
function MenuRmvChildren (theP) {
var eNum;var e;var tmp;
if (theP == -1) {
eNum = this.firstEntry;
this.firstEntry = -1;
} else {
eNum = this.entry[theP].FirstChild;
this.entry[theP].FirstChild = -1;
}
while (eNum > -1) {
e = this.entry[eNum];
if (e.FirstChild > -1) {this.rmvChildren(eNum);}
if (this.selectedEntry == eNum) {this.selectedEntry = e.parent;}
tmp = eNum;
eNum = e.nextItem;
this.entry[tmp] = null;
}
}
function MenuDraw() {
this.maxHeight = 0;
theDoc = eval(this.container + ".document");
eval(this.container).document.writeln(this.drawALevel(this.firstEntry, '', true, theDoc));
if (theBrowser.hasDHTML) {
for (var i = 0; i <= this.count; i++) {
if (this.entry[i]) {
this.maxHeight += getDHTMLObjHeight(this.container + '.document', 'entryDIV' + i);
}
}
} else {
if ((this.lastPMClicked > 0) && theBrowser.mustMoveAfterLoad && this.autoScrolling) {
this.scrollTo(this.lastPMClicked);
}
}
}
function MenuDrawALevel(firstItem, indentStr, isVisible, theDoc) {
var currEntry = firstItem;
var padImg = "";
var aLine = "";
var theLevel = "";
var e = null;
while (currEntry > -1) {
e = this.entry[currEntry];
aLine = e.draw(indentStr);
if (theBrowser.hasDHTML) {
aLine = '<DIV ID="entryDIV' + currEntry + '" CLASS="menuItem">' + aLine + '</DIV>';
} else {
aLine += '<BR CLEAR="ALL">';
}
theBrowser.lineByLine = true;
if (theBrowser.lineByLine) {theDoc.writeln(aLine);} else {theLevel += aLine;}
if ((e.FirstChild > -1) && ((theBrowser.hasDHTML || (e.isopen && isVisible)))) {
padImg = (e.noOutlineImg) ? '' : this.imgStore.getTag((e.nextItem == -1) ? 'iconBlank' : 'iconLine', '', '');
theLevel += this.drawALevel(e.FirstChild, indentStr + padImg, (e.isopen && isVisible), theDoc);
}
currEntry = e.nextItem;
}
return theLevel;
}
function MenuRefresh() {
if (theBrowser.hasDHTML) {
if (!this.amBusy) {
this.refreshDHTML();
if (this.autoScrolling) {this.scrollTo(this.lastPMClicked);}
}
} else {
this.reload();
}
}
function MenuReload() {
if (!this.amBusy) {
this.amBusy = true;
var l = eval(this.container).location;
var rm = theBrowser.reloadMethod;
var newLoc = fixPath(l.pathname);
if (theBrowser.code == 'OP') {var d = new Date(); newLoc += '?' + d.getTime();}
if (this.autoScrolling && (this.lastPMClicked > 0) && !theBrowser.mustMoveAfterLoad) {
newLoc += "#joustEntry" + this.lastPMClicked;
}
if (rm == 'replace') {
l.replace(newLoc);
} else {
if (rm == 'reload') {
l.reload();
} else {
if (rm == 'timeout') {
setTimeout(this.container + ".location.href ='" + newLoc + "';", 100);
} else {
l.href = newLoc;
}
}
}
}
}
function MenuRefreshDHTML() {
var nextItemArray = new simpleArray;
var currEntry = this.firstEntry;
var level = (currEntry == -1) ? 0 : 1;
var isVisible = true;
var lastVisibleLevel = 1;
var co = eval(this.container);
var yPos = co.menuStart;
var d = this.container + '.document';
var e = null;var s = null;
while (level > 0) {
e = this.entry[currEntry];
s = getDHTMLObj(d, 'entryDIV' + currEntry);
if (isVisible) {
s.top = yPos;
s.visibility = 'visible';
yPos += getDHTMLObjHeight(d, 'entryDIV' + currEntry);
lastVisibleLevel = level;
} else {
s.visibility = 'hidden';
}
if (e.FirstChild > -1) {
isVisible = (e.isopen == true) && isVisible;
nextItemArray[level++] = e.nextItem;
currEntry = e.FirstChild;
} else {
if (e.nextItem != -1) {
currEntry = e.nextItem;
} else {
while (level > 0) {
if (nextItemArray[--level] != -1) {
currEntry = nextItemArray[level];
isVisible = (lastVisibleLevel >= level);
break;
}
}
}
}
}
this.maxHeight = yPos;
co.setMenuHeight(yPos);
}
function MenuScrollTo(entryNo) {
if (theBrowser.hasDHTML) {
var e = this.entry[entryNo];
if (!e) {return;}
var co = eval(this.container);
var d = this.container + '.document';
var srTop = getDHTMLObjTop(getDHTMLObj(d, 'entryDIV' + entryNo));
var srBot = (e.nextItem > 0) ? getDHTMLObjTop(getDHTMLObj(d, 'entryDIV' + e.nextItem)) : this.maxHeight;
if (theBrowser.code == 'MSIE') {
var curTop = co.document.body.scrollTop;
var curBot = curTop + co.document.body.clientHeight;
} else {
var curTop = co.pageYOffset;
var curBot = curTop + co.innerHeight;
}
if ((srBot > curBot) || (srTop < curTop)) {
var scrBy = srBot - curBot;
if (srTop < (curTop + scrBy)) {scrBy = srTop - curTop;}
co.setTimeout('self.scrollBy(0, ' + scrBy + ');', 100);
}
} else {
var l = eval(this.container).location.pathname + '#joustEntry' + entryNo;
setTimeout(this.container + '.location.href = "' + l + '";', 100);
}
}
function MenuItemClicked(entryNo, fromToggle) {
var r = true;
var e = this.entry[entryNo];
var w = this.contentWin();
var b = theBrowser;
this.selectEntry(entryNo);
if (this.wizardInstalled) {w.menuItemClicked(entryNo);}
if(e.onClickFunc) {e.onClick = e.onClickFunc;}
if(e.onClick) {var me=e;if(eval(e.onClick) == false) {r = false;}}
if (r) {
if (((this.toggleOnLink) && (e.FirstChild != -1) && !(fromToggle)) || e.noOutlineImg) {
if (b.hasDHTML) {
this.toggle(entryNo, true);
} else {
setTimeout(this.name + '.toggle(' + entryNo + ', true);', 100);
}
}
}
return (r) ? r : (e.url != '');
}
function MenuSelectEntry(entryNo) {
var e = this.entry[entryNo];
if (e) {
var oe = this.entry[this.selectedEntry];
if (oe) {oe.setSelected(false);}
this.selectedEntry = entryNo;
e.setSelected(true);
}
}
function MenuSetEntry(entryNo, state) {
var cl = ',' + entryNo + ',';
var e = this.entry[entryNo];
this.lastPMClicked = entryNo;
var mc = e.setIsOpen(state);
var p = e.parent;
while (p >= 0) {
cl += p + ',';
e = this.entry[p];
mc |= (e.setIsOpen(true));
p = e.parent;
}
if (this.modalFolders) {
for (var i = 0; i <= this.count; i++) {
e = this.entry[i];
if ((cl.indexOf(',' + i + ',') < 0) && e) {mc |= e.setIsOpen(false);}
}
}
return mc;
}
function MenuSetEntryByURL(theURL, state) {
var i = this.findEntry(theURL, 'url', 'right', 0);
return (i != -1) ? this.setEntry(i, state) : false;
}
function MenuSetAllChildren(state, parentID) {
var hasChanged = false;
var currEntry = (parentID > -1) ? this.entry[parentID].FirstChild : this.firstEntry;
while (currEntry > -1) {
var e = this.entry[currEntry];
hasChanged |= e.setIsOpen(state);
if (e.FirstChild > -1) {hasChanged |= this.setAllChildren(state, currEntry);}
currEntry = e.nextItem;
}
return hasChanged;
}
function MenuSetAll(state, parentID) {
if (theBrowser.version >= 4) {
if (parentID == 'undefined') {parentID = -1;}
} else {
if (parentID == null) {parentID = -1;}
}
var hasChanged = false;
if (parentID > -1) {hasChanged |= this.entry[parentID].setIsOpen(state);}
hasChanged |= this.setAllChildren(state, parentID);
if (hasChanged) {
this.lastPMClicked = this.firstEntry;
this.refresh();
}
}
function MenuOpenAll() {this.setAll(true, -1);}
function MenuCloseAll() {this.setAll(false, -1)}
function MenuFindEntry(srchVal, srchProp, matchType, start) {
if (srchVal == "") {return -1;}
if (!srchProp) {srchProp = "url";}
if (!matchType) {matchType = "exact";}
if (!start) {start = 0;}
if (srchProp == "URL") {srchProp = "url";}
if (srchProp == "title") {srchProp = "text";}
if (typeof(srchVal) != "string") {matchType = "exact";}
if ((matchType != "left") && (matchType != "right")) {matchType = "exact";}
var lm = srchVal.length;
for (var i = start; i <= this.count; i++) {
var e = this.entry[i];
if (e) {
var currVal = eval("e." + srchProp);
if (currVal == srchVal) {return i;}
if ((typeof(currVal) == "string") && (currVal != "")) {
var lc = currVal.length;
var l = Math.min(lm,lc);
if (matchType == "left") {
if (currVal.substring(1, l) == srchVal.substring(1, l)) {return i;}
} else {
if (matchType == "right") {
if (currVal.substring(lc-l, lc) == srchVal.substring(lm-l, lm)) {return i;}
}
}
}
}
}
return -1;
}
function MenuToggle(entryNo, fromClicked) {
var r = true;
var e = this.entry[entryNo];
if (e.onToggle) {var me=e;if(eval(e.onToggle) == false) {r = false;}}
if (r) {
var chg = this.setEntry(entryNo, e.isopen ^ 1);
if (this.linkOnExpand && e.isopen) {
if (e.url != '') {this.contentWin().location = e.url;}
if (!fromClicked) {this.itemClicked(entryNo, true);}
}
if (chg) {this.refresh();}
}
return false;
}
// Other functions
function DrawMenu(m) {
m.draw();
}
function browserInfo() {
this.code = 'unknown';
this.version = 0;
this.platform = 'Win';
var ua = navigator.userAgent;
var i = ua.indexOf('WebTV');
if (i >= 0) {
this.code = 'WebTV';
i += 6;
} else {
i = ua.indexOf('MSIE');
if (i >= 0) {
this.code = 'MSIE';
i += 5;
} else {
i = ua.indexOf('Opera');
if (i >= 0) {
this.code = 'OP';
i = ua.indexOf(') ') + 2;
} else {
i = ua.indexOf('Mozilla/');
if (i >= 0) {
this.code = 'NS';
i += 8;
}
}
}
}
this.version = parseFloat(ua.substring(i, i+4));
if (ua.indexOf('Mac') >= 0) {this.platform = 'Mac';}
if (ua.indexOf('OS/2') >= 0) {this.platform = 'OS/2';}
if (ua.indexOf('X11') >= 0) {this.platform = 'UNIX';}
var v = this.version;
var p = this.platform;
var NS = (this.code == 'NS');
var IE = (this.code == 'MSIE');
var WTV = (this.code == 'WebTV');
var OP = (this.code == 'OP');
var OP32up = (OP && (v >= 3.2));
var IE4up = (IE && (v >= 4));
var NS3up = (NS && (v >= 3));
this.canCache = NS3up || IE4up || OP32up || WTV;
this.canOnMouseOut = this.canCache;
this.canOnError = NS3up || IE4up || OP32up;
this.canJSVoid = !((NS && !NS3up) || (IE && !IE4up) || (OP && (v < 3.5)));
this.lineByLine = (v < 4);
this.mustMoveAfterLoad = NS3up || (IE4up && (p != 'Mac')) || WTV;
if (NS3up || IE4up || WTV) {
this.reloadMethod = 'replace';
} else {
this.reloadMethod = (NS && (v == 2.01) && (p != 'Win')) ? 'timeout' : 'href';
}
this.canFloat = NS || (IE && !((p == 'Mac') && (v >= 4) && (v < 5)));
this.hasDHTML = ((NS || IE) && (v >= 4)) && !(IE && (p == 'Mac') && (v < 4.5));
this.needLM = NS || (IE && (p == 'Mac') && (v >= 4.5));
this.DHTMLRange = IE ? '.all' : '';
this.DHTMLStyleObj = IE ? '.style' : '';
this.DHTMLDivHeight = IE ? '.offsetHeight' : '.clip.height';
}
function getWindow() {return (floatingMode) ? myOpener : self;}
function setStatus(theText) {
var theWindow = getWindow();
if (theWindow) {
theWindow.status = theText;
if (!theBrowser.canOnMouseOut) {
clearTimeout(statusTimeout);
statusTimeout = setTimeout('clearStatus()', 5000);
}
}
return true;
}
function clearStatus() {
var theWindow = getWindow();
if (theWindow) {theWindow.status = '';}
}
function unloadFloating() {
if (myOpener) {
if (myOpener.JoustFrameset) {myOpener.setTimeout('menuClosed();', 100);}
}
}
function getMode() {
var theMode = getParm(document.cookie, 'mode', ';');
return ((theMode == "Floating") || (theMode == "NoFrames")) ? theMode : "Frames";
}
function smOnError (msg, url, lno) {
smCallerWin.onerror = oldErrorHandler;
if (confirm(smSecurityMsg)) {setTimeout('setMode("' + smNewMode + '");', 100);}
return true;
}
function smSetCookie(theMode) {
document.cookie = 'mode=' + theMode + '; path=/';
if (getMode() != theMode) {
alert(smCookieMsg);
return false;
} else {
return true;
}
}
function setMode(theMode, callerWin) {
smNewMode = theMode
smCallerWin = (theBrowser.code == 'NS') ? callerWin : self;
var okToGo = true;
var currentMode = getMode();
if (theMode != currentMode) {
if (currentMode == 'Floating') {
if (smSetCookie(theMode)) {self.close();}
} else {
var dest = '';
if (theBrowser.canFloat) {
if ((theMenu.savePage) && (callerWin)) {
if (theBrowser.canOnError) {
oldErrorHandler = smCallerWin.onerror;
smCallerWin.onerror = smOnError;
}
var p = theMenu.contentWin().location.pathname;
if (theBrowser.canOnError) {smCallerWin.onerror = oldErrorHandler;}
if (p) {
dest = fixPath(p);
} else {
if (!confirm(smSecurityMsg)) {okToGo = false;}
}
}
} else {
alert(smNoFloat);
okToGo = false;
}
if (okToGo && smSetCookie(theMode)) {
if (theMode == 'NoFrames') {
location.href = (index3 == '') ? ((dest == '') ? '/' : dest) : index3;
} else {
location.href = index2 + '?page=' + escape(dest);
}
}
}
}
}
function fixPath(p) {
return (p.substring(0,2) == '/:') ? p.substring(p.indexOf('/', 2), p.length) : p;
}
function getParm(theStr, parm, delim) {
// returns value of parm from string
if (theStr.length == 0) {return '';}
var sPos = theStr.indexOf(parm + "=");
if (sPos == -1) {return '';}
sPos = sPos + parm.length + 1;
var ePos = theStr.indexOf(delim, sPos);
if (ePos == -1) {ePos = theStr.length;}
return unescape(theStr.substring(sPos, ePos));
}
function pageFromSearch(def, m, selIt) {
var s = self.location.search;
if ((s == null) || (s.length <= 1)) {return def;}
var p = getParm(s, 'page', '&');
p = (p != '') ? fixPath(p) : fixPath(s.substring(1, s.length));
if (m != null) {
var e = m.findEntry(p, 'URL', 'exact');
if ((e != -1) && selIt) {
m.setEntry(e, true);
m.selectEntry(e);
}
}
return p;
}
function loadURLInTop(theURL) {
var theWindow = getWindow();
if (theWindow) {theWindow.top.location.href = theURL;}
}
function defOnError(msg, url, lno) {
if (jsErrorMsg == '') {
return false;
} else {
alert(jsErrorMsg + '.\n\nError: ' + msg + '\nPage: ' + url + '\nLine: ' + lno + '\nBrowser: ' + navigator.userAgent);
return true;
}
}
function defaultResizeHandler() {
if ((theBrowser.code == "NS") && theBrowser.hasDHTML) {
if (!eval(theMenu.container + ".document.menuBottom")) {
theMenu.reload();
}
}
}
// Declare global variables
var theBrowser = new browserInfo;
var jsErrorMsg = 'A JavaScript error has occurred on this page! Please note down the ';
jsErrorMsg += 'following information and pass it on to the WebMaster.';
if (theBrowser.canOnError) {self.onerror = defOnError;}
var theMenu = new Menu;
var JoustFrameset = true;
var statusTimeout = 0;
var index1 = 'index.htm';
var index2 = 'index2.htm';
var index3 = 'index3.htm';
var smCallerWin;
var smNewMode;
var oldErrorHandler;
var smNoFloat = 'Sorry, your browser does not support this feature!';
var smCookieMsg = 'You must have Cookies enabled to change the display mode!';
var smSecurityMsg = 'Due to security restrictions imposed by your browser, I cannot ';
smSecurityMsg += 'change modes while a page from another server is being displayed. ';
smSecurityMsg += 'The default home page for this site will be displayed instead.';
var floatingMode = (getMode() == 'Floating');
var myOpener = null;
if (floatingMode == true) {
if (self.opener) {
myOpener = self.opener;
if (myOpener.JoustFrameset) {myOpener.setTimeout('setGlobals();', 100);}
} else {
document.cookie = 'mode=Frames; path=/';
floatingMode = false;
}
} else {
if (getMode() != 'Frames') {document.cookie = 'mode=Frames; path=/';}
}
// ############################ End of Joust ############################
function initOutlineIcons(imgStore) {
var ip = 'images/menu/';
ip += (theBrowser.platform == 'Mac') ? 'mac/' : ((theBrowser.platform == 'OS/2') ? 'os2/' : 'win/');
imgStore.add('iconPlusTop', ip + 'plustop.gif', 18, 16);
imgStore.add('iconPlus', ip + 'plus.gif', 18, 16);
imgStore.add('iconPlusBottom', ip + 'plusbottom.gif', 18, 16);
imgStore.add('iconPlusOnly', ip + 'plusonly.gif', 18, 16);
imgStore.add('iconMinusTop', ip + 'minustop.gif', 18, 16);
imgStore.add('iconMinus', ip + 'minus.gif', 18, 16);
imgStore.add('iconMinusBottom', ip + 'minusbottom.gif', 18, 16);
imgStore.add('iconMinusOnly', ip + 'minusonly.gif', 18, 16);
imgStore.add('iconLine', ip + 'line.gif', 18, 16);
imgStore.add('iconBlank', ip + 'blank.gif', 18, 16);
imgStore.add('iconJoinTop', ip + 'jointop.gif', 18, 16);
imgStore.add('iconJoin', ip + 'join.gif', 18, 16);
imgStore.add('iconJoinBottom', ip + 'joinbottom.gif', 18, 16);
//Add folder and document images to the imgStore.
imgStore.add('Folder', ip + 'folderclosed.gif', 18, 18);
var di = 'images/menu/';
if ((theBrowser.code == 'NS') || (theBrowser.code == 'MSIE')) {
di += theBrowser.code.toLowerCase() + '_doc';
imgStore.add('Document', di + '.gif', 16, 16);
imgStore.add('DocumentMouseOver', di + '_mo.gif', 16, 16);
imgStore.add('DocumentSelected', di + '_sel.gif', 16, 16);
} else {
imgStore.add('Document', di + 'doc.gif', 16, 16);
}
imgStore.add('Image', 'images/menu/int.gif', 18, 16);
}
function initialise() {
// Tell joust where to find the various index files it needs
index1 = 'index.html';
index2 = 'index2.html';
index3 = 'index3.html';
// Set up parameters to control menu behaviour
theMenu.autoScrolling = true;
theMenu.modalFolders = false;
theMenu.linkOnExpand = false;
theMenu.toggleOnLink = false;
theMenu.showAllAsLinks = false;
theMenu.savePage = true;
theMenu.tipText = "status";
theMenu.selectParents = false;
theMenu.name = "theMenu";
theMenu.container = "self.menu";
theMenu.reverseRef = "parent";
theMenu.contentFrame = "text";
theMenu.defaultTarget = "text";
// Initialise all the icons
initOutlineIcons(theMenu.imgStore);
// Now set up the menu with a whole lot of addEntry and addChild function calls
var level1ID = -1;
var level2ID = -1;
var level3ID = -1;
var level4ID = -1;
level1ID = theMenu.addEntry(-1, "Folder", "LA DEMARCHE GLOBALE", "../ACTIVITES/demarche.html", "../ACTIVITES/demarche.html");
//Set the initial state of the folder to "open"
theMenu.entry[level1ID].isopen = true;
level2ID = theMenu.addChild(level1ID, "Folder", "IDENTIFICATION", "../ACTIVITES/identif.html", "../ACTIVITES/identif.html");
theMenu.entry[level2ID].isopen = false;
level3ID = theMenu.addChild(level2ID, "Document", "Suivre le client", "../ACTIVITES/tache00.html", "../ACTIVITES/tache00.html");
level3ID = theMenu.addChild(level2ID, "Document", "Suivre les publications", "../ACTIVITES/tache01.html", "../ACTIVITES/tache01.html");
level3ID = theMenu.addChild(level2ID, "Document", "Formaliser le besoin", "../ACTIVITES/tache02.html", "../ACTIVITES/tache02.html");
level3ID = theMenu.addChild(level2ID, "Document", "Faire un compte-rendu", "../ACTIVITES/tache03.html", "../ACTIVITES/tache03.html");
level3ID = theMenu.addChild(level2ID, "Document", "Initialiser le Dossier Affaire", "../ACTIVITES/tache04.html", "../ACTIVITES/tache04.html");
level2ID = theMenu.addChild(level1ID, "Folder", "QUALIFICATION", "../ACTIVITES/qualif.html", "../ACTIVITES/qualif.html");
theMenu.entry[level2ID].isopen = false;
level3ID = theMenu.addChild(level2ID, "Document", "Qualifier l'affaire", "../ACTIVITES/tache10.html", "../ACTIVITES/tache10.html");
level3ID = theMenu.addChild(level2ID, "Document", "Constituer le Comité de décision", "../ACTIVITES/tache11.html", "../ACTIVITES/tache11.html");
level3ID = theMenu.addChild(level2ID, "Document", "Connaître l'environnement du client", "../ACTIVITES/tache12.html", "../ACTIVITES/tache12.html");
level3ID = theMenu.addChild(level2ID, "Document", "Réaliser l'analyse concurrentielle", "../ACTIVITES/tache13.html", "../ACTIVITES/tache13.html");
level3ID = theMenu.addChild(level2ID, "Document", "Demander le GO/NOGO", "../ACTIVITES/tache14.html", "../ACTIVITES/tache14.html");
level3ID = theMenu.addChild(level2ID, "Document", "Etablir la stratégie de réponse", "../ACTIVITES/tache15.html", "../ACTIVITES/tache15.html");
level2ID = theMenu.addChild(level1ID, "Folder", "CONCEPTION", "../ACTIVITES/concept.html", "../ACTIVITES/concept.html");
theMenu.entry[level2ID].isopen = true;
level3ID = theMenu.addChild(level2ID, "Document", "Analyse des besoins", "../ACTIVITES/analyse.html", "../ACTIVITES/analyse.html");
theMenu.entry[level3ID].isopen = false;
level4ID = theMenu.addChild(level3ID, "Document", "Analyser le cahier des charges", "../ACTIVITES/tache210.html", "../ACTIVITES/tache210.html");
level4ID = theMenu.addChild(level3ID, "Document", "Tenir la RLO", "../ACTIVITES/tache211.html", "../ACTIVITES/tache211.html");
level3ID = theMenu.addChild(level2ID, "Document", "Recherche de la solution", "../ACTIVITES/rechsolution.html", "../ACTIVITES/rechsolution.html");
theMenu.entry[level3ID].isopen = false;
level4ID = theMenu.addChild(level3ID, "Document", "Valider l'analyse concurrentielle", "../ACTIVITES/tache220.html", "../ACTIVITES/tache220.html");
level4ID = theMenu.addChild(level3ID, "Document", "Choisir la solution", "../ACTIVITES/tache221.html", "../ACTIVITES/tache221.html");
level4ID = theMenu.addChild(level3ID, "Document", "Contractualiser avec les partenariats", "../ACTIVITES/tache222.html", "../ACTIVITES/tache222.html");
level4ID = theMenu.addChild(level3ID, "Document", "Constituer le sommaire de la réponse", "../ACTIVITES/tache223.html", "../ACTIVITES/tache223.html");
level4ID = theMenu.addChild(level3ID, "Document", "Elaborer la matrice de réponse", "../ACTIVITES/tache224.html", "../ACTIVITES/tache224.html");
level3ID = theMenu.addChild(level2ID, "Document", "Rédaction de la proposition", "../ACTIVITES/redaction.html", "../ACTIVITES/redaction.html");
theMenu.entry[level3ID].isopen = false;
level4ID = theMenu.addChild(level3ID, "Document", "Etablir le devis", "../ACTIVITES/tache230.html", "../ACTIVITES/tache230.html");
level4ID = theMenu.addChild(level3ID, "Document", "Etablir un planning de réalisation", "../ACTIVITES/tache231.html", "../ACTIVITES/tache231.html");
level4ID = theMenu.addChild(level3ID, "Document", "Analyser les risques majeurs", "../ACTIVITES/tache232.html", "../ACTIVITES/tache232.html");
level4ID = theMenu.addChild(level3ID, "Document", "Etablir le sommaire du PAQ", "../ACTIVITES/tache233.html", "../ACTIVITES/tache233.html");
level4ID = theMenu.addChild(level3ID, "Document", "Rédiger la proposition", "../ACTIVITES/tache234.html", "../ACTIVITES/tache234.html");
level4ID = theMenu.addChild(level3ID, "Document", "Valider la proposition", "../ACTIVITES/tache235.html", "../ACTIVITES/tache235.html");
level4ID = theMenu.addChild(level3ID, "Document", "Rédiger la Synthèse de Direction", "../ACTIVITES/tache236.html", "../ACTIVITES/tache236.html");
level4ID = theMenu.addChild(level3ID, "Document", "Tenir la RBO", "../ACTIVITES/tache237.html", "../ACTIVITES/tache237.html");
level2ID = theMenu.addChild(level1ID, "Folder", "NEGOCIATION", "../ACTIVITES/negoc.html", "../ACTIVITES/negoc.html");
theMenu.entry[level2ID].isopen = true;
level3ID = theMenu.addChild(level2ID, "Document", "Défense de la proposition", "../ACTIVITES/defense.html", "../ACTIVITES/defense.html");
theMenu.entry[level3ID].isopen = false;
level4ID = theMenu.addChild(level3ID, "Document", "Réaliser l'analyse post-soumission", "../ACTIVITES/tache310.html", "../ACTIVITES/tache310.html");
level4ID = theMenu.addChild(level3ID, "Document", "Accompagner le client", "../ACTIVITES/tache311.html", "../ACTIVITES/tache311.html");
level4ID = theMenu.addChild(level3ID, "Document", "Soutenir la proposition", "../ACTIVITES/tache312.html", "../ACTIVITES/tache312.html");
level4ID = theMenu.addChild(level3ID, "Document", "Préparer la présentation orale", "../ACTIVITES/tache313.html", "../ACTIVITES/tache313.html");
level3ID = theMenu.addChild(level2ID, "Document", "Rédaction des contrats", "../ACTIVITES/redacontra.html", "../ACTIVITES/redacontra.html");
theMenu.entry[level3ID].isopen = false;
level4ID = theMenu.addChild(level3ID, "Document", "Rédiger le contrat-client", "../ACTIVITES/tache320.html", "../ACTIVITES/tache320.html");
level4ID = theMenu.addChild(level3ID, "Document", "Rédiger les contrats-partenaires", "../ACTIVITES/tache321.html", "../ACTIVITES/tache321.html");
level4ID = theMenu.addChild(level3ID, "Document", "Rédiger le PAQ", "../ACTIVITES/tache322.html", "../ACTIVITES/tache322.html");
level4ID = theMenu.addChild(level3ID, "Document", "Informer l'équipe de réalisation", "../ACTIVITES/tache323.html", "../ACTIVITES/tache323.html");
level4ID = theMenu.addChild(level3ID, "Document", "Tenir la RBC", "../ACTIVITES/tache324.html", "../ACTIVITES/tache324.html");
level2ID = theMenu.addChild(level1ID, "Folder", "BILAN", "../ACTIVITES/bilan.html", "../ACTIVITES/bilan.html");
theMenu.entry[level2ID].isopen = false;
level3ID = theMenu.addChild(level2ID, "Document", "Réaliser le Bilan d'affaire", "../ACTIVITES/tache40.html", "../ACTIVITES/tache40.html");
level3ID = theMenu.addChild(level2ID, "Document", "Etablir un plan d'actions", "../ACTIVITES/tache41.html", "../ACTIVITES/tache41.html");
level3ID = theMenu.addChild(level2ID, "Document", "Capitaliser l'expérience", "../ACTIVITES/tache42.html", "../ACTIVITES/tache42.html");
level3ID = theMenu.addChild(level2ID, "Document", "Suivre le plan d'actions", "../ACTIVITES/tache43.html", "../ACTIVITES/tache43.html");
level2ID = theMenu.addChild(level1ID, "Folder", "REALISATION", "../ACTIVITES/realisation.html", "../ACTIVITES/realisation.html");
theMenu.entry[level2ID].isopen = false;
level3ID = theMenu.addChild(level2ID, "Document", "Passer à la réalisation", "../ACTIVITES/tache50.html", "../ACTIVITES/tache50.html");
level3ID = theMenu.addChild(level2ID, "Document", "Tenir la RLP", "../ACTIVITES/tache51.html", "../ACTIVITES/tache51.html");
level3ID = theMenu.addChild(level2ID, "Document", "Effectuer les Recettes et le PV", "../ACTIVITES/tache52.html", "../ACTIVITES/tache52.html");
level3ID = theMenu.addChild(level2ID, "Document", "Assurer le suivi commercial", "../ACTIVITES/tache53.html", "../ACTIVITES/tache53.html");
}
self.defaultStatus = "";
//-->
</script>
</HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
if (self.name == 'menu') {
// Sometimes, Netscape will try to load this index inside the menu frame. I haven't
// worked out why but this will detect that situation and reset the location property.
self.location.href = "menu.html";
} else {
initialise();
var thePage = pageFromSearch('../MENU/entree.html', theMenu, true);
if (floatingMode) {
self.document.writeln('<frameset cols="100%" rows="*,48" onUnload="unloadFloating();" onResize="defaultResizeHandler();">');
self.document.writeln('<frame name="menu" src="menu.html" scrolling="no" marginwidth="1" marginheight="1" APPLICATION="yes">');
self.document.writeln('<frame name="menuCntrl" src="menucntrl.html" scrolling="no" marginwidth="0" marginheight="0" APPLICATION="yes">');
self.document.writeln('</frameset>');
} else {
self.document.writeln('<frameset cols="30%,70%" onResize="defaultResizeHandler();">');
// self.document.writeln('<frame name="title" src="title.html" scrolling="no" noresize marginwidth="0" marginheight="0" APPLICATION="yes">');
// self.document.writeln('<frameset cols="230,*" rows="100%">');
// self.document.writeln('<frameset cols="100%" rows="*,48">');
self.document.writeln('<frame name="menu" src="menu.html" scrolling="auto" marginwidth="1" marginheight="1" APPLICATION="yes">');
// self.document.writeln('<frame name="menuCntrl" src="menucntrl.html" scrolling="no" marginwidth="0" marginheight="0" APPLICATION="yes">');
// self.document.writeln('</frameset>');
self.document.writeln('<frameset rows="15%,85%">');
self.document.writeln('<frame name="mgeneral" noresize scrolling="no" marginwidth="0" marginheight="0" src="../MENU/mgenmethode.html">');
self.document.writeln('<frameset rows="50%,50%">');
self.document.writeln('<frame name="text" src="' + thePage +'" scrolling="auto" APPLICATION="yes">');
self.document.writeln('<frame name="resaquarelle" src="../MENU/menuinit.html">');
// self.document.writeln('</frameset>');
self.document.writeln('</frameset>');
self.document.writeln('</frameset>');
self.document.writeln('</frameset>');
}
}
//-->
</SCRIPT>
<NOSCRIPT>
<BODY BGCOLOR="#FFFFFF">
<h1>Joust Outliner</h1>
Your browser does not support JavaScript (if you are using Netscape 3 or higher or Microsoft Internet
Explorer 4 or higher you may have JavaScript turned off in your preferences), so this page,
does not include site navigation features. If you use
a JavaScript-capable browser, such as Microsoft <A href="http://microsoft.com/ie/ie.htm">Internet
Explorer version 3.0</A> or <A href="http://www.netscape.com/comprod/mirror/">Netscape Navigator
version 2.0</A>, you'll have a much more pleasant experience navigating around this site.</P>
<P><I><B>Opera Users:</B> Although Opera 3.0 supports JavaScript, there is a bug in their implementation
which prevents the menu system on this site from working. Opera 3.2 fixes the problem.</I></P>
<P><I><B>Note:</B> There is a know bug in Netscape Navigator version 4.0.x which will cause you to see this message
if you have the local cache turned off.</I></P>
<P>If you have any problems with this site, please contact the Webmaster.</P>
<P>Click <a href="index3.htm">here</a> to see the non-JavaScript version of this site.</P>
<A href="robots.htm"></A>
</BODY>
</NOSCRIPT>
</HTML>