// JavaScript Document
var IE = document.all?true:false;
function eid(element) 
{
	return document.getElementById(element);
}
function jCountDaysBetween (start, end)
{
	start = eid(start).value;
	end = eid(end).value;
	return jDate2Days(end) - jDate2Days(start);	
}

function jDate2Days (date)
{
	var ONE_DAY = 1000 * 60 * 60 * 24;
	
	date = date.split('-');
	var d = date[0];
	var m = parseInt(date[1])-1;
	var y = date[2];
	
	var date = new Date(y, m, d);
	
	date = date.getTime();
	
	return Math.round(date / ONE_DAY);
}
function jCalendarSelectDate(sender, selectedDate, fields)
{
	//alert(selectedDate+" - "+fields);
	eid(fields+"Popup").style.display = "none";
	eid(fields).value = selectedDate ;
	
	if(eid("start_date").value != '' && eid("end_date").value != '')
	{
		var day = 'Day';
		var days = '';
		
		var no = (jCountDaysBetween ("start_date", "end_date")+1);
		
		if(no <= 0 && fields == 'end_date')
		{
			eid("start_date").value = selectedDate;
			eid("noOfDays").innerHTML = "1 Day";
		}
		else if(no <= 0 && fields == 'start_date')
		{
			eid("end_date").value = selectedDate;
			eid("noOfDays").innerHTML = "1 Day";
		}
		else
		{
			eid("noOfDays").innerHTML = no+" "+day+days;
		}
	}
}
function jUpdateCalendar(sender, field, mth, yr)
{
	var info = "action=getCalendarUpdate";
		info += "&yr="+yr;
		info += "&mth="+mth;
		info += "&field="+field;
	
	//alert("+ main menu button\n"+info);
	$.ajax({
	type: "POST",
	url: "/inc/ajax/calendarAjax.php",
	dataType: "html",
	data: info,
	
	success: function(msg)
	{
		eid(field).innerHTML = msg;
	}
	});
}
function jShowCalendar(sender, event)
{
	x=event.clientX;
	y=event.clientY;
	if(sender.id == "start_date")
	{
		if(eid("start_datePopup").style.display == "none")
			eid("start_datePopup").style.display = "block";
		else
			eid("start_datePopup").style.display = "none";
			
		eid(sender.id+"Popup").style.left = x+"px";
		eid(sender.id+"Popup").style.top = y+"px";
		eid("end_datePopup").style.display = "none";
	}
	else if(sender.id == "end_date")
	{
		if(eid("end_datePopup").style.display == "none")
			eid("end_datePopup").style.display = "block";
		else
			eid("end_datePopup").style.display = "none";
			
		eid(sender.id+"Popup").style.left = x+"px";
		eid(sender.id+"Popup").style.top = y+"px";
		eid("start_datePopup").style.display = "none";
	}
}
function jCloseCalendarPopup(sender, field)
{
	eid(field).style.display = "none";
}
function jSelectRepeat(sender, startDate)
{
	if(sender.value != '')
	{
		var info = "action=getRepeatData";
			info += "&type="+sender.value;
			info += "&startDate="+eid("start_date").value;
		
		//alert("+ main menu button\n"+info);
		$.ajax({
		type: "POST",
		url: "/inc/ajax/calendarAjax.php",
		dataType: "html",
		data: info,
		
		success: function(msg)
		{
			eid(sender.id+"Display").style.display = '';
			eid(sender.id+"Display").innerHTML = msg;
		}
		});
	}
	else
	{
		eid(sender.id+"Display").style.display = 'none';
	}
}
function jCalendarValid(sender)
{
	var err = '';
	
	if(eid("postedY").checked == false && eid("postedN").checked == false) err += "You need to selected if you want to show the public\n";
	if(eid("title").value == '') err += "'What' the event is, is missing\n";
	if(eid("start_date").value == '') err += "You must have a 'When' starting date\n";
	if(eid("user_id").value == '') err += "You must select a 'Calendar' user\n";
	
	if(err != '')
	{
		alert("Some items were not filled in\n\n"+err);
		return false;
	}
	else
	{
		return true;
	}
}

function jCalendarDelete(sender, id, url)
{
	var agree=confirm("Are you sure you want to delete this Event?");
	if (agree)
	{	
		location.href=url;
		return true ;
	}
	else
	{
		return false ;
	}
}

function jCalendarUserValid(sender)
{
	var err = '';
	
	if(eid("user").value == '') err += "You must have a user name\n";
	if(eid("colour").value == '') err += "You must pick a colour\n";
	
	if(err != '')
	{
		alert("Some items were not filled in\n\n"+err);
		return false;
	}
	else
	{
		return true;
	}
}
function jShowColourPicker(sender, events)
{
	var event = events;
	x=event.clientX;
	y=event.clientY;
	
	var info = "action=getColourPicker";
		info += "&colour="+sender.value;
		info += "&senderId="+sender.id;
	
	//alert("+ main menu button\n"+info);
	$.ajax({
	type: "POST",
	url: "/inc/ajax/calendarAjax.php",
	dataType: "html",
	data: info,
	
	success: function(msg)
	{
		eid(sender.id+"Popup").style.left = x+"px";
		eid(sender.id+"Popup").style.top = y+"px";
		eid(sender.id+"Popup").style.display = '';
		eid(sender.id+"Popup").innerHTML = msg;
	}
	});
}
function jSelectedColour(sender, colour, senderId)
{
	//alert(colour+" | "+senderId);
	//return false;
	eid(senderId+"Popup").style.display = 'none';
	eid(senderId).value = colour;
	eid(senderId).style.backgroundColor = "#"+colour;
}
function jClosePopup(sender)
{
	//alert(sender.id.substr(5));
	eid(sender.id.substr(5)).style.display = "none";
}
function jDisplayCalendarEvent(sender, events)
{
	
	if (IE) { // grab the x-y pos.s if browser is IE
	//alert("IE");
	//alert(document.documentElement.scrollTop);
	x = event.clientX + document.documentElement.scrollLeft;
	y = event.clientY + document.documentElement.scrollTop;
	}
	else {  // grab the x-y pos.s if browser is NS
	x = events.pageX;
	y = events.pageY;
	}  
	x = x-20;
	y = y-5;
	
	eid("displayCalendarEvent"+sender.id).style.left = x+"px";
	eid("displayCalendarEvent"+sender.id).style.top = y+"px";
	eid("displayCalendarEvent"+sender.id).style.display = '';
}
function jCloseCalendarEvent(sender)
{
	
	var bits = sender.id.split('-');
	eid("displayCalendarEvent"+bits[1]).style.left = "";
	eid("displayCalendarEvent"+bits[1]).style.top = "";
	eid("displayCalendarEvent"+bits[1]).style.display = 'none';
}
