test/emission_fichiers/fc_antidot_recherche.js
author hamidouk
Mon, 16 Jan 2012 15:06:41 +0100
branchpopcorn-port
changeset 640 a6b64eeeb76d
parent 0 c357d5b60635
permissions -rw-r--r--
redid samuel's decimal to hexa conversion function.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
// integration du suggest (module antidot)
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
Drupal.behaviors.fc_antidot_recherche = function (){
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
     
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
    // recupère l'adresse du proxy
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
    var urlP = Drupal.settings.adresseProxy;
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
var as_pos = 0;	   
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
var as_pos2 = 0;
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
 /**
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
   * traitement de la sujestion sur le bloc de recherche 
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
   * pour économiser des appels à antidot
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
   * la requete est lancée si l'utilisateur saisi plus de 3 lettres
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
   * elle n'est pas lancée si  :
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
   * la dernière requete a retourné 0 ou un resultat et que le mot actuel est semblable au mot précedent+1car 
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
   */   
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
    var expression = new RegExp("^[\\s!&\"'(\\-\\_)=$^\*!:;,~~#{\\[\\|`\\\\^@\\]}¤£µ%§/.?<>\\+]*$", "g");
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
    
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
    //
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
    $('#search_top_page').keyup(function(e){    	
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
	if(e.keyCode>=48 || e.keyCode == 8){
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
	    var queryBox = $('#search_top_page').val();
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
	   	  // active le bouton de recherche en fonction de la pressence de mot clé
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
	    if(expression.test(queryBox)){
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
		$('#search_top_page-wrapper #edit-submit').attr('disabled', 'disabled');
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
	    }else{
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
		$('#search_top_page-wrapper #edit-submit').removeAttr('disabled');
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
	    } 
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
	    
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
    	var prec = "";
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
    	if(jQuery.trim(queryBox).length > 2){    
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
    		if($('#SuggestPopupBox').length == 0){
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
    			$('#search_top_page-wrapper').append('<div id="SuggestPopupBox"></div>');  
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
    			// pour le stockage de la requete precedente
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
    			$('#search_top_page-wrapper').append('<div id="SuggestPrecBox" style="display:none">'+queryBox+'</div>');
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
    		}else{
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
    			$('#SuggestPopupBox').css("display", 'block');
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
    			prec = $('#SuggestPrecBox').text();
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
    		}
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
    		//si la recerche précédente avait la même racine et moins de 2 reponses on ne lance pas la requete    		
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
    		if ($('#SuggestPopupBox ul li').length < 2 && prec !="" && queryBox.indexOf(prec) == 0){
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
    			
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
    			var suj = $('#SuggestPopupBox ul li').text();    			 	
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
    			// si la sugestion est vide ou si elle n'est pas conforme au mot on cache la zone
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
    			if ( prec == "" || suj=="" || suj.indexOf(queryBox) !=0 ){    				
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
    				$('#SuggestPopupBox').css("display", 'none');
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
    			} 
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
    		} else {
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
    			$('#SuggestPrecBox').text(queryBox);
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
	    		// récupère le resultat de la sujestion
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
			
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
	    		$.getJSON(urlP+"?afs:service=254&afs:feed=chaineC&afs:query="+queryBox,function(data){
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
	    			// s'il y a des sujestions on les traites puis affiche
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
	    			if(data[1].length > 0){
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
		    			$('#SuggestPopupBox').text(""); 		    			
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
		    			var liste ="";
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
		    			$.each(data[1], function(i, item) {	    			
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
		    				liste += "<li class='suj-reponse'>"+item+"</li>";
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
		    			});
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
		    			$('#SuggestPopupBox').append("<ul>"+liste+"</ul>");		    			
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
		    			// place dans la barre de recherche au clic sur une suj et reinitialise le bloc de recherche				   		
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
					
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
		    			 $('#SuggestPopupBox ul li').click(function(){	    			    			    	
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
		    			    	var reponse = $(this).text();    			    	
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
		    			    	$('#search_top_page').val(reponse);
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
		    			    	$('#SuggestPopupBox').text("");
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
			    	    		$('#SuggestPopupBox').css("display", 'none');
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
			    	    		$('#SuggestPrecBox').text("");
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
		    			    });
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
		    			 
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
	    			}else{
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
	    				// sinon on masque le champ
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
	    				$('#SuggestPopupBox').text("");
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
	    	    		$('#SuggestPopupBox').css("display", 'none');	    	    		
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
	    			}
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
	    		});    
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
    		}
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
    		$('#SuggestPrecBox').text(queryBox);	
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
   	}else{
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
    		$('#SuggestPopupBox').text("");
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
    		$('#SuggestPopupBox').css("display", 'none');	
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
    		$('#SuggestPrecBox').text("");
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
    	 }
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
   }
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
	});
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
/* fin traitement de la sujestion sur le bloc de recherche  */ 
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
$('#search_top_page').keypress(function(e){
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
  if($('#SuggestPopupBox').text()!=''){
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
   switch(e.keyCode){
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
	//down
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
    case 40:
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
	if(as_pos<$('#SuggestPopupBox ul li').length){
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
	   $('#SuggestPopupBox ul li:nth-child('+as_pos+')').removeClass('active');
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
	   as_pos++;
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
	   $('#SuggestPopupBox ul li:nth-child('+as_pos+')').addClass('active');
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
	   var donne = $('#SuggestPopupBox ul li:nth-child('+as_pos+')').text();
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
           $('#search_top_page').val(donne);
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
	}
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
    break;
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
	//up
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
    case 38:
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
      if(as_pos>0){
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
	$('#SuggestPopupBox ul li:nth-child('+as_pos+')').removeClass('active');
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
        as_pos--;
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
        $('#SuggestPopupBox ul li:nth-child('+as_pos+')').addClass('active');
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
        var donne = $('#SuggestPopupBox ul li:nth-child('+as_pos+')').text();
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
        $('#search_top_page').val(donne);
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
      }
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
    break;
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
   }
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
 }
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
});
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
//
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
$('body').click(function(){
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
                $('#SuggestPopupBox').text("");
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
                $('#SuggestPopupBox').css("display", 'none');
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
                $('#SuggestPrecBox').text("");
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
                $('#SuggestPopupPage').text("");
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
                $('#SuggestPopupPage').css("display", 'none');
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
                $('#SuggestPrecPage').text("");
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
		as_pos = 0;
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
		as_pos2 = 0;
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
});
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
$('#edit-keys').keypress(function(e){
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
  if($('#SuggestPopupPage').text()!=''){
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
   switch(e.keyCode){
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
    case 40:
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
	if(as_pos2<$('#SuggestPopupPage ul li').length){
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
	   $('#SuggestPopupPage ul li:nth-child('+as_pos2+')').removeClass('active');
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
	   as_pos2++;
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
 $('#SuggestPopupPage ul li:nth-child('+as_pos2+')').addClass('active');
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
var donne = $('#SuggestPopupPage ul li:nth-child('+as_pos2+')').text();
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
  $('#edit-keys').val(donne);
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
	}
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
    break;
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
    case 38:
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
      if(as_pos2>0){
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
	$('#SuggestPopupPage ul li:nth-child('+as_pos2+')').removeClass('active');
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
        as_pos2--;
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
 $('#SuggestPopupPage ul li:nth-child('+as_pos2+')').addClass('active');
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
var donne = $('#SuggestPopupPage ul li:nth-child('+as_pos2+')').text();
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
  $('#edit-keys').val(donne);
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
      }
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
    break;
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
   }
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
 }
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
});
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
    
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
/* traitement de la sujestion sur la page de recherche  */     
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
    $('#edit-keys').keyup(function(e){    	
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
	if(e.keyCode>=48 || e.keyCode == 8){
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
    	var queryPage = $('#edit-keys').val();
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
	var expression = new RegExp("^[\\s!&\"'(\\-\\_)=$^\*!:;,~~#{\\[\\|`\\\\^@\\]}¤£µ%§/.?<>\\+]*$", "g");
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
    
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
    	 // active le bouton de recherche en fonction de la pressence de mot clé
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
    	if(expression.test(queryPage)){
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
	    $('#submit_resultat_page').attr('disabled', 'disabled');		
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
	}else{
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
	    $('#submit_resultat_page').removeAttr('disabled');
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
	    
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
	}  
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
    	
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
    	var precPage = "";
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
    	if(jQuery.trim(queryPage).length > 2){   
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
    		if($('#SuggestPopupPage').length == 0){
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
    			$('#edit-keys-wrapper').append('<div id="SuggestPopupPage"></div>');  
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
    			// pour le stockage de la requete precedente
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
    			$('#edit-keys-wrapper').append('<div id="SuggestPrecPage" style="display:none">'+queryPage+'</div>');
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
    		}else{
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
    			$('#SuggestPopupPage').css("display", 'block');
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
    			precPage = $('#SuggestPrecPage').text();
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
    		}
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
    		//si la recerche précédente avait la même racine et moins de 2 reponses on ne lance pas la requete    		
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
    		if ($('#SuggestPopupPage ul li').length < 2 && precPage !="" && queryPage.indexOf(precPage) == 0){
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
    			
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
    			var sujPage = $('#SuggestPopupPage ul li').text();    			 	
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
    			// si la sugestion est vide ou si elle n'est pas conforme au mot on cache la zone
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
    			if ( precPage == "" || sujPage =="" || suj.indexOf(queryPage) !=0 ){    				
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
    				$('#SuggestPopupPage').css("display", 'none');
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
    			} 
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
    		} else {
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
    			$('#SuggestPrecPage').text(queryPage);
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
	    		// récupère le resultat de la sujestion
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
	    		$.getJSON(urlP+"?afs:service=254&afs:feed=chaineC&afs:query="+queryPage,function(data){
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
	    			// s'il y a des sujestions on les traites puis affiche
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
	    			if(data[1].length > 0){
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
		    			$('#SuggestPopupPage').text(""); 		    			
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
		    			var liste ="";
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
		    			$.each(data[1], function(i, item) {	    			
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   197
		    				liste += "<li class='suj-reponse'>"+item+"</li>";
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   198
		    			});
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   199
		    			$('#SuggestPopupPage').append("<ul>"+liste+"</ul>");		    			
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   200
		    			// place dans la barre de recherche au clic sur une suj et reinitialise le bloc de recherche				   		
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   201
		    			 $('#SuggestPopupPage ul li').click(function(){	    			    			    	
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   202
		    			    	var reponse = $(this).text();    			    	
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   203
		    			    	$('#edit-keys').val(reponse);
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   204
		    			    	$('#SuggestPopupPage').text("");
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   205
			    	    		$('#SuggestPopupPage').css("display", 'none');
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   206
			    	    		$('#SuggestPrecPage').text("");
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   207
		    			    });
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   208
		    			 
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   209
	    			}else{
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   210
	    				// sinon on masque le champ
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   211
	    				$('#SuggestPopupPage').text("");
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   212
	    	    		$('#SuggestPopupPage').css("display", 'none');	    	    		
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   213
	    			}
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   214
	    		});    
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   215
    		}
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   216
    		$('#SuggestPrecPage').text(queryPage);	
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   217
    	}else{
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   218
    		$('#SuggestPopupPage').text("");
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   219
    		$('#SuggestPopupPage').css("display", 'none');	
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   220
    		$('#SuggestPrecPage').text("");
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   221
    	 }
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   222
}
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   223
    });
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   224
	
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   225
/* fin traitement de la sujestion sur la page de recherche  */ 
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   226
      
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   227
        
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   228
    // surligner les résultats
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   229
    var key = $('#edit-keys').val();
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   230
    if (!key) {
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   231
      return;
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   232
    }
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   233
    var tableau = key.split(' ');
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   234
    var key2 = '';
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   235
    for (var i=0;i<tableau.length;i++){
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   236
      if(tableau[i].length>=3){
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   237
	key2 += tableau[i] + ' ';
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   238
      }
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   239
    }
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   240
    var options = {exact:"exact",style_name_suffix:false,style_name:"tagged",keys:key2};
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   241
    jQuery(document).SearchHighlight(options);
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   242
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   243
};
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   244
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   245
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
   246