$(function() {	
	// jQuery UI library for the date picker: http://jqueryui.com/demos/datepicker/#option-dateFormat
	//setter
	$('.selector').datepicker({ changeYear: true });		
	$('.selector').datepicker('option', 'yearRange', '1920:2010');
	$('.selector').datepicker('option', 'changeMonth', true);		
	$('.selector').datepicker('option', 'dateFormat', 'mm/dd/yy');
});	
	
function send_search_request (datePicker)
{
	var searchableDate = get_searchable_birthday (datePicker);
	if (searchableDate != null)
	{	
		sendAJAXRequest ("function=search-pi&pattern=" + searchableDate);
	}
	else
	{
		alert ("There was a problem. Please try again.");
	}
}

function display_searched_results (strPosition, strSegment)
{
	var theDiv = document.getElementById ("searched-results");
	var theResults = document.getElementById ("searched-results-div");
	var IE = document.all?true:false	
	
	theDiv.style.display = "block";
	theResults.style.display = "block";	

	if ((strPosition != null) && (strSegment != null))
	{
		theResults.innerHTML = "<div id = 'string-position'>Your birth date was found at the " + strPosition + "th position!</div>";
		$("#searched-results-div").html(strSegment);
		
		/*
		if (IE)
		{
			//theResults.innerHTML += "<div id = 'string-segment'>Sorry, it looks like you're using internet explorer. Try using Firefox/Chrome/Safari for the full result</div>";								
			$("#searched-results-div").html(strSegment)
		}
		else
		{
			theResults.innerHTML += "<div id = 'string-segment'>" + strSegment + "</div>";					
		}
		*/
	}
	else
	{
		theResults.innerHTML = "<div>searching pi...</div>";		
	}	
}

function display_plain_text_birthday (datePicker, displayDiv)
{
	var plainTextDate = get_plain_text_birthday (datePicker);
	var searchableDate = get_searchable_birthday (datePicker);
			
	if (plainTextDate != null)
	{
		//document.getElementById (displayDiv).firstChild.nodeValue = "Searching for " + plainTextDate + " ( " + searchableDate + " )";
		var theDiv = document.getElementById (displayDiv);
		theDiv.innerHTML = "Searching for " + searchableDate + " ( <strong>" + plainTextDate + "</strong> )";
		theDiv.style.display="block";
		
		//var inputBox = document.getElementById (datePicker);
		//inputBox.value = plainTextDate;
		//inputBox.disabled = "true";		
	}
}

function highlight_text (strPattern, strSegment)
{
	var replaceText = "<strong>" + strPattern + "</strong>";
	strSegment = str_replace (strPattern, replaceText, strSegment);
	
return strSegment;
}

function get_plain_text_birthday (datePicker)
{
	var el = document.getElementById ("plain-english-birthday");
	var unformattedDate = document.getElementById(datePicker).value;
	var timestamp = strtotime (unformattedDate);
	var formattedDate = date('F j, Y', timestamp);
	return formattedDate;
}

function get_searchable_birthday (datePicker)
{
	var el = document.getElementById ("plain-english-birthday");
	var unformattedDate = document.getElementById(datePicker).value;

	var timestamp = strtotime (unformattedDate);
	var formattedDate = date('njy', timestamp);
	return formattedDate;
}

function updated_search_results (xmlDoc)
{
	var result 	= xmlDoc.getElementsByTagName ("result")[0].firstChild.nodeValue;									
	if (result == "success")
	{
		var strPattern = xmlDoc.getElementsByTagName ("string_pattern")[0].firstChild.nodeValue;											
		var strPosition = xmlDoc.getElementsByTagName ("string_position")[0].firstChild.nodeValue;											
		var strSegment = xmlDoc.getElementsByTagName ("string_segment")[0].firstChild.nodeValue;													

		strSegment = "3.14159265..." + strSegment + "...";
		strSegment = chunk_split (strSegment, 63, "<br />");
		
		strSegment = highlight_text (strPattern, strSegment);				
		display_searched_results (strPosition, strSegment);				
	}
	else
	{
		alert ("No results were found. My pi collection is just not long enough :(");
	}
}