// Initialisation du div calendrier
document.write("<div id='BT_CALENDAR' style='margin:0px;padding:1px;position:absolute;top:100;left:100;visibility:hidden;background-color:#ffffff;opacity:100;border:0px solid #000000;'></div>");
var url_calendar="../../commun/prg/calendar.aspx"
var Calendar_curX;
var Calendar_curY;
var obj_date_dest=null;
var frm_src=0;
// position curseur d'appel 
function SetCallCalendarPosCurseur(e){
	//ie
	if(document.all){Calendar_curX = event.clientX;Calendar_curY = event.clientY;}	
	//netscape 4
	if(document.layers){Calendar_curX = e.pageX;Calendar_curY = e.pageY;}	
	//mozilla
	if(document.getElementById){Calendar_curX = e.clientX;Calendar_curY = e.clientY;}
}

// cache le calendrier
function HideCalendar(){
	var obj=document.getElementById("BT_CALENDAR");
	obj.style.visibility='hidden';		
}

// get position left main contents
function GetLeftSizePage(){	
	var X=0;
	try{					
		X=document.documentElement.scrollLeft;			
		if(X==0){X=document.body.scrollLeft;}	
	}
	catch (e){}
	return X;	
}

// get position top main contents
function GetTopSizePage(){	
	var Y=0;
	try{						 
		Y=document.documentElement.scrollTop;			
		if(Y==0){Y=document.body.scrollTop;}			
	}
	catch (e){Y=200}
	return Y;	
}


// set position calendrier
function SetCalendarPos() {	
	var obj=document.getElementById("BT_CALENDAR");
	var height=obj.offsetHeight;//hauteur de l'élément à positionner
	var width=obj.offsetWidth;//largeur de l'élément à positionner	
	var posY=Calendar_curY; //-(height+10);
	var posX=Calendar_curX;
	
	// select case source appel selon frm_src
	switch (frm_src)
	{
		case 0:			
			// formulaire client depuis admin
			posY=posY+GetTopSizePage();			
			break;			
		case 1:			
			// formulaire dogsitter depuis admin
			posX=Calendar_curX-160;
			posY=posY+GetTopSizePage();
			break;
		
		case 10:		
			// formulaire client depuis site public				
			posX=(Calendar_curX/2)+20;
			posY=(Calendar_curY/2)-30;
			posY=posY+GetTopSizePage()/2;
			break;
		
		case 20:		
			var supX=0;
			if(document.all){supX=125;}else{supX=165;}			
			// formulaire dogsitter depuis site public	
			posX=(Calendar_curX/2)+supX;
			posX=posX+GetLeftSizePage() - 50;			
			posY=(Calendar_curY/2)-20;		
			posY=posY+GetTopSizePage()/2 + 60;			 			 
			break;
			
		default:break;
	}	
		
	obj.style.top=posY+"px";
	obj.style.left=posX+"px";	
	obj.style.zIndex = 100;
}
// affichage infos dynamique
function showCalendar(pg_dst)
{			
	var xhr_object = null; 	
	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 renvoie false pour ouvrir une fenetre	   	
	   	alert("Non supporte"); 
	} 	
 	try	
		{						
			var obj=document.getElementById("BT_CALENDAR");
			obj.innerHTML="";			
			xhr_object.open("GET", pg_dst , true);  
			xhr_object.onreadystatechange = function() { 
		  		if(xhr_object.readyState == 4) {	
		  			if(xhr_object.status==200){
		  				obj.innerHTML=xhr_object.responseText;
		  				SetCalendarPos();
		  				obj.style.visibility='visible';		  					  				
		  			}
		  			else{
		  				// affichage si page trouvee
		  				alert("Service non disponible.");		  				
		  			}		  			 
		  		} 
			} 
			xhr_object.send(null);			
		}
	catch (e){alert("Erreur");}	
}

function CallCalendar(da_dst,e)
{
	var obj_id;
	var c_date="";	
	obj_id = document.getElementById(da_dst);
	if(!obj_id){
		for (i=0; i<document.forms[0].elements.length; i++) {
			obj_id = document.forms[0].elements[i].id;
			//obj_id=obj_id.substring(obj_id.indexOf("_",0)+1);
			obj_id=obj_id.substring(obj_id.lastIndexOf("_")+1);
			if (obj_id==da_dst){
				obj_dest=document.getElementById(document.forms[0].elements[i].id);
				c_date = obj_dest.value;
				i=document.forms[0].elements.length;
			}
		}
	}
	else{obj_dest=obj_id;c_date = obj_dest.value;}
	//url_calendar="../../commun/prg/calendar.aspx"
	var pg = url_calendar + "?d="+c_date+"&t=0";
	SetCallCalendarPosCurseur(e);	
	showCalendar(pg);	
}
// call calendar 
function CallCalendar(da_dst,e,Src)
{
	var obj_id;
	var c_date="";	
	frm_src=Src;
	//var infos;
	//infos = da_dst;
	for (i=0; i<document.forms[0].elements.length; i++) {
		obj_id = document.forms[0].elements[i].id;
		//infos = infos + "\n" + obj_id;
		//obj_id=obj_id.substring(obj_id.indexOf("_",0)+1);
		if (obj_id==da_dst){
			obj_date_dest=document.getElementById(document.forms[0].elements[i].id);
			c_date = obj_date_dest.value;
			i=document.forms[0].elements.length;
		}
	}
	//alert(infos);
	var pg = url_calendar + "?src="+frm_src+"&d="+c_date+"&t=0";
	SetCallCalendarPosCurseur(e);
	//alert(Calendar_curX + " " + Calendar_curY);	
	showCalendar(pg);	
}

// Change date 
function ChangeDate(T,SD)
{							
	if (T==0){
		if (obj_date_dest!=null){obj_date_dest.value=SD;}
		HideCalendar();
	}
	else{
		var pg = url_calendar + "?src="+frm_src+"&d="+SD+"&t="+T;
		showCalendar(pg);	
	}
}

// Change mois 
function ChangeMonth(V)
{							
	if (V==0){		
		HideCalendar();
	}
	else{
		if (obj_date_dest!=null){SD=obj_date_dest.value;}		
		var pg = url_calendar + "?src="+frm_src+"&d="+SD+"&t=1&m="+V+"&y="+document.forms[0].sel_year.value;					
		showCalendar(pg);
		
	}
}

// Change annee 
function ChangeYear(V)
{							
	if (V==0){		
		HideCalendar();
	}
	else{
		if (obj_date_dest!=null){SD=obj_date_dest.value;}
		var pg = url_calendar + "?src="+frm_src+"&d="+SD+"&t=2&m="+document.forms[0].sel_month.value+"&y="+V;		
		showCalendar(pg);	
	}
}