// Creates array.sort method

Array.prototype.find = function(searchStr) {

  var returnArray = false;

  for (i=0; i<this.length; i++) {

    if (typeof(searchStr) == 'function') {

      if (searchStr.test(this[i])) {

        if (!returnArray) { returnArray = [] }

        returnArray.push(i);

      }

    } else {

      if (this[i]===searchStr) {

        if (!returnArray) { returnArray = [] }

        returnArray.push(i);

      }

    }

  }

  return returnArray;

} 



// Start of SMC calendar project



$(document).ready(function() {

	$.extend($.blockUI.defaults.overlayCSS, { opacity: '0.0' });

	$().ajaxStop($.unblockUI);

	var showDow = 1;

	var showNiles = 1;

	var showOther = 1;

	var showEndTime = 0;

	var showEndDate = 0;

	var maxDays = 365;

	var showDays = 365;

	var advancedPopup = 0;

	loadCookies();

	// Remove the no javascript error

	$("#CalDiv").html('<table id="CalList" class="stripeMe" width="100%"><thead><tr><th align="left">Date</th><th>&nbsp;</th><th align="right">Location</th>				</tr></thead><tr><td align="left" class="ampm" colspan="3">&nbsp;</td></tr></table>');

	// Hide options menu

	$("#OPTS").hide();

	// viewType selects between day and week. day, week, forward, range

	var urlviewType = $(document).getUrlParam("call");

	if(urlviewType == null) {

		var viewType = 'DAY';

	} else {

		if(urlviewType == 'RANGE') {

			var viewType = 'FORWARD';

		} else {

			var viewType = urlviewType;

		}

	}

	var urlDays = $(document).getUrlParam("days");

	if(urlDays != null) {

		var showDays = urlDays;

	}

	var filterArray = [];

	var urlFilter = $(document).getUrlParam("filter");

	if(urlFilter == null) {

		var filter = 'PUB';

	} else {

		var filter = urlFilter;

	}

	if(filter == 'EMP') {

		filterArray[0] = 'PUB';

		filterArray[1] = 'STU';

		filterArray[2] = 'EMP';

		filterArray[3] = null;

	} else if (filter == 'STU') {

		filterArray[0] = 'PUB';

		filterArray[1] = 'STU';

	} else {

		filterArray[0] = 'PUB';

	}

		

		

	var noEvents = true;

	

	var urletype = $(document).getUrlParam("ecode");

	if(urletype == null) {

		var etype = 'ALL';

	} else {

		var etype = urletype;

		$(".CatName").html($("#" + etype).html());

		

	}

	var selectedDate = $.datepicker.formatDate('yymmdd', new Date());

	var ajaxURL = "none";

	var errorsExist = false;

	var oldDate = "NEW";

	var oldType = " ";

	var outputData = " ";

	var eventDetail = " ";

	var searchFor = " ";

	var eventTitle = " ";

	var print_Date

	

	

	function showEvent(data, eTitle) {

		if(advancedPopup == 1) {

			$('<div>'+data+'</div>').appendTo('body').dialog({

				height: 390,

				width: 425,

				bgiframe: true,

				title: eTitle,

				buttons: {

					'close': function() { $(this).dialog('close'); }

				}

			});

		} else {			

			$.prompt(data, {

				buttons: { Close: true },

				show:'slideDown',

				opacity: 0.4				

			}).corner();

		}

		//	$("tr").unbind();

		//	$("tr").one("click", function(e){

		//		e.preventDefault();

		//		getDetail($(this).attr("crn"), $(this).attr("date"), $(this).attr("stime"), $(this).attr("room"));

				

		//	});

		tableStripes();

	}

	

	function tableStripes() {

		$(".stripeMe td").addClass("showDetail");

		$(".ampm").toggleClass("showDetail");

		$(".stripeMe tr").mouseover(function() {

			$(this).addClass("over");

			}).mouseout(function() {

			$(this).removeClass("over");

		});

		$(".showDetail").unbind();

		$(".showDetail").one("click", function(e){

			e.preventDefault();

			getDetail($(this).parent().attr("crn"), $(this).parent().attr("date"), $(this).parent().attr("stime"), $(this).parent().attr("room"));

		});

	}

	

	function getDetail(eventCRN, eventDate, stime, roomCode) {

		eventDetail = " ";

		$.getJSON('ajax.php', { call: 'DETAIL', crn: eventCRN, date: eventDate, startTime: stime, room: roomCode }, function(json){	

			eventDetail = "<h2>" + json.event.title + "</h2><p>" + json.event.who + "</p>&nbsp;<br />";

			eventTitle = json.event.title;

			if(json.event.comment == false) {

				eventDetail = eventDetail + "<table id=\"eventDetails\"><tr><td class=\"eventDesc\" >CRN:</td><td>" + eventCRN + "</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td></tr>";

				if(json.event.etyp != false) {

					eventDetail = eventDetail + "<tr><td class=\"eventDesc\">Category:</td><td>" + json.event.etyp_desc + "</td></tr>";	

				}

				eventDetail = eventDetail + "<tr><td class=\"eventDesc\">When:</td><td>" + json.event.date.startdate + " at " + json.event.date.starttime + " until " + json.event.date.endtime + "</td>";

			} else {

				eventDetail = eventDetail + json.event.comment + "<br />&nbsp;<table id=\"eventDetails\"><tr><td class=\"eventDesc\" >CRN:</td><td>" + eventCRN + "</td></tr>";

				if(json.event.etyp != false) {

					eventDetail = eventDetail + "<tr><td class=\"eventDesc\">Category:</td><td>" + json.event.etyp_desc + "</td></tr>";	

				}

				eventDetail = eventDetail + "<tr><td class=\"eventDesc\">When:</td><td>" + json.event.date.startdate + " at " + json.event.date.starttime + " until " + json.event.date.endtime + "</td></tr>";

			}

			if(json.event.date.repeat == true) {

				eventDetail = eventDetail + "<tr><td>&nbsp;</td><td><img src=\"images/recurrence.gif\" />Repeats on every";

				for (var i = 0; i < json.event.date.days.length; i++) {

					eventDetail = eventDetail + " " + json.event.date.days[i];

				}

				eventDetail = eventDetail + "</td></tr><tr><td>&nbsp;</td><td>until " + json.event.date.enddate + "</td></tr>";

			}

			if(json.event.where.show == true) {

				eventDetail = eventDetail + "<tr><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td class=\"eventDesc\">Where: </td><td>";

				if(json.event.where.campus == json.event.where.building) {

					eventDetail = eventDetail + json.event.where.building;

				} else {

					eventDetail = eventDetail + json.event.where.campus 

					if(json.event.where.building != false) {

						eventDetail = eventDetail + ", " + json.event.where.building;

					}

				}

				if(json.event.where.room != false) {

					eventDetail = eventDetail + " - Room: " + json.event.where.room + "</td></tr>";

				} else {

						eventDetail = eventDetail + "</td></tr>";

				}

				if(json.event.where.public.show == true) {

					eventDetail = eventDetail + "<tr><td>&nbsp;</td><td>" + json.event.where.public.address1 + "</td></tr><tr><td>&nbsp;</td><td>" + json.event.where.public.address2 + "</td></tr><tr><td>&nbsp;</td><td>" + json.event.where.public.address3 + "</td></tr>";

				}

				// contact info, first  normal contact if it exists, then contact_pidm info, finally agnecy info.

				var contactStarted = false;

				eventDetail = eventDetail + "<tr><td>&nbsp;</td><td>&nbsp;</td></tr>";

				if(json.event.contact.name != false) {

					var contactStarted = true;

					eventDetail = eventDetail + "<tr><td class=\"eventDesc\">Contact:</td><td>" + json.event.contact.name + "</td></tr>";

					if(json.event.contact.phone != false) {

						eventDetail = eventDetail + "<tr><td>&nbsp;</td><td>" + json.event.contact.phone + "</td></tr>";

					}

					eventDetail = eventDetail + "<tr><td>&nbsp;</td><td>&nbsp;</td></tr>";

				}

				if(json.event.contact.person.exists == true) {

					// show contact pidm info here

					if(contactStarted == false) {

						eventDetail = eventDetail + "<tr><td class=\"eventDesc\">Contact:</td><td>";

						contactStarted = true;

					} else {

						eventDetail = eventDetail + "<tr><td>&nbsp;</td><td>";

					}

					eventDetail = eventDetail + json.event.contact.person.firstname + " " + json.event.contact.person.middlename + " " + json.event.contact.person.lastname + "</td></tr><tr><td>&nbsp;</td><td>";

					if(json.event.contact.person.phone != false) {

					   eventDetail = eventDetail + json.event.contact.person.phone + "</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td></tr>";

					} else {

						eventDetail = eventDetail + "&nbsp;</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td></tr>";

					}

				}

				if(json.event.contact.agency.exists == true) {

					// Show agency info

					if(contactStarted == false) {

						eventDetail = eventDetail + "<tr><td class\"eventDesc\">Contact:</td><td>";

						contactStarted = true;

					} else {

						eventDetail = eventDetail + "<tr><td>&nbsp;</td><td>";

					}

					if(json.event.contact.agency.firstname == null) {

						json.event.contact.agency.firstname = ' ';

					}

					if(json.event.contact.agency.middlename == null) {

						json.event.contact.agency.middlename = ' ';

					}

					if(json.event.contact.agency.phone == null) {

						json.event.contact.agency.phone = ' ';

					}

					eventDetail = eventDetail + json.event.contact.agency.firstname + " " + json.event.contact.agency.middlename + " " + json.event.contact.agency.lastname + "</td></tr><tr><td>&nbsp;</td><td>" + json.event.contact.agency.phone + "</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td></tr>";

						

				}

				

				eventDetail = eventDetail + "</table>";

			}

			showEvent(eventDetail, eventTitle);

		});

	}

	

	function callJSON() {

		noEvents = true;

		if (errorsExist == false) {

		$.blockUI('<img src="images/ajax-loader.gif" />'); 

			oldDate = 'NEW';

			$.getJSON('ajax.php', { ecode: etype, type: viewType, dow: showDow, niles: showNiles, off: showOther, date: selectedDate, searchData: searchFor, days: showDays  }, function(json){

				outputData = "";

				if(json.events.error == true) {

					// check for error type and return message

					if(json.events.code == 'nodata') {

						outputData = '<table id="CalList" class="stripeMe" width="100%">';

						outputData = outputData + '<thead><tr>';

						outputData = outputData + '<th align="left" colspan="2">' + json.events.printdate + '</th><th align="right">Location</th>';

						outputData = outputData + '</tr></thead>';

						outputData = outputData + '<tr><td align="left" class="ampm" colspan="3">There are no events for the selected date or range</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></table>';

					} else {

						// TODO: output undefined error message

						alert('undefined error, please contact Don Magee, this should never appear.');

					}

				} else {

  					$.each(json.events, function(e, event){

						// Here we are going to build the table or tables to display our data.

						// vars we have access to are date

						if(oldDate == 'NEW') {

							// outputData = '<div id="loading"  class="hideLoading" align="center"><img src="images/ajax-loader.gif" /></div>';

						}

						if(viewType == 'DAY') {

							outputData = outputData + '<table id="CalList" class="stripeMe" width="100%">';

							outputData = outputData + '<thead><tr>';

							outputData = outputData + '<th align="left" colspan="2">' + event.printdate + '</th><th align="right">Location</th>';

							outputData = outputData + '</tr></thead>';

						} else {

							if(oldDate == 'NEW') {

								outputData = outputData + '<table id="CalList" class="stripeMe" width="100%">';

								outputData = outputData + '<thead><tr>';

								if(viewType == 'FORWARD') {

									viewDesc = 'Show all events';

								}

								if(viewType == 'WEEK') {

									viewDesc = 'Show 7 days of events starting on ' + event.printdate;

								}

								if(viewType == 'SEARCH') {

									viewDesc = 'Search Results';

								}

								outputData = outputData + '<th align="left" colspan="3">' + viewDesc + '</th><th align="right">Location</th>';

								outputData = outputData + '</tr></thead>';

							}

						}

						oldDate = event.date;

						$.each(event.data, function (d, data) {

							//vars we have access to are type

							if(data.type != oldType) {

							// we need to display a new type header

								switch (data.type) {

									case 'holiday': { typeDesc = 'HIDE'; break}

									case 'bird': { typeDesc = 'Birdfeeder Daily Special'; break}

									case 'standard': { typeDesc = 'Events'; break}

									case 'payroll': { typeDesc = 'HIDE'; break}

									case 'deadlines': { typeDesc = 'Deadlines'; break}

									case 'search': { typeDesc = 'HIDE'; break}									

								}

								if(viewType != 'DAY') {

									typeDesc = 'HIDE';

								}

								oldType = data.type;

								if(typeDesc != 'HIDE') {

									outputData = outputData + '<tr><td align="left" class="ampm" colspan="3">' + typeDesc + '</td></tr>';

								}

							}

							$.each(data.detail, function (de, detail) {

								// first, let us decide if we should event show the event.

								if(filterArray.find(detail.filter)) {

									noEvents = false;

									// vars we have access to are crn, time, desc, loc

									// if time = 00:00 lets make it say All Day

									if(detail.printtime == '00:00 am') {

										detail.printtime = 'All Day';

									}
									if(detail.printtime == '12:00 am' && detail.printendtime == '12:01 am')
									{
										detail.printtime = 'All Day';
									}

									// If there is an end date, change the date to display end date

									if(showEndDate == 1 && detail.printenddate != null) {

										if(detail.printdate != null) {

											if(detail.printdate != detail.printenddate) {

												print_Date = detail.printdate + ' until ' + detail.printenddate;

											} else {

												print_Date = detail.printdate;

											}

										} else {

											if(event.printdate != detail.printenddate) {

												print_Date = event.printdate + ' until ' + detail.printenddate;

											} else {

												print_Date = event.printdate;

											}

										}

									} else {

										if(detail.printdate != null) {

											print_Date = detail.printdate;

										} else {

											print_Date = event.printdate;

										}

									}										

									if(viewType == 'DAY') {

										if(data.type == 'deadlines') {

											outputData = outputData + '<tr crn="' + detail.crn + '" date="' + event.date + '" stime="' + detail.time + '" room="' + detail.room +'"><td align="left" colspan="3">' + detail.desc + '</td></tr>';

										} else if (data.type == 'holiday' && etype != 'NONE' || detail.crn == 'HOLIDAY') {

												outputData = outputData + '<tr><td align="left" class="ampm" colspan="3">' + detail.desc + '</td></tr>';									

										} else if (data.type == 'payroll' && etype != 'NONE') {

											outputData = outputData + '<tr><td align="left" colspan="3">' + detail.desc + '</td></tr>';

										} else {

											 outputData = outputData + '<tr crn="' + detail.crn + '" date="' + event.date + '" stime="' + detail.time + '" room="' + detail.room +'"><td align="left">';

											 if(showEndTime == 1 && detail.printendtime != null) {

												 outputData = outputData + detail.printtime + ' to ' + detail.printendtime;

											 } else {

												 outputData = outputData + detail.printtime;

											 }

											 if(showEndDate == 1 && event.printdate != detail.printenddate) {

												 outputData = outputData + ' - repeats until ' + detail.printenddate;

											 }

											 outputData = outputData + '<td>' + detail.desc + '</td><td align="right">' + detail.loc + '</td></tr>';

										}

									} else if (viewType == 'SEARCH') {

										outputData = outputData + '<tr crn="' + detail.crn + '" date="' + event.date + '" stime="' + detail.time + '" room="' + detail.room +'"><td align="left" width="200px">' + print_Date;

										if(showEndTime ==1 && detail.printendtime != null) {

											outputData = outputData+ '<td align="left">' + detail.printtime + ' to ' + detail.printendtime + '</td>';

										} else {

											outputData = outputData+ '<td align="left">' + detail.printtime + '</td>';

										}

										outputData = outputData + '<td>' + detail.desc + '</td><td align="right">' + detail.loc + '</td></tr>';

									} else {

										if(data.type == 'deadlines' || data.type == 'payroll') {

											outputData = outputData + '<tr crn="' + detail.crn + '" date="' + event.date + '" stime="' + detail.time + '" room="' + detail.room +'"><td align="left" width="160px">' + print_Date + '</td><td align="left" colspan="3">' + detail.desc + '</td></tr>';

										} else if (data.type == 'holiday' || etype == 'NONE' || detail.crn == 'HOLIDAY') {

											outputData = outputData + '<tr><td align="left" width="160px" class="ampm">' + print_Date + '<td align="left" class="ampm" colspan="3">' + detail.desc + '</td></tr>';

										} else{

											outputData = outputData + '<tr crn="' + detail.crn + '" date="' + event.date + '" stime="' + detail.time + '" room="' + detail.room +'"><td align="left" width="160px">' + print_Date;

											if(showEndTime == 1 && detail.printendtime != null) {

												outputData = outputData + '</td><td align="left">' + detail.printtime + ' to ' + detail.printendtime + '</td>';

											} else {

												outputData = outputData + '</td><td align="left">' + detail.printtime + '</td>';

											}

											outputData = outputData + '<td>' + detail.desc + '</td><td align="right">' + detail.loc + '</td></tr>';

										}

									}

								}

								

							});

						});

							

					});

				}

				outputData = outputData + '</table>';

				if(noEvents == true) {

					outputData = '<table id="CalList" class="stripeMe" width="100%">';

					outputData = outputData + '<thead><tr>';

					outputData = outputData + '<th align="left" colspan="2">No events for current day or view</th><th align="right">Location</th>';

					outputData = outputData + '</tr></thead>';

					outputData = outputData + '<tr><td align="left" class="ampm" colspan="3">There are no events for the selected date or range</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></table>';

				}

				$("#CalDiv").html(outputData);

				tableStripes();

				

				return true;

	

			});	

		} else {

			// alert("Please resolve input errors!");

		}

	};		

	

	function checkErrors() {

		if (showDow == 0 && showNiles == 0 && showOther == 0) {

			$("#ListError").removeClass("ListErrorHidden");

			$("#ListError").addClass("ListErrorShow");

			errorsExist = true;			

		} else {

			$("#ListError").addClass("ListErrorHidden");

			$("#ListError").removeClass("ListErrorShow");

			errorsExist = false;

		}

	};

		

	callJSON();

	tableStripes();

	$('#calendarPick').datepicker({

		hideIfNoPrevNext: true,

		dateFormat: 'yymmdd',

		onSelect: function(date) { 

       		selectedDate = date;

			callJSON();

   		}

	});

	

	$("#dow").click(function() {

   		if ($(this).is(":checked"))

		{

			showDow = 1;

			checkErrors();

			callJSON();

			

		} else

		{

			showDow = 0;

			checkErrors();

			callJSON();

		}

	});

	

	$("#niles").click(function() {

   		if ($(this).is(":checked"))

		{

			showNiles = 1;

			checkErrors();

			callJSON();

		} else

		{

			showNiles = 0;

			checkErrors();

			callJSON();

		}

	});

	

	$("#other").click(function() {

   		if ($(this).is(":checked"))

		{

			showOther = 1;

			checkErrors();

			callJSON();

		} else

		{

			showOther = 0;

			checkErrors();

			callJSON();

		}

	});

	

	$("#viewDay").click(function(e) {

		e.preventDefault();

		viewType = 'DAY';

		callJSON();

	});

	

	$("#viewForward").click(function(e) {

		e.preventDefault();

		viewType = 'FORWARD';

		callJSON();

	});

	

	$("#viewWeek").click(function(e) {

		e.preventDefault();

		viewType = 'WEEK';

		callJSON();

	});

	

	$(".codes").click(function(e) {

		//	e.preventDefault();

		etype = $(this).attr("id");

		viewType = $(this).attr("view");

		callJSON();

		$(".CatName").html($(this).html());

	});

	$("#searchMe").click(function(e) {

		e.preventDefault();

		searchFor = $("#searchBox").val();

		viewType = 'SEARCH';

		callJSON();

		$(".CatName").html("Search Results");

	});

	$("#searchBox").keypress(function (e) {

		if( e.which == 13) {

			e.preventDefault();

			searchFor = $("#searchBox").val();

			viewType = 'SEARCH';

			callJSON();

			$(".CatName").html("Search Results");

		}

	});

	

	// This section covers advanced display options



	$.ui.dialog.defaults.bgiframe = true;

	$("#OPTIONS").click(function(e) {

		e.preventDefault();

		$('#OPTS').dialog({

			height: 300,

			width: 500,

			bgiframe: true,

			buttons: {

				'Restore Defaults': function() { restoreDefaults(); $(this).dialog('close'); },

				'Cancel': function() { $(this).dialog('close'); },

				'Save': function() { saveOptions(); $(this).dialog('close'); }

			}

		});

		$('#OPTS').show();

		$('#OPTS').dialog("open");

		checkMe();

	});

	

	function checkMe() {

		if(showDow == 1) {

			$("#showDowDefault").attr("checked","checked");

		} else {

			$("#showDowDefault").removeAttr("checked");

		}

		if(showNiles == 1) {

			$("#showNilesDefault").attr("checked","checked");

		} else {

			$("#showNilesDefault").removeAttr("checked");

		}

		if(showOther == 1) {

			$("#showOffDefault").attr("checked","checked");

		} else {

			$("#showOffDefault").removeAttr("checked");

		}

		if(showEndTime == 1) {

			$("#showEndTime").attr("checked","checked");

		} else {

			$("#showEndTime").removeAttr("checked");

		}

		if(showEndDate == 1) {

			$("#showEndDate").attr("checked","checked");

		} else {

			$("#showEndDate").removeAttr("checked");

		}

		if(advancedPopup == 1) {

			$("#advancedPopup").attr("checked","checked");

		} else {

			$("#advancedPopup").removeAttr("checked");

		} 

		$("#maxDays").val(showDays);

	}

	

	function saveOptions() {

		// This function makes cookies for each option selected.

		$.cookie('adv_options', 1, { expires: 365 });

		$.cookie('max_days', $("#maxDays").val(), { expires: 365 }); // set cookie

		showDays = $("#maxDays").val();

		if ($("#showEndTime").is(":checked")) {

			$.cookie('show_end_time', 1, { expires: 365 }); // set cookie

			showEndTime = 1;

		} else {

			$.cookie('show_end_time', 0, { expires: 365 }); // set cookie

			showEndTime = 0;

		}

		if ($("#showEndDate").is(":checked")) {

			$.cookie('show_end_date', 1, { expires: 365 }); // set cookie

			showEndDate = 1;

		} else {

			$.cookie('show_end_date', 0, { expires: 365 }); // set cookie

			showEndDate = 0;

		}

		if ($("#showNilesDefault").is(":checked")) {

			$.cookie('show_niles_default', 1, { expires: 365 }); // set cookie

			showNiles = 1;

			$("#niles").attr("checked","checked");

		} else {

			$.cookie('show_niles_default', 0, { expires: 365 }); // set cookie

			showNiles = 0;

			$("#niles").removeAttr("checked");

		}

		if ($("#showDowDefault").is(":checked")) {

			$.cookie('show_dow_default', 1, { expires: 365 }); // set cookie

			showDow = 1;

			$("#dow").attr("checked","checked");

		} else {

			$.cookie('show_dow_default', 0, { expires: 365 }); // set cookie

			showDow = 0;

			$("#dow").removeAttr("checked");

		}

		if ($("#showOffDefault").is(":checked")) {

			$.cookie('show_off_default', 1, { expires: 365 }); // set cookie

			showOther = 1;

			$("#other").attr("checked","checked");

		} else {

			$.cookie('show_off_default', 0, { expires: 365 }); // set cookie

			showOther = 0;

			$("#other").removeAttr("checked");

		}

		if ($("#advancedPopup").is(":checked")) {

			$.cookie('adv_popup', 1, { expires: 365 }); // set cookie

			advancedPopup = 1;

		} else {

			$.cookie('adv_popup', 0, { expires: 365 }); // set cookie

			advancedPopup = 0;

		}

		checkErrors();

		callJSON();

	}

	

	function restoreDefaults() {

		$.cookie('show_end_time', '', { expires: -1 });

		$.cookie('show_end_date', '', { expires: -1 });

		$.cookie('show_niles_default', '', { expires: -1 });

		$.cookie('show_dow_default', '', { expires: -1 });

		$.cookie('show_off_default', '', { expires: -1 });

		$.cookie('max_days', '', { expires: -1 });

		$.cookie('adv_options', '', { expires: -1 });

		$.cookie('adv_popup', '', { expires: -1 });

		maxDays = 365;

		showDays = maxDays;

		showEndDate = 0;

		showEndTime = 0;

		advancedPopup = 0;					   

		showDow = 1;

		showNiles = 1;

		showOther = 1;

		$("#niles").attr("checked","true");

		$("#dow").attr("checked","true");

		$("#other").attr("checked","true");

		$("#showNilesDefault").attr("checked","true");

		$("#showDowDefault").attr("checked","true");

		$("#showOffDefault").attr("checked","true");

		$("#showEndTime").removeAttr("checked");

		$("#showEndDate").removeAttr("checked");

		$("#maxDays").val(365);

		checkErrors();

		callJSON();

	}

	

	function loadCookies() {

		if( $.cookie('adv_options') == 1) {

			// load the cookie defaults

			$("#maxDays").val($.cookie('max_days'));

			maxDays = $.cookie('max_days');

			showDays = maxDays;

			if($.cookie('show_end_time') == 1) {

				showEndTime = 1;

				$("#showEndTime").attr("checked","checked");

			} else {

				showEndTime = 0;

				$("#showEndTime").removeAttr("checked");

			}

			if($.cookie('show_end_date') == 1) {

				showEndDate = 1;

				$("#showEndDate").attr("checked","checked");

			} else {

				showEndDate = 0;

				$("#showEndDate").removeAttr("checked");

			}

			if($.cookie('show_niles_default') == 1) {

				showNiles = 1;

				$("#showNilesDefault").attr("checked","checked");

				$("#niles").attr("checked","true");

			} else {

				showNiles = 0;

				$("#showNilesDefault").removeAttr("checked");

				$("#niles").removeAttr("checked");

			}

			if($.cookie('show_dow_default') == 1) {

				showDow = 1;

				$("#showNDowDefault").attr("checked","checked");

				$("#dow").attr("checked","checked");

			} else {

				showDow = 0;

				$("#showDowDefault").removeAttr("checked");

				$("#dow").removeAttr("checked");

			}

			if($.cookie('show_off_default') == 1) {

				showOther = 1;

				$("#showOffDefault").attr("checked","checked");

				$("#other").attr("checked","checked");

			} else {

				showOther = 0;

				$("#showOffDefault").removeAttr("checked");

				$("#other").removeAttr("checked");

			} 

			if($.cookie('adv_popup') == 1) {

				advancedPopup = 1;

				$("#advancedPopup").attr("checked","checked");

			} else {

				advancedPopup = 0;

				$("#advancedPopup").removeAttr("checked");

			} 

		} else {

			$("#showNilesDefault").attr("checked","true");

			$("#showDowDefault").attr("checked","true");

			$("#showOffDefault").attr("checked","true");

			$("#showEndTime").removeAttr("checked");

			$("#showEndDate").removeAttr("checked");

			$("#advancedPopup").removeAttr("checked");

			$("#maxDays").val(365);

		}

		

	}

	

	

			

});