
var OrdreDivDessus = 0;
var OrdreDivDessous = 0;
var TopDivDessous = 0;
var TopDivDessus = 0;
var tabOrdre;
var taille_tabOrdre = 0;
var delta = -1;

function ajax(page, data)
{
	var xhr_object = null; // Objet XMLHttpRequest
	document.getElementById('chargement').style.display = 'block';
	if(window.XMLHttpRequest) { // Firefox 
		xhr_object = new XMLHttpRequest(); 
	}
	else if(window.ActiveXObject) {// Internet Explorer 
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 
	}
	else { // XMLHttpRequest non support?par le navigateur 
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
		return; 
	}
	xhr_object.open("GET", page + '?' + data, true);

	xhr_object.onreadystatechange = function() { 
		if(xhr_object.readyState == 4) { 
			document.getElementById('franchise').innerHTML = xhr_object.responseText;
		} 
		else
		{
			//document.getElementById(mot).innerHTML = "Erreur !";
		}
	}

	//xhr_bject.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=iso-8859-15");
	xhr_object.send();
}

// Lors de la modification d'nu pourcentage on v?ifie qu'il n'y a pas autre chose que des nombres dans le champ
function verifPourcentage(texte)
{
	exp = new RegExp("[^0-9\.,]*", "gi");
	/*if( exp.test(texte) == true )
	{
		alert("Ce champ peut uniquement contenir des chiffres ou nu s?arateur d?imal.");
	}*/
	return texte.replace(exp, "").replace(",", ".");
}

function calculeOffsetLeft(r)
{
	return calculeOffset(r,"offsetLeft");
}

function calculeOffsetTop(r)
{
	return calculeOffset(r,"offsetTop");
}

function calculeOffset(element,attr)
{
	var offset = 0;
	while(element)
	{
		offset += element[attr];
		element = element.offsetParent;
	}
	return offset;
}

function ConstruitLigne(ordre)
{
	return '<div id="ligne' + ordre + '" style="clear:both; margin-left: 10px;">' + document.getElementById('ligne' + ordre).innerHTML + '</div><br><br><br>';
}

function echange(sens)
{
	var NouvelleDonnee = "";
	var tmp;
	
	if( sens == 1 ) // On descend
	{
		tmp = tabOrdre[IndexDivEnMouvement];
		tabOrdre[IndexDivEnMouvement] = tabOrdre[IndexDivEnMouvement + 1];
		tabOrdre[IndexDivEnMouvement + 1] = tmp;
		
		IndexDivEnMouvement = IndexDivEnMouvement + 1;
		
	}
	else if( sens == -1 ) // On monte
	{
		tmp = tabOrdre[IndexDivEnMouvement];
		tabOrdre[IndexDivEnMouvement] = tabOrdre[IndexDivEnMouvement - 1];
		tabOrdre[IndexDivEnMouvement - 1] = tmp;
		
		IndexDivEnMouvement = IndexDivEnMouvement - 1;
	}
	
	for(i = 0 ; i <= taille_tabOrdre ; i++)
	{
		NouvelleDonnee += ConstruitLigne(tabOrdre[i]);
	}
	NouvelleDonnee += '<div style="clear:both; margin-left: 10px;"><div class="baroAccPour" style="float:left;"><div align="center"><a class="lienClic" href="javascript:void(0);" onclick="franchise_plus();">+</a></div></div><div id="chargement" style="float:left; display: none;"><img src="/images/working.gif" border=0 /></div></div><br><br><br>';
	
	document.getElementById('franchise').innerHTML = NouvelleDonnee;
	
	if( IndexDivEnMouvement > 0 )
	{
		OrdreDivDessus = tabOrdre[IndexDivEnMouvement - 1];
		TopDivDessus = calculeOffsetTop(document.getElementById('ligne' + OrdreDivDessus));
	}
	else
	{
		OrdreDivDessus = 0
		TopDivDessus = 0;
	}
		
	if( IndexDivEnMouvement < taille_tabOrdre )
	{
		OrdreDivDessous = tabOrdre[IndexDivEnMouvement + 1];
		TopDivDessous = calculeOffsetTop(document.getElementById('ligne' + OrdreDivDessous));
	}
	else
	{
		OrdreDivDessous = 0;
		TopDivDessous = 0;
	}
}

