
RegionSchoolSearch = function Region_School_Search(url,sortCriteria,sortOrder){
	this.tableCssClass = "regTable";
	this.Url = url;
	this.sortCriteria = sortCriteria;
	this.sortOrder = sortOrder;
	
}
RegionSchoolSearch.prototype = {
	Sort: RegionSchoolSearch_Sort,
	ScrollIntoView: RegionSchoolSearch_ScrollIntoView
}

function RegionSchoolSearch_ScrollIntoView() {
	var elements = $$(document.body, 'table', this.tableCssClass);
	if (elements.length) {
	 	var el = elements[0];
		if (el.scrollIntoView) {
			el.scrollIntoView();	
		}
	 }
}

function RegionSchoolSearch_Sort(sortCriteria, sortOrder) {
	var params = [];
	if (this.sortCriteria == sortCriteria)
		this.sortOrder = this.sortOrder == K12SortOrder.Ascending ? K12SortOrder.Descending : K12SortOrder.Ascending;
	else this.sortOrder = sortOrder;
	
	params.push(Url.createParameter(P_SORT_ORDER, this.sortOrder));
	params.push(Url.createParameter(P_SORT_CRITERIA, sortCriteria));

	var url = this.Url; 
	url = Url.addParameters(url, params);
	
	Url.navigate(url);
}

DistrictLink = {
	SetDistricts : DistrictLink_SetDistricts,
	SaveDistrictId : DistrictLink_SaveDistrictId,
	IsIdExist: DistrictLink_IsIdExist,
	GetIds : DistrictLink_GetIds,
	GetIdsHash : DistrictLink_GetIdsHash
}

function DistrictLink_SetDistricts(cssClass,prpCssClass)
{
	if (cssClass)
	{
		var elms = DomElement.getElementsByClassName(document.body, "*", cssClass);
		var idsHash = DistrictLink.GetIdsHash(DistrictLink.GetIds());
		for (var i =0; i < elms.length; i++)
		{
			var districtId = elms[i].getAttribute("districtid");
			if (DistrictLink.IsIdExist(districtId,idsHash))
			{
				DomElement.addCssClass(elms[i],prpCssClass);
			}
		}
	}
}

function DistrictLink_SaveDistrictId(elm)
{
	if (elm)
	{
		var id = elm.getAttribute("districtid");
		var ids = DistrictLink.GetIds();
		if (!DistrictLink.IsIdExist(id,DistrictLink.GetIdsHash(ids)))
		{
			ids.push(id);
			Cookie.SetSession(P_VISITED_DISTRICT_ID,ids.join(','));
		}
	}
}

function DistrictLink_IsIdExist(id, cookieValue)
{
	if (cookieValue && cookieValue[id]) return true;
	return false;
}

function DistrictLink_GetIds()
{
	var ids = [];
	var cookieValue = Cookie.Get(P_VISITED_DISTRICT_ID);
	if (cookieValue) ids = cookieValue.split(',');
	return ids;
}

function DistrictLink_GetIdsHash(ids)
{
	return Array.getHash(ids);
}

