function loadUpEvents(cat,offset)
{
	jQuery.getJSON("/feeds/data_feed.php?cmd=get_events_by_category_no_limit&q=" + offset +"&q1=" + cat,
			function(data){
					var partition = 10;
					var group = 2;
					var pages = Math.ceil(data.total/partition);
					var tabs= '<strong>Page&nbsp;&nbsp;<a href="javascript:;" onclick="showEventsTab(1,' + pages + ')"> 1</a> &nbsp; </strong> ';
					var end_link = ''
					var new_html = '<table width="100%" border="0" cellspacing="0" cellpadding="6">';
					new_html += '<tr class="colorBG">';
					new_html += '<td class="pageLinks" colspan="3" align="left"><span class="allEventsheading">ALL EVENTS:</span>';
					new_html += '<div id="eventPaginationTop" align="right"><strong>Page 1 of ' + pages + '</strong></div></td>';
					new_html += '</tr>';
					new_html += '<tr class="allEventsSort">';
					new_html += '<td width="48%" height="35"><div align="left">Event Name</div></td>';
					new_html += '<td width="25%"><div align="left">Date</div></td>';
					new_html += '<td><div align="left">City</div></td>';
					new_html += '</tr>';
					var cnt = 0;
					var selClass;
					jQuery.each(data.results, function(i,item){
						selClass = cnt % 2 == 0 ? 'listingsRowA' : 'listingsRowB';
						var url = '/events/' + cat + '/' + item.ID;
						if(cnt > partition)
						{
							if(cnt % partition == 0)
							{
								if(cnt < data.total)
								{
									tabs +=  '<strong><a href="javascript:;" onclick="showEventsTab(' + group + ',' + pages +')">' + group +'</a></strong> &nbsp; ';
									group++;
								}
							}
							new_html += '<tr class="' + selClass + '">';
							new_html += '<td valign="top" class="event hidden ' + group + '"><a href="' + url + '">' + item.display_name + '</a></td>';
							new_html += '<td valign="top" class="event hidden ' + group + '">' + item.thedate + '</td>';
							new_html += '<td valign="top" class="event hidden ' + group + '">' + item.city + '</td>';
							new_html += '</tr>';
						}
						else
						{
							new_html += '<tr class="' + selClass + '">';
							new_html += '<td valign="top" class="event first"><a href="' + url + '">' + item.display_name + '</a></td>';
							new_html += '<td valign="top" class="event first">' + item.thedate + '</td>';
							new_html += '<td valign="top" class="event first">' + item.city + '</td>';
							new_html += '</tr>';
						}
						cnt++;
					});
					tabs +=  '<strong><a href="javascript:;" onclick="showEventsTab(' + group + ',' + pages +')">' + group +'</a></strong> &nbsp; ';
					new_html += '<tr class="colorBG">';
					new_html += '<td colspan=3 class="pageLinks"><div id="eventPaginationBottom" align="right">&nbsp;</div>';
					new_html += '</td>';
					new_html += '</tr>';
					new_html += '</table>';
					jQuery("#allEvents").html(new_html);
					jQuery("td.event.hidden").hide();
					if(group > 2)
						jQuery("#eventPaginationBottom").html(tabs);
					else
						jQuery("#eventPaginationTop").html("&nbsp;");
			});
}
function showEventsTab(page,pagetotal)
{
	if(page == 1)
	{
		jQuery("#eventPaginationTop").html("<strong>Page 1 of " + pagetotal + "</strong>");
		jQuery("td.event.first").show();
		jQuery("td.event.hidden").hide();
	}
	else
	{
		jQuery("#eventPaginationTop").html("<strong>Page " + page + " of " + pagetotal + "</strong>");
		jQuery("td.event.first").hide();
		jQuery("td.event.hidden").hide();
		jQuery("td.event").filter("td.event." + page).show();

	}
		
}
function loadUpEventsDev(cat,offset)
{
	jQuery.getJSON("/feeds/data_feed.php?cmd=get_events_by_category&q=" + offset +"&q1=" + cat,
			function(data){
					var new_html = '<table width="100%" border="0" cellspacing="0" cellpadding="6">';
					new_html += '<tr class="colorBG">';
					new_html += '<td class=pageLinks colspan="3" align="left"><span class="allEventsheading">ALL EVENTS:</span>';
					if(offset >= 10)
					{
						new_html += '<div align=right><a href="javascript:;" onclick="loadUpEvents(\'' + cat + '\',' + (offset-10) + ')">previous page</a>';
						if(data.total == 10)
							new_html += '&nbsp;<a href="javascript:;" onclick="loadUpEvents(\'' + cat + '\',' + (offset+10) + ')">next page</a>';
						new_html += '</div></td>';
					}
					else if(data.total == 10)
					{
						new_html += '<div align=right><a href="javascript:;" onclick="loadUpEvents(\'' + cat + '\',' + (offset+10) + ')">next page</a></div>';
						new_html += '</td>';
					}
					else
						new_html += '</td>';
					new_html += '</tr>';
					new_html += '<tr class="allEventsSort">';
					new_html += '<td width="48%" height="35"><div align="left">Event Name</div></td>';
					new_html += '<td width="25%"><div align="left">Date</div></td>';
					new_html += '<td><div align="left">City</div></td>';
					new_html += '</tr>';
					var cnt = 1;
					var selClass;
					jQuery.each(data.results, function(i,item){
						selClass = ++cnt % 2 == 0 ? 'listingsRowA' : 'listingsRowB';
						var url = '/events/' + cat + '/' + item.ID;
						new_html += '<tr class="' + selClass + '">';
                        new_html += '<td valign="top"><a href="' + url + '">' + item.display_name + '</a></td>';
                        new_html += '<td valign="top">' + item.thedate + '</td>';
                        new_html += '<td valign="top">' + item.city + '</td>';
                      	new_html += '</tr>';
						});
					new_html += '<tr class="colorBG">';
					new_html += '<td colspan=3 class="pageLinks">';
					new_html += '</td>';
					new_html += '</tr>';
					new_html += '</table>';
					jQuery("#allEvents").html(new_html);
			});
}


