﻿var pop_si, pop_li, pop_tt, pop_la,pop_th,pop_ts;
var nav=navigator.userAgent;
var nav_o=nav.indexOf("Opera")+1;
var nav_s=nav.indexOf("afari")+1;
var nav_m=nav.indexOf("Mac")+1;
var nav_n=nav.indexOf("Netscape")+1;
var nav_ie=(window.showHelp)?1:0;
var nav_s2=nav_s && window.XMLHttpRequest;
var nav_v=parseFloat(navigator.vendorSub);
var dc= new Array;
var typ=["input","select","textarea"];
var xh;//XMLHttpRequest
var loc_cat="EN";
var pop=new Object();
pop.slide=new Object();
pop.slide_off=(nav_n && nav_v<7.1)||(nav_m && nav_ie);


function disableEnterKey(e){
	var k=e.keyCode||e.which;
	return k!=13;
}
function enableEnterKey(e,f){
	var k=e.keyCode||e.which;
	if (k==13)f.submit();
}
function del(el){
	var myElement=$(el);
	var parent = myElement.getParent().getParent();
	var isFirst = parent.getElements('label').getLast();
	var isLast = !(myElement.getNext().getStyle('visibility')=='hidden');
	
	var array = parent.getElements('input');
	array.extend(parent.getElements('textarea'));
	array.extend(parent.getElements('select'));
	
	if (isLast && isFirst){
	  array.each(function(item){if(item.getTag()=='select')item.selectedIndex=0;else item.setProperty('value', '');});
	} 
	else if (isLast){
	  parent.getPrevious().getElements('a').getLast().setStyle('visibility','visible');
	  parent.remove();
	}
	else if (isFirst){
	  parent.getNext().getFirst().getNext().replaceWith(parent.getFirst().getNext());
	  parent.remove();
	}
	else parent.remove();
}
function add(el ,dc){
	var myElement=$(el);
	var parent = myElement.getParent().getParent();
	var isFirst = parent.getElements('label').getLast();
	var clone = parent.clone();

	var array = clone.getElements('input');
	array.extend(clone.getElements('textarea'));
	array.extend(clone.getElements('code'));
	array.extend(clone.getElements('select'));
	var isFill = false;var indice=0;
	array.each(function(item, idx){
	  if(idx==0){
	    if (item.getProperty('value').trim()!='')isFill=true;
	    var test = /\w*_(\d{1,2})$/;
	    var found = item.getProperty('name').match(test);
	    if (found && found.length>1){indice=found[1];}
	  }
	});
	if (isFill){
	  indice++;
	  array.each(function(item){
	    if(item.getTag()=='select')item.selectedIndex=0;else item.setProperty('value', '');
	    item.setProperty('name', item.getProperty('name').replace(/_\d{1,2}$/,'_'+indice));
	    if($chk(item.getProperty('id')))item.setProperty('id', item.getProperty('id').replace(/_\d{1,2}$/,'_'+indice));
	    if (item.hasClass('readonly'))item.removeProperty('readonly').removeClass('readonly');
	    if (!window.ie7)item.removeProperty('autocomplete');
	  });
	  if (isFirst)clone.getFirst().getNext().setHTML('&nbsp;');
	  parent.getElements('a').getLast().setStyle('visibility','hidden');
	  $(dc+'_max').setProperty('value', indice);
	  clone.injectAfter(parent);
	  new Tips(clone.getElements('.Tips1'));
	}
	else return;
}
function order(dc){
  var max=0;
  if($chk($(dc+'_max')))max=$(dc+'_max').getProperty('value');
  var n = 1;
  for (var j=0; j<=max; j++){
    if($chk($('n_'+dc+"_"+j))){$('n_'+dc+"_"+j).setHTML(''+n+'.');n++}
  }
}
function FSMFSMadd(o,meta){
  var tr=o["parentNode"]["parentNode"];
  if(isFill(tr,dc[meta].fld[0])){
    var js=false;
    var n=++dc[meta].id;
    dc[meta].nb++;
    var tbl=tr["parentNode"];
    var nxtr=tr["nextSibling"];
    var newtr=tr.cloneNode(true);
    newtr.getElementsByTagName("td")[1].innerHTML="&nbsp;";
    for(var i=0;i<dc[meta].fld.length;i++){chgf(newtr,dc[meta].fld[i],n,tr)}
    o.style.visibility = "hidden";
    tbl.insertBefore(newtr,nxtr);
    new Tips(newtr.getElements('.Tips1'));
    document.getElementById(meta+"_max").value=dc[meta].id;
    if(dc[meta].js){var v=dc[meta].js.replace(/_\d{1,2}/g,"_"+n);eval(v);}
  }
}
function chgf(tr,typ,n,prev){
//params : new row, element typ in, id of new row, current row
  var f=tr.getElementsByTagName(typ);
  for(var i=0;i<f.length;i++){
    if(f[i].nodeName=="INPUT")f[i].value="";
    if(f[i].nodeName=="TEXTAREA")f[i].value="";
    if(f[i].nodeName=="SELECT")f[i].selectedIndex=0;
    if(i==0 && f[i].nodeName=="DIV"){
      var zi=parseInt(f[i].style.zIndex)-1;
       if(!nav_ie)f[i].style.removeProperty("z-index");
       f[i].style.zIndex=""+zi;
    }
    if(n){
      if(f[i].name)f[i].name=f[i].name.replace(/\d{1,2}$/,n);
      if(f[i].id)f[i].id=f[i].id.replace(/\d{1,2}$/,n);
      if(f[i].onfocus && f[i]['id'].substr(0, 2)=='ui'){var ww=""+f[i].onfocus;ww=ww.replace(/_\d{1,2}/g,"_"+n);
        var w1=ww.indexOf("{");var w2=ww.lastIndexOf("}"); 
        var wf=eval("function(e){"+ww.slice(w1+1,w2)+"};"); f[i].onfocus=wf;}
      if(f[i].onkeyup && f[i]['id'].substr(0, 2)=='ui'){var ww=""+f[i].onkeyup;ww=ww.replace(/_\d{1,2}/g,"_"+n);
        var w1=ww.indexOf("{");var w2=ww.lastIndexOf("}"); 
        var wf=eval("function(e){"+ww.slice(w1+1,w2)+"};"); f[i].onkeyup=wf;}
    }
  }
}
function FSMFSMdel(o,meta){
  var tr=o["parentNode"]["parentNode"];
  var tbl=tr["parentNode"];
  if(dc[meta].nb>1){
    var n=--dc[meta].nb;
    if(isLast(tr,meta)){
      var prev=tr["previousSibling"];
      prev.replaceChild(tr["lastChild"]["previousSibling"],prev["lastChild"]["previousSibling"]);
    }
    if(isFirst(tr,meta)){
      var nxt=tr["nextSibling"];
      nxt.replaceChild(tr["firstChild"]["nextSibling"],nxt["firstChild"]["nextSibling"]);
    }
    tbl.removeChild(tr);
  }else{
    for (var i=0;i<dc[meta].fld.length;i++){chgf(tr,dc[meta].fld[i])}
  }
}
function isFill(tr,typ){
  var f=tr["firstChild"]["nextSibling"]["nextSibling"].getElementsByTagName(typ);
  if(f.length>0){
    if(f[0].nodeName=="INPUT" && f[0].value.replace(/\s/g,"")!="")return true;
    if(f[0].nodeName=="TEXTAREA" && f[0].value.replace(/\s/g,"")!="")return true;
  }return false
}
function isFirst(tr,dc){
  if(tr["parentNode"]["firstChild"]===tr || tr["previousSibling"].nodeType==3 ||
     tr["previousSibling"].innerHTML.indexOf(dc)==-1)return true;
  else return false;
}
function isLast(tr,dc){
  if(tr["parentNode"]["lastChild"]===tr || tr["nextSibling"].nodeType==3 ||
     tr["nextSibling"].innerHTML.indexOf(dc)==-1)return true;
  else return false;
}
function FSMFSMorder(meta){
  var n = 1;
  for (var j=0; j<=dc[meta].id; j++){
    var o=document.getElementById("n_"+meta+"_"+j);
    if(o){o.innerHTML=""+n+".";n++}
  }
}
function loadXMLDoc(url,o){ 
  xh=null;
  if(window.XMLHttpRequest) // moz
    xh = new XMLHttpRequest();
  else if(window.ActiveXObject){ // ie
    try {
      xh = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xh = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e1) {xh = null;}
    }
  } else {alert("XMLHTTPRequest not supported");}
  if(xh)
  { xh.onreadystatechange=function(){respAuth(o);}
    xh.open("GET",url,true);
    xh.send(null);
  }
}
function checkReadyState(obj)
{
  if(obj.readyState == 4){
    if(obj.status == 200)return true;
    else return false;
  }
}
function respAuth(o) 
{
  if(checkReadyState(xh)){
    var response = xh.responseXML.documentElement;
    var txt="";
    var x=response.getElementsByTagName("option"); 
    for (var i=0;i<x.length;i++)
    {
      txt=txt + "<a href='javascript:void(0);'>";
      xx=x[i].getElementsByTagName("span");
      for (var j=0;j<xx.length;j++)
      { var span ="";
        switch (j)
        { case 0: span="<span style=\"font-weight:bold\">";break;
          case 3: span=" [<span style=\"color:grey\">";break;
          case 5:
          case 6: span="&gt;<span style=\"color:grey\">";break;
          case 4:
          case 7:
          case 8: span="<span style=\"display:none\">";break;
          default: span=" - <span>";break;
         }      
        try
        { txt=txt+span+xx[j].firstChild.nodeValue+"</span>";}
        catch (er){txt=txt+"<span></span>";}
      }    
      txt=txt+"]</a>";
    }txt=txt +"<hr /><a href='javascript:void(0);' style='color:blue' class='poparent'>";
    if(scope=="members")txt=txt+"=> voir les édutiants"; else txt=txt+"=> Voir les membres du personnel";
    txt=txt +"</a>";
	o.menu.innerHTML=txt;
    o.menu["lastChild"].onclick=function(e){scope=(scope=="members")?"students":"members";o.old = "---";o.again();};
    popStart(o.target["id"],chooseAuth,null,null,true);
   	o.target.focus();
  }
}
function chooseAuth(o,t){
   var s=" > ";
   eval("xml" + t + ".old=\"\"");
   o["parentNode"].innerHTML="";
   var menu=o.getElementsByTagName("span");
   var tg=document.getElementById(t);
   if(tg)tg.value=getElemData(menu[7]);
   tg=document.getElementById(t.replace(/last/,"first"));
   if(tg)tg.value=getElemData(menu[8]);
   tg=document.getElementById(t.replace(/last/,"mail"));
   if(tg)tg.value=getElemData(menu[2]);
   tg=document.getElementById(t.replace(/contributor_last/,"affiliation"));
   var r1=new RegExp(/[0-9]{6,}/);r1=r1.test(getElemData(menu[1]));
   //var r2=new RegExp(/s[0-9]{6,}/i);r2=(r2.test(getElemData(menu[0]))||r2.test(getElemData(menu[1])));
   if(tg)tg.value=getElemData(menu[3])+s
      +getElemData(menu[4])+s
      +getElemData(menu[5])+s
      +getElemData(menu[6])+s
      +(r1?getElemData(menu[1]):getElemData(menu[0])); 
}

