﻿// JScript File


     //#########################################################################
     // MAP Simple Search
     //########################################################################
     
          var currentPage = 0;
     var pageCount = 2;

     

function GetSearchResults_Simple()
{

//alert("test");
//set info
var sb = new StringBuilder();
	sb.append("searching");
	  $("#searchResults").html(sb.toString());

          $("#loadstatus").show();
           $("#progressmeter").show();
         $("#loadstatus").html("Downloading...");
         $("#loading").show();
         
                        
//=== whats being searched ===//
WhatSearching()
WhatFiltering()

 
  var iw = map.getInfoWindow(); 
  if (!iw.isHidden()) { 
   map.closeInfoWindow();
  } 
  
  
    SetMapCenterPoint(map.getCenter().lat(), map.getCenter().lng(), map.getZoom());
//    HideInfo()

}


function ResetSearchResults_Simple()
{

alert('reset me');
    document.getElementById('txtAdvancedSearch').value = '';
 GetSearchResults_Simple();
 
 $("#searchResults").hide();

}

     //#########################################################################
     // MAP Advanced Search
     //########################################################################
     
     //===== Show search results =====//
function GetSearchResults()
{

bolSearch = true;
var intRegion = $('#ctlMap_drpRegionList').val()
alert('region ' + intRegion);

    if (intRegion == -1)
    {
        SetMapCenterPoint(map.getCenter().lat(), map.getCenter().lng(), map.getZoom());
        }
        else
        {
        PerfectArc.MapManager._controls_FullRegionControl.GetSearchMapCriteria(intRegion,  GetSearchCriteria_callback);

    }

}


//==== Callback search criteria ====//
function GetSearchCriteria_callback(res)
{
    SetMapCenterPoint(res.value.PinLat,res.value.PinLng, res.value.PinMatch);
}


//==== set center of map =====//
function SetMapCenterPoint(pinLat, pinLng, zoomLevel)
{
     map.setCenter(new GLatLng( pinLat, pinLng), zoomLevel );
}




//#########################################################################################
//===== Show results in right panel ====//
//#########################################################################################
function ShowSearchResults()
{
//##DEGUG alert('search pahse3 ' + rarray.length);

    currentPage = 0;
     pageCount = 3;

  //=== build string ===//

var sb = new StringBuilder();
  sb.append("<ul>"); //start list
        
  	if (searchResults.length > 0) {
      
        //loop array
   for (var i=0; i< searchResults.length; i++) {
   
      var re = / /g
  var ifind = StringAscciReplace(searchResults[i].myMember) //.trim().replace(re, "___");

 //debug alert(searchResults[i].myMember + ' ' + searchResults[i].myName)
sb.append("<li>");
 //  sb.append(rarray[i].myName);
// sb.append("<a onclick=GetMemberData('" + rarray[i].myMember + "');>");
 // sb.append(" | view | </a>");
     sb.append("<a onclick=FindMemberOnMap('" + ifind + "');>");
        sb.append(searchResults[i].myName + " </a>");
 sb.append("</li>");
   }
   // onclick=FindMemberOnMap('" + rarray[i].myMember + "');
   
      }
   else{
    sb.append("<li>");
     sb.append("<strong>Sorry no results found. &nbsp;&nbsp;<img src=images/cross.gif /><br/> <br/>Please search again, expand/change your view or click below to:<br/> <br/>")
     sb.append("<a onclick=ExpandSearchOnMap();>Expand Search to whole of UK</a>")
               sb.append("</li>");
   }
   
     sb.append("</ul>"); //close list
//##DEGUG alert("search " + sb.toString());


//##DEGUG alert("hide and show");
//hide rotator + prem
 $("#divRotatingAdvert").hide();
  $("#divPremiereAdvert").hide();
 $("#divInfo").hide();
 
//show info
$("#divSearchResults").show();
$("#searchResults").show();
$("#divSearch").show();

//set info
  $("#searchResults").html(sb.toString());

}


//##################################################################################
// what is being saerched and filtered
//##################################################################################
function WhatSearching()
{
//=== whats being searched === //
  var searchTerm = document.getElementById('txtAdvancedSearch').value;
  if (searchTerm.length == 0) 
  {
  searchTerm = " "
  }
  
  
//declare string builder - searching 
var sbSearch = new StringBuilder();
sbSearch.append("Searching keyword: <strong>" + searchTerm + "</strong>");
  $("#divSearching").html(sbSearch.toString());

}


//##################################################################################
// what is being saerched and filtered
//##################################################################################
function WhatFiltering()
{
//=== whats being filtered === //
    var myDropDownList = document.getElementById("ctlMap_drpCategories");
    var w = myDropDownList.selectedIndex;
    var selected_text = myDropDownList.options[w].text;

    
  var filterTerm =  selected_text;
  
 
//declare string builder - searching 
var sbFilter = new StringBuilder();
sbFilter.append("Filtering results on: <strong>" + filterTerm + "</strong>");
  $("#divFiltering").html(sbFilter.toString());

}



//#########################################################################################
// find member on map
//#########################################################################################
function FindMemberOnMap(strMemberID)
{
//alert(strMemberID);

 var npoint;
 
        for (var i=0; i<gmarkers.length; i++) 
        {

        if (gmarkers[i].member == strMemberID) 
            {
                   GEvent.trigger( gmarkers[i],"mouseover");  
                   
                    npoint = gmarkers[i].getPoint();
                  //##DEGUG   alert("gotcha");
                         break;
             }
        }
        
        // find marker
   //     map.setCenter(new GLatLng(  npoint.lat(),npoint.lng()), 9 );


}


//#######################################################################
// expand search to uk
//########################################################################
function ExpandSearchOnMap(){
           // alert("expanding");
    
         map.setCenter(new GLatLng( 52.522905940278065, -3.49365234375), 6 );

}


//######################################################################################
// no results present in right hand panel
//#######################################################################################
function PanNoResults()
{
//alert('pan no results');

var sb = new StringBuilder();

	sb.append("<ul>");
    sb.append("<li>");
     sb.append("<strong>Sorry no results found. &nbsp;&nbsp;<img src=images/cross.gif /><br/> <br/>Please expand or change your view <br/> <br/>")
     sb.append("</li>");   
     sb.append("</ul>");

//debug alert(sb.toString());
//hide rotator + prem
 $("#divRotatingAdvert").hide();
  $("#divPremiereAdvert").hide();
 $("#divInfo").hide();
 
//show info
$("#divSearchResults").show();
$("#searchResults").show();
$("#divSearch").show();

//set info
  $("#searchResults").html(sb.toString());

}



//#######################################################################################
//declare display object
//###################################################################################
function MyDisplayClass() {


}


//#######################################################################################
//String builder
//#######################################################################################

//==== string builder function === ///
function StringBuilder(value)
{
    this.strings = new Array("");
    this.append(value);
}

// Appends the given value to the end of this instance.
StringBuilder.prototype.append = function (value)
{
    if (value)
    {
        this.strings.push(value);
    }
}

// Clears the string buffer
StringBuilder.prototype.clear = function ()
{
    this.strings.length = 1;
}

// Converts this instance to a String.
StringBuilder.prototype.toString = function ()
{
    return this.strings.join("");
}
     
     
//#####################################################################
// replace rouge IE ascci
//###################################################################
function StringAscciReplace(strMember)
{
  var ifind =  strMember.replace("/", "&#47");
  ifind = ifind.replace("+", "&#43");
  ifind = ifind.replace("=", "&#61");
  return ifind;

}