// JavaScript Document

var dragObject  = null;
var idragObject  = null;
var aganObject  = null;
var creaObject  = null;
var mouseOffset = null; 

function getMouseOffset(target, ev){ 
	ev = ev || window.event; 
	mondiv = document.getElementById('GAgendac');
	var contPos    = getPosition(mondiv); 
	var docPos    = getPosition(target); 
	var mousePos  = mouseCoords(ev); 
	return {x:mousePos.x - docPos.x + contPos.x, y:mousePos.y - docPos.y + contPos.y};
} 
 
function getPosition(e){ 
	var left = 0; 
	var top  = 0; 
 
	while (e.offsetParent){ 
		left += e.offsetLeft; 
		top  += e.offsetTop; 
		e     = e.offsetParent; 
	} 
 
	left += e.offsetLeft; 
	top  += e.offsetTop; 
 
	return {x:left, y:top}; 
} 

function mouseCoords(ev){
if(ev.pageX || ev.pageY){
//return {x:ev.pageX, y:ev.pageY};
}
return {
x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
y:ev.clientY + document.body.scrollTop - document.body.clientTop
};
}

function mouseDown(ev){
	ev         = ev || window.event;
	var target = ev.target || ev.srcElement;

	iMouseDown = true;
	if(target.onmousedown || target.getAttribute('DragObj')){
		return false;
	}
}


function mouseMove(ev){ 
	ev           = ev || window.event; 
	var mousePos = mouseCoords(ev); 
    //alert(dragObject.id+"/"+aganObject.id);
	if(aganObject){ 
		dragObject = null;
		//alert("A"+aganObject.id);
		document.body.style.cursor='s-resize';
 		mondiv = document.getElementById('GAgendac');
		contPoso    = getPosition(aganObject); 
		contPosi    = getPosition(mondiv); 
		y0=contPoso.y - contPosi.y;
		positionscroll = mondiv.scrollTop;
		positionscrollfenetre = document.documentElement.scrollTop;
		y=mousePos.y - contPosi.y + positionscroll + positionscrollfenetre;
		y=Math.min(912,y);
		//alert("ok");
		agrandirevenementp1(y0,y);
		return false; 
	} 
	else if(dragObject){ 
		aganObject = null;
		//alert("D"+dragObject.id);
		ny=mousePos.y - mouseOffset.y-((mousePos.y - mouseOffset.y) % 19 );
		nx=mousePos.x - mouseOffset.x-((mousePos.x - mouseOffset.x) %114 ) +50 ;
		nx=Math.min(734,nx);
		h=912-parseInt(dragObject.style.height);
		ny=Math.min(h,ny);
		dragObject.style.position = 'absolute'; 
		dragObject.style.top      = ny+"px"; 
		dragObject.style.left     = nx+"px"; 
 		//gethour(y0,y);
		return false; 
	} 
	if(creaObject){ 
		document.body.style.cursor='s-resize';
		mondiv = document.getElementById('GAgendac');
		LeDiv=document.getElementById("evenement");
		contPoso    = getPosition(LeDiv); 
		contPosi    = getPosition(mondiv); 
		y0=contPoso.y - contPosi.y;
		positionscroll = mondiv.scrollTop;
		positionscrollfenetre = document.documentElement.scrollTop;
		y=mousePos.y - contPosi.y + positionscroll + positionscrollfenetre;
		//conteven=document.getElementById("contenuevenement");
		//conteven.innerHTML=y0+"="+contPoso.y+"-"+contPosi.y+"/"+positionscroll+positionscrollfenetre;
		//h=912-parseInt(creaObject.style.height);
		y=Math.min(912,y);
		creationevenementp2(y0,y);
		//alert("ok2");
		return false; 
	}	
} 
function mouseUp(ev){ 
	ev           = ev || window.event; 
	var mousePos = mouseCoords(ev); 
	
	if(aganObject){ 
		dragObject = null;
		document.body.style.cursor='wait';
		mondiv = document.getElementById('GAgendac');
		contPoso    = getPosition(aganObject); 
		contPosi    = getPosition(mondiv); 
		y0=contPoso.y - contPosi.y;
		x0=contPoso.x - contPosi.x;
		positionscroll = mondiv.scrollTop;
		positionscrollfenetre = document.documentElement.scrollTop;
		y=y0+parseInt(aganObject.style.height);
		idevenement=aganObject.id.substr(9, 10);
		agrandirevenementp2(idevenement,x0,y0,y);
		aganObject = null;
		document.body.style.cursor='auto';
	}
	else if (dragObject) {
		aganObject = null;
		idragObject=dragObject;
		dragObject = null;
		document.body.style.cursor='wait';
		mondiv = document.getElementById('GAgendac');
		contPoso    = getPosition(idragObject); 
		contPosi    = getPosition(mondiv); 
		y0=contPoso.y - contPosi.y;
		x0=contPoso.x - contPosi.x;
		positionscroll = mondiv.scrollTop;
		positionscrollfenetre = document.documentElement.scrollTop;
		y=y0+parseInt(idragObject.style.height);
		idevenement=idragObject.id.substr(9, 10);
		deplacerevenement(idevenement,x0,y0,y);
		dragObject = null;
		idragObject = null;
		document.body.style.cursor='auto';
	}
	if (creaObject) {
		//alert("ok");
		document.body.style.cursor='auto';
		mondiv = document.getElementById('GAgendac');
		contPoso    = getPosition(creaObject); 
		contPosi    = getPosition(mondiv); 
		y0=contPoso.y - contPosi.y;
		x0=contPoso.x - contPosi.x;
		positionscroll = mondiv.scrollTop;
		positionscrollfenetre = document.documentElement.scrollTop;
		y=mousePos.y - contPosi.y + positionscroll + positionscrollfenetre;
		creaObject  = null;
		y=Math.min(912,y);
		creationevenementp3(x0,y0,y);
	}
	dragObject = null;
	creaObject  = null;
	aganObject = null;
} 
 