function cleanAuth(t) {
	document.getElementById(t.replace(/last/,"first")).value="";
	document.getElementById(t.replace(/last/,"mail")).value="";
	document.getElementById(t.replace(/contributor_last/,"affiliation")).value="";
}
function editAff(f,t){
   var s=" > ";
   var af=f.value.split(s);
   var fi=document.getElementById(t).getElementsByTagName("input");
   for (var i=0;i<fi.length;i++){
     if(fi[i].getAttribute("type")=="text")fi[i].value=(af[i])?af[i]:"";
     if(fi[i].getAttribute("type")=="hidden"){fi[i].value=f.id;}
   }
   //set box title
   var test = /\w*(_\d{1,3})$/;
   var found = f.id.match(test);
   if (found && found.length>1){
      var title = $("dc_contributor_last"+found[1]).value;
      if (title != null && title != ""){
		title = title+" "+$("dc_contributor_first"+found[1]).value;
		modal.title.appendText(title);
      } else {modal.title.appendText('???');}
   }
   modal.title.setStyle('background','url(/img/box/user.gif) no-repeat');
}
function savAff(t){
   var s=" > ";var af="";var f;
   var fi=document.getElementById(t).getElementsByTagName("input");
   for (var i=0;i<fi.length;i++){
     if(fi[i].getAttribute("type")=="text"){af=af+((i>0)?s:"")+fi[i].value;fi[i].value="";}
     if(fi[i].getAttribute("type")=="hidden"){f=document.getElementById(fi[i].value);fi[i].value="";}
   }
   f.value=af;
}
function newFile(grp,t,v){
   var elem=document.getElementById(t);
   var d;var fi=elem.getElementsByTagName("input");
   for (var i=0;i<fi.length;i++){
     if(fi[i].getAttribute("type")=="hidden" && fi[i].getAttribute("id")=="new_group"){fi[i].value=grp;}
     if(fi[i].getAttribute("id")=="new_description")d=fi[i];
   }
   var sel=elem.getElementsByTagName("select")[0];
   if(v && sel){
     var arr=v.split("|");//remove existing version from options
	 for(var j=0; j<arr.length;j++){
       for(var k=0; k<sel.childNodes.length;k++){
         if(sel.childNodes[k].value==arr[j]){
           sel.removeChild(sel.childNodes[k]);break;}
       }
     }
   }
   if(grp=="9999")sel["parentNode"]["parentNode"].style.display="none";//no version for adj
   var descr=document.getElementById("doc_"+grp);
   if(descr && grp!="9999"){elem.getElementsByTagName("span")[0].innerHTML="Ajout d'une version pour le document "+grp+"<br />Description : "+descr.innerHTML;
			d["parentNode"]["parentNode"].style.display="none";}
}
function edFile(b,t,n,grp,v,p,emb){
   var d;var elem=document.getElementById(t);
   elem.getElementsByTagName("span")[1].innerHTML=n;
   var fi=elem.getElementsByTagName("input");
   for (var i=0;i<fi.length;i++){
     if(fi[i].getAttribute("type")=="hidden" && fi[i].getAttribute("id")=="bitstream_id"){fi[i].value=b;}
     if(fi[i].getAttribute("id")=="description")d=fi[i];
     if(fi[i].getAttribute("id")=="embargoDate" && emb.length>0){fi[i].value=emb;fi[i]["parentNode"]["parentNode"].style.visibility="visible"}
   }
   var descr=document.getElementById("doc_"+grp);
   if(descr)d.value=descr.innerHTML;
   var sel=elem.getElementsByTagName("select");
   for (var i=0;i<sel.length;i++){
     if(sel[i].getAttribute("id")=="version"){
       if(grp=="9999")sel[i]["parentNode"]["parentNode"].style.display="none";
       else {sel[i].options[v].selected=true;}
     }
     if(sel[i].getAttribute("id")=="policy")sel[i].options[p].selected=true;
   }    
}
function getElemData(o){var r="";try{r=o.firstChild.nodeValue}catch(e){}return r}

