function GC_roll(obj, url)
{
	obj.src=url;
}

function GC_setMousePosition(id, offsetx, offsety, event)
{
	document.getElementById(id).style.left=offsetx+document.body.scrollLeft+event.clientX;
	document.getElementById(id).style.top=offsety+document.body.scrollTop+event.clientY;
}

function setX(id, value)
{
	if (document.getElementById)
	{
		document.getElementById(id).style.left=value+document.body.scrollLeft;
	}
	else if (document.all)
	{
		document.all[id].style.left=value+document.body.scrollLeft;
	}
	else if (document.layers)
	{
		document.layers[id].left=value+document.body.scrollLeft;
	}
}

function setY(id, value)
{

	if (document.getElementById)
	{
		document.getElementById(id).style.top= value+document.body.scrollTop;
	}
}


function setWidth(id, value)
{
	if (document.getElementById)
	{
		document.getElementById(id).style.width=value;
	}
	else if (document.all)
	{
		document.all[id].style.width=value;
	}
	else if (document.layers)
	{
		document.layers[id].width=value;
	}
}

function setHeight(id, value)
{
	if (document.getElementById)
	{
		document.getElementById(id).style.height=value;
	}
	else if (document.all)
	{
		document.all[id].style.height=value;
	}
	else if (document.layers)
	{
		document.layers[id].height=value;
	}
}

function setOverflow(id, value)
{
	if (document.getElementById)
	{
		document.getElementById(id).style.overflow=value;
	}
	else if (document.all)
	{
		document.all[id].style.overflow=value;
	}
	else if (document.layers)
	{
		document.layers[id].overflow=value;
	}
}

function switchOverflow(id)
{
	if(document.getElementById)
	{
		if(document.getElementById(id).style.overflow=="visible")
			document.getElementById(id).style.overflow="hidden";
		else
			document.getElementById(id).style.overflow="visible";
	}
	else if (document.all)
	{
		if(document.all[id].style.overflow=="visible")
			document.all[id].style.overflow="hidden";
		else
			document.all[id].style.overflow="visible";
	}
	else if (document.layers)
	{
		if(document.layers[id].overflow=="visible")
			document.layers[id].overflow="hidden";
		else
			document.layers[id].overflow="visible";
	}
}


function setMousePosition(id, value, event)
{
	document.getElementById(id).style.left=value+document.body.scrollLeft+event.clientX;
	document.getElementById(id).style.top=value+document.body.scrollTop+event.clientY;
}


function getWidth(id)
{
	if (document.getElementById)
	{
		return formatPx(document.getElementById(id).style.width);
	}
	else if (document.all)
	{
		return formatPx(document.all[id].style.width);
	}
	else if (document.layers)
	{
		return formatPx(document.layers[id].width);
	}
}

function getLeft(id)
{
	if (document.getElementById)
	{
		return formatPx(document.getElementById(id).style.left);
	}
	else if (document.all)
	{
		return formatPx(document.all[id].style.left);
	}
	else if (document.layers)
	{
		return formatPx(document.layers[id].left);
	}
}

function getTop(id)
{
	if (document.getElementById)
	{
		return formatPx(document.getElementById(id).style.top);
	}
	else if (document.all)
	{
		return formatPx(document.all[id].style.top);
	}
	else if (document.layers)
	{
		return formatPx(document.layers[id].top);
	}
}


function getHeight(id)
{
	if (document.getElementById)
	{
		return formatPx(document.getElementById(id).style.height);
	}
	else if (document.all)
	{
		return formatPx(document.all[id].style.height);
	}
	else if (document.layers)
	{
		return formatPx(document.layers[id].height);
	}
}

zindex=0;

function setZIndex(id, value)
{
	if (document.getElementById)
	{
		document.getElementById(id).style.zIndex= value+zindex;
	}
	else if (document.all)
	{
		document.all[id].style.zIndex= value+zindex;
	}
	else if (document.layers)
	{
		document.layers[id].zIndex= value+zindex;
	}
	zindex++;
}

function switchZIndex(id)
{
	if (document.getElementById)
	{
		if(document.getElementById(id).style.zIndex==0)
			document.getElementById(id).style.zIndex=zindex+100000;
		else
			document.getElementById(id).style.zIndex=0;
	}
	else if (document.all)
	{
		if(document.all[id].style.zIndex==0)
			document.all[id].style.zIndex=zindex+100000;
		else
			document.all[id].style.zIndex=0;
	}
	else if (document.layers)
	{
		if(document.layers[id].zIndex==0)
			document.layers[id].zIndex=zindex+100000;
		else
			document.layers[id].zIndex=0;
	}
}

