function __xmlhttp_request()
{
	var oXMLHttp = null;
	
	try
	{
		oXMLHttp = new XMLHttpRequest();	
	}
	catch(e)
	{
		var aHttpVersions = new Array
		(
		 	"MSXML2.XMLHTTP.6.0",
			"MSXML2.XMLHTTP.5.0",
			"MSXML2.XMLHTTP.4.0",
			"MSXML2.XMLHTTP.3.0",
			"MSXML2.XMLHTTP",
			"Microsoft.XMLHTTP"
		);
		
		for(i=0 ; i<aHttpVersions.length ; i++)
		{
			try
			{
				oXMLHttp = new ActiveXObject(aHttpVersions[i]);	
			}
			catch(e) 
			{
				//
			}
		}
	}
	
	if(oXMLHttp != null)
	{
		return oXMLHttp;	
	}
	else
	{
		return false;
	}
}

function __remove_select_options(name,form)
{
	var oForm = document.forms[form];
	if(oForm)
	{
		for(i=oForm[name].options.length ; i>=0 ; i--)
		{
			oForm[name].options[i] = null;	
		}
	}
}

function __handle_community_program(data)
{
	var oForm = document.forms['eventFormPrograms'];
	if(oForm)
	{
		if(parseInt(data) > 0)
		{
			__toggle_buttons('disable','eventFormPrograms');
			oForm['category'].disabled = true;	
			
			jQuery.ajax
			(
				{
					type: 		"POST",
					url: 		"rpc.php?mode=list&xml=true",
					data: 		"mode=list&data=" + data,
					dataType:	"xml",
					
					success: function(xml)
					{	
					
						__toggle_buttons('enable','eventFormPrograms');
						__remove_select_options('category','eventFormPrograms');
							
						if(jQuery(xml).find('category').size() > 0)
						{	
					
							oForm['category'].disabled = false;
							oForm['category'].options[oForm['category'].options.length] = new Option('',0);
						
							jQuery(document.getElementById('row')).show();
						
							jQuery(xml).find('category').each
							(
								function()
								{
									oForm['category'].options[oForm['category'].options.length] = new Option(jQuery(this).text(),jQuery(this).attr('id'));
								}
							);
						}
						else
						{
					
							oForm['category'].disabled = true;
							jQuery(document.getElementById('row')).hide();
						}
					}
				}
			);
		}
		else
		{
			__remove_select_options('category','eventFormPrograms');
			jQuery(document.getElementById('row')).hide();
		}
	}
}

function __toggle_buttons(value,form)
{
	var oForm = document.forms[form];
	
	if(oForm)
	{
		for(i=0 ; i<oForm.elements.length ; i++)
		{
			if(oForm.elements[i].type == 'button' || oForm.elements[i].type == 'reset' || oForm.elements[i].type == 'submit')
			{
				oForm.elements[i].disabled = (value == 'disable' ? true : false);	
			}
		}
	}
}

function __search_events()
{
	var oForm = document.forms['eventForm'];
	var entities = new Array('month','day','year','emonth','eday','eyear');
	
	if(oForm)
	{
		data =  'mode=validate';
		data += '&';
		data += 'start=';
		data += '' + oForm['month'].options[oForm['month'].options.selectedIndex].value;
		data += '/';
		data += '' + oForm['day'].options[oForm['day'].options.selectedIndex].value;
		data += '/';
		data += '' + oForm['year'].options[oForm['year'].options.selectedIndex].value;
		data += '&';
		data += 'end=';
		data += '' + oForm['emonth'].options[oForm['emonth'].options.selectedIndex].value;
		data += '/';
		data += '' + oForm['eday'].options[oForm['eday'].options.selectedIndex].value;
		data += '/';
		data += '' + oForm['eyear'].options[oForm['eyear'].options.selectedIndex].value;
		
		jQuery.ajax
		(
			{
				type: 		"POST",
				url: 		"rpc.php?mode=validate&xml=true",
				data: 		"" + data,
				dataType:	"xml",
				
				success: function(xml)
				{
					start = jQuery(xml).find('start').text();
					end = jQuery(xml).find('end').text();
					
					if(start.toLowerCase() != "null")
					{
						oForm['start'].value = start;	
					}
					
					if(end.toLowerCase() != "null")
					{
						oForm['end'].value = end;	
					}
					
					for(i=0 ; i<entities.length ; i++)
					{
						if(oForm[entities[i]])
						{
							oForm[entities[i]].disabled = true;	
						}
					}
					
					__toggle_buttons('disable','eventForm');
					
					oForm.method = 'get';
					oForm.action = 'events-search.php';
					
					oForm.submit();
				}
			}
		);
	}
}