popup = function() {
  this.target = new Object();
  this.menu = new Object();
  this.url = "";
  this.started = false;
  this.old = "";

  this.callback = function() {
	var v = this.target.value;
	if(v != this.old && this.old!="") {
		cleanAuth(this.target.id);
	}
	if (v!=undefined && v.length>2 &&  v != this.old){
	  this.menu.style.display="block";
	  loadXMLDoc(this.url+scope+"&sn="+v, this);
	}else{
	  this.menu.innerHTML="";
	  this.menu.style.display="none";}
    this.old=v;
  }
  this.start = function(_target, _menu, _url) {
	this.target = _target;
    this.menu = _menu;
    this.url = _url;
    this.started = true;
    this.old = "";
    //x2("qmactive", this.target,add);
    // qd focus appel fct
    popStart(this.target["id"]);
	this.callback();
  }
  this.again = function() {
    this.started = true;
    this.callback();
  }
}

function switchClass(dc,ini){
  var s=document.getElementById("s_en");
  if(s){
   if(!ini)loc_cat=(loc_cat=="FR")?"EN":"FR";
   if(loc_cat=="FR")s.disabled=true; else s.disabled=false;
   iniVal(dc);
  }
}

function popStart(sd,ch,tg,lv,oc){
   var ev;pop_th = 0;pop_ts = 100;
   if(!tg){tg=sd;
      ev = "onclick";
   }else{
      ev = "onmouseover";
   }
   if(!lv){
      lv=1;
      sd=document.getElementById("div_"+sd);
      /* A améliorer */
      if(navigator.appName == "Netscape"){
		var nav_M=nav.indexOf("Firefox")+8;
		var versMoz = nav.charAt(nav_M);
	  }
      /* */
      var obj;
      eval("obj=pop."+sd["id"]+" = new Object();");
      
      if(versMoz == 3){
		obj.slide_animation_frames = 10;
      }
      else{
		obj.slide_animation_frames = 15;
      }
      
      obj.slide_offxy = 1;
      obj.slide_left_right = false;
      obj.slide_sub_subs_left_right = true;
      obj.overselects_active = true;

      //if(sd.getElementsByTagName("a").length==0){sd[ev]=function(){};return;}
      sd[ev]=function(e){
         qm_kille(e)};
        document[ev]=qm_bo;
        sd.style.zoom=1;
        sd.ch=1;
      }
   sd.style.zIndex=lv+1;
   var lsp;
   var sp=sd.childNodes;
   for(var i=0; i<sp.length; i++){
      var b=sp[i];
      if(b.tagName=="A"||b.tagName=="INPUT"){
         lsp=b;
         b[ev]=qm_oo;
         var ef=(tg.match(/dc_type$/) && b["id"].match(/^#?[A-Z][0-9]{2}/))?chTyp:qm_bo;
         if(b.tagName=="A" && b["className"].indexOf("poparent")==-1){b["onclick"]=function(){ch(this,tg);ef()};}
         //if(b.tagName=="INPUT")b["onclick"]=qm_oo;
      }
      if(b.tagName=="DIV"){
         x2("poparent", lsp, 1);
         lsp.cdiv=b;
         b.idiv=lsp;
         if(nav_n && nav_v<8 && !b.style.width)b.style.width=b.offsetWidth+"px";
         new popStart(b,ch,tg,lv+1);
       }
   }
}
function chTyp(){ 
   var o=document.getElementById("submit_dc_type_refresh");if(o){validation.skip();o.click();}
}
function choose(o,t,ini){
   var qual=(o["id"].match(/^#?[A-Z][0-9]{2}/))?"":"_subtype";
   var t1=document.getElementById("ui_"+t+qual);
   var t2=document.getElementById(t+qual);
   var l=o, v, h, s=" => ";
   h=v=getTxt(o);
   do{
     l=l["parentNode"]["previousSibling"];
     h=getTxt(l);
     if(h)v=h+s+v;
   }while (h)
   if(t1){t1.value=v.replace(/&amp;/g, "&");if(!ini)t1.focus();}
   if(t2)t2.value=o["id"];
}
function getTxt(o){
   var sp=o.childNodes;
   var rt="";
   if (sp.length==1)rt=o.innerHTML;     
   else{
     for(var i=0; i<sp.length; i++){
        var b=sp[i];
        if(b.tagName=="SPAN" && b["className"].indexOf(loc_cat)+1){rt=b.innerHTML;break;}
     }
   }return rt;
}
function iniVal(dc){
   var n=0;
   var t=document.getElementById(dc);
   if(!t)t=document.getElementById(dc+"_"+n);
    while(t && t.value){
      var b=document.getElementById(t.value);
      if(t.value!="")choose(b,t.id,true);
      n++;t=document.getElementById(dc+"_"+n);
   } 
}
function qm_bo(e){
   pop_la=null;
   clearTimeout(pop_tt);
   pop_tt=null;
   if(pop_li &&!pop_tt)pop_tt=setTimeout("x0()", pop_th);
}
function x0(){
   var a;
   if((a=pop_li)){
      do {qm_uo(a);}
      while((a=a["parentNode"]) &&!qm_a(a))
   }
   pop_li=null;
}
function qm_a(a){
   if(a["className"].indexOf("poplist")+1)return 1;
}
function qm_uo(a, go){
   if(!go && a.qmtree)return;
   if(window.pop)qm_slide_a(a,1);
   a.style.visibility="";
   x2("qmactive", a.idiv);
}
function qa(a, b){
   return String.fromCharCode(a.charCodeAt(0) - (b - (parseInt(b / 2) * 2)));
}
function qm_oo(e, o, nt){
   if(!o)o=this;
   if(pop_la==o)return;
   if(window.qmwait){
      qm_kille(e);
      return;
   }
   clearTimeout(pop_tt);
   pop_tt=null;
   if(!nt && pop_ts){
      pop_si=o;
      pop_tt=setTimeout("qm_oo(new Object(),pop_si,1)", pop_ts);
      return;
   }
   var a=o;
   if(a["parentNode"].isrun){
      qm_kille(e);
      return;
   }
   pop_la=o;
   var go=true;
   while((a=a["parentNode"]) &&!qm_a(a)){
      if(a==pop_li)go=false;
   }
   if(pop_li && go){
      a=o;
      if((!a.cdiv)||(a.cdiv && a.cdiv != pop_li))qm_uo(pop_li);
      a=pop_li;
      while((a=a["parentNode"]) &&!qm_a(a)){
         if(a != o["parentNode"])qm_uo(a);
         else break;
         }
   }
   var b=o;
   var c=o.cdiv;
   if(b.cdiv){
      var aw=b.offsetWidth;
      var ah=b.offsetHeight;
      var ax=b.offsetLeft;
      var ay=b.offsetTop;
      if(c["parentNode"].ch){
         aw=0;
         if(c.fl)ax=0;
      } else {
         if(c.rl){
            ax=ax - c.offsetWidth;
            aw=0;
         }
         ah=0;
      }
      if(nav_o){
         ax-=b["parentNode"].clientLeft;
         ay-=b["parentNode"].clientTop;
      }
      if(nav_s2){
         ax-=qm_gcs(b["parentNode"], "border-left-width", "borderLeftWidth");
         ay-=qm_gcs(b["parentNode"], "border-top-width", "borderTopWidth");
      }
      if(!c.ismove){
         c.style.left=(ax+aw)+"px";
         c.style.top=(ay+ah)+"px";
      }
      x2("qmactive", o, 1);
      if(window.pop)qm_slide_a(b.cdiv);
      c.style.visibility="inherit";
      pop_li=c;
   }
   else if(!qm_a(b["parentNode"]))pop_li=b["parentNode"];
   else pop_li=null;
   qm_kille(e);
}
function qm_gcs(obj, sname, jname){
   var v;
   if(document.defaultView && document.defaultView.getComputedStyle)v=document.defaultView.getComputedStyle(obj, null).getPropertyValue(sname);
   else if(obj.currentStyle)v=obj.currentStyle[jname];
   if(v &&!isNaN(v=parseInt(v)))return v;
   else return 0;
}
function x2(name, b, add){
   var a=b["className"];
   if(add){
      if(a.indexOf(name) ==- 1)b["className"] += (a ? ' ':'')+name;
   }
   else {
      b["className"]=a.replace(" "+name, "");
      b["className"]=b["className"].replace(name, "");
   }
}
function qm_kille(e){
   if(!e)e=event;
   e.cancelBubble=true;
   if(e.stopPropagation &&!(nav_s && e.type=="click"))e.stopPropagation();
}
//slide functions   
function qm_slide_a(a, hide){
   var z;
   if((a.style.visibility=="inherit" &&!hide) || (pop.slide_off) || ((z=window.qmv) && (z=z.addons) && (z=z.slide_effect) &&!z["on"+qm_index(a)]))return;
   var ss;
   if(!a.settingsid){
      var v=a;
      while((v=v.parentNode)){
         if(v.className.indexOf("poplist")+1){
            a.settingsid=v.id;
            break;
            }
         }
      }
   ss=pop[a.settingsid];
   if(!ss)return;
   if(!ss.slide_animation_frames)return;
   var steps=ss.slide_animation_frames;
   var b=new Object();
   b.obj=a;
   b.offy=ss.slide_offxy;
   b.left_right=ss.slide_left_right;
   b.sub_subs_left_right=ss.slide_sub_subs_left_right;
   b.drop_subs=ss.slide_drop_subs;
   if(!b.offy)b.offy=0;
   if(b.sub_subs_left_right && a.parentNode.className.indexOf("poplist") ==- 1)b.left_right=true;
   if(b.left_right)b.drop_subs=false;
   b.drop_subs_height=ss.slide_drop_subs_height;
   b.drop_subs_disappear=ss.slide_drop_subs_disappear;
   b.accelerator=ss.slide_accelerator;
   if(b.drop_subs &&!b.accelerator)b.accelerator=1;
   if(!b.accelerator)b.accelerator=0;
   b.tb="top";
   b.wh="Height";
   if(b.left_right){
      b.tb="left";
      b.wh="Width";
      }
   b.stepy=a["offset"+b.wh]/steps;
   b.top=parseInt(a.style[b.tb]);
   if(!hide)a.style[b.tb]=(b.top - a["offset"+b.wh])+"px";
   else {
      b.stepy =- b.stepy;
      x2("popfv", a, 1);
      }
   a.isrun=true;
   qm_slide_ai(qm_slide_am(b, hide), hide);
   };
function qm_slide_ai(id, hide){
   var a=pop.slide["_"+id];
   if(!a)return;
   var cy=parseInt(a.obj.style[a.tb]);
   if(a.drop_subs)a.stepy += a.accelerator;
   else {
      if(hide)a.stepy-=a.accelerator;
      else a.stepy += a.accelerator;
      }
   if((!hide && cy+a.stepy < a.top) || (hide &&!a.drop_subs && cy+a.stepy > a.top - a.obj["offset"+a.wh]) || (hide && a.drop_subs && cy < a.drop_subs_height)){
      var bc=2000;
      if(hide && a.drop_subs &&!a.drop_subs_disappear && cy+a.stepy+a.obj["offset"+a.wh] > a.drop_subs_height)bc=a.drop_subs_height - cy+a.stepy;
      var tc=Math.round(a.top - (cy+a.stepy)+a.offy);
      if(a.left_right)a.obj.style.clip="rect(auto 2000px 2000px "+tc+"px)";
      else a.obj.style.clip="rect("+tc+"px 2000px "+bc+"px auto)";
      a.obj.style[a.tb]=Math.round(cy+a.stepy)+"px";
      a.timer=setTimeout("qm_slide_ai("+id+","+hide+")", 10);
      }
   else {
      a.obj.style[a.tb]=a.top+"px";
      a.obj.style.clip="rect(0 auto auto auto)";
      if(a.obj.style.removeAttribute)a.obj.style.removeAttribute("clip");
      else a.obj.style.clip="auto";
      if(!nav_ie)a.obj.style.clip="";
      if(hide)x2("popfv", a.obj);
      pop.slide["_"+id]=null;
      a.obj.isrun=false;
      if(nav_ie && window.qm_over_select)qm_over_select(a.obj,hide)}
}
function qm_slide_am(obj, hide){
   var k;
   for(k in pop.slide){
      if(pop.slide[k] && obj.obj==pop.slide[k].obj){
         if(pop.slide[k].timer){
            clearTimeout(pop.slide[k].timer);
            pop.slide[k].timer=null;
            }
         obj.top=pop.slide[k].top;
         pop.slide[k].obj.isrun=false;
         pop.slide[k]=null;
         }
      }
   var i=0;
   while(pop.slide["_"+i])i++;
   pop.slide["_"+i]=obj;
   return i;
}
  
//************correctif IE <select> overlap
function qm_over_select(a, hide){
   var z;
   if((z=window.qmv) && (z=z.addons) && (z=z.over_select) &&!z["on"+qm_index(a)])return;
   if(!a.settingsid){
      var v=a;
      while(!qm_a(v))v=v["parentNode"];
      a.settingsid=v.id;
   }
   var ss=pop[a.settingsid];
   if(!ss)return;
   if(!ss.overselects_active)return;
   if(!hide &&!a.hasselectfix){
      var f=document.createElement("IFRAME");
      f.style.position="absolute";
      f.style.filter="alpha(opacity=0)";
      f.src="javascript:false;";
      f=a.parentNode.appendChild(f);
      f.frameborder=0;
      a.hasselectfix=f;
   }
   var b=a.hasselectfix;
   if(b){
      if(hide)b.style.display="none";
      else {
         if(a.hasrcorner && a.hasrcorner.style.visibility=="inherit")a=a.hasrcorner;
         var oxy=0;
         if(a.hasshadow && a.hasshadow.style.visibility=="inherit")oxy=parseInt(ss.shadow_offset);
         if(!oxy)oxy=0;
         b.style.width=a.offsetWidth+oxy;
         b.style.height=a.offsetHeight+oxy;
         b.style.top=a.style.top;
         b.style.left=a.style.left;
         b.style.margin=a.currentStyle.margin;
         b.style.display="block";
      }
   }
}
