/**
 * @author philip.ward
 */
	function setSubtitlesVisible() {
		
		if (document.getElementById("AD").checked) {
			$("#stList").show();
		} else {
			$("#stList").hide();
		}
		return;
	}
	
	function showAdvanced() {	//	Show advanced search fields
	
		$("#advList").show();
		$("#avList").show();
		$("#noAdv").hide();
		
		return;
	}
	
	function updateList() {				//	Update list on client, with no feedback to server
	
		var askString = $("#keyword").val().toLowerCase();
		var askYear = $("#myyear").val().toLowerCase();
		var askType = $("#event_type").val().toLowerCase();
		var askLang = $("#hhsmlang").val().toLowerCase();
		var askTrans = $("#livetrans").val().toLowerCase();
		var askWhere = $("#cntry").val().toLowerCase();
		var askWhat = $("input[@name=audioStatus]:checked").val();
		
		//	Create boolean variables to avoid having to re-evaluate conditions on each iteration:
		
		var bString = new Boolean(askString != "");
		var bYear = new Boolean(askYear != "any year");
		var bType = new Boolean(askType != "any type");
		var bLang = new Boolean(askLang != "any language");
		var bTrans = new Boolean(askTrans != "any or none");
		var bWhere = new Boolean(askWhere != "any country");
		var bNoTrans = new Boolean(askTrans == "talks without translation");
		var bWhat = new Boolean(askWhat != "A");

		askWhere += "</td>"
		askYear += "</td>";
				
		var s = "Searching ";
		if (bString != false) {s += "string=" + askString + " "};
		if (bYear != false) {s += "year=" + askYear + " ";}
		if (bType != false) {s += "type=" + askType + " ";}
		if (bLang != false) {s += "lang=" + askLang + " ";}
		if (bTrans != false) {s += "trans=" + askTrans + " ";}
		if (bWhere != false) {s += "where=" + askWhere + " ";}
		
		if (bWhat != false) {
			var askSubttl = $("#stLang").val().toLowerCase();
			var bSubt = new Boolean(askSubttl != "any or none");
		}
		
//		log(s);
		
		var b = 0;	//	odd/even toggle for row display style
		var c = 0;	//	count of talks found
		var r = 0;	//	Total of talks so far
		var low;	//	innerHTML set to lower-case
		var i, j;
		
		//	Start by hiding everything except the header row:
		
		HideAllRows();
		$("#frameRow").removeClass("oddrow evenrow").show();
		
		//	Now pick out the rows we want:

		$("#resultsTable tr").each(function() {
			
			r++;
			h = $(this).html().toLowerCase();
			var ss = h.substring(0,40);
//			log ("** " + ss);
			
			//	Check for search string:
			
			if (bString != false) {
				if (h.indexOf(askString) < 0) {
					return true;
				}				
			}
			
			//	Check for year:
			
			if (bYear != false) {
				var ss = h.substring(0,40);
//				log ("** " + ss);
//				log("** " + h.indexOf(askYear));
				if (h.indexOf(askYear) < 0) {
					return true;
				}				
			}
			
			//	Check for talk type:
			
			if (bType != false) {
				if (h.indexOf(">" + askType) < 0) {
					return true;
				}
			}
			
			//	Check for language:
			
			if (bLang != false) {
				if (h.indexOf("<td>" + askLang) < 0) {
					return true;
				}
			}
			
			//	Check for translation, or no translation:
			
			if (bTrans != false) {
				
				if (bNoTrans != false) {
					if (h.indexOf("<td>english (") + h.indexOf("<td>hindi (") + h.indexOf("<td>marathi (") > 0) {
						return true;
					}
				} else {
					if (h.indexOf("(" + askTrans) + h.indexOf(askTrans + ")") + h.indexOf("( " + askTrans) < 0) {
						return true;
					}						
				}			
			}
			
			//	Check for country:
			
			if (bWhere != false) {
				if (h.indexOf(", " + askWhere) < 0) {
					return true;
				}
			}
			
			//	Check for status:
			
			if (bWhat != false) {
				switch (askWhat) {
					case "D":			//	Digitized audios
						if (h.indexOf("au_gr") < 0) {
							return true;
						}
						break;
					case "M":			//	Missing audios
						if (h.indexOf("au_") + h.indexOf("vi_") > 0) {
							return true;
						}
						break;
					case "VD":			//	Digitized videos
						if (h.indexOf("vi_gr") + h.indexOf("vi_wf") + h.indexOf("vi_ni") < 0) {
							return true;
						}
						break;
					case "VM":			//	Missing videos
						if (r < 500) {	//	Ignore anything before some time in 1981
							return true;
						}
						if (h.indexOf("vi_") > 0) {
							return true;
						}
						break;
					case "AD":			//	Available from store
						if (h.indexOf("vi_ni") + h.indexOf("vi_wf") + h.indexOf("au_ni") + h.indexOf("au_wf") < 0) {
							return true;
						}
						
						//	Check whether subtitles in a particular language are required:
						
						if (bSubt != false) {
							i = h.indexOf("subttl=");
							if (i<0) {
								return true;
							}
							j = h.indexOf(askSubttl);
							if (j<i) {
								return true;
							} 							
						}
				}
			}
			
			//	If an entry has not been eliminated, list it and give it odd- or even-row formatting:
			
			if (h.indexOf("<th>") < 0) {
				
				if (b==0) {
					r = "oddrow";
					b=1;
				} else {
					r = "evenrow";
					b=0;
				}
				$(this).show().addClass(r);
				c++;
				$("#talksCount").html(c);
			} else {
				$(this).show();	//	Header row
			}
			
		});
		
		$("#headerRow").removeClass("oddrow evenrow").show();	
		$("#talksCount").html(c);
		log(c + " talks found");	
//		report();
		 		
	}
	
	function getResults(someArg) {		//	get list of talks
	
		var excel = 'None';
	
		if (someArg == 2) {
			excel = 'excel';	//	Dump output to screen for cut and paste to Excel.
			alert("After the screen has finished updating, cut and paste the whole screen into an Excel spreadsheet. Refresh the screen to return to the normal display.");
		}
	
		$("#results").html("<DIV align=center><BR><H1>Querying our database, please wait...</h1></DIV>");
	
		var url = "http://talks.sahajayogaonline.com/cgi-bin/SimpleForm.pl";
				
		if (someArg < 3) {
			
			var qry = "w=" + $("#keyword").val() + "~~~" +
			$("#event_type").val() +
			"~~~" +
			$("#hhsmlang").val() +
			"~~~" +
			$("#livetrans").val() +
			"~~~" +
			$("#cntry").val() +
			"~~~" +
			$("#myyear").val() +
			"~~~" +
			$("input[@name=audioStatus]:checked").val() +
			"~~~" +
			$("#stLang").val() +
			"~~~" +
			$("#evcount").val() +
			"~~~" +
			$("#user").val() +
			"~~~" +
			$("#session").val() +
			"~~~" +
			excel +
			"~~~" +
			"TRUE";
			
			var qq = qry.substr(0, 67);
			
			//	Warn that looking for everything may take a long time...

			if (qq == "w=~~~Any type~~~Any language~~~Any or none~~~Any country~~~Any year") {
				if ($("#stLang").val() == "Any or none") {
					var x = window.confirm("Listing everything without restriction might take a long time. Please click OK to continue.");
					if (!x) {
						$("#results").html("");
						return;
					}
				}
			}
		}
			
		//	Pass the query to SimpleForm, put results in the results DIV.
		
		log("Submitting query...");
		$("#provFeedback").show();
		
		url = url + "?" + qry;
		log(url);
		
		var x = $.get(url, function(data) {
			$("#results").html(data);
		});
				
		log("Query submitted: qry");
		
		return;
	}
	
	function HideAllRows() {
		
		log("Hiding rows");
		$("#results tr").removeClass("oddrow evenrow").hide();
		log("Rows hidden");
		
	}
	