function __search_programs()
{
	var oForm = document.forms['eventFormPrograms'];
	
	if(oForm)
	{
		if(oForm['program'].value != 0)
		{
			oForm.submit();
		}
		else
		{
			alert('Please select a program !');
		}
	}
}

function __display_date_picker(form)
{
	var oForm = document.forms[form];
	
	var height = 0;
	var width = 0;
	
	if(oForm)
	{
		__toggle_buttons('disable','eventForm');
		
		jQuery.ajax
		(
			{
				type: 		"POST",
				url: 		"rpc.php?mode=calendar",
				data: 		"mode=calendar&start=" + oForm['start'].value,
				dataType:	"html",
				
				success: function(data)
				{
					__toggle_buttons('enable','eventForm');
					
					jQuery(document.getElementById('popup')).empty();
					jQuery(document.getElementById('popup')).prepend(data);
					
					if(jQuery.browser.mozilla == true)
					{
						height = jQuery('html').height();
					}
					else
					{
						height = jQuery(window).height();
					}
					
					width = jQuery(window).width();
					
					jQuery(document.getElementById('popup')).css('left',((width-238)/2));
					jQuery(document.getElementById('popup')).css('top',195);
					
					jQuery(document.getElementById('overlay')).show();
					jQuery(document.getElementById('overlay')).height(height);
					
					jQuery(document.getElementById('popup')).show();
				}
			}
		);
	}
}

function __hide_date_picker()
{
	$(document.getElementById('overlay')).hide();
	$(document.getElementById('popup')).hide();
}

function __set_date(month,day,year)
{
	var oForm = document.forms['calendarForm'];
	var oFormTarget = document.forms['eventForm'];
	
	if(oForm && oFormTarget)
	{
		var target = null;
		
		for(i=0 ; i<oForm.elements.length ; i++)
		{
			if(oForm.elements[i].name == 'target' && oForm.elements[i].checked == true)
			{
				target = oForm.elements[i].value;
				
				break;
			}
		}
		
		if(target != null)
		{
			target = (target == 'e' ? 'e' : '');
			
			//month
			
			for(i=0 ; i<oFormTarget[target + 'month'].options.length ; i++)
			{
				if(oFormTarget[target + 'month'].options[i].value == month)
				{
					oFormTarget[target + 'month'].options[i].selected = true;
					
					break;
				}
			}
			
			//day
				
			for(i=0 ; i<oFormTarget[target + 'day'].options.length ; i++)
			{
				if(oFormTarget[target + 'day'].options[i].value == day)
				{
					oFormTarget[target + 'day'].options[i].selected = true;
					
					break;
				}
			}
			
			//year
				
			for(i=0 ; i<oFormTarget[target + 'year'].options.length ; i++)
			{
				if(oFormTarget[target + 'year'].options[i].value == year)
				{
					oFormTarget[target + 'year'].options[i].selected = true;
					
					break;
				}
			}			
		}
	}
}

function __get_date(month,year)
{
	var oForm = document.forms['calendarForm'];
	
	if(oForm)
	{	
		var target = 's';
		
		for(i=0 ; i<oForm.elements.length ; i++)
		{
			if(oForm.elements[i].name == 'target' && oForm.elements[i].checked == true)
			{
				target = oForm.elements[i].value;
				
				break;
			}
		}
	
		jQuery(document.getElementById('popup')).hide();
		
		if(month > 12)
		{
			month = 1;
			year++;
		}
		else if(month < 1)
		{
			month = 12;
			year--;
		}
		
		__toggle_buttons('disable','eventForm');
		
		jQuery.ajax
		(
			{
				type: 		"POST",
				url: 		"rpc.php?mode=calendar",
				data: 		"mode=calendar&start=" + month + "/01/" + year + '&target=' + target,
				dataType:	"html",
				
				success: function(data)
				{
					__toggle_buttons('enable','eventForm');
					
					jQuery(document.getElementById('popup')).empty();
					jQuery(document.getElementById('popup')).prepend(data);
					jQuery(document.getElementById('popup')).show();
				}
			}
		);
	}
}