
function index()  
{ 
    
    // variables privées
    var current_queue_index = 0 ;       // l'index de la file d'attente en cours d'upload
    
    var iu = new Array();
    iu['uploadify_thumb'] = false; 

            
    // variables publiques
    
    this.mes_uploads = new Array();      // les IDs des files d'attente d'uploads 
    this.launch_next_uploads = false ;
    this.launch_procedure_complete = false;
    
  /*******************************************************
  *
  ******************************************************/   
  this.mbox_progress_data = function(id,message,color,percent)
  {
    
        $("#mbox_"+id).removeClass();
        $("#mbox_"+id).addClass('mbox_progress_title '+color+'');
        
        $("#mbox_"+id).text(message);
        
        if(percent>0)
          $("#progressbar_"+id).progressbar({ value: percent  });
  
  }
    
    
    
  
  
  /*******************************************************************
   *
   *******************************************************************/     
  this.validate_news = function()
  {
      // désactivation du bouton ...
      $('#button_save_news').attr('disabled','disabled');
      var oldvalue = $('#button_save_news').val();
      $('#button_save_news').val('Veuillez patienter...');        
      
      // mise à jour contenu ckeditor
      if(typeof(CKEDITOR)!='undefined')
      for ( instance in CKEDITOR.instances )
            CKEDITOR.instances[instance].updateElement();  
            
      var fields = $("#editnewsform").serialize();
      
      $.ajax({
        url: absolute_path+'/modules/index/ajax_index.php',
        type: "POST",
        contentType: 'application/x-www-form-urlencoded;charset=UTF-8',
        dataType: "html",
        processData:true,
        scriptCharset:'iso-8859-1',
        data: { fields : fields, doaction:'save_news'},
        cache:false,
        success: function(data) {
            
            $('#button_save_news').attr('disabled','');
            $('#button_save_news').val(oldvalue);
            
            // une erreur ds le formulaire est renvoyée en ajax...
            if(data.substr(0,7)=='<script')
              {
                var autoDimensions = true; 
                var modal = false;
                //
                $.fancybox(data,{onComplete         : function(){setTimeout(function(){$.fancybox.close();},100);  }});
              }
            else
              {
                var autoDimensions = false;
                var modal = true; 
                
                $.fancybox(
                data,
                  {
                    'modal'           : false/*modal*/,
                    'title'           : '',
                		'titlePosition'	  : 'over',
            				'transitionIn'	  : 'none',
            				'transitionOut'	  : 'none',
            				'autoDimensions'  : autoDimensions,
            				'width'           : 600,
            				'height'          : 350,
                    onStart           : function(){                                
                                     
                                     $("#editnewsform").validationEngine({unbindEngine:false});
                                    
                                  },
             			  onCleanup         : function(){                                
                                     
                                        $("#editnewsform").validationEngine({unbindEngine:true});
                                        if(typeof(editurl)!='undefined')
                                          window.location = editurl;
                                        else
                                          window.location = window.location ;
                                     
                                     
                                  },
             			  onComplete         : function(){                              
                                     
                                    
                                      
                                  }   
              
              
                  });
                
                 
              } 

          }  
          

      });
    
  
    $.validationEngine.closePrompt('*');
    return false;
  
  }  
      
  /************************************************************************
   *
   ***********************************************************************/
  this.uploadify_thumb = function(id,fileQueue,folder)
    {
            
        
        $("#"+id+"").uploadify({
      		'uploader'        : absolute_path+'/js/jquery/uploadify/uploadify.swf',
      		'script'          : absolute_path+'/js/jquery/uploadify/uploadify.thumb_indexer.php',
      		'buttonImg'       : absolute_path+'/medias/images/upload_photo.gif',
      		'width'           : 50,
      		'height'          : 50,
          'cancelImg'       : absolute_path+'/js/jquery/uploadify/cancel.png',
      		'folder'          : absolute_path+'/'+folder,
      		'scriptData'      : {'prefix':'news-'},
      		'fileDesc'        : 'Formats acceptés : JPG, PNG, GIF',
      		'fileExt'         : '*.jpg;*.png;*.gif;*.JPG;*.GIF;*.PNG',
      		'queueID'         : fileQueue,
      		'buttonText'      : 'Parcourir',    		
          'auto'            : false,
      		'multi'           : false,
      		'wmode'           : 'transparent',
      		'sizeLimit'       : 512000, /* 500ko*/
      		onInit            : function () 
                                {
			                            //iu[id] = true ;
                                  $('#file_'+id).val('') ; 			   
                                  
		                            },
          onComplete      : function (evt, queueID, fileObj, response) 
                                {
			                             
			                             $('#edit_'+fileQueue).html('<img onclick="$.fancybox(this.src);" src="'+response+'" width="100" height="75" />');
                                   $('#edit_'+fileQueue).css('display','block');
                                  
		                            },
      		onSelect          : function (evt, queueID, fileObj) 
                                {			                           
			                            
			                            
			                            
			                            $('#button_save_news').attr('disabled','');  
                                                         
                                  // check filesize
                                  var sizelimit = parseInt($("#"+id+"").uploadifySettings('sizeLimit')/1024);  
                                  var filesize = parseInt(fileObj.size/1024);
			                              
		                              if(filesize > sizelimit  )
		                               {
                                     $("#"+id+"").uploadifyClearQueue();
                                     alert('La taille du fichier ('+filesize+'Ko) ne doit pas dépasser '+sizelimit+'Ko.\nVeuillez sélectionner un autre fichier');
                                     return false;
                                   }
                                  else
                                    { 
                                      $('#edit_'+fileQueue).css('display','none');
                                      $('#file_'+id).val(fileObj.name) ;
                                      
                                      
                                      iu[id] = true ;                                      
                                      $.validationEngine.closePrompt('#prompt_field_'+id);
                                    }                                              
			                              
                                  			                          
		                            },
      		onCancel          :   function (evt, queueID, fileObj,data) 
                                {
			                             $('#button_save_news').attr('disabled','');
                                   $('#file_'+id).val('') ; 
                                   $('#edit_'+fileQueue).css('display',''); 
                                   iu[id] = false ;   
                                   
                                   
		                            },
      		onProgress        :   function (evt, queueID, fileObj, data) 
                                {
			                             
  			                            
                                    $("#progressbar_"+id+"").progressbar( "value" , data.percentage );
                                    $("#mbox_"+id+"").text(''+data.percentage+'% effectué(s)');
                                     
                                     
		                            },
		      onError          : function (evt, queueID, fileObj, errorObj) 
                                {			                           
			                              //alert(fileObj.name+'error '+errorObj.type+": "+errorObj.info );
                                    
                                    
                                    $("#mbox_"+id+"").removeClass();
                                    $("#mbox_"+id+"").addClass('mbox_progress_title red');
                                    iu[id] = false ;
                                    $('#file_'+id).val('') ;  
                                    $("#mbox_"+id+"").text(errorObj.info);                 
		                            },                       
          onAllComplete     :   function (evt, data) 
                                {
			                              $('#button_save_news').attr('disabled','');
                                    $('#file_'+id).val('') ;
			                              
                                    iu[id] = false ;  
  			                           
                                    $("#mbox_"+id+"").removeClass();  
                                        
                                    if(data.errors)
                                      {
                                        $("#mbox_"+id+"").addClass('mbox_progress_title red');
                                        $("#mbox_"+id+"").text('Une erreur s\'est produite');
                                      }
                                    else if(data.filesUploaded==0)
                                      {
                                        $("#mbox_"+id+"").addClass('mbox_progress_title orange');
                                        $("#mbox_"+id+"").text('Aucun fichier');
                                      }
                                    else
                                      {
                                        $("#mbox_"+id+"").addClass('mbox_progress_title green');
                                        $("#mbox_"+id+"").text('Terminé');
                                      }               
                                  
                                  // redimensionnement de l'image
                                      $.ajax({
                                      url: absolute_path+'/modules/index/ajax_index.php',
                                      type: "POST",
                                      contentType: 'application/x-www-form-urlencoded',
                                      dataType: "script",
                                      processData:true,
                                      scriptCharset:'iso-8859-1',
                                      data: {newsid : $('#id').val(), filesUploaded : data.filesUploaded, doaction:'resizethumb'},
                                      cache:false,
                                      complete: function(data2) {  
                                                       
                                        }
                                    });
                                    
                                   index.upload_procedure_complete();
                                  
                                       
                                  
                                    
		                            }			                            
      	});
      
  
     
    
  }
    
  /**********************************************************************
   *
   ********************************************************************/
  this.launch_next_upload = function(index)
  {
    current_queue_index = index;
    var queueid = this.mes_uploads[index];
    var queueSize = $('#'+queueid).uploadifySettings('queueSize');
    
    
    //alert(this.mes_uploads.length);
    
    // la file d'attente existe bien et possède des éléments
    if($('#'+queueid) && queueSize>0)
      {
      
          //alert('lancement upload Queue : '+queueid+', contenant : '+queueSize+' éléments');
          $('#'+queueid).uploadifyUpload();
      
      }
    // la file d'attente n'existe pas ou ne possède pas d'élément
    else 
      {
          if($('#'+queueid))
            this.mbox_progress_data(queueid,'Aucun élément en attente','orange',1);
            
            //alert(mes_uploads.length+' <= '+index);
          
          // c'était la derniere file d'attente ?
          if(this.mes_uploads.length <= index+1) 
            this.upload_procedure_complete();
          // sinon on relance le prochain upload
          else
            this.launch_next_upload(index+1);
            
            
      
      }
    
    // dernier élément du tableau
    if(this.mes_uploads.length <= index+1)
      {
         this.launch_next_uploads=false;
         this.launch_procedure_complete=true;
         
      }
    
  //alert('this.launch_next_uploads='+launch_next_uploads+'this.launch_procedure_complete='+launch_procedure_complete);  
  
  
  }                     

  /*******************************************************
   *
   ******************************************************/     
  this.upload_procedure_complete = function()
  {
         
         //alert('tous les uploads ont été traités');
         launch_next_uploads=false; 
        
        $('#mbox_message').html('<b>Procédure d\'enregistrement terminée !</b>');
        $('#mbox_etape_1b').css('display','block');  

  }
  
  /****************************************************
   *
   ***************************************************/       
  this.deletethumb = function(newsid)
  {
    $.ajax({
      url: absolute_path+'/modules/index/ajax_index.php',
      type: "POST",
      contentType: 'application/x-www-form-urlencoded',
      dataType: "script",
      processData:true,
      scriptCharset:'iso-8859-1',
      data: {newsid : newsid, doaction:'deletethumb'},
      cache:false,
      complete: function(data) {  
          
          $('#edit_fileQueue_thumb').html('');                
        }
    });
                                    
  
  }
  
  /****************************************************
   *
   ***************************************************/   
  this.marquesUpdateOrder = function()
  {
		var fields = $("input[name='marques[]']").serialize();
    $.post( 
      absolute_path+'/modules/index/ajax_index.php',
      {fields: fields, doaction:'marquesUpdateOrder'}, 
      function(data) {   
      
        

       } , 
      "script"
    );
	
	}
	
  /****************************************************
   *
   ***************************************************/   
  this.marquesmobilesUpdateOrder = function()
  {
		var fields = $("input[name='marquesmobiles[]']").serialize();
    $.post( 
      absolute_path+'/modules/index/ajax_index.php',
      {fields: fields, doaction:'marquesmobilesUpdateOrder'}, 
      function(data) {   
      
        

       } , 
      "script"
    );
	
	}

  /***************************************************************
   *
   **************************************************************/     
  this.delNews = function (newsid,token)
    {
      
        $.ajax({
          url: absolute_path+'/modules/index/ajax_index.php',
          type: "POST",
          contentType: 'application/x-www-form-urlencoded;charset=iso-8859-1',
          dataType: "script",
          processData:true,
          scriptCharset:'iso-8859-1',
          data: {token: token, newsid: newsid, doaction:'del_news'},
          cache:false,
          success: function(data) {
            
            
                  window.location.reload();  
            
              }       
          
          });
      
    } 



  /************************************************************
   *
   ***********************************************************/     
  this.addSlider = function(section)
  {
  
          $.post( 
            absolute_path+'/modules/index/ajax_index.php',
            {section: section, doaction:'addSlider'}, 
            function(data) {   
            
              $('div#contents_'+section+'').append(data)
						  var numtabs = $('div#contents_'+section+' ul.sortable li').length;
              $('div#contents_'+section+'').tabs( "add" , '#tabs-'+sliderid+'' , numtabs+1 )
      			  $('div#contents_'+section+'').tabs('select',numtabs);

             } , 
            "html"
          );
  
  };
  
  /************************************************************
   *
   ***********************************************************/     
  this.delSlider = function(el,sliderid)
  {
      			  
          $.post( 
            absolute_path+'/modules/index/ajax_index.php',
            {sliderid: sliderid, doaction:'delSlider'}, 
            function(data) {   
                    
							var slider_ul = $('a[href="#tabs-'+sliderid+'"]').parent('li').parent('ul.sortable');
							
              $('#tabs-'+sliderid+'').remove();
              slider_ul.children('li:first').children('a').click();
      			  $('a[href="#tabs-'+sliderid+'"]').parents('li').remove();
      			  slider_ul.trigger('sortupdate');
      			  

             } , 
            "script"
          );
  
  }; 
  
  /************************************************************
   *
   ***********************************************************/     
  this.addTab = function(section)
  {
   		var tabnum = $('#contents_'+section+' ul.sortable li').length ;
   		var tab = prompt('Intitulé de l\'onglet','Onglet '+(tabnum+1));
   		if(!tab)
   			return false;
   			
          $.post( 
            absolute_path+'/modules/index/ajax_index.php',
            {section: section, tabnum: tabnum, tab: tab, doaction:'addTab'}, 
            function(data) {   
              
							$('div#contents_'+section).tabs( "add" , '#'+section+'_'+tabnum+'' , tab );
      			  $('div#contents_'+section).tabs('select',tabnum);
              $('#'+section+'_'+tabnum+'').addClass('smaller').append(data);

             } , 
            "html"
          );
  
  };
  
  /************************************************************
   *
   ***********************************************************/       
  this.renameTabLabel = function(el)
  {
	 	var idconteneur = $(el.target).attr('href');
		var oldname = $(el.target).text();
		var name = prompt('Renommer l\'onglet',oldname);
	  if(name)
		{
			$(idconteneur).find('input[type=text][name$="[tab]"]').val(name);
			$(el.target).html(name);
		}
		
	
	
	}
  
  /************************************************************
   *
   ***********************************************************/     
  this.addTabContent = function(section,tabnum,tab)
  {
  
          $.post( 
            absolute_path+'/modules/index/ajax_index.php',
            {section: section, tabnum: tabnum, tab: tab, doaction:'addTabContent'}, 
            function(data) {   
            
              $('div#'+section+'_'+tabnum).append(data);

             } , 
            "html"
          );
  
  };
  
  /************************************************************
   *
   ***********************************************************/     
  this.delTabContent = function(el,sliderid)
  {
      			  
          $.post( 
            absolute_path+'/modules/index/ajax_index.php',
            {sliderid: sliderid, doaction:'delSlider'}, 
            function(data) {   
                    							
              $('#content-'+sliderid+'').remove();
              
      			  

             } , 
            "script"
          );
  
  }; 	 
  

  /*********************************************************************
   *
   *********************************************************************/
  this.validate_index = function()
    {
      // désactivation du bouton ...
      var oldvalue = $('input[name=save_index]').val();
      $('input[name=save_index]').val('Patientez...').attr('disabled','disabled');
      

  
      var fields = $("#editindexform").serialize();
      
      $.ajax({
        url: absolute_path+'/modules/index/ajax_index.php',
        type: "POST",
        contentType: 'application/x-www-form-urlencoded;charset=iso-8859-1',
        dataType: "html",
        processData:true,
        scriptCharset:'iso-8859-1',
        data: {fields : fields, doaction:'save_index'},
        cache:false,
        success: function(data) {
            
            $('input[name=save_index]').attr('disabled','').val(oldvalue);
            
            // une erreur ds le formulaire est renvoyée en ajax...
            if(data.substr(0,7)=='<script')
              {
                $.fancybox(data,{onComplete:function(){setTimeout(function(){$.fancybox.close();},77500);  }});
                
              }
            else
              {
                $.fancybox(
                data,
                {
                  'modal'           : false,
                  'title'           : '',
              		'titlePosition'	  : 'over',
          				'transitionIn'	  : 'none',
          				'transitionOut'	  : 'none',
          				'autoDimensions'  : true,
          				'width'           : 550,
          				'height'          : 400,
          				onStart           : function(){                                
                                     
                                     $("#editindexform").validationEngine({unbindEngine:false});
                                    
                                  },
             			 onComplete         : function(){                                
                                     
                                    setTimeout(function(){window.location=window.location;},500);
                                     
                                     
                                  }                               
                                  
                }); 
              }  
            
            
          }
      });
    
  
    $.validationEngine.closePrompt('*');
    return false;
  
  }


  /************************************************************************
   *
   ***********************************************************************/
  this.uploadify_slider = function(id,section)
    {
        var fileQueue = 'fileQueue_slider_'+id;    
        var uid = 'uploadify_slider_'+id;
        
        $("#"+uid).uploadify({
      		'uploader'        : absolute_path+'/js/jquery/uploadify/uploadify.swf',
      		'script'          : absolute_path+'/js/jquery/uploadify/uploadify.thumb_indexer.php',
      		'buttonImg'       : absolute_path+'/medias/images/upload_photo.gif',
      		'width'           : 50,
      		'height'          : 50,
          'cancelImg'       : absolute_path+'/js/jquery/uploadify/cancel.png',
      		'folder'          : absolute_path+'/tmp',
      		'scriptData'      : {'prefix':'bg-'},
      		'fileDesc'        : 'Formats acceptés : JPG, PNG, GIF',
      		'fileExt'         : '*.jpg;*.png;*.gif',
      		'queueID'         : fileQueue, 		
          'auto'            : false,
      		'multi'           : false,
      		'wmode'           : 'transparent',
      		'sizeLimit'       : 512000, /* 500ko*/
      		onInit            : function () 
                                {
                                  $('#file_'+uid).val('') ; 			   
		                            },
      		onSelect          : function (evt, ID, fileObj) 
                                {			                           
             
                                  
                                  // check filesize
                                  var sizelimit = parseInt($("#"+uid).uploadifySettings('sizeLimit')/1024);  
                                  var filesize = parseInt(fileObj.size/1024);                                    
		                              if(filesize > sizelimit  )
		                               {
                                     $("#"+uid+"").uploadifyClearQueue();
                                     alert('La taille du fichier ('+filesize+'Ko) ne doit pas dépasser '+sizelimit+'Ko.\nVeuillez sélectionner un autre fichier');
                                     return false;
                                   }
                                  else
                                    {                                    
                                      $.validationEngine.closePrompt('*');
                                      
                                      /* begin test auto upload */
                                      $.post( 
                                        absolute_path+'/modules/index/ajax_upload.php',
                                        {uid:uid, sliderid: id, section: section, fileObj:fileObj, doaction:'cfgupload_slider'}, 
                                        function(data) {   
                                  			   //alert($("#"+id+"").uploadifySettings('folder'));
                                  			   
                                         } , 
                                        "script"
                                      );
                                      /* end test auto upload */   
                                      
                                    }                                              
			                              
                                  			                          
		                            },   
          onComplete      : function (evt, queueID, fileObj, response) 
                                {                                   
                                    $.post( 
                                      absolute_path+'/modules/index/ajax_upload.php',
                                      {uid:uid, sliderid: id, section: section, fileObj:fileObj, scriptData:$("#"+uid+"").uploadifySettings('scriptData'), doaction:'upload_slider'}, 
                                      function(data) {   
                                			  

                                       } , 
                                      "script"
                                    );
                                       
		                            }		                            
      	});
      
  
     
    
  };
  
  this.load_index_unlogged = function()
	{
	
    $.post( 
          absolute_path+'/modules/index/ajax_index.php',
          {doaction:'load_index_unlogged'}, 
          function(data) {   
    			   $('#index_flash').append(data);
    			   
           } , 
          "html"
        );
	
	
	};


} // end class

index = new index(); 
