var caption_indexes      = new Array();

var timecodes = new Array();
timecodes[0] = 0;
timecodes[1] = 421000;
timecodes[2] = 494000;
timecodes[3] = 529000;
timecodes[4] = 592000;
timecodes[5] = 729000;
timecodes[6] = 789000;
timecodes[7] = 892000;
timecodes[8] = 990000;
timecodes[9] = 1026000;
timecodes[10] = 1094000;
timecodes[11] = 1142000;
timecodes[12] = 1268000;
timecodes[13] = 1323000;
timecodes[14] = 1368000;
timecodes[15] = 1428000;
timecodes[16] = 1513000;
timecodes[17] = 1567000;
timecodes[18] = 1623000;
timecodes[19] = 1700000;
timecodes[20] = 1728000;
timecodes[21] = 2399000;
timecodes[22] = 2472000;
timecodes[23] = 2516000;
timecodes[24] = 2715000;
timecodes[25] = 2763000;
timecodes[26] = 2886000;
timecodes[27] = 2981000;
timecodes[28] = 3150000;
timecodes[29] = 3317000;
timecodes[30] = 3355000;
timecodes[31] = 3409000;
timecodes[32] = 3517000;
timecodes[33] = 3593000;
timecodes[34] = 3674000;
timecodes[35] = 3798000;


var captions = new Array();
captions[0] = "The World in 2050|";
captions[1] = "John Bongaarts:Human Population Growth and the Demographic Transition|";
captions[2] = "Outline|3";
captions[3] = "World population size|4";
captions[4] = "Population trends by region|5";
captions[5] = "Adverse effects of rapid population growth|";
captions[6] = "Life expectancy by region|7";
captions[7] = "Fertility trends|8";
captions[8] = "Population by age: Italy|9";
captions[9] = "Old age dependency ratio (65+/15-64)|10";
captions[10] = "Population by age: Mexico|11";
captions[11] = "Working age population (%)|12";
captions[12] = "Political implications of a young age structure|";
captions[13] = "Percent of population \<25 by region, 2005|";
captions[14] = "Youth (15-24) by country (1950=1)|";
captions[15] = "Why population growth continues in the developing world|16";
captions[16] = "Components of population growth, Pakistan|17";
captions[17] = "Wanted and unwanted fertility|";
captions[18] = "Causes of growth and policy options|19";
captions[19] = "Conclusions|20";
captions[20] = "Discussion|";
captions[21] = "Alex Ezeh:Stalled Fertility Decline in Eastern Africa: Evidence and Implications|";
captions[22] = "Outline|";
captions[23] = "Overview|";
captions[24] = "Overview – Data and Methods|";
captions[25] = "Models for explaining the stall|";
captions[26] = "Trends in TFR - National|";
captions[27] = "Transition & Stall by SE Characteristics, Kenya 1988-1993 & 1998-2003|";
captions[28] = "Fertility Stall and Changing Reproductive Behavior, Kenya 1998-2003|";
captions[29] = "Number of children per woman in Kenya – National 1993, 1998, 2003|";
captions[30] = "Fertility & Ideal family size by wealth status|While the poor have over 40% more children than they desire, the rich are able to fully implement their desired family size";
captions[31] = "Summary of key findings|";
captions[32] = "Changes in Future Population Projections before and after the Stall in Fertility Decline|";
captions[33] = "The Quantum of Momentum - Cost of Delayed Action|Although contraception works, the cost of delayed action can be enormous! Now is the time to act! The example of Pakistan and Bangladesh provides a compelling case. With a 15-year disruption in FP programs in Pakistan in the 1970s to early 80s, the country will have 65 million people more than Bangladesh by 2050 even though it had 5million people less in 1970! Due to demographic momentum, the people to push population growth in SSA over the next 20-30 years are already born. Efforts now will ensure that progress will begin to be evident in the next 30+ years!";
captions[34] = "Reflections|";
captions[35] = "Discussion|";