function sortDirectory(sort_letter,cat)
{
	jQuery.getJSON("/feeds/data_feed.php?cmd=sort_directory&q=" + sort_letter +"&q1=" + cat,
			function(data){
					var new_html = '<table width="100%" border="0" cellspacing="0" cellpadding="6">';
					new_html += '<tr class="colorBG">';
					new_html += '<td colspan="2" align="left"><span class="allEventsheading">ALL ' + cat.replace("-"," ").toUpperCase() + ':</span></td>';
					new_html += '<td width="27%" class="pageLinks">'
					new_html += '</td>';
					new_html += '</tr>';
					new_html += '<tr id="allDirSortAlpha">';
					new_html += '<td height="35" colspan="3">';
					new_html += '<a href="javascript:;" onclick="sortDirectory(\'a\',\'' + cat + '\')">A</a>  |  ';
					new_html += '<a href="javascript:;" onclick="sortDirectory(\'b\',\'' + cat + '\')">B</a>  |  ';
					new_html += '<a href="javascript:;" onclick="sortDirectory(\'c\',\'' + cat + '\')">C</a>  |  ';
					new_html += '<a href="javascript:;" onclick="sortDirectory(\'d\',\'' + cat + '\')">D</a>  |  ';
					new_html += '<a href="javascript:;" onclick="sortDirectory(\'e\',\'' + cat + '\')">E</a>  |  ';
					new_html += '<a href="javascript:;" onclick="sortDirectory(\'f\',\'' + cat + '\')">F</a>  |  ';
					new_html += '<a href="javascript:;" onclick="sortDirectory(\'g\',\'' + cat + '\')">G</a>  |  ';
					new_html += '<a href="javascript:;" onclick="sortDirectory(\'h\',\'' + cat + '\')">H</a>  |  ';
					new_html += '<a href="javascript:;" onclick="sortDirectory(\'i\',\'' + cat + '\')">I</a>  |  ';
					new_html += '<a href="javascript:;" onclick="sortDirectory(\'j\',\'' + cat + '\')">J</a>  |  ';
					new_html += '<a href="javascript:;" onclick="sortDirectory(\'k\',\'' + cat + '\')">K</a>  |  ';
					new_html += '<a href="javascript:;" onclick="sortDirectory(\'l\',\'' + cat + '\')">L</a>  |  ';
					new_html += '<a href="javascript:;" onclick="sortDirectory(\'m\',\'' + cat + '\')">M</a>  <br />';
					new_html += '<a href="javascript:;" onclick="sortDirectory(\'n\',\'' + cat + '\')">N</a>  |  ';
					new_html += '<a href="javascript:;" onclick="sortDirectory(\'o\',\'' + cat + '\')">O</a>  |  ';
					new_html += '<a href="javascript:;" onclick="sortDirectory(\'p\',\'' + cat + '\')">P</a>  |  ';
					new_html += '<a href="javascript:;" onclick="sortDirectory(\'q\',\'' + cat + '\')">Q</a>  |  ';
					new_html += '<a href="javascript:;" onclick="sortDirectory(\'r\',\'' + cat + '\')">R</a>  |  ';
					new_html += '<a href="javascript:;" onclick="sortDirectory(\'s\',\'' + cat + '\')">S</a>  |  ';
					new_html += '<a href="javascript:;" onclick="sortDirectory(\'t\',\'' + cat + '\')">T</a>  |  ';
					new_html += '<a href="javascript:;" onclick="sortDirectory(\'u\',\'' + cat + '\')">U</a>  |  ';
					new_html += '<a href="javascript:;" onclick="sortDirectory(\'v\',\'' + cat + '\')">V</a>  |  ';
					new_html += '<a href="javascript:;" onclick="sortDirectory(\'w\',\'' + cat + '\')">W</a>  |  ';
					new_html += '<a href="javascript:;" onclick="sortDirectory(\'x\',\'' + cat + '\')">X</a>  |  ';
					new_html += '<a href="javascript:;" onclick="sortDirectory(\'y\',\'' + cat + '\')">Y</a>  |  ';
					new_html += '<a href="javascript:;" onclick="sortDirectory(\'z\',\'' + cat + '\')">Z</a>';
                    new_html += '  </tr>';
					var cnt = 1;
					var selClass;
					if(data.total > 0)
					{
						jQuery.each(data.results, function(i,item){
							selClass = ++cnt % 2 == 0 ? 'listingsRowA' : 'listingsRowB';
							var url = '/directory/' + cat + '/' + item.ID;
							new_html += '<tr class="' + selClass + '">';
							new_html += '<td valign="top"><a href="' + url + '">' + item.display_name + '</a></td>';
							new_html += '<td valign="top">&nbsp;</td>';
							new_html += '<td valign="top">' + item.city + '</td>';
							new_html += '</tr>';
							});
					}
					else
						new_html += '<tr><td colspan=3>No directories in this category start with "' + sort_letter.toUpperCase() + '"</td></tr>';	
					new_html += '<tr class="colorBG">';
					new_html += '<td colspan=3 class="pageLinks">&nbsp;';
					new_html += '</td>';
					new_html += '</tr>';
					new_html += '</table>';
					jQuery("#allDir").html(new_html);
			});
}

