﻿/////////////////////////////////////////////////////////////////////////////////////
//*******************************Schools*******************************************//
/////////////////////////////////////////////////////////////////////////////////////

function findNearbySchools(searchParam)
{ 
  var queryString = searchParam.get_QueryString();
  var l = map.getCenter();
  lastSearchParam = searchParam;
  Realosophy.Web.Service.FindNearby.FindNearbySchools(l.lat(), l.lng(), 1, 1, queryString, OnFindNearbySchoolsComplete, FailedComplete, searchParam);
}

function OnFindNearbySchoolsComplete(result, userContext, methodName)
{
  var section; 
  var formatterFunc = userContext.get_FormatterFunc(); //[Realosophy.Web.Client.SearchParam.FormatterFunc];

  if( userContext.get_ShowHeader() == true ) // Means we have a HeaderText option set
    section = mySearchWell.createSection(userContext.get_DOMElementName(), userContext.get_Header());
  else
    section = mySearchWell.createSection(userContext.get_DOMElementName());

  var header = CreateHeaderRow();  
  section.get_Item().appendChild(header);
  
  var ri = icons[Realosophy.Web.Client.IconType.School];

  for(var i = 0; i < result.length; i++)
  {
    result[i].lat = result[i].GeoPoint.lat;
    result[i].lng = result[i].GeoPoint.lng;
    var swi = new Realosophy.Web.Client.SearchWellItem(section, result[i], ri.ColdIcon, ri.HotIcon);
    swi.add_disposeItem(disposeSchoolSearchWellItem);
    
    //Setup the marker click event and HTML
    var markerHTML = formatSchoolSearchResultMarker(result[i]);
    swi.add_MarkerClick(markerHTML);
    
    swi.className('sr-result-container');
    var obj = formatterFunc(result[i]);
    $addHandler(obj, 'mouseover', hiliteSchoolMarker);
    $addHandler(obj, 'mouseout', hiliteSchoolMarker); 
    $addHandler(obj, 'click', showInfoWindow);   
    swi.appendChild(obj);
    section.add_SectionItem(swi);
    swi.showMarker();
  }
  mySearchWell.addSection(section);
}

function disposeSchoolSearchWellItem(sender, e){
  var child = sender.get_ListItem().firstChild;
  $removeHandler(child, 'mouseover', hiliteSchoolMarker);
  $removeHandler(child, 'mouseout', hiliteSchoolMarker);
  $removeHandler(child, 'click', showInfoWindow);

  sender.remove_disposeItem(disposeSchoolSearchWellItem);
}

function showInfoWindow(eventElement){
  var swi = getSearchWellItemElement('School', eventElement.target);
  if( swi )
    swi.showInfoWindow();
}

function hiliteSchoolMarker(eventElement){
  var swi = getSearchWellItemElement('School', eventElement.target);
  if( swi )
    swi.hiliteMarker();
}

function formatSchoolTabPOI(result){
  var tbl = document.createElement("table");
  var tbody = document.createElement("tbody");
  var tr = document.createElement("tr");  
  var spnSchoolName = document.createElement("td");
  var spnMath = document.createElement("td");
  var spnEng = document.createElement("td");
  var spnReport = document.createElement("td");
  
  spnSchoolName.className = "SchoolName";
  spnSchoolName.innerHTML = result.SchoolName.toUpperCase();
  spnMath.className = "SchoolTabDetailLink";
  spnMath.innerHTML = "<img src='" + RealSystem.resolveClientUrl("~/images/grades/" + result.LiteraryGradeURL) + "' alt='English grade'/>";
  spnEng.className = "SchoolTabDetailLink";
  spnEng.innerHTML  = "<img src='" + RealSystem.resolveClientUrl("~/images/grades/" + result.MathGradeURL) + "' alt='Math grade'/>";

  spnReport.className = "SchoolTabDetailLink";
  if (result.SchoolReport1URL !=""){
    spnReport.innerHTML = "<a href='" + result.SchoolReport1URL + "'><img height='30px' width='30px' style='border:none' src='" + RealSystem.resolveClientUrl("~/images/graph.gif") + "' alt='school eqao report' /></a>";
  }
  
  tr.appendChild(spnSchoolName);
  tr.appendChild(spnMath);
  tr.appendChild(spnEng);
  tr.appendChild(spnReport);
  tbody.appendChild(tr);
  tbl.appendChild(tbody);
  
  return tbl;
}

