$(document).ready(function() {		
	$("#table_reservation td").hover(
	  function () {
		$('td:first', $(this).parents('tr')).addClass("red");

	  },
	  function () {
		$('td:first', $(this).parents('tr')).removeClass("red");
	  }
	);
	
	$.fn.qtip.styles.mystyle = { // Last part is the name of the style
	   width: 190,
	   background: '#eeeeee',
	   color: 'black',
	   textAlign: 'left',
	   border: {
		  width: 7,
		  radius: 5,
		  color: '#1f7fa8'
	   },
	   tip: 'leftMiddle',
	   name: 'dark' // Inherit the rest of the attributes from the preset dark style
	}
	
	$('#resEnCours').dataTable( {
		"aaSorting": [[ 1, "asc" ],[ 2, "asc" ]],
		} );
});

function demo(nom)
{
	$(function() 
	{
		$('#user').qtip(
		   {
			   show: { ready: true },
			  content: nom, // Give it some content, in this case a simple string
			  style: { 
				  name: 'mystyle'
			  },
			   position: {
				  corner: {
					 target: 'rightMiddle',
					 tooltip: 'leftMiddle'
				  }
			   }
		 });
	}); 
}
                                               
function openShadowbox(numero){
	
	var attribut = $(this).attr("id").split("_");
	
	content = 'formulaire_reservation.php?terrain=' + attribut[0] +'&heure=' + attribut[1];
	
	if(numero['data'] > 0)
		content = 'modifier_reservation.php?terrain=' + attribut[0] +'&heure=' + attribut[1] +'&numero='+numero['data'];
	
	Shadowbox.init();
	Shadowbox.open({
                player:     'iframe',
                animate:    true,
                content:    content,
                height:     350,
                width:      460  
    }); 
}

idCase = 0;
                                               
function openShadowbox2(nbre){
	
	$(this).css('cursor', 'wait');
	
	var attribut = $(this).attr("id").split("_");
	idCase = $(this).attr("id");
	nb = nbre['data'];
	
	n = nb.toString().split(',');
	
	content = 'formulaire_reservation_ok.php?terrain=' + attribut[0] +'&heure=' + attribut[1] +'&nbrePersonne='+n[0]+'_'+n[2]+'&personne2='+n[1];
	
	var jqxhr = $.ajax({ url: content, success: okReservation})
    	.error(function(data,data2, data3) { alert("error " + data2+"-"	+ data +"--" + data3); });
}

function okReservation(data){
	window.location.reload();
	$("#"+idCase).css('cursor', 'default');
}

function manageClic(terrain, periode, heureO, datePHP, invite, nbre){
	$(function() 
	{
		if(invite == 0)
			$('td').not('thead td, td:first-child, .noReservation, .men').click(0, openShadowbox).addClass('cursor');
		else if(invite == -1)
			$('td').not('thead td, td:first-child, .noReservation, .men').click(Array(nbre,invite, 1), openShadowbox2).addClass('cursor');
		else
			$('td').not('thead td, td:first-child, .noReservation, .men').click(Array(nbre,invite, 2), openShadowbox2).addClass('cursor');
		
		var today = new Date();
		
		date = datePHP.split(',');
		
		var dateReservation = new Date(date[0],date[1],date[2]);
		
		dateReservation.setHours(0,0,0,0);
		
		//
		//A RAJOUTER 3600000 pour la version WEB
		//
		dateReservation.setTime(dateReservation.getTime() + heureO *1000);	
		
		if(today.toDateString() == dateReservation.toDateString())
		{
			per = 3600;
			
			for(dateReservation; dateReservation.getTime() < today.getTime(); dateReservation.setTime(dateReservation.getTime() + per * 1000))
			{
				heure = dateReservation.getHours() * 3600 + dateReservation.getMinutes() * 60;
				for(var p in periode)
				{
					if(periode[p]['debut'] <= heure && periode[p]['fin'] >= heure)
						per = periode[p]['temps'];
				}
				hour = dateReservation.getHours() < 10 ? '0' + dateReservation.getHours() : dateReservation.getHours();
				minute = dateReservation.getMinutes() < 10 ? '0' + dateReservation.getMinutes() : dateReservation.getMinutes();
				for (var i in terrain)
				{
					$('#'+terrain[i]+'_'+hour+''+minute).removeClass('cursor').unbind('click');	
				}
			}
		}
	});
}

