﻿$(document).ready(function() {

    $("#ctl00__searchTextBox").autocomplete("Autocomplete.aspx", {
        formatItem: formatItem,
        formatResult: formatResult,
        selectFirst: false,
        width: 260
    }).result(function(event, item) {
        search(item[0]);
    });

    $(".ldlForm select").change(function(event) {
        search($("#ctl00__searchTextBox").val());
    });

    $(".ldlForm input[type=checkbox]").change(function(event) {
        search($("#ctl00__searchTextBox").val());
    });

    $("#aspnetForm").submit(function(event) {
        // TODO - this fails on IE - put in some fix
        //if (event.originalEvent.explicitOriginalTarget.id == "ctl00__loginView__logoutButton")
        //		return true;
        search($("#ctl00__searchTextBox").val());
        return false; // cancel form post
    });

    //ec default enter key

    $("input#ctl00__searchTextBox").keydown(function(e) {
        var keycode = (e.keyCode ? e.keyCode : e.which);
        if (keycode.toString() == 13) {            
            e.preventDefault();
            e.stopPropagation();
            search($("#ctl00__searchTextBox").val());
        }
    });


});

//ctl00$_searchTextBox   being rendered on page source

//replace all instances of ctl00_bodyContent__searchTextBox   ??  Eugene

function formatItem(row) {
	return row[0] + "<span class=\"sub\">\"" + row[1] + "\"</span>";
}

function formatResult(row) {
	return row[0].replace(/(<.+?>)/gi, '');
}


//location.href("Search.aspx?searchText=" + searchText);
function search(searchText) {    

	location.href= 'CombinedSearch.aspx?searchText=' + searchText;

}

function displayResults(data, textStatus) {

	$("#searchResults").show();

	$.each(data, function(i, activity) { // Activities

		// *** Create a new node from the template by cloning
		var htmlActivityItemFrag = $("#searchResultItemTemplate").clone().attr("id", "activity" + activity.ActivityId);

		PopulateActivityItem(htmlActivityItemFrag, activity);
		htmlActivityItemFrag.appendTo("#searchResults").show();
		htmlActivityItemFrag.hide().slideDown(900);

		$.each(activity.ActivityTimes, function(i, activityTime) { // Activity times

			// *** Create a new node from the template by cloning
			var htmlActivityTimeFrag = $("#activityTimeTemplate").clone().attr("id", "activityTime" + activityTime.ActivityTimeId);

			PopulateActivityTimeItem(htmlActivityTimeFrag, activityTime);
			htmlActivityTimeFrag.appendTo(htmlActivityItemFrag.find(".activityTimes")).show();
		});
	});
}

function PopulateActivityItem(htmlFrag, activity) {

	// *** Now fill in the activity data
	htmlFrag.find("#activityName").attr("id", "activityName" + activity.ActivityId).attr("href", "ActivityDetails.aspx?activityId=" + activity.ActivityId).text(activity.Name);
	htmlFrag.find("#activityDescription").attr("id", "activityDescription" + activity.ActivityId).text(activity.Description);
	htmlFrag.find("#organisationName").attr("id", "organisationName" + activity.ActivityId).attr("href", "OrganisationDetails.aspx?organisationId=" + activity.OrganisationId).text(activity.OrganisationName);
}

function PopulateActivityTimeItem(htmlFrag, activityTime) {

	htmlFrag.find("#startDate").attr("id", "startDate" + activityTime.ActivityTimeId).text(activityTime.StartDate);
	htmlFrag.find("#endDate").attr("id", "endDate" + activityTime.ActivityTimeId).text(activityTime.EndDate);
}