function show(id)
{
	
	if (document.getElementById)
	{
		document.getElementById(id).style.visibility="visible";
		data=document.getElementsByTagName("OBJECT");
		
		for(i=0 ; i<data.length ; i++)
		{
			if(!data[i].getAttribute("nohidde"))
				data[i].style.visibility="hidden";
		}
	}
} 



function hidde(idElement)
{
	elementToHidde=idElement;

	if (document.getElementById)
	{
		document.getElementById(elementToHidde).style.visibility="hidden";
	}
	data=document.getElementsByTagName("OBJECT");
	
	for(i=0 ; i<data.length ; i++)
	{
		if(!data[i].getAttribute("nohidde"))
			data[i].style.visibility="visible";
	}
} 



var lastVisible="";


function switchVisibility(id)
{
	if(document.getElementById(id).style.visibility=="visible")
	{
		hidde(id);
	}
	else
		show(id);
} 


function showPersistant(id)
{
	
	if (document.getElementById)
	{
		if(document.getElementById(id).style.visibility=="hidden")
		{
			if(lastVisible!="")
				document.getElementById(lastVisible).style.visibility="hidden";
			lastVisible=id;
			document.getElementById(id).style.visibility="visible";
		}
	}
	else if (document.all)
	{
		if(document.all[id].style.visibility=="hidden")
		{
			if(lastVisible!="")
				document.all[lastVisible].style.visibility="visible";
			lastVisible=id;
			document.all[id].style.visibility="visible";
		}
	}
	else if (document.layers)
	{
		if(document.layers[id].visibility=="hidden")
		{
			if(lastVisible!="")
				document.layers[id].visibility="hidden";
			lastVisible=id;
			document.layers[id].visibility="visible";
		}
	}
}



//fonction de date================================================================================================
function onlyDate(element, event)
{
	if(event.keyCode>47 && event.keyCode<58)
	{
		if(element.value.length==0)
		{
			if(event.keyCode>47 && event.keyCode<52)
				element.value=element.value+String.fromCharCode(event.keyCode);
			else
				element.value='0'+element.value+String.fromCharCode(event.keyCode)+'/';
			event.returnValue=false
			return false;
		}
		if(element.value.length==1)
		{
			if(element.value=='3')
			{
				if(event.keyCode<50)
					element.value=element.value+String.fromCharCode(event.keyCode)+'/';
			}
			else if(element.value=='0')
			{
				if(event.keyCode>48)
					element.value=element.value+String.fromCharCode(event.keyCode)+'/';
			}
			else
				element.value=element.value+String.fromCharCode(event.keyCode)+'/';
			event.returnValue=false
			return false;
		}
		else if(element.value.length==3)
		{
			if(event.keyCode>49)
				element.value=element.value+'0'+String.fromCharCode(event.keyCode)+'/';
			else
				element.value=element.value+String.fromCharCode(event.keyCode);

			event.returnValue=false
			return false;
		}
		else if(element.value.length==4)
		{
			
			if(element.value.charAt(3)=='1')
			{
				//alert();
				if(event.keyCode<51)
				{
					element.value=element.value+String.fromCharCode(event.keyCode)+'/';
				}
			}
			else if(element.value.charAt(3)=='0')
			{
				if(event.keyCode>48)
					element.value=element.value+String.fromCharCode(event.keyCode)+'/';
			}
			else
				element.value=element.value+String.fromCharCode(event.keyCode)+'/';
			event.returnValue=false
			return false;
		}
		else if(element.value.length==6)
		{
			if(event.keyCode==49)
				element.value=element.value+'1'+'9';
			else if(event.keyCode==50)
				element.value=element.value+'2'+'00';
			event.returnValue=false
			return false;
		}
	}
	else
	{
		event.returnValue=false
		return false;
	}
}

function onlyHour(element, event)
{

	if(element.value.length<1)
	{
		if(event.keyCode>50 && event.keyCode<58)
		{
			element.value='0'+String.fromCharCode(event.keyCode)+'H';
			event.returnValue=false
			return false;
		}
	}
	else if(event.keyCode>47 && event.keyCode<58)
	{
		if(element.value.length==1)
		{
			if(element.value=="2")
			{
				if(event.keyCode>47 && event.keyCode<52)
					element.value=element.value+String.fromCharCode(event.keyCode)+'H';
				event.returnValue=false
			}
			else
			{
				element.value=element.value+String.fromCharCode(event.keyCode)+'H';
				event.returnValue=false
			}
		}
		else if(element.value.length=="3")
		{
			if(event.keyCode>47 && event.keyCode<54)
				element.value=element.value+String.fromCharCode(event.keyCode);
			event.returnValue=false
		}
		else
			return false;
	}
	else
	{
		event.returnValue=false
		return false;
	}
}