function manageRestriction(terrain, restriction, periode, possibilite){
	$(function() 
	{
		var todayDebut = new Date();
		var todayFin = new Date();
				
		for(var r in restriction)
		{
			todayDebut.setHours(0,0,0,0);
			
			heure = restriction[r]['heureDebutLimitation'];
			for(var p in periode)
			{
				if(periode[p]['debut'] <= heure && periode[p]['fin'] >= heure)
					per = periode[p]['temps'];
			}
			
			todayDebut.setTime(todayDebut.getTime() + (restriction[r]['heureDebutLimitation'] - (possibilite['nbrePeriode']-1) * per) * 1000);
			
			todayFin.setHours(0,0,0,0);
			todayFin.setTime(todayFin.getTime() + restriction[r]['heureFinLimitation'] * 1000);
			
			for(todayDebut; todayDebut.getTime() < todayFin.getTime(); todayDebut.setTime(todayDebut.getTime() + per * 1000))
			{
				hour = todayDebut.getHours() < 10 ? '0' + todayDebut.getHours() : todayDebut.getHours();
				minute = todayDebut.getMinutes() < 10 ? '0' + todayDebut.getMinutes() : todayDebut.getMinutes();

				heure = todayDebut.getHours() * 3600 + todayDebut.getMinutes() * 60;
				for(var p in periode)
				{
					if(periode[p]['debut'] <= heure && periode[p]['fin'] >= heure)
						per = periode[p]['temps'];
				}
				
				for (var i in terrain)
				{
					$('#'+terrain[i]+'_'+hour+''+minute).removeClass('cursor').unbind('click');	
				}
			}
		}
	});
}


function manageFermetureTerrain(terrain, periode, possibilite ){
	$(function() 
	{
		var todayDebut = new Date();
				
		for(var r in terrain)
		{
			todayDebut.setHours(terrain[r].substr(11,2),terrain[r].substr(14,2),0,0);
			
			heure = todayDebut.getHours() * 3600 + todayDebut.getMinutes() * 60;
			for(var p in periode)
			{
				if(periode[p]['debut'] <= heure && periode[p]['fin'] >= heure)
					per = periode[p]['temps'];
			}
			
			for(i = 1; i < possibilite['nbrePeriode']; i ++ )
			{
				todayDebut.setTime(todayDebut.getTime() - per * 1000);
			
				hour = todayDebut.getHours() < 10 ? '0' + todayDebut.getHours() : todayDebut.getHours();
				minute = todayDebut.getMinutes() < 10 ? '0' + todayDebut.getMinutes() : todayDebut.getMinutes();
				
				$('#'+r+'_'+hour+''+minute).removeClass('cursor').unbind('click');	
				
			}
		}
	});
}

function manageCouleur(reservation){
	$(function() 
	{		
		for(var r in reservation)
		{
			$('#'+reservation[r]['terrain']+'_'+reservation[r]['heure']).removeClass('cursor').unbind('click').css('background-color', reservation[r]['couleur']);
		}
	});
}

function manageTexte(reservation, personne, recurrence)
{
	$(function() 
	{
		for (var r in reservation)
		{
			var nom = '';
		
			if(recurrence[reservation[r]['num']] != null && is_array(reservation[r]))
			{
				nom = recurrence[reservation[r]['num']];	
			}
			else
			{
				for(var p in personne[reservation[r]['num']])
				{
					if(is_array(personne[reservation[r]['num']][p]))
					{
						txt = '<center>';
						
						//if(personne[reservation[r]['num']][p]['image'] != '')
							//txt = '<center><br/><img src="image_site/membre/'+personne[reservation[r]['num']][p]['image']+'" width ="150" /><br/>';
						
						nom += txt+""+personne[reservation[r]['num']][p]['nom']+"<br/>";
					}
				}
				nom +="</center>";
			}
			
			$('#'+reservation[r]['terrain']+'_'+reservation[r]['heure']).qtip(
			   {
				  content: nom, // Give it some content, in this case a simple string
				  style: { 
					  name: 'mystyle'
				  },
				   position: {
					  corner: {
						 target: 'rightMiddle',
						 tooltip: 'leftMiddle'
					  }
				   }
			 });	
		}
	});
}

