
function printall(ar,bd,pt,prn)
{
document.getElementById("printfrm").src="printpropsearch.html?area="+ar+"&bedroom="+bd+"&ptype="+pt+"&prent="+prn;
//document.getElementById("printfrm").focus();
//document.getElementById("printfrm").print();
//window.frames['printfrm'].src="printpropsearch.html";
//window.frames['printfrm'].focus();
//window.frames['printfrm'].print(); 
}

function onviewdetail(id,searchtype)
{
var cur=document.getElementById("currec").value;
window.location="propdetails?id="+id+"&dtype=0&currec="+cur+"&searchtype="+searchtype;
return false;
}
function setcrt()
{
	/*document.getElementById("cr1").value=document.getElementById("bed").value;
	document.getElementById("cr2").value=document.getElementById("are").value;
	document.getElementById("cr3").value=document.getElementById("pty").value;
	document.getElementById("cr4").value=document.getElementById("pre").value;
	document.getElementById("pro").value=window.location;
	alert(document.getElementById("are").value);*/
}
function setcr(){
/*document.getElementById("cr1").value=document.getElementById("bed").value;
document.getElementById("cr2").value=document.getElementById("are").value;
document.getElementById("cr3").value=document.getElementById("pty").value;
document.getElementById("cr4").value=document.getElementById("pre").value;
document.getElementById("pro").value=window.location;
document.getElementById("criform").submit();*/
}
var pcodes;
var bedno;
var propertyid;
var address;
var descr;
var rent;
var images;
var cur=0;
var ipath;
var freq;
var rdcr;
var dmid;
var mr=new Array();
var mrctr=new Array();
var ctrar=0;
var stype;
function App(pcod,pd,rnt,addr,bed,img,path,fry,dcr,domid,sty)
{
stype=sty;
dmid=domid;
pcodes=pcod;
propertyid=pd;
rent=rnt;
address=addr;
ipath=path;
images=img;
bedno=bed;
freq=fry;
rdcr=dcr;
var flagcenter=true;
this.myMap = null;
this.markerList = new Array();
var found=false;
  // create a map
  this.myMap = new GMap2(document.getElementById("map"));
  this.myMap.addControl(new GLargeMapControl());
  this.myMap.addControl(new GMapTypeControl());
  this.myMap.addControl(new GOverviewMapControl(new GSize(150,150)));
  //this.myMap.addControl(new GSmallMapControl());
  this.myMap.setCenter(new GLatLng(50.3861, -2.083), 1);

  // Create a search control
  var searchControl = new GSearchControl();

  // Add in a full set of searchers
  var localSearch = new GlocalSearch();
  var options = new GsearcherOptions();
  options.setExpandMode(GSearchControl.EXPAND_MODE_OPEN);
  searchControl.addSearcher(localSearch, options);


  // Set the Local Search center point
  localSearch.setCenterPoint(this.myMap);

  // tell the searcher to draw itself and tell it where to attach
  searchControl.draw(document.getElementById("searchcontroll"));

  // tell the search control to call be on start/stop
  searchControl.setSearchCompleteCallback(this, App.prototype.OnSearchComplete);
 // searchControl.setSearchStartingCallback(this, App.prototype.OnSearchStarting);
  searchControl.setOnKeepCallback(this, App.prototype.OnKeep, "Property Map View");

  // execute an inital search
  var i=0;
  for(i=0;i<pcodes.length-1;i++)
  {
if(pcodes[i]=="" || pcodes[i]==" ")
		{
	 searchControl.execute(address[i]);
		}
else
	{
	  searchControl.execute(pcodes[i]);
	}
  }
  //searchControl.execute(pcodes[1]);
}

App.prototype.OnSearchComplete = function(sc, searcher) {

  // if we have local search results, put them on the map

  if ( searcher.results && searcher.results.length > 0) {

      var result = searcher.results[0];
      // if this is a local search result, then proceed...
      if (result.GsearchResultClass == GlocalSearch.RESULT_CLASS ) {

	
        //var markerObject = new Object();
found=true;
      
       var p= new GLatLng(parseFloat(result.lat), parseFloat(result.lng));
	

if(found==false){alert("Not Found");}
	if (GBrowserIsCompatible()) {
	      
	       this.myMap.setCenter(p, 10);
	       
	       var baseIcon = new GIcon();
	        baseIcon.iconSize = new GSize(20, 20);
	        baseIcon.iconAnchor = new GPoint(9, 34);
	        baseIcon.infoWindowAnchor = new GPoint(9, 2);
	        baseIcon.infoShadowAnchor = new GPoint(18, 25);
	       var icon = new GIcon(baseIcon);
          icon.image = ipath+"/images/gohome.png";
	      
	       var marker = new GMarker(p);
	     mr.push(marker);
		
		mrctr.push(ctrar);
		ctrar=ctrar+1;
		GEvent.addListener(marker, "mouseover", function (){
		cur=findindex(mr,marker);
		cur=mrctr[cur];
		var curno=document.getElementById("currec").value;
	
		var rnt=rent[cur];
		
		if(rnt==''){rnt=" details are not available";}
		else {rnt="£ "+rnt+"  "+rdcr[cur];}
		
		var bdr=bedno[cur];
		
		if(bdr==''){bdr="details are not available";}
		
		
		var infoTabs=null;
		if(images[cur]=="")
		{
		infoTabs=[new GInfoWindowTab("Property details","<table style='width:220px' ><tr><td colspan='3'><center><h1>"+address[cur]+"</h1></center></td></tr><tr><td align='left'>Rent</td><td align='left'><pre><b>"+rnt+"</b></pre></td><td rowspan='3'> <img src='"+ipath+"/images/mapproperty.jpg' width='100' height='90'/></td></tr><tr><td align='left'>Bedroom</td><td align='left'>"+bdr+"</td></tr><tr><td colspan='2' align='left'><a href='propdetails?id="+propertyid[cur]+"&amp;dtype=0&currec="+curno+"&searchtype="+stype+"'>View Details</a></td></tr></table>")];
		}
		else
		{
			
		infoTabs=[new GInfoWindowTab("Property details","<table style='width:220px' ><tr><td colspan='3'><center><h1>"+address[cur]+"</h1></center></td></tr><tr><td align='left'>Rent</td><td align='left'><pre><b>"+rnt+"</b></pre></td><td rowspan='3'> <img src='"+images[cur]+"?did="+dmid[cur]+"' width='100' height='90'/></td></tr><tr><td align='left'>Bedroom</td><td align='left'>"+bdr+"</td></tr><tr><td colspan='2' align='left'><a href='propdetails?id="+propertyid[cur]+"&amp;dtype=0&currec="+curno+"&searchtype="+stype+"'>View Details</a></td></tr></table>")];
		}	
			marker.openInfoWindowTabsHtml(infoTabs);});
    		this.myMap.addOverlay(marker);
			     }
	      }
    }
    
  }


App.prototype.OnSearchStarting = function(sc, searcher, query) {
 //This function can be implemented      
}

App.prototype.OnKeep = function(result) {
  if (result.__markerObject__) {
    markerObject = result.__markerObject__;
    this.OnMarkerClick(markerObject);
  }
}

function method_closure(object, method, opt_argArray) {
  return function() {
    return method.apply(object, opt_argArray);
  }
}
function findindex(arr,element)
{var i=0;
for(i=0;i<arr.length;i++)
{
if(arr[i]==element)
{
	return i;
}

}
return -1;
}

