// JavaScript Document
function ShowEventFeatured(IndexToShow,LastIndex)
	{var Counter=0; 
	for (Counter=1; Counter<=LastIndex; Counter++)
		{document.getElementById('FeaturedItem_'+Counter).className='IsHidden';
		document.getElementById('FeaturedListItem_'+Counter).className='';}
	document.getElementById('FeaturedItem_'+IndexToShow).className='IsShown';
	document.getElementById('FeaturedListItem_'+IndexToShow).className='IsActiveBlock';}
function Events_SetResultSorting(KindOfSort)
	{document.getElementById('EventsResultListSorting').value=KindOfSort;
	document.getElementById('EventsResultListPage').value=1;
	Events_GetEventsResultList();}
function Events_SetEventsResultPaging(PageNumber)
	{document.getElementById('EventsResultListPage').value=PageNumber;
	window.location.hash="TopOfEvents";
	
	Events_GetEventsResultList();}
function Events_GetEventsResultList()
	{doEventsAjaxSearch();}
/* EVENT CALENDAR RELATED */


window.addEvent('domready', function() {
	var CE = new CalendarEightysix('EventsCalendarPicker', 
		{slideDuration:500,
		fadeDuration:200,
		toggleDuration:200,
		defaultDate:DateInEventCalendar,
		slideTransition:Fx.Transitions.Back.easeOut,
		prefill:true,
		defaultView:'month',
		startMonday:true,
		alwaysShow:true,
		injectInsideTarget:true,
		format:'%d/%m/%Y',
		draggable:false,
		pickable:true,
		disallowUserInput:true,
		excludedWeekdays:null,
		createHiddenInput:false});
		CE.addEvent('rendermonth', function(JavaScriptDateObject) { 
			//alert('do ajax');
			//var myFx = new Fx.Slide('EventsListContentSection_ResultsList').slideOut();
			doEventsAjaxSearch();
		});
		CE.addEvent('change', function EventsCalendarJump(JavaScriptDateObject){
			var SelectedDay=SetFixedFigures(JavaScriptDateObject.get('date'),2);
			var SelectedMonth=SetFixedFigures(JavaScriptDateObject.get('month')+1,2);
			var SelectedYear=SetFixedFigures(JavaScriptDateObject.get('year'),4);
			
			document.getElementById('EventRange_StartDate').value=SelectedDay+'/'+SelectedMonth+'/'+SelectedYear;
			document.getElementById('EventRange_EndDate').value=SelectedDay+'/'+SelectedMonth+'/'+SelectedYear;
			if (document.getElementById('EventsResultListPage')){
				document.getElementById('EventsResultListPage').value=1;
			}
			if (document.getElementById('EventsResultListForm')){
				document.getElementById('EventsResultListForm').submit();
			} else {
				if (document.getElementById('EventRange_Form')){
					document.getElementById('EventRange_Form').submit();
				}
			}
		});
	});

function doEventsAjaxSearch(){
	if ($('EventsListContentSection_InternalWrapper')){
		var myfx = new Fx.Slide('EventsLoadingAjax').slideIn();
		$('EventsListContentSection_InternalWrapper').fade('out');
		if (window.XMLHttpRequest) {              
			AJAX=new XMLHttpRequest();              
		} else {                                  
			AJAX=new ActiveXObject("Microsoft.XMLHTTP");
		}
		if (AJAX) {
			var params = "Language=" + document.getElementById('Language').value+"&Ajax=true&EventRange_StartDate=" + document.getElementById('EventRange_StartDate').value+"&EventRange_EndDate=" + document.getElementById('EventRange_EndDate').value + "&EventsResultListSorting=" + document.getElementById('EventsResultListSorting').value+"&EventsResultListPage=" + document.getElementById('EventsResultListPage').value;
			AJAX.open("POST", "/Requests/Ajax.EventListings.cfm?uid="+Math.random(), true); 
			AJAX.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			AJAX.onreadystatechange = function() {//Call a function when the state changes.
				if(AJAX.readyState == 4 && AJAX.status == 200) {
					var myfx = new Fx.Slide('EventsLoadingAjax').slideOut();
					document.getElementById("EventsListContentSection_InternalWrapper").innerHTML = AJAX.responseText;
					$('EventsListContentSection_InternalWrapper').fade('in');
				}
			}
			AJAX.send(params);
		}                                             
	}
}

function SafeNameParsing(InputString,ErrorString)
	{
		var OriginalInput = InputString;
		var OutputString = InputString;
		var BadCharList = '';
		var BadCharArray = new Array();
		BadCharArray[0] = ",";
		BadCharArray[1] = ".";
		BadCharArray[2] = "&";
		BadCharArray[3] = "\\";
		BadCharArray[4] = "*";
		BadCharArray[5] = ":";
		BadCharArray[6] = "/";
		BadCharArray[7] = "¿";
		BadCharArray[8] = "?";
		BadCharArray[9] = "¡";
		BadCharArray[10] = "!";
		BadCharArray[11] = "<";
		BadCharArray[12] = ">";
		
		// Check codes here http://www.unicode.org/charts/PDF/U0080.pdf
		for (i=0;i<BadCharArray.length;i++)
		{
			OutputString = OutputString.replace(BadCharArray[i],'');
			switch(i)
			{
			case 7:
			  BadCharList = BadCharList + '\u00BF';
			  break;
			case 9:
			  BadCharList = BadCharList + '\u00A1';
			  break;
			default:
			  BadCharList = BadCharList + BadCharArray[i];
			}
		}
		
		if(OriginalInput != OutputString)
		{alert(ErrorString + ' [' + BadCharList + ']');}
		
		return OutputString;
	}