     function elem(v) {
	    return document.getElementById(v);	
     } 
 

    if (GBrowserIsCompatible()) {
        var bs = new GblogSearch(); 
        var ls = new GlocalSearch();
        var ws = new GwebSearch();
		//var gSearchForm=new GSearchForm();
        //var ns = new GnewsSearch(); // different from the others
        var alpha = "ABCDEFGHIJK";
        var gMap;
		 
        var gmarkers = [];
        var infohtmls = [];
        var home = 'http://www.etownguide.com/';
		var gicons = [];
        
		gicons[0] = new GIcon(G_DEFAULT_ICON, home + "i/mA.png");
        gicons[1] = new GIcon(G_DEFAULT_ICON, home + "i/mB.png");
        gicons[2] = new GIcon(G_DEFAULT_ICON, home + "i/mC.png");
        gicons[3] = new GIcon(G_DEFAULT_ICON, home + "i/mD.png");
        gicons[4] = new GIcon(G_DEFAULT_ICON, home + "i/mE.png");
        gicons[5] = new GIcon(G_DEFAULT_ICON, home + "i/mF.png");
        gicons[6] = new GIcon(G_DEFAULT_ICON, home + "i/mG.png");
        gicons[7] = new GIcon(G_DEFAULT_ICON, home + "i/mH.png");
        gicons[8] = new GIcon(G_DEFAULT_ICON, home + "i/mJ.png");
        gicons[9] = new GIcon(G_DEFAULT_ICON, home + "i/mK.png");
	 
  
  
     function CaptureForm(searchForm) {
        bs.execute(searchForm.input.value);
        ls.execute(searchForm.input.value);
        ws.execute(searchForm.input.value);
        return false;
     }

     //function CaptureNewsForm(searchForm) {
       // ns.execute(searchForm.input.value);
       // return false;
    // }
     
	 function createMarker(point, infoWindow_html, i) {
          var marker = new GMarker(point, gicons[i]);
          GEvent.addListener(marker, "click", function() {                                     
            marker.openInfoWindowHtml(infoWindow_html);
          });      
          return marker;
     }

     function infoclick(i) {
        gmarkers[i].openInfoWindowHtml(infohtmls[i]);
     }

     function OnLocalSearchComplete() { 
         var r;
         var n;
         var pane = elem("localres_pane");

         // clear old search
         pane.innerHTML = '';
         gMap.getInfoWindow().hide();         
         gMap.clearOverlays();
         gmarkers = [];
         infohtmls = [];

		 if (ls.results && ls.results.length > 0) {
             for (var i = 0; i < ls.results.length; i++) {
                 r = ls.results[i];
                 var html = InfoHtml(r);     
           	     var marker = createMarker(new GLatLng(r.lat, r.lng), html, i );
                 gmarkers.push(marker);
                 infohtmls.push(html);

   			     gMap.addOverlay(marker);
                 n = ResHtml(i, r);  
                 pane.appendChild(n);
             }   
         }
	 }  
	   
    function InfoHtml(r) {
        var container       = document.createElement('div');           
        container.className = 'windowhtml';
        container.appendChild(r.html.cloneNode(true));
		return container;		
	}

    function ResHtml(i, r) { 
	 
      var container      = document.createElement('div');  
	  var img_container  = document.createElement('div');
      var text_container = document.createElement('div');
      container.className      = "localresult";  
      text_container.className = "textcontain";
      img_container.className  = "imgcontain"; 
      var img = home + 'i/l' + alpha.charAt(i) + '.png';
      img_container.innerHTML  = '<img src="'+ img + '" height="38" width="24" onclick="infoclick(' +i+ ')" class="l_marker">';
      
	  if (typeof r.phoneNumbers == 'undefined') {
	      var phonestr = '';
	  } else {    
	      var phonestr =  '<DIV class="gs-phone">' + r.phoneNumbers[0].number + '</DIV>';  
	  }
	  
	  if (r.city == '') {
	     var cityregionstr = '';
	  } else {	 	
		 var cityregionstr =  '<DIV class="gs-city">' + r.city + ', </DIV>' +  '<DIV class="gs-region">' + r.region + '</DIV>';
	  }
	
      text_container.innerHTML = '<a href="javascript:infoclick(' +i+ ')"><DIV class="localres_title">' + r.title + '</DIV></a>' +
                                 '<DIV class="gs-address">' +
                                   '<DIV class="gs-street">' + r.streetAddress + '</DIV>' +
                                    cityregionstr +  
                                    phonestr + 
                                   '<DIV class="gs-directions"><A class="gs-directions" target="_blank" href="' + r.ddUrl +'">directions</A></DIV>' +
                                 '</DIV>';  
	  container.appendChild(img_container);
      container.appendChild(text_container);   
      return container;
    }
	  
      function OnBlogSearchComplete() {
         var r;
         var n;
         var pane = elem("blogres_pane");
         pane.innerHTML = ''; 
   		 if (bs.results && bs.results.length > 0) {
             for (var i = 0; i < bs.results.length; i++) {
                 r = bs.results[i];
                 n = r.html.cloneNode(true);
                 pane.appendChild(n);
             }   
         }
	  }
      
	  function OnWebSearchComplete() { 
         var r;
         var n;
         var pane = elem("webres_pane");
         pane.innerHTML = '';    	
	   	 if (ws.results && ws.results.length > 0) {
             for (var i = 0; i < ws.results.length; i++) {
                 r = ws.results[i];
                 n = r.html.cloneNode(true);
                 pane.appendChild(n);
             }   
         }
	 }  

	 // function OnNewsSearchComplete() { 
//         var r;
//         var n;
//         var pane = elem("newsres_pane");
//         pane.innerHTML = ''; 
//         document.createElement('td');
//         document.createElement('tr');
//	   	 if (ns.results && ns.results.length > 0) { 
//             var table = document.createElement('table');
//             pane.appendChild(table);
//             var tr;
//             var td;
//             for (var i = 0; i < ns.results.length; i++) { 
//                 if ((i % 2) == 0) {
//                     tr = document.createElement('tr');
//                     table.appendChild(tr);   
//                 }
//                 td = document.createElement('td');                 
//                 tr.appendChild(td);
//                 r = ns.results[i];
//                 n = r.html.cloneNode(true);
//                 td.appendChild(n);
//             }   
//         } else {
//             d = document.createElement('div');
//             pane.appendChild(d);   
//         }
//	 }  

    function OnLoad() {
		//var gSearchForm;
        //LoadNews();
	    gMap = new GMap2(document.getElementById("map"));
        gMap.addControl(new GSmallMapControl());
        gMap.addControl(new GMapTypeControl());
        gMap.setCenter(new GLatLng(f1, f2), 12);
    
        gSearchForm = new GSearchForm(false, document.getElementById("searcher"));
        gSearchForm.setOnSubmitCallback(null, CaptureForm);
        ls.setCenterPoint(gMap);
        bs.setResultSetSize(GSearch.LARGE_RESULTSET);
        ls.setResultSetSize(GSearch.LARGE_RESULTSET);
        ws.setResultSetSize(GSearch.LARGE_RESULTSET);        
        bs.setSearchCompleteCallback(null, OnBlogSearchComplete );
        ls.setSearchCompleteCallback(null, OnLocalSearchComplete );
        ws.setSearchCompleteCallback(null, OnWebSearchComplete );
        gSearchForm.execute(search);
      
    }
      
    //function LoadNews() {
//	    gNewsSearchForm = new GSearchForm(false, document.getElementById("newssearcher"));	
//		gNewsSearchForm.setOnSubmitCallback(null, CaptureNewsForm);
//	    ns.setResultSetSize(GSearch.LARGE_RESULTSET);        
//        ns.setSearchCompleteCallback(null, OnNewsSearchComplete );
//	    gNewsSearchForm.execute('"' + search + '"'); // inital search  
//	}   
      
 }

    //]]>
