		// LOAD GOOGLE SEARCH
		google.load('search', '1', {nocss: true}); 

		// LE GOOGLE SEARCH CONTROL
		var g_google_search_control;
		// LES OPTIONS		
		var g_google_search_options = {};
		// LA LISTE DES RESULTATS
		var g_google_search_result_list;
		// UN ITEM DES RESULTATS
		var g_google_search_result_li;		
		// UN ITEM DES RESULTATS
		var g_google_search_input;		
		
		
		
		function OnLoad() {
			// Create a search control	
			//console.log(" OnLoad ");	  
			g_google_search_control = new google.search.WebSearch();	
			
			g_google_search_options = {
				label 				: 'ccapcable.com',				
				restrict			: 'http://www.ccapcable.com',
				size				: GSearch.SMALL_RESULTSET,
				input_default_value	: 'Recherche ...',
				idInput				: 'search',	
				top					: 28
				/*right				: 24*/
			}; // OPTIONS
						
		  	// Set les options du control
			if (g_google_search_options.label) 		g_google_search_control.setUserDefinedLabel(g_google_search_options.label);
			if (g_google_search_options.restrict) 	g_google_search_control.setSiteRestriction(g_google_search_options.restrict);
			if (g_google_search_options.size) 		g_google_search_control.setResultSetSize(g_google_search_options.size)
			g_google_search_control.setNoHtmlGeneration();
			g_google_search_control.setSearchCompleteCallback(this, OnGoogleSearchComplete);
			
			// Genere le google search
			CreateGoogleSearch();		  
		}

		function CreateGoogleSearch(sc, searcher){
			//console.log(" CreateGoogleSearch ");	  			
			// CREATE GOOGLE SEARCH LIST
			g_google_search_result_list = document.createElement('ul');
			g_google_search_result_list.setAttribute("id", g_google_search_options.idInput + '_results');
			$(g_google_search_result_list).appendTo('#' + g_google_search_options.idInput + '_result_holder');
			$(g_google_search_result_list).addClass("results");
			// CREATE LIST				
			g_google_search_result_li = $(g_google_search_result_list).append();
			$(g_google_search_result_li).appendTo('#' + g_google_search_options.idInput + '_result_holder');
			//g_google_search_result_li.css('display', 'none');			
			// CREE LE INPUT
			g_google_search_input = document.createElement('input');
			g_google_search_input.setAttribute("type", "text");
			g_google_search_input.setAttribute("value", "Recherche ...");
			g_google_search_input.setAttribute("name", "hiddenName");
			g_google_search_input.setAttribute("id", g_google_search_options.idInput + '_input_value');
			// > SET LES EVENTS SUR LE INPUT
			$(g_google_search_input).bind("focus",function(){	
				if (this.value == g_google_search_options.input_default_value) this.value = '';	
				$(this).removeClass('place-holder');						
			});
			// > SET LES EVENTS SUR LE INPUT
			$(g_google_search_input).bind("blur",function(){				
				if (!this.value.length){
					this.value = g_google_search_options.input_default_value;
					$(this).addClass('place-holder');
				}		
			});		
			// > SET LES EVENTS SUR LE INPUT
			$(g_google_search_input).bind("keydown",function(event){				
				this.value = g_google_search_input.value;
				//console.log(event.keyCode);
				if (event.keyCode == 13 && this.value.length)QueryGoogle(this.value);				
			});
			// > SET LES EVENTS SUR LE INPUT
			$("#" + g_google_search_options.idInput + "_submit").bind("click",function(event){								
				if (g_google_search_input.value.length)QueryGoogle(g_google_search_input.value);				
			});			
			// > CALL BLUR POUR DEFAULT
			//g_google_search_input.blur();
			// > APPEND					
			document.getElementById(g_google_search_options.idInput+"_input_div").appendChild(g_google_search_input);

			
			$(document).bind('click', function(e){
				if(e.target){					
					var tmp_node = e.target;
					var i = 0;
					var is_hiding_search = 1;
					while(tmp_node && i<10){						
						if(tmp_node && typeof tmp_node === 'object' && tmp_node.id &&
							String(tmp_node.id).substring(0,(g_google_search_options.idInput.length+1))==String(g_google_search_options.idInput+"_")){							
							is_hiding_search = 0;							
						}
						//console.log(String(tmp_node.id).substring(0,(g_google_search_options.idInput.length+1))==String(g_google_search_options.idInput+"_"));
						tmp_node = tmp_node.parentNode;						
						i++;
					}
					if(is_hiding_search==1){
						//alert("hide");
						$(g_google_search_result_list).css('display', 'none');
					}					
				}
				
			});
			
			
		}		
		
		var QueryGoogle = function(searched_value){
			// CALLBACK WHEN SEARCH IS COMPLTED
			// > SET LES EVENTS SUR LE INPUT			
			//console.log(" QueryGoogle ");
			$(g_google_search_result_list).css('display', 'block');
			$(g_google_search_result_li).css({
				'top': 		g_google_search_options.top,
				'bottom': 	g_google_search_options.bottom,
				'left': 	g_google_search_options.left,
				'right': 	g_google_search_options.right,
				'display': 'block'
			});
			$(g_google_search_result_li).html('<li class="first last">Recherche...</li>');
			
			// SEARCH
			g_google_search_control.execute(searched_value);
			return this;			
		}		
		var OnGoogleSearchComplete = function(sc, searcher){
			// CALLBACK WHEN SEARCH IS COMPLTED			
			// if we have local search results, put them on the map
			if (g_google_search_control && g_google_search_control.results) {
				
				var results = g_google_search_control.results;
				$(g_google_search_result_list).empty();
				
				if(results && results.length>0){									
					for (var i = 0, l = results.length; i < l; i++){
						// RETROUVE L'ITEM
						var li = ParseResult(results[i]);
						// AJOUTER A LA LISTE
						$(g_google_search_result_list).append(li);	
						// DISPLAY NAV
						if (i == results.length - 1) {
							// SI DERNIERE ROW ON AFFICHE NAV
							var li_nav = document.createElement('li');
							li_nav.setAttribute("id", g_google_search_options.idInput + '_nav_holder');
							$(li_nav).addClass("last");
							$(li_nav).addClass("google-search-nav");
							$(g_google_search_result_list).append(li_nav);
	
						}// AJOUTER LA NAV																
						
					}// FIN LOOP DANS LE RESULTS												
					// AFFICHER LA NAV
					DrawNav(g_google_search_control,g_google_search_control.cursor);
					
				} // FIN RESULTS EXISTE
				else{
					//console.log(" aucun r&eacute;sultat ");
					// RETROUVE L'ITEM
					var li = ParseResult({title:"Aucun r&eacute;sulats",unescapedUrl:null});
					// AJOUTER A LA LISTE
					$(g_google_search_result_list).append(li);									
				}

			}
			//search.results					
		}
		//
		//	PARSE RESULT
		//
		function ParseResult(result){
			// CREATE GOOGLE SEARCH LIST ITEM
			var li = document.createElement('li');
			$(li).addClass("result-item");
			// CREATE LINK
			if(result.unescapedUrl){
				var title = document.createElement('a');				
				$(title).html(result.title);			
				$(title).attr("href",result.unescapedUrl);				
				$(title).addClass("result-title");
				// SI FICHIER PDF
				if (result.unescapedUrl && result.unescapedUrl.substring(result.unescapedUrl.length - 4) == ".pdf") {
					$(title).addClass("pdfIcon");
				}// ON AJOUTE L'ICONE PDF
			}// POSSEDE UN LIEN
			else{
				var title = document.createElement('span');
				$(title).addClass("result-title");
				$(title).html(result.title);			
			}
			// INSERE LE CONTENU
			var div = document.createElement('div');	
			$(div).addClass("result-content");
			$(div).html(result.content);
			// AJOUTE LES ELEMENTS AU LI
			$(li).append(title , div);
			return li;
		}

		//
		//	DISPLAY NAV
		//
		function DrawNav(obj_search, cursor){
			//console.log(" DrawNav "+cursor);
			// CURSOR
			if (cursor) {
				
				// NEW P
				var paragraph = document.createElement('p');
				$(paragraph).html('Page ' + (cursor.currentPageIndex + 1) + " de " + cursor.pages.length + " | " + cursor.estimatedResultCount + " r&eacute;sultats trouv&eacute;s");
				$("#" + g_google_search_options.idInput + '_nav_holder').append(paragraph);
				// NEW UL
				var nav	= document.createElement('ul');
				$(nav).attr("id",g_google_search_options.idInput + '_nav_pages')
				// SET LE PAGING
				if(cursor.currentPageIndex > 0){										
					// CREE UN LI
					var li = document.createElement('li');					
					// CREE UN LIEN
					var lien = document.createElement('a');
					$(lien).attr({"title":(cursor.currentPageIndex - 1),"href":"javascript://"}).text("<");
					$(lien).bind("click",function(){
						//console.log("goto page "+this.title);
						obj_search.gotoPage(this.title)
					});				
					$(li).append(lien);
					// BIND LE LI
					$(nav).append(li);					
				}
				// SET LES PAGES
				jQuery.each(cursor.pages,function(i){
					
					// SET LA PAGE
					var page = cursor.pages[i];
					
					//console.log(" my page "+ page.label);
					// CREE UN LI
					var li = document.createElement('li');					
					if (page.label - 1 != (cursor.currentPageIndex)) {
						// CREE UN LIEN
						var lien = document.createElement('a');
						$(lien).attr({"title":(page.label - 1),"href":"javascript://"}).text(page.label);
						$(lien).bind("click",function(){
							//console.log("goto page "+this.title);
							obj_search.gotoPage(this.title)
						});				
						$(li).append(lien);
					}
					else{
						$(li).text(page.label);
					}
					$(nav).append(li);	
				});
				// SET LE PAGING
				if (cursor.currentPageIndex < cursor.pages.length - 1) {
					
					// CREE UN LI
					var li = document.createElement('li');					
					// CREE UN LIEN
					var lien = document.createElement('a');
					$(lien).attr({"title":(cursor.currentPageIndex + 1),"href":"javascript://"}).text(">");
					$(lien).bind("click",function(){
						//console.log("goto page "+this.title);
						obj_search.gotoPage(this.title)
					});				
					$(li).append(lien);
					// BIND LE LI
					$(nav).append(li);					
				}
				// BIND LA NAV			
				$("#" + g_google_search_options.idInput + '_nav_holder').append(nav);
			}
		} // FIN DRAW NAV
				
		
		
		// CALLBACK
		google.setOnLoadCallback(OnLoad);	