﻿//LSVService.js

    var _pnlArray = new Array();
    var _listPanel = '';
    var _ctntCurrentHeight;
    var _ctntCurrentHTML;
    var _listHeight;

/*
   function pageLoad() {       
       fGetPanel(-1);
    }
   */  
      function fGetPanel(sPanelID){
         if(isNaN(sPanelID)){return;}
          var panelID = parseInt(sPanelID,0);
           userContext = panelID;
           SetLoader(1);

           if( typeof(_pnlArray[panelID]) == 'undefined')
              Forum.LSVService.GetContentPanel(panelID,  OnLSVServiceSucceeded, OnLSVServiceFailed, userContext);    
           else{
              $get('LSVPanel').innerHTML = _pnlArray[panelID]; 
              if(panelID >=0){
                var listPanel = $get('listPanel');
                if(listPanel !== null)
                    listPanel.style.display='none'
              }
              SetLoader(0);
           }
       }  
       
      function SetLoader(iOnOff){
        var imgLoader = $get('imgLoader');
        if(imgLoader !== null) imgLoader.style.display = (iOnOff == 1) ? '' : 'none';
      }

      function OnLSVServiceSucceeded(result, userContext, methodName){ 
            var panelID = userContext;
             
            if(methodName == 'GetContentPanel'){
                _pnlArray[panelID]=result;
                $get('LSVPanel').innerHTML = result; 
                SetLoader(0);
                var listPanel = $get('listPanel');
                if(listPanel !== null)
                    listPanel.style.display='none'
            }
            if(methodName == 'GetListPanel'){
                _listPanel = result;
                LSVFillListPanel(_listPanel,panelID);
            }
             _ctntCurrentHeight = WebForm_GetElementPosition($get('lsvctnt')).height;
       }
       
       function LSVFillDropDown(index){
               if(_listPanel=='') 
                   Forum.LSVService.GetListPanel(index,  OnLSVServiceSucceeded, OnLSVServiceFailed, index);    
               else{
                    LSVFillListPanel(_listPanel,index);
               }
       }
       
       function LSVFillListPanel(data, index){
            var list = $get('listPanel');
            var lsvctnt = $get('lsvctnt');
            if(list !== null){
                list.innerHTML ='<iframe></iframe>' + data;
                _listHeight = WebForm_GetElementPosition(list).height;
                _ctntCurrentHeight = WebForm_GetElementPosition(lsvctnt).height;
                WebForm_SetElementHeight(lsvctnt,_listHeight); 
           }
       }
       
       function OnLSVServiceFailed(exception, userContext, methodName){
            SetLoader(0);
            userContext.innerHTML = '*'; 
            //userContext.innerHTML = 'Panneau non disponible pour le moment'; 
           return;
            
             //pour debug :
            if (exception.get_timedOut()){  
                alert("TIMEOUT Method:"+ methodName +"\n"+ 
		        exception.get_exceptionType() +"\n"+
		        exception._message);    
            }else{  
                alert("Method:"+ methodName +"\n"+ 
		        exception.get_exceptionType() +"\n"+
		        exception._message);  
            } 
       }

       function fShowList(index){
       
            LSVFillDropDown(index); 
            
            
            
            var list = $get("listPanel");
            var pos =  WebForm_GetElementPosition($get('lsvctnt'));
            
            _ctntCurrentHeight = pos.height;
             
            if(list!==null){
                list.style.display = '';
                list.style.position='absolute';
               /*
                WebForm_SetElementX(list,pos.x+8);
                WebForm_SetElementY(list,pos.y+ 9);
                */

                WebForm_SetElementHeight($get('lsvctnt'),WebForm_GetElementPosition(list).height+10 );
              
               _ctntCurrentHTML = $get('lsvctnt').innerHTML;
                $get('lsvctnt').innerHTML='';
                $get('LSVnavbtns').style.display='none';
                }
       }
       
       function fHideList(){

          var listPanel = $get('listPanel');
          if(listPanel !== null)
             listPanel.style.display='none'
             
            $get('lsvctnt').innerHTML=_ctntCurrentHTML;
           // WebForm_SetElementHeight($get('lsvctnt'), _ctntCurrentHeight);
             
             $get('lsvctnt').style.height='auto';
                 
                 $get('LSVnavbtns').style.display='';
       } 

if (typeof(Sys) !== "undefined"){
    Sys.Net.WebRequestManager.set_defaultTimeout(10000);
    Sys.Application.notifyScriptLoaded();
 }