//fonction chaine=================================================================================================
function formatPx(chaine)
{
	//alert(chaine.substr(chaine.length-1,chaine.length));
	if(chaine.substr(chaine.length-1,chaine.length)=="%")
		return chaine.substr(0,chaine.length);
	else
		return Number(chaine.substr(0,chaine.length-2));
}


function fillDate(chaine, length)
{
	chaineReturn=new String(chaine);
	//chaineReturn=;
	//alert(chaineReturn.length+"_"+length);
	while(chaineReturn.length<length)
	{
		chaineReturn="0"+chaineReturn;
		
	}

	return chaineReturn;
}


function onlyInt(element, event)
{
	if(event.keyCode>47 && event.keyCode<58)
	{
		return;
	}
	else
	{
		event.returnValue=false
		return false;
	}
}

//fonctions de présentation
function switchBgColor(element, color1, color2)
{
	if(document.getElementById(element).style.backgroundColor==String(color1).toLowerCase())
		document.getElementById(element).style.backgroundColor=color2;
	else
	
		document.getElementById(element).style.backgroundColor=color1;
}



//wl largeur de la ligne
//espacement 1:ligne
//0 pointillés
function linkPoint(x1, y1, x2, y2, idDiv, lineColor, fusion, wl, espacement)
{

	if(!espacement)
		espacement=1;

	xPt=x1;
	yPt=y1;

	if(x1<x2)
		incX=1+espacement;
	else if(x1>x2)
		incX=-1-espacement;


	if(y1<y2)
		incY=1+espacement;
	else if(y1>y2)
		incY=-1-espacement;

	line="";

	while(Math.abs(xPt-x2)>espacement || Math.abs(yPt-y2)>espacement)
	{
		if(Math.abs(xPt-x2)>espacement)
			xPt+=incX;
		if(Math.abs(yPt-y2)>espacement)
			yPt+=incY;
		
		//width=1+width;

		line+='<div style="z-index: 50; position: absolute; background-color: '+lineColor+'; overflow:hidden; height:'+wl+'; width:'+wl+'; top:'+yPt+'; left:'+xPt+'"></div>';
	}
	if(fusion==1)
		document.getElementById(idDiv).innerHTML+=line;
	else
		document.getElementById(idDiv).innerHTML=line;
}

function drawLine(x1, y1, x2, y2, idDiv, lineColor, fusion, wl, espacement)
{

	if(!espacement)
		espacement=0;

	xPt=x1;
	yPt=y1;

	xDelta=Math.abs(x2-x1);
	yDelta=Math.abs(y2-y1);

	nbPas=Math.max(xDelta, yDelta);

	
	
	incX=(x2-x1)/nbPas;
	incY=(y2-y1)/nbPas;
	

	line="";
	saute=-1;
	drawed=-1;

	nbBoucle=0;
	first=0;
	while(nbBoucle<=nbPas)
	{
		
		nbBoucle++;
		if(Math.abs(xPt-x2)>espacement)
			xPt+=incX;
		if(Math.abs(yPt-y2)>espacement)
			yPt+=incY;
		
		if(saute<espacement || espacement==0)
		{
			if(!first)
			{
				xPtF=xPt-5+wl/2;
				line+='<div style="border-style: solid; border-width: 1; z-index: 50; position: absolute; background-color: '+lineColor+'; overflow:hidden; height:10; width:10; top:'+yPt+'; left:'+xPtF+'"></div>';
			}
			else
				line+='<div style="z-index: 50; position: absolute; background-color: '+lineColor+'; overflow:hidden; height:'+wl+'; width:'+wl+'; top:'+yPt+'; left:'+xPt+'"></div>';
			first=1;
		}
		else
		{
			if(Math.abs(xPt-x2)>espacement)
				xPt=xPt+incX*espacement;
			if(Math.abs(yPt-y2)>espacement)
				yPt=yPt+incY*espacement;
			saute=-1;
		}
		saute++;
		if(nbBoucle>1500)
		{
			line+='<div style="z-index: 50; position: absolute; background-color: '+lineColor+'; overflow:hidden; height:'+wl+'; width:'+wl+'; top:'+yPt+'; left:'+xPt+'"></div>';
			document.getElementById(idDiv).innerHTML+=line;
			return;
		}
	}
	if(fusion==1)
		document.getElementById(idDiv).innerHTML+=line;
	else
		document.getElementById(idDiv).innerHTML=line;
} 