// SUR LES IMAGES HAWKER, PLUS DE DIV OperaBug
var BooloperaBug = true;
var PressEnterEvent = false;

function ScrollLoad (Area, Content, SettingTracSize , No)
{
    if (typeof No == "undefined"){No=document.No ; document.No++;}
    var code = "scroller" + No + " = new dw_scrollObj (Area, Content, Content, Area, No);";
    
    if (SettingTracSize)
        code += "scroller" + No + ".setBarSize();";
    eval (code);
    makeMouseWheeleScrolling(Area);
}

function autoSuggestprocess_keypress(obj,ev,suggestArea,URLRequest,Langue,options) {
	//alert("autoSuggestprocess_keypress");
	var key;
	if(window.event)
		key = window.event.keyCode;     //IE
	else
		key = ev.which;     //firefox

	switch (key) {
		case 13:
			//ON VA CHERCHER LA VALEUR DU PREMIER ELEMENT DE LA LISTE PROPOSEE
			//alert(document.getElementById(suggestArea).childNodes[0]);
			//alert(document.getElementById(suggestArea).childNodes[0].innerHTML);
			//alert(document.getElementById(suggestArea).childNodes[0].childNodes[0]);
			//alert(document.getElementById(suggestArea).childNodes[0].childNodes[0].innerHTML);
			if (document.getElementById(suggestArea).childNodes[0]) {
				for (i=0;i<document.getElementById(suggestArea).childNodes.length-1;i++) {
					if (document.getElementById(suggestArea).childNodes[i].className == 'motCleOn') {
						if (document.getElementById(suggestArea).childNodes[i].childNodes[0]) {
							autoSuggestClick(document.getElementById(suggestArea).childNodes[i].childNodes[0],false,true);
							//obj.value='';
							PressEnterEvent = true;
						}
						break;
					}
				}
			}
			return false;
			break;
		case 38:
			// FLECHE DU HAUT
			if (document.getElementById(suggestArea).childNodes[0]) {
				for (i=0;i<document.getElementById(suggestArea).childNodes.length-1;i++) {
					if (document.getElementById(suggestArea).childNodes[i].className == 'motCleOn' && i > 0) {
						document.getElementById(suggestArea).childNodes[i].className = 'motCle';
						document.getElementById(suggestArea).childNodes[i-1].className = 'motCleOn';
						
						// ON GERE L'AFFICHAGE DE L'ARBORESCENCE DES MOTS CLES
						if (document.getElementById(suggestArea).childNodes[i-1].childNodes[0] && document.getElementById('DIVInfoChemin_'+obj.id.replace('Search_',''))) {
							var sel=document.getElementById(suggestArea).childNodes[i-1].childNodes[0].innerHTML.replace(/^\s+/g,'').replace(/\s+$/g,'').replace(/<.>/g,'').replace(/<\/B>/gi,'').replace(/[^a-zA-ZéèàâäêëôîïùûöçæüÂÄÀÉÊÈËÎÏÔÖÛÙÜÆÇ0-9¤_/()',]/gi," ").replace(/^\s+|\s+$/g,"");
							selvalue = sel.split('_')[1].replace('_','').replace(/^\s+|\s+$/g,"");
							
							CheminMotCle(selvalue,'DIVInfoChemin_'+obj.id.replace('Search_',''));
						}
						
						// ON GERE LA DEPLACEMENT DU SCROLL
						if (document.getElementById(suggestArea+'Zone').scrollTop > 0 && document.getElementById(suggestArea).childNodes[i-1].offsetTop < document.getElementById(suggestArea+'Zone').scrollTop) {
							document.getElementById(suggestArea+'Zone').scrollTop = document.getElementById(suggestArea+'Zone').scrollTop - document.getElementById(suggestArea).childNodes[i-1].offsetHeight;
						}
						break;
					}
				}
			}
			return false;
			break;
		case 40:
			// FLECHE DU BAS
			if (document.getElementById(suggestArea).childNodes[0]) {
				for (i=0;i<document.getElementById(suggestArea).childNodes.length-1;i++) {
					if (document.getElementById(suggestArea).childNodes[i].className == 'motCleOn' && (i+1) < (document.getElementById(suggestArea).childNodes.length-1)) {
						document.getElementById(suggestArea).childNodes[i].className = 'motCle';
						document.getElementById(suggestArea).childNodes[i+1].className = 'motCleOn';
						
						// ON GERE L'AFFICHAGE DE L'ARBORESCENCE DES MOTS CLES
						if (document.getElementById(suggestArea).childNodes[i+1].childNodes[0] && document.getElementById('DIVInfoChemin_'+obj.id.replace('Search_',''))) {
							var sel=document.getElementById(suggestArea).childNodes[i+1].childNodes[0].innerHTML.replace(/^\s+/g,'').replace(/\s+$/g,'').replace(/<.>/g,'').replace(/<\/B>/gi,'').replace(/[^a-zA-ZéèàâäêëôîïùûöçæüÂÄÀÉÊÈËÎÏÔÖÛÙÜÆÇ0-9¤_/()',]/gi," ").replace(/^\s+|\s+$/g,"");
							selvalue = sel.split('_')[1].replace('_','').replace(/^\s+|\s+$/g,"");
							
							CheminMotCle(selvalue,'DIVInfoChemin_'+obj.id.replace('Search_',''));
						}
						
						// ON GERE LA DEPLACEMENT DU SCROLL
						if ((document.getElementById(suggestArea).childNodes[i+1].offsetTop + document.getElementById(suggestArea).childNodes[i+1].offsetHeight) >= (document.getElementById(suggestArea+'Zone').offsetHeight + document.getElementById(suggestArea+'Zone').scrollTop)) {
							document.getElementById(suggestArea+'Zone').scrollTop = document.getElementById(suggestArea+'Zone').scrollTop + document.getElementById(suggestArea).childNodes[i+1].offsetHeight;
						}
						break;
					}
				}
			}
			return false;
			break;
		case 27:
			autoSuggestClose(suggestArea);
		default:
			//autoSuggest(obj,suggestArea,URLRequest,Langue,options);
			return true;
			break;
	}
}

function autoSuggestClick(obj , bAutoSubmit , bAutoQuote){
	if ( bAutoSubmit === undefined ) {
		bAutoSubmit = false;
	}
	if ( bAutoQuote === undefined ) {
		bAutoQuote = false;
	}
	var sel=obj.innerHTML.replace(/^\s+/g,'').replace(/\s+$/g,'').replace(/<.>/g,'').replace(/<\/B>/gi,'').replace(/[^a-zA-ZéèàâäêëôîïùûöçæüÂÄÀÉÊÈËÎÏÔÖÛÙÜÆÇ0-9¤_/()\[\]',]/gi," ").replace(/^\s+|\s+$/g,"");
	//.replace(/^\s+|\s+$/g,""); => ca c'est pour faire un trim()
	if (sel != '') {
		//get the <DIV id="operaBug">
		if (BooloperaBug) {
			var operaBug = obj.parentNode;
			while(operaBug.nodeName!="DIV" || operaBug.id!="operaBug" ){
				operaBug = operaBug.parentNode;
			}
			theoperaBug=operaBug.id
			var objChampRetour = operaBug;
		} else {
			var objChampRetour = obj.parentNode;
			while(objChampRetour.nodeName!="DIV" || objChampRetour.className!="scrollholder" ){
				objChampRetour = objChampRetour.parentNode;
			}
		}
	
		// on cherche le previousSibling avec Tag Name = input
		while(objChampRetour.nodeName!="INPUT"){
			objChampRetour = objChampRetour.previousSibling;
		}

		seltext = sel.split('_')[0].replace(/^\s+|\s+$/g,"");
		if (seltext.indexOf('[') > 0) seltext = seltext.substring(0,seltext.indexOf('[')).replace(/^\s+|\s+$/g,"");
		if (bAutoQuote) seltext = '"'+ seltext +'"';
		selvalue = sel.split('_')[1].replace('_','').replace(/^\s+|\s+$/g,"");
		
		DOM_Name = document.getElementById('ID_'+objChampRetour.name);
		DOM_Name2 = document.getElementById('Text_'+objChampRetour.name);
		
		// form.Req_TMotsClesListe_MotsClesUS_83 	= this.DOM_Name 				=> liste des identifiants mots clés selectionnés
		// form.MotsClesUS_83 						= this.DOM_NomChampOriginal 	=>DropBox liste des mots clés selectionnés
		
		if ((DOM_Name) && ("," + DOM_Name.value + ",").indexOf(","+ selvalue +",")<0){
			DOM_Name.value = selvalue;
			DOM_Name2.value = seltext;
		}

		objChampRetour.value=seltext;
		objChampRetour.ondblclick();
		objChampRetour.focus();

		if (false) {
			objChampRetour.value=seltext;
			objChampRetour.focus();
			
		}
		if (bAutoSubmit){
			objFormSubmit=objChampRetour
			while((objFormSubmit.parentNode && objFormSubmit.nodeName!="FORM")  ){
				objFormSubmit = objFormSubmit.parentNode;
			}
			if(objFormSubmit.nodeName=="FORM"){
				objFormSubmit.submit();	
			}
		}
	}
}


autoSuggestReady=0
valeurSearchOld='';
function autoSuggest(obj , suggestArea ,URLRequest ,Langue ,options ){ //ex : options  { params:, truc:toto}
	// LA GESTION DES TOUCHES SE FAIT SUR LE ONKEYDOWN, DONC AVANT CET APPEL, CELA RELANCE CETTE FONCTION SUITE AU ENTREE ET IL NE FAUT PAS
	if (PressEnterEvent) {
		PressEnterEvent = false;
	} else {
		if(obj.id==""){
			obj.id=obj.name
		}
	
		//objPosLeft = ElmtPosLeft(obj.id);
		objPosLeft = obj.offsetLeft - obj.scrollLeft;
		
		if(typeof options != 'undefined') { this.options = options; } else { this.options = {}; }
		if(this.options.URLRequest) { this.URLRequest = this.options.URLRequest; }
		if(this.options.Langue) { this.Langue = this.options.Langue; }
		
		
		if (typeof autoSuggest_CounterTimeout[obj.id]!="undefined")clearTimeout(autoSuggest_CounterTimeout[obj.id]);
		
		//alert("obj.id="+ obj.id)
		
		valeurSearch = obj.value.replace("\'","\\'");
		if (valeurSearch != valeurSearchOld) {
			valeurSearchOld = valeurSearch;
			autoSuggest_CounterTimeout[obj.id]= setTimeout("this.suggestIt('"+ obj.id +"' , '"+ suggestArea +"', '"+ valeurSearch +"' )" ,300);
		}
		
		this.suggestIt = function( objID , suggestArea ,valeur ){
			//alert("objID="+ objID)
			valeur=valeur.replace(/^\s+/g,'').replace(/\s+$/g,'').replace(/"/g,'')
			var myObjName=document.getElementsByName(objID)
			
			var i=0
			while(i<myObjName.length &&  myObjName[i].value.replace(/^\s+/g,'').replace(/\s+$/g,'').replace(/"/g,'')!=valeur){
				i++
			}
			if(i>myObjName.length)return false;
			
			obj=myObjName[i]
			
			if (typeof autoSuggest_CounterTimeout[objID]!="undefined")clearTimeout(autoSuggest_CounterTimeout[objID]);
			//var valRecherche=obj.value.replace(/^\s+/g,'').replace(/\s+$/g,'').replace(/"/g,'') ;
			var valRecherche=valeur;
			var obj_suggestArea=document.getElementById(suggestArea);
			obj_suggestArea.style.top="0px";
			
			var obj_suggestAreaZone=document.getElementById(suggestArea+"Zone");
			
			if( valRecherche.length>1 && autoSuggestReady!=1 ){
				autoSuggestReady++
				var MonAjax=new RC_Ajax( Langue.toLowerCase() ); 
				MonAjax.ajax_LoadingMessage=""
				var myRequest=URLRequest+( (URLRequest.indexOf('?')>0)?'&':'?')+ 'LangueAbreviation='+ Langue.toLowerCase() +'&valRecherche='+ escape(valRecherche)
				//alert(myRequest)
				MonAjax.getURL(myRequest  , suggestArea , {onLoad:function(){
										autoSuggestReady=3;
										if(obj_suggestArea.innerHTML.replace(/^\s+/g,'').replace(/\s+$/g,'') !='' ){
											
											
											obj_suggestArea.style.top="0px";
											if(typeof RC_MoveIt == "function" && obj_suggestArea.style.display!="block"){
												obj_suggestArea.style.display="block";
												obj_suggestAreaZone.style.left=objPosLeft+'px';
												obj_suggestAreaZone.style.display="block";
												RC_MoveIt(undefined , obj , obj_suggestAreaZone ,250,{onEnd:function(){
											   					obj_suggestArea.style.display="block";
																obj_suggestAreaZone.style.display="block";
																
												   			}
											   			})
											   	obj_suggestArea.style.display="none";
											   	obj_suggestArea.innerHTML = '';
												obj_suggestAreaZone.style.display="none";	
											}else{
												obj_suggestArea.style.display="block";
												obj_suggestAreaZone.style.left=objPosLeft+'px';
												obj_suggestAreaZone.style.display="block";
												
												if (obj_suggestArea.childNodes[0].childNodes[0] && document.getElementById('DIVInfoChemin_'+obj_suggestArea.id.replace('suggestArea',''))) {
													var sel=obj_suggestArea.childNodes[0].childNodes[0].innerHTML.replace(/^\s+/g,'').replace(/\s+$/g,'').replace(/<.>/g,'').replace(/<\/B>/gi,'').replace(/[^a-zA-ZéèàâäêëôîïùûöçæüÂÄÀÉÊÈËÎÏÔÖÛÙÜÆÇ0-9¤_/()',]/gi," ").replace(/^\s+|\s+$/g,"");
													selvalue = sel.split('_')[1].replace('_','').replace(/^\s+|\s+$/g,"");
													
													CheminMotCle(selvalue,'DIVInfoChemin_'+obj_suggestArea.id.replace('suggestArea',''));
												}
												
											}
								   			for(i=0 ; i<document.No ; i++){
								   				setTimeout('scroller'+ i +'.removeBar("'+ obj_suggestArea.id +'"); ScrollLoad ( "'+ obj_suggestAreaZone.id +'" , "'+ obj_suggestArea.id +'" , true , '+ i  +'); ' , 10*i )
								   			}
								   		}else{
								   			if(typeof RC_MoveIt == "function" && obj_suggestArea.style.display=="block")RC_MoveIt(obj_suggestAreaZone , obj_suggestAreaZone , obj,250 )
								   			obj_suggestArea.style.display="none";
								   			obj_suggestArea.innerHTML = '';
											obj_suggestAreaZone.style.display="none";
								   		}
									} 
				} );
	
			}else{
				if(typeof RC_MoveIt == "function" && obj_suggestAreaZone.style.display=="block")RC_MoveIt(obj_suggestAreaZone , obj_suggestAreaZone , obj,250)
				obj_suggestArea.style.display="none";
				obj_suggestArea.innerHTML = '';
				obj_suggestAreaZone.style.display="none";
			}
		}
	}
}
//dom_removeObj(track' + No )
function dom_removeObj(objToDelete){
	var myParent = objToDelete.parentNode;
	myParent.removeChild(objToDelete);
}

dw_scrollObj.prototype.getInfos = function() {
	var lyr = document.getElementById(this.lyrId); //suggestarea	
  	var wn = document.getElementById(this.id);	//suggestareaZone
  	//lyr.offsetHeight=""
  	alert(lyr.style.height)
}

dw_scrollObj.prototype.removeBar = function(suggestArea) {
  var bar;
  var lyr = document.getElementById(this.lyrId);
  var wn = document.getElementById(this.id);
  if (this.vBarId) {
    bar = document.getElementById(this.vBarId);
    dom_removeObj(bar.parentNode)
  }
  if (this.hBarId) {
    bar = document.getElementById(this.hBarId);
    dom_removeObj(bar.parentNode)
  }
}

function autoSuggestClose(suggestArea){
	for (var i in  autoSuggest_CounterTimeout){
		if (typeof autoSuggest_CounterTimeout[i]!="undefined")clearTimeout(autoSuggest_CounterTimeout[i]);
	}
	var obj_suggestArea=document.getElementById(suggestArea);
	var obj_suggestAreaZone=document.getElementById(suggestArea+"Zone");
	if(typeof RC_MoveIt == "function" && obj_suggestArea.style.display && obj_suggestArea.style.display=="block"){RC_MoveIt(obj_suggestAreaZone , obj_suggestAreaZone , undefined ,250)}
	obj_suggestArea.style.display="none";
	obj_suggestArea.innerHTML = '';
	obj_suggestAreaZone.style.display="none";
}

var autoSuggest_CounterTimeout=new Array( );
function autoSuggestInit( suggestArea ){
	setTimeout( 'document.getElementById("'+ suggestArea+'Zone").style.display="block" ; ScrollLoad ( "'+ suggestArea+'Zone", "'+ suggestArea +'" , true);document.getElementById("'+ suggestArea+'Zone").style.display="none" ; ' ,1)
	MousePosElmt(suggestArea);
}

function autoSuggestCloseOnBlur(suggestArea) {
	MousePosElmt(suggestArea);
	alert(MousePosElmtX);
	alert(document.getElementById(suggestArea).offsetWidth);
	alert(MousePosElmtY);
	alert(document.getElementById(suggestArea).offsetTop);
	alert(document.getElementById(suggestArea).scrollTop);
	if ((MousePosElmtX <= 0) || (MousePosElmtX >= (document.getElementById(suggestArea).offsetWidth+15)) || (MousePosElmtY <= 0) || (MousePosElmtY >= document.getElementById(suggestArea).offsetHeight)) {
		autoSuggestClose(suggestArea);
	}
}