function remImg()
{
	$("selected_image").innerHTML = "[None]";
	$("eventImage").value = "remove";
}
function get_dates(state)
{
	jQuery("#mydates").html("<br /><br /><center>loading ...</center>");
	var s = $("submit_startsearch").value;
	var e = $("submit_endsearch").value;
	if(!s || !e)
		alert("Please choose a start date and an end date to use this feature.");
	else if(($("timeFrameStart").selectedIndex) == 0 || $("timeFrameEnd").selectedIndex == 0)
		alert("Please choose a starting and ending time to use this feature.");
	else
	{
		var optionsHTMLs = $("timeFrameStart").innerHTML;
		var optionsHTMLe = $("timeFrameEnd").innerHTML;
		var optionSels = "<option selected='selected' value='" + $("timeFrameStart").options[$("timeFrameStart").selectedIndex].value + "'>" + $("timeFrameStart").options[$("timeFrameStart").selectedIndex].text + "</option>";
		var optionSele = "<option selected='selected' value='" + $("timeFrameEnd").options[$("timeFrameEnd").selectedIndex].value + "'>" + $("timeFrameEnd").options[$("timeFrameEnd").selectedIndex].text + "</option>";
		jQuery.getJSON("/feeds/date_feeder.php?start=" + s + "&end=" + e,
		function(data){
				if(data.results == "ERROR")
					jQuery("#mydates").html("Events can range no more than 90 days.");
				else
				{
				jQuery("#mydates").html("");
				jQuery.each(data.results, function(i,item){
					var elStartName = "start_time_" + i;
					var elEndName = "end_time_" + i;
					var elCheckName = "check_" + i;
					jQuery("<div>").addClass("col1").html(
							"<input type='checkbox' id='" + elCheckName + "' name='" + elCheckName + "' value='" + item.date + "' onclick='disable_rows(" + i + ")' CHECKED />"
						).appendTo("#mydates");
					jQuery("<div>").addClass("col2").html(item.fdate).appendTo("#mydates");
					jQuery("<div>").addClass("col3").html(
						jQuery("<select>").attr({ 
							id: elStartName,
							name: elStartName
						}).html(optionsHTMLs).prepend(optionSels)).appendTo("#mydates");
					jQuery("<div>").addClass("col4").html(
						jQuery("<select>").attr({ 
							id: elEndName,
							name: elEndName
						}).html(optionsHTMLe).prepend(optionSele)).appendTo("#mydates");
			  		});
				}
			});	
		jQuery("#loadingDates").html("<strong>Exclusions / Adjust Times</strong>:<br />");
		jQuery("<button>").html("Click here to refresh dates and times below").click(function (){get_dates(1);}).appendTo("#loadingDates");
		if(!state)
			new Effect.toggle('exclusionsTable','blind',{duration: .5});
	}
}
function get_data(cmd,str)
{
		if(str.length > 2)
		{
			jQuery("#qResults").html("");
			jQuery.getJSON("/feeds/data_feed.php?cmd=" + cmd + "&q=" + str,
			function(data){
					if(data.results.length > 0)
					{
						jQuery.each(data.results, function(i,item){
							var lb = 'preview_event.php?id=' + item.ID + '&amp;TB_iframe=true&amp;height=550&amp;width=650';
							jQuery("<div>").addClass("resultCol1").html(item.display_name).appendTo("#qResults");
							jQuery("<div>").attr('id' , 'new_' + i).addClass("resultCol2").appendTo("#qResults");
							jQuery("<a>").attr({'href':'javascript:;'}).html('preview/approve/feature').click(function(){tb_show(null,lb, null);}).appendTo('#new_' + i);
							jQuery("<span>").html(' ').appendTo('#new_' + i);
							jQuery("<a>").attr('href','?edit=' + item.ID ).html('edit').appendTo('#new_' + i);
							jQuery("<span>").html(' ').appendTo('#new_' + i);
							jQuery("<a>").attr('href','javascript:;').html("delete").click(function(){remove_confirmation(item.ID);}).appendTo('#new_' + i);
							
						});
					}
					else
					{
						jQuery("#qResults").html("no results found");
					}
			});
		}
		else
			jQuery("#qResults").html("no results found");
		
}
function get_data_directories(cmd,str)
{
		if(str.length > 2)
		{
			jQuery("#qResults").html("");
			jQuery.getJSON("/feeds/data_feed.php?cmd=" + cmd + "&q=" + str,
			function(data){
					if(data.results.length > 0)
					{
						jQuery.each(data.results, function(i,item){
							var lb = 'preview_directory.php?id=' + item.ID + '&amp;TB_iframe=true&amp;height=550&amp;width=650';
							jQuery("<div>").addClass("resultCol1").html(item.display_name).appendTo("#qResults");
							jQuery("<div>").attr('id' , 'new_' + i).addClass("resultCol2").appendTo("#qResults");
							jQuery("<a>").attr({'href':'javascript:;'}).html('preview/approve/feature').click(function(){tb_show(null,lb, null);}).appendTo('#new_' + i);
							jQuery("<span>").html(' ').appendTo('#new_' + i);
							jQuery("<a>").attr('href','?edit=' + item.ID ).html('edit').appendTo('#new_' + i);
							jQuery("<span>").html(' ').appendTo('#new_' + i);
							jQuery("<a>").attr('href','javascript:;').html("delete").click(function(){remove_confirmation(item.ID);}).appendTo('#new_' + i);
						});
					}
					else
					{
						jQuery("#qResults").html("no results found");
					}
			});
		}
		else
			jQuery("#qResults").html("no results found");
		
}
function disable_rows(row_index)
{
	var selstart = "start_time_" + row_index;
	var selend = "end_time_" + row_index;
	var me = "check_" + row_index;
	if(!$(me).checked)
	{
		$(selstart).disabled = true;
		$(selend).disabled = true;
	}
	else
	{
		$(selstart).disabled = false;
		$(selend).disabled = false;
	}
}
function disable_rows_update(row_index)
{
	var selstart = "start_time_update_" + row_index;
	var selend = "end_time_update_" + row_index;
	var me = "check_update_" + row_index;
	if(!$(me).checked)
	{
		$(selstart).disabled = true;
		$(selend).disabled = true;
	}
	else
	{
		$(selstart).disabled = false;
		$(selend).disabled = false;
	}
}
function close_update(img)
{
	$("new_up_image").innerHTML = "<img src='/userimages/" + img + "' border=1 />";
	$("eventImage").value = img;
}
function display_add_location(index)
{
	if(index == 1)
		new Effect.toggle('new_location_block','blind',{duration: .5});
	else
	{
		$("new_location_block").style.display = "none"; 
	}
}
function remove_confirmation(id)
{
	if(confirm("Are sure you would like to remove this item"))
		location.href = "?delete_conf=" + id;
}
function tb_open_new(jThickboxNewLink)
{
	tb_show(null,jThickboxNewLink,null);
}
function check_dates(sdate,edate)
{
	var maxrange = 93;
	var starts = sdate.split("-");
	var ends = edate.split("-");
	var startdate = new Date(starts[0], (starts[1]-1), starts[2]);
	var enddate = new Date(ends[0], (ends[1]-1), ends[2]);
	var aday = 1000*60*60*24;
	var cnt = Math.ceil((enddate.getTime() - startdate.getTime())/(aday));
	return cnt <= maxrange ? 1 : 0;
}
function check_security_code()
{
	jQuery.getJSON("/feeds/data_feed.php?cmd=check_code&q=" + $('verify').value,
			function(data){
				if(data.results[0].code !=  'valid')
				{
					alert('Security Code is invalid, please try again.');
				}
				else
				{
					check_fields();
				}
		});
	return false;
}