function makeDraggable(item){ 
	//alert(item.id);
	if(!item) return; 
	item.onmousedown = function(ev){ 
		//creaObject  = null;
		dragObject  = this;
		//alert(dragObject);
		mouseOffset = getMouseOffset(this, ev); 
		return false; 
	} 
} 
function makeCreatable(object){ 
	if(!object) return; 
	object.onmousedown = function(ev){ 
		if (!dragObject && !aganObject) {	
			ev = ev || window.event; 
			mousePosi = mouseCoords(ev);
			divform=document.getElementById('evenementformulaire');
			divform.style.visibility="hidden";
			creaObject = document.getElementById("evenement");
			y=mousePosi.y;
			x=mousePosi.x;
			mondiv = document.getElementById('GAgendac');
			contPosi    = getPosition(mondiv); 
			positionscroll = mondiv.scrollTop;
			positionscrollfenetre = document.documentElement.scrollTop;
			y0=mousePosi.y - contPosi.y + positionscroll + positionscrollfenetre;
			y=y0-(y0 %19);
			x=(mousePosi.x - contPosi.x - 50)-((mousePosi.x - contPosi.x - 50) %114 ) +50;
			x=Math.min(734,x);
			y=Math.min(874,y);
			creationevenementp1(x,y);
		}
	} 
} 
function makeAgrandissable(item) {
	if(!item) return; 
	item.onmousedown = function(ev){ 
		//alert("ok");
		if (!dragObject) {
			lid=item.id.substr(12, 10);
			//alert(lid);
			aganObject  = document.getElementById('evenement'+lid);
		}
		//alert(aganObject.id);
	}
}
function creationevenementp1(x,y) {
	creaObject = document.getElementById("evenement");
	conteven=document.getElementById("contenuevenement");
	conteven.style.height=25+"px";
	creaObject.style.zIndex="100";
	creaObject.style.top=y+"px";
	creaObject.style.left=x+"px";
	creaObject.style.width=110+"px";
	creaObject.style.height=38+"px";
	minutedebut=(y/19*30) % 60;
	if (minutedebut==0) {
		minutedebut="00";
	}
	heuredebut=((y/19*30)-minutedebut)/60;
	heurefin=heuredebut+1;
	creneau=document.getElementById("evenementheure").innerHTML=heuredebut+":"+minutedebut+" - "+heurefin+":"+minutedebut;
	creaObject.style.visibility="visible";	
	//conteven=document.getElementById("contenuevenement");
	//conteven.innerHTML=y;
}
function creationevenementp2(y0,y) {
	
	creaObject = document.getElementById("evenement");
	conteven=document.getElementById("contenuevenement");
	h=Math.max(38,(y-y0));
	creaObject.style.height=h+"px";
	conteven.style.height=(h-13)+"px";
	minutedebut=((parseInt((y0+1)/19))*30) % 60;
	if (minutedebut==0) {
		minutedebut="00";
	}
	heuredebut=parseInt((((y0+1)/19*30)-minutedebut)/60);
	heurefin=heuredebut+Math.max(1,parseInt(((h+(minutedebut*19/30))/38)));
	minutefin=(parseInt( ((h+minutedebut*19/30) %38) /19))*30;
	if (minutefin==0) {minutefin="00";};
	creneau=document.getElementById("evenementheure").innerHTML=heuredebut+":"+minutedebut+" - "+heurefin+":"+minutefin;
}
function creationevenementp3(x0,y0,y) {
	lobject = document.getElementById("evenement");
	conteven=document.getElementById("contenuevenement");
	h=Math.max(38,(y-y0));
	newh=h-(h%19);
	lobject.style.height=newh+"px";
	conteven.style.height=(newh-13)+"px";
	minutedebut=((parseInt((y0+1)/19))*30) % 60;
	if (minutedebut==0) {
		minutedebut="00";
	}
	heuredebut=parseInt((((y0+1)/19*30)-minutedebut)/60);
	heurefin=heuredebut+Math.max(1,parseInt(((newh+(minutedebut*19/30))/38)));
	minutefin=(parseInt( ((newh+minutedebut*19/30) %38) /19))*30;
	if (minutefin==0) {minutefin="00";};
	creneau=document.getElementById("evenementheure").innerHTML=heuredebut+":"+minutedebut+" - "+heurefin+":"+minutefin;
	divform=document.getElementById('evenementformulaire');
	jour="Dimanche";
	j=6;
	if (x0<684) {jour="Samedi";j=5;}
	if (x0<570) {jour="Vendredi";j=4;}
	if (x0<456) {jour="Jeudi";j=3;}
	if (x0<342) {jour="Mercredi";j=2;}
	if (x0<228) {jour="Mardi";j=1;}
	if (x0<114) {jour="Lundi";j=0;}
	semaine0=document.getElementById("GAgendaj0").innerHTML;
	semainee=semaine0.substr(1,2);
	anneee0=document.getElementById("case6").innerHTML;
	lanneee=anneee0.length;
	anneee=anneee0.substring(lanneee-4, lanneee);
	ladate=premierlundi(semainee,anneee,j);
	ladateaffich=ladate[0]+" "+ladate[1]+" "+ladate[2];
	document.getElementById("evenementformulairedate").innerHTML=jour+" "+ladateaffich+","+creneau;
	if (x0<700) {
		divform.style.top=y0-70-positionscroll+"px";
		divform.style.left=x0-30+"px";
	}
	else {
		divform.style.top=y0-80-positionscroll+"px";
		divform.style.left=x0-130+"px";
	}
	//validation
	//alert(heuredebut);
	timedebutlocal=Date.UTC(ladate[2],ladate[3],ladate[0],heuredebut,minutedebut,0);
	timefinlocal=Date.UTC(ladate[2],ladate[3],ladate[0],heurefin,minutefin,0);
	temps = new Date();
	
	decalage=temps.getTimezoneOffset();
	//alert(decalage);
	temps = new Date(ladate[2],ladate[3],ladate[0],heuredebut,minutedebut,0);
	
	decalage=temps.getTimezoneOffset();
	//alert(decalage);
	//essai=(timedebutlocal / (60*60*1000)) % 24;
	//alert(heuredebut+"/"+timedebutlocal+"/"+decalage+"/");
	document.getElementById('Conteneurligne2').style.zIndex="1000";
	document.getElementById("evenementformulairel3").innerHTML="<a href=\"/inscription/index.php\" class=\"plienb\">Valider cet évenement</span>";
	//affichage
	divform.style.visibility="visible";
	document.getElementById('agendacache').style.zIndex=20;
	evenchangesclass();
}
function deplacerevenement(idevenement,x0,y0,y) {
	jour="Dimanche";
	j=6;
	if (x0<684) {jour="Samedi";j=5;}
	if (x0<570) {jour="Vendredi";j=4;}
	if (x0<456) {jour="Jeudi";j=3;}
	if (x0<342) {jour="Mercredi";j=2;}
	if (x0<228) {jour="Mardi";j=1;}
	if (x0<114) {jour="Lundi";j=0;}
	semaine0=document.getElementById("GAgendaj0").innerHTML;
	semainee=semaine0.substr(1,2);
	anneee0=document.getElementById("case6").innerHTML;
	lanneee=anneee0.length;
	anneee=anneee0.substring(lanneee-4, lanneee);
	ladate=premierlundi(semainee,anneee,j);
	h=Math.max(38,(y-y0));
	newh=h-(h%19);
	//alert(h);
	minutedebut=((parseInt((y0+1)/19))*30) % 60;
	if (minutedebut==0) {
		minutedebut="00";
	}
	heuredebut=parseInt((((y0+1)/19*30)-minutedebut)/60);
	heurefin=heuredebut+Math.max(1,parseInt(((newh+(minutedebut*19/30))/38)));
	minutefin=(parseInt( ((newh+minutedebut*19/30) %38) /19))*30;
	if (minutefin==0) {minutefin="00";};
	if (heuredebut<10) {heuredebut="0"+heuredebut;};
	creneau=document.getElementById("evenementheure"+idevenement).innerHTML=heuredebut+":"+minutedebut+"-"+heurefin+":"+minutefin;
	//validation
	//alert(heuredebut+":"+minutedebut);
	//alert(heurefin+":"+minutefin);
	timedebutlocal=Date.UTC(ladate[2],ladate[3],ladate[0],heuredebut,minutedebut,0);
	timefinlocal=Date.UTC(ladate[2],ladate[3],ladate[0],heurefin,minutefin,0);
	timedebutlocal=timedebutlocal/1000;
	timefinlocal=timefinlocal/1000;
	//alert(timefinlocal);
	temps = new Date();
	decalage=temps.getTimezoneOffset();
	//idevenement=dragObject.id.substr(9, 10);
	timedebutlocal=timedebutlocal+(decalage*60);
	timefinlocal=timefinlocal+(decalage*60);
	r=Math.random();
	//result=(file('/monagenda/validationdeplacerevenement.php?r='+r+'&decalage='+decalage+'&timedebutlocal='+timedebutlocal+'&timefinlocal='+timefinlocal+'&idevenement='+idevenement));
	//alert(result);
}
function agrandirevenementp1(y0,y) {
	//creaObject = document.getElementById("evenement");
	lid=aganObject.id.substr(9, 10);
	//alert(lid);
	conteven=document.getElementById("contenuevenement"+lid);
	h=Math.max(38,(y-y0));
	aganObject.style.height=h+"px";
	conteven.style.height=(h-13)+"px";
	minutedebut=((parseInt((y0+1)/19))*30) % 60;
	if (minutedebut==0) {
		minutedebut="00";
	}
	heuredebut=parseInt((((y0+1)/19*30)-minutedebut)/60);
	heurefin=heuredebut+Math.max(1,parseInt(((h+(minutedebut*19/30))/38)));
	minutefin=(parseInt( ((h+minutedebut*19/30) %38) /19))*30;
	if (minutefin==0) {minutefin="00";};
	creneau=document.getElementById("evenementheure"+lid).innerHTML=heuredebut+":"+minutedebut+"-"+heurefin+":"+minutefin;
}
function agrandirevenementp2(idevenement,x0,y0,y) {
	lid=aganObject.id.substr(9, 10);
	conteven=document.getElementById("contenuevenement"+lid);
	h=Math.max(38,(y-y0));
	newh=h-(h%19);
	aganObject.style.height=newh+"px";
	conteven.style.height=(newh-13)+"px";
	minutedebut=((parseInt((y0+1)/19))*30) % 60;
	if (minutedebut==0) {
		minutedebut="00";
	}
	heuredebut=parseInt((((y0+1)/19*30)-minutedebut)/60);
	heurefin=heuredebut+Math.max(1,parseInt(((newh+(minutedebut*19/30))/38)));
	minutefin=(parseInt( ((newh+minutedebut*19/30) %38) /19))*30;
	if (minutefin==0) {minutefin="00";};
	creneau=document.getElementById("evenementheure"+lid).innerHTML=heuredebut+":"+minutedebut+"-"+heurefin+":"+minutefin;
	y=y0+h;
	deplacerevenement(idevenement,x0,y0,y);
}
function gethour(y0,y){ 
	h=Math.max(38,(y-y0));
	newh=h-(h%19);
	minutedebut=((parseInt((y0+1)/19))*30) % 60;
	if (minutedebut==0) {
		minutedebut="00";
	}
	heuredebut=parseInt((((y0+1)/19*30)-minutedebut)/60);
	heurefin=heuredebut+Math.max(1,parseInt(((newh+(minutedebut*19/30))/38)));
	minutefin=(parseInt( ((newh+minutedebut*19/30) %38) /19))*30;
	if (minutefin==0) {minutefin="00";};
	return {heuredebut:hd, minutedebut:top, heurefin:hf, minutefin:mf }; 
} 
function initialisation() {
	document.onmousemove = mouseMove;
	document.onmouseup   = mouseUp;
}
