﻿var C_FAV_TUTORS_CHOOSE_PROMPT = "";
var C_FAV_TUTORS_UNAVAILABLE = "";
var C_SUB_TOPICS_DROPDOWN_ID = "";
var FAV_TUTORS_DATA_FREQUENCY = 60000;

var FavoriteTutorsData = null;
var BuildFavTutorListOnSucceed = true;

function GetFavoriteTutorsList() {
	jQuery.ajax({
		type: "POST",
		url: WEBSERVICE_PATH + "/WebServices/FavoriteTutors.asmx/UpdateFavoriteTutorsDataMini",
		data: "{}",
		contentType: "application/json; charset=utf-8",
		dataType: "json",
		error: function (xhr, msg, e) {
			//swallow this error otherwise things could get annoying
			jQuery(".favesrow").hide();
		},
		success: function (msg) {
			FavoriteTutorsData = msg.d;
			if (BuildFavTutorListOnSucceed == true)
				BuildFavoriteTutorsList();
		}
	});
}

function BuildFavoriteTutorsList(OnInit) {
	if (FavoriteTutorsData == null || FavoriteTutorsData.length == 0) {
		//hide faves
		jQuery(".favesrow").hide();
		return;
	}
	
	//#OS# getting selected subtopic id
	var subjectId = jQuery("#" + C_SUB_TOPICS_DROPDOWN_ID).val();

	//#OS# stripping off order number
	if (subjectId != null && typeof(subjectId) != 'undefined')
		subjectId = subjectId.substring(subjectId.indexOf('-') + 1);

	//#OS# clearing fav tutors list
	var favTutorsList = document.getElementById('favTutorsList');
	if (favTutorsList != null)
		favTutorsList.options.length = 0;

	var foundFavTutor = false;
	for (var i = 0; i < FavoriteTutorsData.length; i++) {
		var tutorSubjects = FavoriteTutorsData[i].TutorSubjects.split(',');
		var tutorTeachesStudentsSubject = false;
		for (var j = 0; j < tutorSubjects.length; j++) {
			if (tutorSubjects[j] == subjectId) {
				tutorTeachesStudentsSubject = true;
				break;
			}
		}
		
		if (tutorTeachesStudentsSubject == true && (FavoriteTutorsData[i].Status == "Available" || FavoriteTutorsData[i].Status == "In Session")) {
			favTutorsList.style.display = 'inline';

			if (document.getElementById('nofavorites_available') != null)
				document.getElementById('nofavorites_available').style.display = 'none';

			if (favTutorsList.options.length == 0) {
				favTutorsList.options[favTutorsList.options.length] = new Option(C_FAV_TUTORS_CHOOSE_PROMPT, "");
				favTutorsList.disabled = false;
			}
						
			favTutorsList.options[favTutorsList.options.length] = new Option(FavoriteTutorsData[i].DisplayName + " (" + FavoriteTutorsData[i].ApproximateWaitTime + ")", FavoriteTutorsData[i].TutorGUID);

			//is this the preselected favorite?
			if (typeof preselectedFaveGuid != 'undefined' && FavoriteTutorsData[i].TutorGUID == preselectedFaveGuid)
				favTutorsList.options.selectedIndex = favTutorsList.options.length - 1;
				
			foundFavTutor = true;
		}
	}

	if (foundFavTutor == false) {
		favTutorsList.options[favTutorsList.options.length] = new Option(C_FAV_TUTORS_UNAVAILABLE, "");
		favTutorsList.disabled = true;
		favTutorsList.style.display = 'none';

		if (document.getElementById('nofavorites_available') != null)
			document.getElementById('nofavorites_available').style.display = 'block';
	}
}

function AttachToSubtopicsDropdownOnchange() {
	jQuery("#" + C_SUB_TOPICS_DROPDOWN_ID).change(BuildFavoriteTutorsList);
}

function SelectFavTutor(favTutor) {
	document.getElementById('favTutorsList').value = favTutor;
}

function ClearFavTutorDropdown() {
	var favTutorsList = document.getElementById('favTutorsList');

	if (favTutorsList) {
		favTutorsList.options.length = 0;
		favTutorsList.options[favTutorsList.options.length] = new Option(C_FAV_TUTORS_CHOOSE_PROMPT, '');
		favTutorsList.disabled = true;
	}
}