function formatSchoolSearchResultMarker(result){
  var srl1 = document.createElement('div');
  var sb = new Sys.StringBuilder();
  sb.append("<div style='font-size:13px;'>");
	sb.append("<table border='0'>");
  sb.append("<tr>");
  sb.append("<td style='background-color: #CCE596; font-weight:bold' colspan='3'>");
  sb.append(result.SchoolName);
  sb.append("</td></tr><tr>");
  sb.append("<td width='150px' colspan='2'>");
  sb.append("<span class='BlueText SmallHeader'>Location</span><br />");
  sb.append("<span style='text-transform:capitalize'>" + result.Address1 + "</span>");
  sb.append("</td>");
  sb.append("<td valign='top' align='right' style='padding-left:5px'>");
  sb.append("<span class='BlueText SmallHeader'>No. of Students</span><br />");
  sb.append(result.NumberOfStudents);
  sb.append("</td></tr><tr>");
  sb.append("<td colspan='3'>");
  sb.append("<span class='BlueText SmallHeader'>Phone: </span>");
  sb.append(result.Phone);
  sb.append("<br />");
  sb.append("<span class='BlueText SmallHeader'>Email: </span>");
  sb.append(result.Email);
  sb.append("<br />");
  sb.append("<span class='BlueText SmallHeader'>Website: </span>");
  sb.append("<a href='" + result.Website + "' target='_blank'>Click Here...</a>");
  sb.append("<br />");
  sb.append("<span class='BlueText SmallHeader'>Board: </span>");
  sb.append("<span style='text-transform:lowercase'>" + result.SchoolBoard + "</span>");
  sb.append("</td></tr>");
  sb.append("<tr style='background-color:Black; color: White; font-weight:bold; '>");
  sb.append("<td>English</td>");
  sb.append("<td>Math</td>");
  sb.append("<td>Profile</td>");

  sb.append("<tr><td>");
  sb.append("<img src='" + RealSystem.resolveClientUrl("~/images/grades/" + result.LiteraryGradeURL) + "' alt='english grade'/>");
  sb.append("</td><td>");
  sb.append("<img src='" + RealSystem.resolveClientUrl("~/images/grades/" + result.MathGradeURL) + "' alt='math grade'/></td>");
  if (result.SchoolReport1URL !="") {
    sb.append("<td align='center'>");
    sb.append("<a href='" + result.SchoolReport1URL + "'><img height='30px' width='30px' style='border:none' src='" + RealSystem.resolveClientUrl("~/images/graph.gif") + "' alt='school eqao report'/></a></td>");
  }

  sb.append("</tr>");
  sb.append("</table>");
  sb.append("</div>");
  
  srl1.innerHTML = sb.toString()
  return srl1; 
}

function CreateHeaderRow()
{
  var tbl = document.createElement("table");
  var tbody = document.createElement("tbody");
  var tr = document.createElement("tr");  
  var spnSchoolName = document.createElement("td");
  var spnMath = document.createElement("td");
  var spnEng = document.createElement("td");
  var spnReport = document.createElement("td");
  
  spnSchoolName.className = "SchoolPOIHeader";
  spnSchoolName.innerHTML = "Looking for more schools?  Drag the map!";
  spnMath.className = "SchoolTabDetailLink";
  spnMath.innerHTML = "Eng";
  spnEng.className = "SchoolTabDetailLink";
  spnEng.innerHTML = "Math";
  spnReport.className = "SchoolTabDetailLink";
  spnReport.innerHTML = "Profile" 
  
  tr.appendChild(spnSchoolName);
  tr.appendChild(spnMath);
  tr.appendChild(spnEng);  
  tr.appendChild(spnReport);
  tbody.appendChild(tr);
  tbl.appendChild(tbody);
  
  return tbl;
}