function create_caption_indexes()
{
	var i;
	var running_total=0;
	caption_indexes[0]=running_total;
	for(i=1; i <= captions.length; i++)
	{
		running_total = running_total + captions[i-1].length + 1;
		caption_indexes[i]=running_total;
	}
	return running_total;
}
function find_instances2(search_term) {
  var caption;
  var new_search_term;
  var regular_expression;  
  var s1='';     
  
  s1="<html><head>"; 
  s1=s1+"<link rel=\"stylesheet\" type=\"text/css\" href=\"default.css\">";
  s1=s1+"<script src=\"search.js\"></script></head>";   
  s1=s1+"<body>";
  s1=s1+"<div id=\"search\"><form name=\"form1\" onSubmit=\"find_instances2(document.form1.searchme.value);return false;\">"; 
  s1=s1+"<span style='font-family:Helvetica,Arial;font-size:11px;font-weight:bold;'>Search slide notes and transcript:</span><br/>";
  s1=s1+"<input type=\"text\" size=\"25\" name=\"searchme\" value=\"\">"; 
  s1=s1+"<a href=\"#\" onClick=\"find_instances2(document.form1.searchme.value);return false;\"><img src=\"search.gif\" border=\"0\" alt=\"Search\"></a>"; 
  s1=s1+"</form></div>";   
  s1=s1+"<span style='font-family:Helvetica,Arial;font-size:11px;font-weight:bold;'>";
  s1=s1+'<hr width="100%"/>\n';
  s1=s1+"Search results for: \"" + search_term.toUpperCase() + "\"";

  s1=s1+'<hr width="100%"/>\n';
  //CHECK THE SEARCH TERM TO MAKE SURE IT IS LEGIT--STRIP OUT FINAL *, BAD PUNCTUATION, ETC.
  if (search_term.length > 0) {
    new_search_term = filter_search_term(search_term);
    regular_expression = new RegExp(new_search_term, "gi");

    for(i = 0; i < captions.length; ++i) {
      caption = captions[i];
      if (regular_expression.test(caption)) {
        href = make_href(i, caption);
        s1=s1+href + "<br>\n";
      }
    }
  }
  //s1=s1+"<br><br>End of search results";
  s1=s1+"</span></body></html>";

parent.tabcontent.document.getElementById('search').innerHTML="";  
parent.tabcontent.document.getElementById('search').innerHTML=s1;  
  
}
function find_instances3(search_term) {
  var caption;
  var new_search_term;
  var regular_expression;  
  var s1='';     
  
  s1="<html><head>"; 
  s1=s1+"<link rel=\"stylesheet\" type=\"text/css\" href=\"default.css\">";
  s1=s1+"<script src=\"search.js\"></script></head>";   
  s1=s1+"<body><a href=\"#\" onClick=\"javascript:parent.ChangeTab('keywords','search','keywordsResults','outline');parent.TabSelected(2);return false;\"><< Back to Keywords</a><br/>";
  s1=s1+"<span style='font-family:Helvetica,Arial;font-size:11px;font-weight:bold;'>";
  s1=s1+'<hr width="100%"/>\n';
  s1=s1+"Slides containing keyword: \"" + search_term.toUpperCase() + "\"";

  s1=s1+'<hr width="100%"/>\n';
  if (search_term.length > 0) {
    new_search_term = filter_search_term(search_term);
    regular_expression = new RegExp(new_search_term, "gi");

    for(i = 0; i < captions.length; ++i) {
      caption = captions[i];
      if (regular_expression.test(caption)) {
        href = make_href2(i, caption);
        s1=s1+href + "<br>\n";
      }
    }
  }
  //s1=s1+"<br><br>End of keyword results";
  s1=s1+"</span></body></html>";
  
parent.tabcontent.document.getElementById('keywords').style.display="none";
parent.tabcontent.document.getElementById('keywordsResults').style.display="block";
parent.tabcontent.document.getElementById('keywordsResults').innerHTML="";  
parent.tabcontent.document.getElementById('keywordsResults').innerHTML=s1;  
  
}