function deplacer(ordre)
{
	document.getElementById('move_franchise').innerHTML = document.getElementById('ligne' + ordre).innerHTML;
	document.getElementById('move_franchise').style.left = calculeOffsetLeft(document.getElementById('ligne' + ordre)) + "px";
	document.getElementById('move_franchise').style.top = calculeOffsetTop(document.getElementById('ligne' + ordre)) + "px";
	mySetOpacity(document.getElementById('move_franchise'), 60);
	document.ondragstart = function(){ return false; };
	document.ondrag = function(){ return false; };
	document.ondragover = function(){ return false; };
	document.body.onselectstart = function(){ return false; };
	document.getElementById('move_franchise').style.display = 'inline';
	delta = -1;
	
	tabOrdre = new Array();
	var index = 10;
	var i = 0;
	while( document.getElementById('ligne' + index) != null )
	{
		tabOrdre[i] = index;
		index += 10;
		i++;
	}
	
	taille_tabOrdre = i - 1;
	IndexDivEnMouvement = (ordre / 10) - 1;
	
	if( IndexDivEnMouvement > 0 )
	{
		OrdreDivDessus = tabOrdre[IndexDivEnMouvement - 1];
		TopDivDessus = calculeOffsetTop(document.getElementById('ligne' + OrdreDivDessus));
	}
	else
	{
		OrdreDivDessus = 0
		TopDivDessus = 0;
	}
		
	if( IndexDivEnMouvement < taille_tabOrdre )
	{
		OrdreDivDessous = tabOrdre[IndexDivEnMouvement + 1];
		TopDivDessous = calculeOffsetTop(document.getElementById('ligne' + OrdreDivDessous));
	}
	else
	{
		OrdreDivDessous = 0;
		TopDivDessous = 0;
	}
		
	document.body.onmousemove = function (e) {
		if(parseInt(navigator.appVersion) >=4)
		{
			if(navigator.appName == 'Netscape')
			{
				x = e.pageX;
				y = e.pageY;
			}
			else
			{
				x = event.x;
				y = event.y;
			}
			
			if( delta == -1 )
			{
				delta = y - calculeOffsetTop(document.getElementById('ligne' + tabOrdre[IndexDivEnMouvement]));
			}

			document.getElementById('move_franchise').style.top = (y - delta) + "px";
			if( (y - delta) > TopDivDessous && OrdreDivDessous > 0 ) echange(1);
			else if( (y - delta) < TopDivDessus && OrdreDivDessus > 0 ) echange(-1);
		}
	}
	
	document.body.onmouseup = function () {
		document.getElementById('move_franchise').style.display = 'none';
		document.body.onmousemove = null;
		document.body.onmouseup = null;
		document.body.onselectstart = null;
		modif = false;
		for(i = 0 ; i < taille_tabOrdre ; i++)
		{
			if( tabOrdre[i] != ((i + 1) * 10) )
				modif = true;
		}
		if( modif == true )
		{
			if( ((IndexDivEnMouvement + 1) * 10) < tabOrdre[IndexDivEnMouvement] )
			{
				ajax('franchise.php', 'ordre=' + tabOrdre[IndexDivEnMouvement] + '&newordre=' + (((IndexDivEnMouvement + 1) * 10) - 5));
			}
			else
			{
				ajax('franchise.php', 'ordre=' + tabOrdre[IndexDivEnMouvement] + '&newordre=' + (((IndexDivEnMouvement + 1) * 10) + 5));
			}
		}
	}
	return false;
}

function mySetOpacity(object, opa)
{
	object.style.opacity = (opa / 100);
	object.style.filter = "alpha(opacity=" + opa + ")";
}

function franchise_moins(id)
{
	ajax('franchise.php', 'del=' + id);
}

function franchise_plus()
{
	ajax('franchise.php', 'plus=1');
}

function franchise_miseajour(id)
{
	ajax('franchise.php', 'id_franchise=' + id + '&pourcentage=' + document.getElementById('pourcentage'+id).value + '&texte=' + document.getElementById('texte'+id).value);
}