function check_admin_form()
{
	var end = $('submit_endsearch').value;
	jQuery.getJSON("/feeds/data_feed.php?cmd=check_event_name&q=" + escape($('eventName').value) + "&q1=" + end ,
			function(data){
				if(data.results[0].code ==  'found')
				{
					msg = "There seems to be an event with the same name and date already in the system. \n\n";
					msg += "Is this a duplicate? If not, click ‘OK’ to proceed with submission. Or, click ‘Cancel’ to edit your event.";
					if(confirm(msg))
						check_fields_admin();
				}
				else
				{
					check_fields_admin();
				}
		});
	return false;
}

function public_submit()
{
	var end = $('submit_endsearch').value;
	jQuery.getJSON("/feeds/data_feed.php?cmd=check_event_name&q=" + escape($('eventName').value) + "&q1=" + end ,
			function(data){
				if(data.results[0].code ==  'found')
				{
					msg = "There seems to be an event with the same name and date already in the system. \n\n";
					msg += "Is this a duplicate? If not, click ‘OK’ to proceed with submission. Or, click ‘Cancel’ to edit your event.";
					if(confirm(msg))
						$('submit_event').submit();
				}
				else
				{
					$('submit_event').submit();
				}
		});
}
function check_fields()
{
		var status = 1;
		var msg = "The following items need to be corrected before submitting an event:\n";
		if($('eventName').value.length < 1)
		{
			status = 0;
			msg += "Event name cannot be blank.\n";
		}
		if($('eventDescription').value.length < 1)
		{
			status = 0;
			msg += "Event description cannot be blank.\n";
		}
		if($('contactName').value.length < 1)
		{
			status = 0;
			msg += "Contact name cannot be blank.\n";
		}
		if($('contactEmail').value.length < 1)
		{
			status = 0;
			msg += "Contact email cannot be blank.\n";
		}
		if($('contactPhone').value.length < 1)
		{
			status = 0;
			msg += "Contact phone cannot be blank.\n";
		}
		if($('directoryID').selectedIndex == 0)
		{
			status = 0;
			msg += "Please choose a location for the event.\n";
		}
		if($('submit_startsearch').value.length < 1)
		{
			status = 0;
			msg += "Please choose a starting date for the event.\n";
		}
		else if($('submit_endsearch').value.length < 1)
		{
			status = 0;
			msg += "Please choose an ending date for the event.\n";
		}
		else
		{
			if(!check_dates($('submit_startsearch').value,$('submit_endsearch').value))
			{
				status = 0;
				msg += "Date ranges have a maximum of 3 months, please adjust your start or end date accordingly.\n";
			}
		}
		if($('timeFrameStart').selectedIndex == 0)
		{
			status = 0;
			msg += "Please choose a starting time for the event.\n";
		}
		if($('timeFrameEnd').selectedIndex == 0)
		{
			status = 0;
			msg += "Please choose an ending time for the event.\n";
		}
		if($('primary_category').selectedIndex == 0)
		{
			status = 0;
			msg += "Please choose a primary category for the event.\n";
		}
		if(status == 0)
			alert(msg);
		else
			public_submit();
}
function check_fields_admin()
{
		var status = 1;
		var msg = "The following items need to be corrected before submitting an event:\n";
		if($('eventName').value.length < 1)
		{
			status = 0;
			msg += "Event name cannot be blank.\n";
		}
		if($('contactName').value.length < 1)
		{
			status = 0;
			msg += "Contact name cannot be blank.\n";
		}
		if($('contactEmail').value.length < 1)
		{
			status = 0;
			msg += "Contact email cannot be blank.\n";
		}
		if($('contactPhone').value.length < 1)
		{
			status = 0;
			msg += "Contact phone cannot be blank.\n";
		}
		if($('directoryID').selectedIndex == 0)
		{
			status = 0;
			msg += "Please choose a location for the event.\n";
		}
		if($('submit_startsearch').value.length < 1)
		{
			status = 0;
			msg += "Please choose a starting date for the event.\n";
		}
		if($('timeFrameStart').selectedIndex == 0)
		{
			status = 0;
			msg += "Please choose a starting time for the event.\n";
		}
		if($('submit_endsearch').value.length < 1)
		{
			status = 0;
			msg += "Please choose an ending date for the event.\n";
		}
		if($('timeFrameEnd').selectedIndex == 0)
		{
			status = 0;
			msg += "Please choose an ending time for the event.\n";
		}
		if($('primary_category').selectedIndex == 0)
		{
			status = 0;
			msg += "Please choose a primary category for the event.\n";
		}
		if(status == 0)
		{
			alert(msg);
		}
		else
		{
			$('submit_event').submit();
		}
}