function filter_search_term(search_term) {
  new_search_term = filter_out_bad_punctuation(search_term);
  regexp_period = /\./gi;
  regexp_asterisk = /\*/gi;
  regexp_many_asterisks = /[\*][\*]+/gi;
  regexp_final_asterisk = /(\w*)\*$/gi;
  regexp_question = /\?/gi;

  period_replace = 	 "\\\\.";
  many_asterisks_replace = "\*";
  asterisk_replace = "[A-Za-z_&\\-]*";
  question_replace = ".";

  new_search_term1 = new_search_term.replace(regexp_period,period_replace);
  new_search_term2 = new_search_term1.replace(regexp_many_asterisks,many_asterisks_replace);
  new_search_term3 = new_search_term2.replace(regexp_final_asterisk,"$1");
  new_search_term4 = new_search_term3.replace(regexp_asterisk,asterisk_replace);
  new_search_term5 = new_search_term4.replace(regexp_question,question_replace);

  filtered_search_term = new_search_term5;
  return filtered_search_term;
}

function filter_out_bad_punctuation(search_term)
{
		regexp_backslash = 	 /\\/gi;
		regexp_slash = 	         /\//gi;
		regexp_ampersand = 	 /\&/gi;
		regexp_plus = 		 /\+/gi;

		regexp_openparen = 	 /\(/gi;
		regexp_closeparen = 	 /\)/gi;
		regexp_openbracket =	 /\[/gi;
		regexp_closebracket =	 /\]/gi;
		regexp_carrot =		 /\^/gi;
		regexp_dollar = 	 /\$/gi;
		regexp_bar =		 /\|/gi;

		backslash_replace = 	 "\\\\";
		ampersand_replace = 	 "\\&";
		plus_replace =   	 "\\+";
		slash_replace =  	 "\\/";
		openbracket_replace =	 "\\[";
		closebracket_replace =	 "\\]";
		openparen_replace = 	 "\\(";
		closeparen_replace =  	 "\\)";

		carrot_replace =	"\\^";
		dollar_replace =	"\\$";
		bar_replace =		"\\|";

		search_term1  = search_term.replace(regexp_backslash,backslash_replace);
		search_term2  = search_term1.replace(regexp_slash,slash_replace);
		search_term3  = search_term2.replace(regexp_ampersand,ampersand_replace);
		search_term4  = search_term3.replace(regexp_plus,plus_replace);
		search_term5  = search_term4.replace(regexp_openparen,openparen_replace);
		search_term6  = search_term5.replace(regexp_closeparen,closeparen_replace);
		search_term7  = search_term6.replace(regexp_openbracket,openbracket_replace);
		search_term8  = search_term7.replace(regexp_closebracket,closebracket_replace);
		search_term9  = search_term8.replace(regexp_carrot,carrot_replace);
		search_term10 = search_term9.replace(regexp_dollar,dollar_replace);
		search_term11 = search_term10.replace(regexp_bar,bar_replace);

		punctuation_filtered_search_term = search_term11;

		return punctuation_filtered_search_term;
}

function make_href(caption_index, searched_caption)
{
	var caption = captions[caption_index];
	var timecode = timecodes[caption_index];
	var vid_string = get_video_string(timecode);
	var href = "\n <a href='#' OnClick='" + vid_string + ";return false;'>";
	href += searched_caption.substring(0, searched_caption.indexOf('|')) + "</a>";
	bullet_string = "Slide " + (caption_index +1) + ":  ";
	output_string = bullet_string + href;
	return output_string;
	return href;
}
function make_href2(caption_index, searched_caption)
{
	var caption = captions[caption_index];
	var timecode = timecodes[caption_index];
	var vid_string = get_video_string(timecode);
	var href = "\n <a href='#' OnClick='" + vid_string + ";return false;'>";
	href += searched_caption.substring(0, searched_caption.indexOf('|')) + "</a>";
	bullet_string = "Slide " + (caption_index +1) + ":  ";
	output_string = bullet_string + href;
	return output_string;
	return href;
}

function get_video_string(actual_timecode)
{
	var vid_string = "";
	//vid_string += "top.videoFrame.seek(" + actual_timecode + ")";
	vid_string += "parent.BuildPlayer(\"ERROR\"," + actual_timecode + ")";
	return vid_string;
}

/**********************
function search_term_is_a_digit(search_term)
{
	var test = parseInt(search_term);
	if (test >= 0 && test <= 9)
		return true;
	else
		return false;
}
**********************/