function manageSimSuite(terrain, reservation, personne, recurrence, possibilite, typereservation, user, periode, dateReserv, periodeSup){
	$(function() 
	{	
		array = new Array();
		array.push('undefined');
		reservation2 = new Array();
		date = new Date();	
		total = 0;
		
		for(var r in reservation)
		{
			total++;
			
			isExistant = false;
			
			$('#'+reservation[r]['terrain']+'_'+reservation[r]['heure']).unbind('click').removeClass('cursor');	
			
			if(array_search(reservation[r]['num'], array) < 0 && is_array(reservation[r]))
			{
				isExistant = true;
				
				date.setHours(reservation[r]['heure'].substr(0,2), reservation[r]['heure'].substr(2,2),0,0);
				
				heure = date.getHours() * 3600 + date.getMinutes() * 60;
				for(var p in periode)
				{
					if(periode[p]['debut'] <= heure && periode[p]['fin'] >= heure)
						per = periode[p]['temps'];
				}
				
				for( i = 1; i < possibilite['nbrePeriode']; i++)
				{
					date.setTime(date.getTime() - per * 1000);
					hour = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
					minute = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
					$('#'+reservation[r]['terrain']+'_'+hour+''+minute).removeClass('cursor').unbind('click');
				}	
				
				array.push(reservation[r]['num']);
			}
			
			reservation2 = reservation[r];
			
			if(personne[reservation[r]['num']])
			{
				per = personne[reservation[r]['num']];
				per2 = personne[reservation2['num']];
				nom = '';
				isUser = false;
				isUser2 = false;
				
				for(var p in per )
				{
					nom += per[p]['nom']+"<br/>";
					
					if(user == per[p]['user'])
						isUser = true;
				}
				
				for(var p in per2 )
				{
					if(user == per2[p]['user'])
						isUser2 = true;
				}
				   
				if(typereservation['reservationSimultaneeAutorisee'] == 'false')
				{
					date.setHours(reservation[r]['heure'].substr(0,2), reservation[r]['heure'].substr(2,2),0,0);	
					j = 0;
						
					do
					{
						hour = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
						minute = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
						
						heure = date.getHours() * 3600 + date.getMinutes() * 60;
						for(var p in periode)
						{
							if(periode[p]['debut'] <= heure && periode[p]['fin'] >= heure)
								per = periode[p]['temps'];
						}
						
						date.setTime(date.getTime() - per * 1000);

						if(isExistant)
						{
							if(!isUser)
								$('#'+reservation[r]['terrain']+'_'+hour+''+minute).removeClass('cursor').unbind('click');
						}
						
						if(isUser)
						{
							for (var i in terrain)
							{										
								$('#'+terrain[i]+'_'+reservation[r]['heure']).removeClass('cursor').unbind('click');
							}	
						}
						j++;
					}while(j < possibilite['nbrePeriode']);
				}
				
				if(typereservation['reservationSuiteAutorise'] == 'false')
				{
					if(isExistant && isUser2)
					{
						date.setHours(reservation2['heure'].substr(0,2), reservation2['heure'].substr(2,2),0,0);
						a=0;
						do
						{
							heure = date.getHours() * 3600 + date.getMinutes() * 60 - 1;
							for(var p in periode)
							{
								if(periode[p]['debut'] <= heure && periode[p]['fin'] >= heure)
									per = periode[p]['temps'];
							}
							
							date.setTime(date.getTime() - per  * 1000);
							a++;
						}while (a <= (possibilite['nbrePeriode'] * 2) - 1);
												
						for( j = 1; j <= (possibilite['nbrePeriode'] * 4) - 1; j++)
						{
							if( j== (possibilite['nbrePeriode'] * 3) - 1)
							{
								j = (possibilite['nbrePeriode'] * 4) - 1;
								date.setTime(date.getTime() + per * 1000);
							}
							
							heure = date.getHours() * 3600 + date.getMinutes() * 60;
							for(var p in periode)
							{
								if(periode[p]['debut'] <= heure && periode[p]['fin'] >= heure)
									per = periode[p]['temps'];
							}
							
							date.setTime(date.getTime() + per * 1000);
							hour = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
							minute = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
							
							for (var i in terrain)
							{										
								$('#'+terrain[i]+'_'+hour+''+minute).removeClass('cursor').unbind('click');
							}
						}
					}
				}
				
				if(isUser)
				{	
					now = new Date();
					now.setTime(periodeSup * 1000);
					
					reserv = new Date();
					reserv.setFullYear(dateReserv.substr(0,4),dateReserv.substr(4,2) - 1,dateReserv.substr(6,2));
					reserv.setHours(reservation[r]['heure'].substr(0,2), reservation[r]['heure'].substr(2,2),0,0);
					
					if(reserv.getTime() > now.getTime())
						$('#'+reservation[r]['terrain']+'_'+reservation[r]['heure']).click(numero = reservation[r]['num'], openShadowbox).addClass('cursor');	
			   }
			}
		}	
	});
}


function array_search(what, where){
	var index_du_tableau=-1
 
	for(elt in where){index_du_tableau++;
			 if (where[elt]==what){return index_du_tableau}
						 }
	index_du_tableau=-1;
	return index_du_tableau;
}

  function is_array(input){
    return typeof(input)=='object';
  }

function affiche(str)
{
	Shadowbox.init();
	Shadowbox.open({
				player:     'iframe',
				animate:    true,
				content:    "admin/valider_res_rfid.php?carte="+str,
				height:     350,
				width:      460 
	});
}

