function disableEnterKey(e)
{
	var key;      
	if(window.event)
		key = window.event.keyCode; //IE
	else
		key = e.which; //firefox      

	return (key != 13);
}
function createNewLocation() {

	var searchrow	= $('search_row');
	var add_row_div	= $('add_row_banner');
	var add_row	= $('add_row');
	var fields	= {
			0:	$('loc_name'),
			1:	$('loc_address_1'),
			2:	$('loc_address_2'),
			3:	$('loc_suite'),
			4:	$('loc_city'),
			5:	$('loc_state'),
			6:	$('loc_zip'),
			7:	$('loc_phone'),
			8:	$('loc_email'),
			9:	$('loc_url')
			};

	add_row_div.innerHTML	= 'Please Enter the details for your new location.';
	add_row.style.display	= 'block';
	searchrow.style.display	= 'none';
	for(var x in fields) {
		fields[x].disabled	= '';
		fields[x].value		= '';
	}
}
function autoCompleteCallback( trans ) {

	var params	= {
			location:	trans.innerHTML
			};
	var a = new Ajax.Request('/events_ajax_loc_details.html',
			{
			method:		'post',
			parameters:	params,
			onSuccess: function( transport ) {
				var response	= transport.responseText;
				var params	= response.split("\n");
				var add_row	= $('add_row');
				var data,box;

				add_row.style.display	= 'block';
				for(var x=0;x<=params.length;x++)
				{
					data		= params[x].split("|");
					box		= $('loc_' + data[0]);
					if(box === null) {
						continue;
					}
					if(data[0] == 'name') {
						$('where').value = data[1];
					}
					box.value	= data[1];
					box.disabled	= 'disabled';
				}
				}
			});
}
function setCalClickHandler() {

	$('calendar_table').onclick = function( event ) {

		//handle IE being dumb
		if(!event) {
			event = window.event;
		}

		//load variables
		var it		= $('itinerary');
		var itin_field	= $('itin_field');
		var month	= this.className;
		var day, cell, classy, tag;

		//determine what cell was clicked on
		cell = event.target;
		//handle IE being dumb
		if(!cell) {
			cell = event.srcElement;
		}

		//get relevant properties
		//discard if this is not the cell we're looking for
		tag	= cell.tagName;
		classy	= cell.className;
		if(!tag.match(/td/i)) {
			return false;
		}
		if(classy.match(/highlight|off|green/)) {
			return false;
		}

		//sanitize day
		day = Number(cell.innerHTML);

		//prevent duplicates
		cell.className = 'highlight';

		//save data
		it.innerHTML += "<li>" + month + " " + day + "</li>";
		itin_field.value += month + " " + day + "|";

		var params	= {
				guid:	$('calendar_guid').value,
				date:	month + " " + day
				};
		new Ajax.Request('/events_ajax_update_schedule.html',
				{
				method:		'post',
				parameters:	params
				});
	}
}
function scheduler( feature ) {
	var params	= {
			feature:	feature,
			event_id:	$('event_id').value,
			selected:	$(feature).value
		};
	var a = new Ajax.Request('/events_ajax_scheduler.html',
			{
			method:		'post',
			parameters:	params,
			onSuccess: function( transport ) {
				var response	= transport.responseText;
				var scheduler	= $('scheduler');
				var content	= scheduler.firstChild;

				content.innerHTML = response;
				scheduler.className = 'on';
				setPrevNext();
				setCalClickHandler();
				}
			});
}
function submitSchedule( feature ) {

	//load variables
	var itin_field		= $('itin_field');
	var feature_value	= $(feature);
	var feature_text	= $(feature + "_text");
	var text		= '';

	text	= itin_field.value.replace(/\|/g,", ");
	if(text.length > 50)
		text	= text.substr(0, 50) + "...";

	feature_value.value	= itin_field.value;
	feature_text.innerHTML	= text;
	cancelSchedule();
}
function cancelSchedule() {
	var scheduler	= $('scheduler');
	var content	= scheduler.firstChild;

	content.innerHTML	= '';
	scheduler.className	= '';
}
function attendEvent( event_id ) {

	var params	= {
			event_id:	event_id,
			attend:		1
			};
	new Ajax.Request('/events_ajax_update_users.html',
			{
			method:		'get',
			parameters:	params,
			onSuccess: function( transport ) {
				var response = transport.responseText;
				var node = $('users_attending');
				node.innerHTML = response;
				}
			});
}
function cancelEvent( event_id ) {

	var params	= {
			event_id:	event_id,
			attend:		0
			};
	new Ajax.Request('/events_ajax_update_users.html',
			{
			method:		'get',
			parameters:	params,
			onSuccess: function( transport ) {
				var response = transport.responseText;
				var node = $('users_attending');
				node.innerHTML = response;
				}
			});
}
function fanLocation( location_id ) {

	var params	= {
			location_id:	location_id,
			fan:		1
			};
	new Ajax.Request('/events_ajax_update_users.html',
			{
			method:		'get',
			parameters:	params,
			onSuccess: function( transport ) {
				var response = transport.responseText;
				var node = $('users_fans');
				node.innerHTML = response;
				}
			});
}
function unfanLocation( location_id ) {

	var params	= {
			location_id:	location_id,
			fan:		0
			};
	new Ajax.Request('/events_ajax_update_users.html',
			{
			method:		'get',
			parameters:	params,
			onSuccess: function( transport ) {
				var response = transport.responseText;
				var node = $('users_fans');
				node.innerHTML = response;
				}
			});
}
function validate( value, element ) {
	var myDays	= $( element );
	var options	= myDays.getElementsByTagName( 'option' );
	var class_str	= '';
	var feb		= 'February';
	var long	= 'February|April|June|September|November';

	for( var x in options )
	{
		if(options[x].className == undefined)
			continue;
		class_str = options[x].className;
		if(class_str == 'nofeb' && feb.match( value ))
		{
			options[x].disabled = 'disabled';
			continue;
		}
		if(class_str == 'long' && long.match( value ))
		{
			options[x].disabled = 'disabled';
			continue;
		}
		options[x].disabled = '';
	}
}
function setMonthValues( me ) {
	var monthly_date	= $('monthly_date');
	var monthly_offset	= $('monthly_offset');
	var monthly_weekday	= $('monthly_weekday');
	var offsets		= new Array('First','Second','Third','Fourth','Last');
	var weekdays		= new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
	var d			= new Date();

	d.setTime(Date.parse( $('sMonth').value + " " + parseInt(me) + ", " + $('sYear').value ));

	monthly_date.innerHTML = parseInt(me);
	monthly_offset.innerHTML = offsets[Math.floor( (parseInt(me)-1)/7)];
	monthly_weekday.innerHTML = weekdays[d.getDay()];
}
function enableRecurs() {
	var recurs = $('recurs');
	var inputs = recurs.getElementsByTagName( 'input' );

	for(var x=0;x<inputs.length;x++)
	{
		inputs[x].onclick = specifyRecurs;
		if(inputs[x].checked)
			inputs[x].onclick();
	}
}
function specifyRecurs() {
	var section = this.value;

	if(section == undefined)
		return false;
	if(section == 0)
	{
		$( 'daily' ).style.display = 'none';
		$( 'weekly' ).style.display = 'none';
		$( 'monthly' ).style.display = 'none';
		$( 'until' ).style.display = 'none';
	}
	if(section == 'daily')
	{
		try {
			$( 'daily' ).style.display = 'table-row';
			$( 'until' ).style.display = 'table-row';
		} catch (err) {
			$( 'daily' ).style.display = 'block';
			$( 'until' ).style.display = 'block';
		}
		$( 'weekly' ).style.display = 'none';
		$( 'monthly' ).style.display = 'none';
	}
	if(section == 'weekly' )
	{
		$( 'daily' ).style.display = 'none';
		try {
			$( 'weekly' ).style.display = 'table-row';
			$( 'until' ).style.display = 'table-row';
		} catch (err) {
			$( 'weekly' ).style.display = 'block';
			$( 'until' ).style.display = 'block';
		}
		$( 'monthly' ).style.display = 'none';
	}
	if(section == 'monthly' )
	{
		$( 'daily' ).style.display = 'none';
		$( 'weekly' ).style.display = 'none';
		try {
			$( 'monthly' ).style.display = 'table-row';
			$( 'until' ).style.display = 'table-row';
		} catch (err) {
			$( 'monthly' ).style.display = 'block';
			$( 'until' ).style.display = 'block';
		}
	}
}
function SUDEffect( element ) {
	new Effect.toggle(element, 'Slide', {duration:1});
}
function BUEffect( element ) {
	new Effect.BlindUp(element, {duration:1});
}
function BDEffect( element ) {
	new Effect.BlindDown(element, {duration:1});
}

function startUpdate( params ) {
	new Ajax.Request('/events_ajax_update_schedule.html',
	{
	method:		'get',
	parameters:	params,
	onSuccess:	function(response) {
				var params = response.request.parameters;
				var key = params.key;
				$('dynamic_' + key).innerHTML = response.responseText;
			},
	onFailure:      function() {
				alert('unknown Ajax error');
			}
	});
}
function sendUpdate( key ) {
	var form = $('form_' + key);
	var params = {
		id:		form.id.value,
		startTime:	form.startTime.value,
		endTime:	form.endTime.value,
		key:		form.key.value
		};
	new Ajax.Request('/events_ajax_update_schedule.html',
	{
	method:		'get',
	parameters:	params,
	onSuccess:	function(response) {
				var params = response.request.parameters;
				var key = params.key;
				var text = response.responseText;
				var textarray;
				var start = '';
				var end = '';

				$('dynamic_' + key).innerHTML = '';
				textarray = text.split('|');
				$('start_' + key).innerHTML = textarray[0];
				$('end_' + key).innerHTML = textarray[1];
			},
	onFailure:      function() {
				alert('unknown Ajax error');
			}
	});
	$('dynamic_' + key).innerHTML = 'saving...';
}
