var pointer = false;
var current_id_focus = 0;
var current_nbr = 0;
var search_id = new Array('-1');
// Ligne non selectionnee
var background_color_no_foc = '#FFFFFF';
var color_text = '#FFFFFF';
// Ligne selectionnee
var background_color_foc = '#EF7E38';
var color_no_text = '#4D4D4D';




function donner_focus(){
	document.getElementById('list0').focus();
}

function writetag(tag, content) {
     document.getElementById(tag).innerHTML = content;
}

//Permet la v�rification du manuel de l'entreprise
function check(myForm){
	ret =true;
	if (document.getElementById('choixStand').value == '-1'){
		writetag('error_stand', '<span class="erreur" style="color:red">Vous devez s&eacute;lectionner une ecole</span>');
		ret = false;
	}
return ret;
}



	

/**
  *		Fonction controlant les actions a faire en fonction de la valeur du code de l'event "KeyUp"
  *		Permet la navigation clavier dans la liste dynamique
  *		
  *		@ param : value => valeur du champ de texte principal
  *			       event => l'evenement associe au KeyUp
  */
function event_capture(value,event)
{

	switch (event.keyCode)
	{

		default :
				AJAX(value);
				document.getElementById('stand_comp').style.display='block';
				break;
	}
}

/**
  *		Permet avec l'outil ajax d'effectuer dynamiquement des requetes
  *
  *		@ param value : valeur de la recherche courante
  *
  */
function AJAX_old(value)
{
	
	var AJAX = createXMLHttpRequest();
		
	// On defini le fichier appele lors de l'envoie
	AJAX.open("POST",'?p=4&sp=1&mot='+value,true);
	
	//Fonction appelee automatiquement lors de la fin des transferts asynchrones
	// C'est ici que l'on dit ce qu'il va se passer apres le renvoie
	AJAX.onreadystatechange = function()
	{
		if (AJAX.readyState == 4 && AJAX.status == 200) 
		{
			writetag('stand_comp', AJAX.responseText);
		}
	}
	
	// On declare le type des donnees echangees => ici du texte
	// On pourait utiliser du XML mais ici cela est tr�s peu utile par le petite quantite de donnee echangee
	AJAX.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	AJAX.send('post='+value);
}


function hideListTimered(id)
{
	console.debug('id:'+id);
	setTimeout(function ()
		{
			console.debug('here:'+id);
			hide_list(id);
		}, 200
	);
}

function hide_list(id)
{
	document.getElementById('stand_comp'+id).style.display='none';
	document.getElementById('stand_comp'+id).innerHTML='';
}


/**
  *		Permet de remettre le style normal
  *		
  *		@ param : id => id de l'input text a desactiver le style pointer
  */
function loose_focus_style(id)
{
	if ( current_id_focus != 0 )
	{
			var input_hidden = document.getElementById('list'+id);
			input_hidden.style.backgroundColor = background_color_no_foc;
			input_hidden.style.color = color_no_text;
	}
}


/**
  *		Permet de changer le style des inputs
  *		
  *		Changement de style par javascript 
  *		
  *		@ param : id => id de l'input text a changer le style
  *			       control => permet suivant les cas l'activation de certaines operations
  *
  */
  
 
 function give_focus_style(id,control)
{
	if ( id != 0 && id != current_id_focus && id != null)
	{
		
		var input_hidden = document.getElementById('list'+id);
		input_hidden.style.backgroundColor = background_color_foc;
		input_hidden.style.color = color_text;
		input_hidden.style.cursor = 'default';
	
	}
	if ( control == 1 && current_id_focus != null)
	{
		//alert("current"+id+"ancien"+current_id_focus);
		current_id_focus = id;
		loose_focus_style(current_id_focus);

	}
}

function focusStyleSmart(obj,control)
{
	var input_hidden = obj;
	input_hidden.style.backgroundColor = background_color_foc;
	input_hidden.style.color = color_text;
	input_hidden.style.cursor = 'default';

	if ( control == 1)
	{
		input_hidden.style.backgroundColor = background_color_no_foc;
		input_hidden.style.color = color_no_text;
	}
}


var xmlHttp;

/*
function showHint(str, id) {
	if (xmlHttp != null) {
		xmlHttp.abort();
		xmlHttp = null;
	}

	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null) {
		alert ("Browser does not support HTTP Request");
		return;
	} 
	var url= "index.php?p=90&sp=9&id="+id+"&mot="+str;
	xmlHttp.onreadystatechange=stateChanged(id);
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
} 

function stateChanged(id) {
	alert('here'+xmlHttp.readyState)
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
 		document.getElementById("stand_comp"+id).innerHTML=xmlHttp.responseText;
	} 
}
*/

function showHint(str, id)
{
	$("stand_comp"+id).style.display = 'block';
	new Ajax.Updater("stand_comp"+id, "/index.php?p=90&sp=9&id="+id+"&mot="+str, 
		{
			method:'get'
		});
}

function showFonctions(str, id)
{
	$("stand_comp"+id).style.display = 'block';
	new Ajax.Updater("stand_comp"+id, "/index.php?p=90&sp=10&id="+id+"&mot="+str, 
		{
			method:'get'
		});
}


function GetXmlHttpObject() {
	var xmlHttp=null;
	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e) {
	// Internet Explorer
		try {
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}



function getRandomNumber(range)
{
	return Math.floor(Math.random() * range);
}

function getRandomChar()
{
	var chars = "0123456789abcdefghijklmnopqurstuvwxyzABCDEFGHIJKLMNOPQURSTUVWXYZ";
	return chars.substr( getRandomNumber(62), 1 );
}

function randomID(size)
{
	var str = "";
	for(var i = 0; i < size; i++)
	{
		str += getRandomChar();
	}
	return str;
}

