var panel_fermeture_interval = 0; panel_fermeture_temps = 10; //tps en seconde avant fermeture panel_systeme_fermeture=false; //si oui ou non on ferme le panneau au bout de quelques secondes. var panel_page="materiel"; ////////////////////////////////////////////////////////////////////////////// // Panneau coulissant ////////////////////////////////////////////////////////////////////////////// panel_vitesse = 20; //plus elle est élevée, plus c'est lent panel_ratio = 0.7; //le ratio de ralentissement (entre 0 et 1) panel_status = "closed"; panel_lastdifftop=0; panel_lastdiffleft=0; panel_lastdiffwidth=0; panel_lastdiffheight=0; panel="sliding"; panel_top_opened=260; panel_top_closed=0; //sera defini a l'initialisation (depend de la reso) panel_element="slidingscreen"; panel_content="slidingcontent"; panel_interval=0; function panel_over() { if (panel_status=="closed")panel_swap(); //fermeture du panneau dans x secondes if (panel_systeme_fermeture==true) { window.clearInterval(panel_fermeture_interval); panel_fermeture_interval = window.setInterval("panel_close()",panel_fermeture_temps*1000); } } function panel_out() { if (panel_status=="opened")panel_swap(); } function panel_swap(section) { var navi_title=""; if (section!=panel_page && panel_page!="")document.getElementById("navi_"+panel_page).style.display="none"; switch(document.getElementById("navi_bt_close").className) { case "bouton-close-0": //ouvert if (section==panel_page || section=="" || section==undefined) { //panel_close("",""); } else { if (section=="" || section==undefined)section="materiel"; panel_page=section; document.getElementById("navi_"+panel_page).style.display=""; } break; default: //ferme if (section=="" || section==undefined)section=panel_page; panel_page=section; if (panel_page=="")panel_page="materiel"; panel_open("",""); break; } switch (panel_page) { case "materiel": navi_title="Matériel par catégorie"; break; case "marques": navi_title="Liste des marques"; break; case "recherche": navi_title="Moteur de recherche"; break; } //Affichage document.getElementById("navi_title").innerHTML=navi_title; //document.getElementById("navi_"+panel_page).style.display=""; } function panel_open(destination,param) { start_size("","",195,null,null,null); panel_status="opened"; document.getElementById("navi_bt_close").className="bouton-close-0"; document.getElementById("slidingnavi").style.visibility="visible"; //fermeture du panneau dans x secondes if (panel_systeme_fermeture==true) { window.clearInterval(panel_fermeture_interval); panel_fermeture_interval = window.setInterval("panel_close()",panel_fermeture_temps*1000); } } function panel_close(destination,param) { document.getElementById("slidingnavi").style.visibility="hidden"; start_size("","",20,null,null,null); panel_status="closed"; document.getElementById("navi_bt_close").className="bouton-close-1"; if (panel_systeme_fermeture==true) { window.clearInterval(panel_fermeture_interval); } } function start_move(destination,param,left,top){ //if(panel_status=="opening")document.getElementById("slidingcontent").innerHTML=""; if (destination!="")ajax_load("POST",destination,param,"",panel_content); window.clearInterval(panel_interval); panel_interval = window.setInterval("moveIt("+left+","+top+")",panel_vitesse); } function moveIt(left,top) { switch(typeof panel_element) { case "object": var topnow = parseInt(panel_element.style.top); var leftnow = parseInt(panel_element.style.left); break; default: var topnow = parseInt(document.getElementById(panel_element).style.top); var leftnow = parseInt(document.getElementById(panel_element).style.left); break; } topnow = parseInt(topnow+((top-topnow)*panel_ratio)); leftnow = parseInt(leftnow+((left-leftnow)*panel_ratio)); //Verif du top difftop=topnow-top; if (panel_lastdifftop==difftop)topnow=top; else panel_lastdifftop=difftop; //Verif du left diffleft=leftnow-left; if (panel_lastdiffleft==diffleft)leftnow=left; else panel_lastdifftop=difftop; document.getElementById(panel_element).style.top=topnow; document.getElementById(panel_element).style.left=leftnow; if (topnow == top && leftnow== left) { //Fin window.clearInterval(panel_interval); document.getElementById("navi_"+panel_page).style.display=""; } } function start_size(destination,param,width,height,left,top) { //if(panel_status=="opening")document.getElementById("slidingcontent").innerHTML=""; if (destination!="")ajax_load("POST",destination,param,"",panel_content); window.clearInterval(panel_interval); panel_interval = window.setInterval("sizeIt("+width+","+height+","+left+","+top+")",panel_vitesse); //setTimeout("moveIt("+top+")",); } function sizeIt(width,height,left,top) { switch(typeof panel_element) { case "object": var topnow = parseInt(panel_element.style.top); var leftnow = parseInt(panel_element.style.left); var widthnow = parseInt(panel_element.style.width); var heightnow = parseInt(panel_element.style.height); break; default: var topnow = parseInt(document.getElementById(panel_element).style.top); var leftnow = parseInt(document.getElementById(panel_element).style.left); var widthnow = parseInt(document.getElementById(panel_element).style.width); var heightnow = parseInt(document.getElementById(panel_element).style.height); break; } if (top!=null)topnow = parseInt(topnow+((top-topnow)*panel_ratio));else topnow=null; if (left!=null)leftnow = parseInt(leftnow+((left-leftnow)*panel_ratio));else leftnow=null; if (width!=null)widthnow = parseInt(widthnow+((width-widthnow)*panel_ratio));else widthnow=null; if (height!=null)heightnow = parseInt(heightnow+((height-heightnow)*panel_ratio));else heightnow=null; //Verif du top if (top!=null){ difftop=topnow-top; if (panel_lastdifftop==difftop)topnow=top; else panel_lastdifftop=difftop; } //Verif du left if (left!=null){ diffleft=leftnow-left; if (panel_lastdiffleft==diffleft)leftnow=left; else panel_lastdifftop=difftop; } //Verif du width if (width!=null){ diffwidth=widthnow-width; if (panel_lastdiffwidth==diffwidth)widthnow=width; else panel_lastdiffwidth=diffwidth; } //Verif du height if (height!=null){ diffheight=heightnow-height; if (panel_lastdiffheight==diffheight)heightnow=height; else panel_lastdiffheight=diffheight; } if (top!=null)document.getElementById(panel_element).style.top=topnow; if (left!=null)document.getElementById(panel_element).style.left=leftnow; if (width!=null)document.getElementById(panel_element).style.width=widthnow; if (height!=null)document.getElementById(panel_element).style.height=heightnow; //document.getElementById("debug").innerHTML="width:"+widthnow+"
"; if (widthnow == width && heightnow == height && leftnow==left && heightnow==height) { //Fin window.clearInterval(panel_interval); document.getElementById("navi_"+panel_page).style.display=""; } } ////////////////////////////////////////////////////////////////////////////// // Fin Panneau coulissant //////////////////////////////////////////////////////////////////////////////