Source de js/tooltips_utils.js
ini=0
ttB=0
ttC=0
yM=10
xM=10
bW=200
ttD=500
ttH=5000
ttT1=0
ttT2=0
oldO=0
dfT="Retour à l'accueil"
ttCookie=''
function addEv(obj,ev,fn)
{
if(obj.addEventListener) {
obj.addEventListener(ev, fn, false)
} else if(obj.attachEvent) {
obj.attachEvent('on'+ev, fn);
} else {
obj['on'+ev]=fn
}
}
function initElement(obj)
{
if(obj['title']) {
obj.mytitle=obj.title
obj.title=''
addEv(obj,'mouseover',showTT)
addEv(obj,'mouseout',hideTT)
addEv(obj,'focus',showTT)
addEv(obj,'blur',hideTT)
}
}
function showTT(e)
{
if((typeof ini == 'undefined')||(!ini)) return true
obj=window.event ? window.event.srcElement : e.currentTarget;
if(obj==oldO) return true
if(obj.mytitle) ttB.innerHTML=obj.mytitle
else {
if(obj.parentNode.mytitle) ttB.innerHTML=obj.parentNode.mytitle
else ttB.innerHTML=dfT
obj.title=''
}
if(isFixed(obj)) ttC.style.position='fixed'
else ttC.style.position='absolute'
ttB.style.visibility='hidden'
ttB.style.display='block'
xB=getLeftOffset(document.body)
yB=getTopOffset(document.body)
xOff=getLeftOffset(obj)+xM-xB
ttB.className='tt-left'
yOff=getTopOffset(obj)+getOH(obj)+yM-yB
if((xOff+ttC.offsetWidth+4*xM)>getClientWidth()) {
xOff=getClientWidth()-ttB.offsetWidth-4*xM-xB+ttB.offsetWidth-bW
ttB.className='tt-right'
}
if((yOff+ttC.offsetHeight+yM)>getClientHeight()+getScrollOffset()) yOff=getTopOffset(obj)-ttB.offsetHeight-yM-yB
ttC.style.left=xOff+"px"
ttC.style.top=yOff+"px"
ttB.style.display='none'
ttB.style.visibility='visible'
if(ttT1) {
clearTimeout(ttT1)
ttT1=0
}
if(ttT2) {
clearTimeout(ttT2)
ttT2=0
}
ttT1=setTimeout(function() {ttB.style.display='block';},ttD)
ttT2=setTimeout('hideTT()',ttH)
oldO=obj
return true
}
function hideTT()
{
if((typeof ini == 'undefined')||(!ini)) return true
oldO=0
if(ttT1) {
clearTimeout(ttT1)
ttT1=0
}
if(ttT2) {
clearTimeout(ttT2)
ttT2=0
}
ttB.innerHTML=''
ttB.style.display='none'
return true
}
function initTTTags(t)
{
nbL=document.body.getElementsByTagName(t)
for(i=0;i<nbL.length;i++) {
initElement(nbL[i])
}
}
function initTTC()
{
ttCookie=getCookie('tooltips')
if(ttCookie&&(ttCookie!='')) {
if(ttCookie=='false') return
else {
values=ttCookie.split('|')
ttD=values[0]
ttH=values[1]
}
}
}
function initTT()
{
if(!hasDOM) return
initTTC()
if(ttCookie=='false') return
ttC=document.body.appendChild(document.createElement('div'))
ttC.id='tt-cont'
ttC.style.width=bW+"px"
ttC.style.position='absolute'
ttB=ttC.appendChild(document.createElement('div'))
ttB.id='tt-box'
if(ttB.style.MozBorderRadius=='') {
ttB.style.padding="0.5em"
ttB.style.borderWidth="2px"
ttB.style.MozOpacity="0.9"
ttB.style.MozBorderRadius="15px"
}
initTTTags('a')
initTTTags('input')
initTTTags('label')
initTTTags('select')
initTTTags('acronym')
initTTTags('area')
initTTTags('img')
initTTTags('em')
ini=1
}
function saveTT()
{
if(getE('tt-act').checked) {
setCookie('tooltips',getE('tt-show').value+'|'+getE('tt-hide').value,'false')
} else {
setCookie('tooltips','false')
}
document.location.hash='#tooltips'
document.location.reload()
return false
}
function setActiveTT()
{
if(getE('tt-act').checked) {
getE("tt-show").disabled=null
getE("tt-show").className=null
getE("tt-sl").className=null
getE("tt-hide").disabled=null
getE("tt-hide").className=null
getE("tt-hl").className=null
} else {
getE("tt-show").disabled="disabled"
getE("tt-show").className="disabled"
getE("tt-sl").className="disabled"
getE("tt-hide").disabled="disabled"
getE("tt-hide").className="disabled"
getE("tt-hl").className="disabled"
}
return true
}
function writeTTForm()
{
if(!hasDOM) return
initTTC()
prn('<form id="tt-iform" action="" onsubmit="return saveTT()">')
prn('<fieldset><legend>Info-bulles<br /></legend>')
prn(' <div>')
prn(' <input type="checkbox" id="tt-act" title="Cocher cette case pour avoir les info-bulles gérées par ce site"'+((ttCookie!='false')?' checked="checked"':'')+' onclick="return setActiveTT();"><label for="tt-act" title="Cocher cette case pour avoir les info-bulles gérées par ce site">Activer les info-bulles personnalisées</label><br />')
prn(' </div>')
prn(' <div class="tt-delay">')
prn(' <label id="tt-sl" for="tt-show">Délai avant de montrer l\'info-bulle (en <acronym title="milli-secondes">ms</acronym>)</label><input type="text" id="tt-show" size="5" value="'+ttD+'" title="Le temps en milli-secondes avant que l\'info-bulle n\'apparaisse"><br />')
prn(' </div>')
prn(' <div class="tt-delay">')
prn(' <label id="tt-hl" for="tt-hide">Délai avant de cacher l\'info-bulle (en ms)</label><input type="text" id="tt-hide" size="5" value="'+ttH+'" title="Le temps en milli-secondes avant que l\'info-bulle ne disparaisse"><br />')
prn(' </div>')
prn(' <div><input id="tt-submit" type="submit" class="submit-button" value="Sauvegarder" title="Enregistrer les modifications"></div>')
prn('</fieldset>')
prn('</form>')
setActiveTT()
}
ttB=0
ttC=0
yM=10
xM=10
bW=200
ttD=500
ttH=5000
ttT1=0
ttT2=0
oldO=0
dfT="Retour à l'accueil"
ttCookie=''
function addEv(obj,ev,fn)
{
if(obj.addEventListener) {
obj.addEventListener(ev, fn, false)
} else if(obj.attachEvent) {
obj.attachEvent('on'+ev, fn);
} else {
obj['on'+ev]=fn
}
}
function initElement(obj)
{
if(obj['title']) {
obj.mytitle=obj.title
obj.title=''
addEv(obj,'mouseover',showTT)
addEv(obj,'mouseout',hideTT)
addEv(obj,'focus',showTT)
addEv(obj,'blur',hideTT)
}
}
function showTT(e)
{
if((typeof ini == 'undefined')||(!ini)) return true
obj=window.event ? window.event.srcElement : e.currentTarget;
if(obj==oldO) return true
if(obj.mytitle) ttB.innerHTML=obj.mytitle
else {
if(obj.parentNode.mytitle) ttB.innerHTML=obj.parentNode.mytitle
else ttB.innerHTML=dfT
obj.title=''
}
if(isFixed(obj)) ttC.style.position='fixed'
else ttC.style.position='absolute'
ttB.style.visibility='hidden'
ttB.style.display='block'
xB=getLeftOffset(document.body)
yB=getTopOffset(document.body)
xOff=getLeftOffset(obj)+xM-xB
ttB.className='tt-left'
yOff=getTopOffset(obj)+getOH(obj)+yM-yB
if((xOff+ttC.offsetWidth+4*xM)>getClientWidth()) {
xOff=getClientWidth()-ttB.offsetWidth-4*xM-xB+ttB.offsetWidth-bW
ttB.className='tt-right'
}
if((yOff+ttC.offsetHeight+yM)>getClientHeight()+getScrollOffset()) yOff=getTopOffset(obj)-ttB.offsetHeight-yM-yB
ttC.style.left=xOff+"px"
ttC.style.top=yOff+"px"
ttB.style.display='none'
ttB.style.visibility='visible'
if(ttT1) {
clearTimeout(ttT1)
ttT1=0
}
if(ttT2) {
clearTimeout(ttT2)
ttT2=0
}
ttT1=setTimeout(function() {ttB.style.display='block';},ttD)
ttT2=setTimeout('hideTT()',ttH)
oldO=obj
return true
}
function hideTT()
{
if((typeof ini == 'undefined')||(!ini)) return true
oldO=0
if(ttT1) {
clearTimeout(ttT1)
ttT1=0
}
if(ttT2) {
clearTimeout(ttT2)
ttT2=0
}
ttB.innerHTML=''
ttB.style.display='none'
return true
}
function initTTTags(t)
{
nbL=document.body.getElementsByTagName(t)
for(i=0;i<nbL.length;i++) {
initElement(nbL[i])
}
}
function initTTC()
{
ttCookie=getCookie('tooltips')
if(ttCookie&&(ttCookie!='')) {
if(ttCookie=='false') return
else {
values=ttCookie.split('|')
ttD=values[0]
ttH=values[1]
}
}
}
function initTT()
{
if(!hasDOM) return
initTTC()
if(ttCookie=='false') return
ttC=document.body.appendChild(document.createElement('div'))
ttC.id='tt-cont'
ttC.style.width=bW+"px"
ttC.style.position='absolute'
ttB=ttC.appendChild(document.createElement('div'))
ttB.id='tt-box'
if(ttB.style.MozBorderRadius=='') {
ttB.style.padding="0.5em"
ttB.style.borderWidth="2px"
ttB.style.MozOpacity="0.9"
ttB.style.MozBorderRadius="15px"
}
initTTTags('a')
initTTTags('input')
initTTTags('label')
initTTTags('select')
initTTTags('acronym')
initTTTags('area')
initTTTags('img')
initTTTags('em')
ini=1
}
function saveTT()
{
if(getE('tt-act').checked) {
setCookie('tooltips',getE('tt-show').value+'|'+getE('tt-hide').value,'false')
} else {
setCookie('tooltips','false')
}
document.location.hash='#tooltips'
document.location.reload()
return false
}
function setActiveTT()
{
if(getE('tt-act').checked) {
getE("tt-show").disabled=null
getE("tt-show").className=null
getE("tt-sl").className=null
getE("tt-hide").disabled=null
getE("tt-hide").className=null
getE("tt-hl").className=null
} else {
getE("tt-show").disabled="disabled"
getE("tt-show").className="disabled"
getE("tt-sl").className="disabled"
getE("tt-hide").disabled="disabled"
getE("tt-hide").className="disabled"
getE("tt-hl").className="disabled"
}
return true
}
function writeTTForm()
{
if(!hasDOM) return
initTTC()
prn('<form id="tt-iform" action="" onsubmit="return saveTT()">')
prn('<fieldset><legend>Info-bulles<br /></legend>')
prn(' <div>')
prn(' <input type="checkbox" id="tt-act" title="Cocher cette case pour avoir les info-bulles gérées par ce site"'+((ttCookie!='false')?' checked="checked"':'')+' onclick="return setActiveTT();"><label for="tt-act" title="Cocher cette case pour avoir les info-bulles gérées par ce site">Activer les info-bulles personnalisées</label><br />')
prn(' </div>')
prn(' <div class="tt-delay">')
prn(' <label id="tt-sl" for="tt-show">Délai avant de montrer l\'info-bulle (en <acronym title="milli-secondes">ms</acronym>)</label><input type="text" id="tt-show" size="5" value="'+ttD+'" title="Le temps en milli-secondes avant que l\'info-bulle n\'apparaisse"><br />')
prn(' </div>')
prn(' <div class="tt-delay">')
prn(' <label id="tt-hl" for="tt-hide">Délai avant de cacher l\'info-bulle (en ms)</label><input type="text" id="tt-hide" size="5" value="'+ttH+'" title="Le temps en milli-secondes avant que l\'info-bulle ne disparaisse"><br />')
prn(' </div>')
prn(' <div><input id="tt-submit" type="submit" class="submit-button" value="Sauvegarder" title="Enregistrer les modifications"></div>')
prn('</fieldset>')
prn('</form>')
setActiveTT()
}
Si avez des problèmes ou des questions concernant ce fichier source, vous pouvez utiliser le Forum Sources du site