var GmapBHRCObj = '',previousCenterPoint="",previousZoom="", mainIcon = '';
 var Gmap_mapMarkers = [];
var Gmap_mapMarkers_img = [];
var tooltipHtml = []; 
var globSrchRsltsObj;

var jl_totalMarkercnt;
var checkzoom,markerclick;
checkzoom = false;
markerclick = false;

var js_Hid_Non_Secure = '';

jl_totalMarkercnt = 0;

//Hotelname marker
function Htlname_marker(point,html,pixelOffset) 
 {
        // Mandatory parameters
        this.point = point;
        this.html = html;
        
       // Optional parameters
       this.pixelOffset = pixelOffset||new GSize(0,0);
 
 } 
      
      Htlname_marker.prototype = new GOverlay();

      Htlname_marker.prototype.initialize = function() {
        var div = document.createElement("div");
        div.style.position = "absolute";
        div.innerHTML = '<div>' + this.html + '</div>' ;
        GmapBHRCObj.getPane(G_MAP_FLOAT_SHADOW_PANE).appendChild(div);
        this.map_ = GmapBHRCObj;
        this.div_ = div;
     
      }
  
      Htlname_marker.prototype.redraw = function() {
        var p = this.map_.fromLatLngToDivPixel(this.point);
        var h = parseInt(this.div_.clientHeight);
        this.div_.style.left = (p.x + this.pixelOffset.width) + "px";
        this.div_.style.top = (p.y +this.pixelOffset.height - h) + "px";
      }

//Loads map with marker

function JF_bodyonload()
{	
if(!globSrchRsltsObj) globSrchRsltsObj = new JsSrchRsltsPageData();
 if(document.getElementById("map"))
 {
	js_Hid_Non_Secure = document.form_bhrc.Hid_Non_Secure.value;
	if(document.getElementById("hid_data") && document.getElementById("hid_data").value !="" && 'Y' == document.form_bhrc.hid_mapdisplay_flg.value)		
		js_load_map();
	else
		document.getElementById('map').style.display = 'none';
		//document.getElementById('map').innerHTML = '<font class=srh_nrm>No Mapview to display</font>';
 }
}
 
function js_load_map() 
{  
   if (GBrowserIsCompatible()) 
   {          
        GmapBHRCObj = new GMap2(document.getElementById("map"));
        //GmapBHRCObj.enableScrollWheelZoom();
        GmapBHRCObj.addControl(new GSmallMapControl());
		GmapBHRCObj.addControl(new  GScaleControl());
		//GmapBHRCObj.addControl(new GOverviewMapControl());  
		var mapControl = new GMenuMapTypeControl();
		GmapBHRCObj.addMapType(G_PHYSICAL_MAP);
		GmapBHRCObj.addControl(mapControl);
		mainIcon = new GIcon();
		mainIcon.iconSize = new GSize(20, 34);
		mainIcon.shadowSize = new GSize(22, 20);
		mainIcon.iconAnchor = new GPoint(6, 20);
		mainIcon.infoWindowAnchor = new GPoint(5, 1);
		var js_val=document.getElementById("hid_data").value;
		
		var officeIcon = new GIcon();
		officeIcon.iconSize = new GSize(20, 34);
		officeIcon.shadowSize = new GSize(22, 20);
		officeIcon.iconAnchor = new GPoint(6, 20);
		officeIcon.infoWindowAnchor = new GPoint(5, 1);
        officeIcon.image = 'images/pink.png';
        
        var js_arr = js_val.split("|")
	    var i=0,js_cnt=1;
	    var bounds = new GLatLngBounds();
	    for(i=0;i<js_arr.length-1;i++)
	    {	
		
		  
	      if(js_arr[i] != 'blank')
	      {
			var js_val = js_arr[i].split("~~**~~")
			//alert(js_val[0]);alert(js_val[1]);
			var latlng=new GLatLng(js_val[0],js_val[1]);
			GmapBHRCObj.setCenter(latlng)
			
			if(js_val[2] != 'O')
			{                        
			mainIcon.image = js_Hid_Non_Secure+"images/map_office_icon.png";//mark_"+js_cnt+"_g_big.gif
			//GmapBHRCObj.addOverlay(createMarker(latlng,mainIcon,js_val[2],js_val[3],js_val[4],js_val[5],js_val[6],js_val[7],js_val[8],js_val[10]));
			var marker_obj=createMarker(latlng,mainIcon,js_val[2],js_val[3])
			GmapBHRCObj.addOverlay(marker_obj);
			jl_totalMarkercnt++;
			}
			else
			{	
				GmapBHRCObj.addOverlay(new GMarker(latlng,{title: js_val[3], icon: officeIcon}));
			}
			
			Gmap_mapMarkers.push(marker_obj);
			var js_ico= marker_obj.getIcon();
			Gmap_mapMarkers_img.push(js_ico.image);
			
			//var js_htl_name='';
			
			//js_htl_name=parseInt(js_val[3].length/2);
			//GmapBHRCObj.addOverlay(new Htlname_marker(latlng, '<div align="left" class="Htlnam_marker">'+js_val[3]+'</div>',new GSize(eval('-'+js_htl_name)*5,21)));
			bounds.extend(latlng);
          }
          else
          {
			Gmap_mapMarkers.push('dd');
			Gmap_mapMarkers_img.push('dd');
		  }	
          tooltipHtml.push(js_val[3]);
          js_cnt++;
       }
		
		
         GmapBHRCObj.setZoom(GmapBHRCObj.getBoundsZoomLevel(bounds));
         GmapBHRCObj.setCenter(bounds.getCenter());
         
         previousCenterPoint = GmapBHRCObj.getCenter() ; 
         previousZoom = GmapBHRCObj.getZoom(); 
         GEvent.addListener(GmapBHRCObj.getInfoWindow(),"closeclick", function(){GmapBHRCObj.setCenter(previousCenterPoint,previousZoom);markerclick=false;checkzoom=false;});         
         GEvent.addListener(GmapBHRCObj, "zoomend", function(){ checkzoom = true;});
         
         /*GEvent.addListener(GmapBHRCObj, "moveend", function(){
         //var js_totalgeorecs = document.form_bhrc.hid_totalgeorecs.value;
         //if(js_totalgeorecs )
         	if(!checkzoom)
         	{	
         		//alert(jl_totalMarkercnt);
         		//alert(document.form_bhrc.hid_totalgeorecs.value);
				var northEast = GmapBHRCObj.getBounds().getNorthEast();
				var southWest = GmapBHRCObj.getBounds().getSouthWest();
				//alert(northEast);
				//alert(southWest);				
				document.getElementById('tab_inact').style.display = 'block';
				
				jsrsExecute("Conf_resolution.asp", JF_mapretfunction, "getNewVenues", Array(northEast.toString(),southWest.toString()));
			}
			else
			{	
				if(!markerclick) checkzoom = false;
			}
         });*/
         
         
     GmapBHRCObj.savePosition();
   }
 
}

function JF_mapretfunction(js_retstr)
{	
	//document.form_bhrc.sel_retvalue.value = js_retstr;
	//return;
	//alert(js_retstr);
	if(js_retstr != '')
	{
		var jl_newdata=js_retstr;
		var js_newarr = jl_newdata.split("|")
		var inccnt=0;
		//GmapBHRCObj.clearOverlays();
		for(inccnt=0;inccnt<js_newarr.length-1;inccnt++)
		{	
			if(js_newarr[inccnt] != 'blank')
			{
					var js_val = js_newarr[inccnt].split("×")
					var latlng=new GLatLng(js_val[0],js_val[1]);
					mainIcon.image =js_Hid_Non_Secure+"images/map_office_icon.png";
					var marker_obj=createMarker(latlng,mainIcon,js_val[2],js_val[3])
					GmapBHRCObj.addOverlay(marker_obj);
					jl_totalMarkercnt++;
			}
		}
	}
	document.getElementById('tab_inact').style.display = 'none';
}



function createMarker(latlng,icon,est_nam,htmlcntent) 
{  
var marker="";
marker = new GMarker(latlng,{title: est_nam, icon: icon});  //,maxWidth:300
GEvent.addListener(marker, "click", function() { 
js_flg=false;
markerclick=true;
//window.scrollTo(0,200);
GmapBHRCObj.setCenter(latlng, parseInt(document.form_bhrc.hid_GMapZoomlevel.value));
GmapBHRCObj.openInfoWindowHtml(latlng,htmlcntent);
});

return marker;
}

function js_hotel_map(lat,longi,as_num)
{
 var latlng=new GLatLng(lat,longi);
 window.scrollTo(0,100);
 GmapBHRCObj.setCenter(latlng, parseInt(document.form_bhrc.hid_GMapZoomlevel.value));
 GmapBHRCObj.openInfoWindowHtml(latlng,tooltipHtml[as_num]);
}
function js_showall()
{
 GmapBHRCObj.setCenter(previousCenterPoint,previousZoom);
 GmapBHRCObj.closeInfoWindow();
}
function JS_Marker_over(markerNum)
{
  Gmap_mapMarkers[markerNum].setImage('images/ani_green.gif'); //  map_tp_1.gif
}
function JS_Marker_out(markerNum)
{ 
  var url=Gmap_mapMarkers_img[markerNum];
  Gmap_mapMarkers[markerNum].setImage(url);
  
}
function JF_DefMap()
{
	GmapBHRCObj.setCenter(previousCenterPoint,previousZoom);
	GmapBHRCObj.closeInfoWindow();
}

/*Show tooltip functions*/

function JF_ShowToolTip(js_objid, js_str)
{
	var tooltop;
	tooltop = JF_gettop(js_objid,0);
	document.getElementById('ToolTip').style.display = '';
	ContentInfo = '<table border="0" cellpadding="4" bgcolor="#fbedac" cellspacing="0">'+
	'<tr><td style="font-size:11px"><font color=#000000 face="Arial">'+js_str+'</font></td></tr>'+
	'</table>';
	document.getElementById('ToolTip').innerHTML = ContentInfo;
	document.getElementById('ToolTip').style.top = tooltop + 16;
	if(window.event)
		document.getElementById('ToolTip').style.left = document.body.scrollLeft + eval(window.event.clientX) - 40;
	else
		document.getElementById('ToolTip').style.left = xMousePos - 40;
}
function JF_HideToolTip()
{
	document.getElementById('ToolTip').style.display = 'none';
	document.getElementById('ToolTip').innerHTML = '';
}
function JF_gettop(ID,noofhtls)
{
var eP=eval('document.getElementById("'+ID+'")');
    var eL=0;
	var eT=0;
	var p=eP;
	while(p&&p.tagName!="BODY")
	{
		eT+=p.offsetTop;
		eL+=p.offsetLeft;
		p=p.offsetParent;
	}
    var eH=eP.offsetHeight;
	var dH=0 ;
	var W=0;
	var sT=document.body.scrollTop;
	var dW=0;

var controlwidth = eP.offsetWidth;
var top=parseFloat(eT) - noofhtls;
return top;
}
function GetXmlHttpObject(handler)
{ 
var objXmlHttp=null;

if (navigator.userAgent.indexOf("MSIE")>=0)
{ 
var strName="Msxml2.XMLHTTP";
if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
{
strName="Microsoft.XMLHTTP";
}
try
{ 
objXmlHttp=new ActiveXObject(strName);
objXmlHttp.onreadystatechange=handler;
return objXmlHttp;
} 
catch(e)
{ 
alert("Error. Scripting for ActiveX might be disabled");
return;
} 
}
else
{
objXmlHttp=new XMLHttpRequest();
objXmlHttp.onload=handler;
objXmlHttp.onerror=handler;
return objXmlHttp;
}
}

function stateChanged() 
{ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
	//alert(xmlHttp.responseText);
	document.getElementById('dv_HtlLst').innerHTML = xmlHttp.responseText;
	
	document.getElementById('dv_transp').style.height = '0px';
	document.getElementById('dv_transp').style.display = 'none';
	
	var iCurPage, iStartRcd, iEndRcd, iPgsize, iTotPag;
	iPgsize = 30;
    iCurPage = parseInt(document.getElementById('hid_page').value,10);
    js_TotalRecs = parseInt(document.getElementById('hid_TotalRecs').value,10); 
    iTotPag = parseInt(document.getElementById('hid_pageCount').value,10);
    
    iStartRcd = ((iCurPage * iPgsize) - iPgsize) + 1;
    if (iTotPag > iCurPage) iEndRcd = (iPgsize * iCurPage); else iEndRcd = js_TotalRecs;
    js_displaying_txt = "Displaying " + iStartRcd + " -- " + iEndRcd + " of " + js_TotalRecs + " records&nbsp;";
    document.getElementById('sp_dispaying').innerHTML = js_displaying_txt;
	
	JF_bodyonload();
}
}

function JF_Move(as_nav)
{
	if(!globSrchRsltsObj.GetSelIndex(document.form_bhrc.hid_page.value))
	{
		var oObj = new JsSrchRsltsCollectionData();
		oObj.HtlsListHtml = document.getElementById('dv_HtlLst').innerHTML;
		globSrchRsltsObj.AddHtml(oObj, document.form_bhrc.hid_page.value);
	}
	
	if (as_nav == 'S') document.form_bhrc.hid_page.value = document.form_bhrc.sle_pageselect.value;
	if (as_nav == 'T')
	{
		document.form_bhrc.hid_page.value = document.form_bhrc.sle_pageselect1.value;
		as_nav = 'S';
	}
	var js_page=document.form_bhrc.hid_page.value;
	js_totPages=document.form_bhrc.hid_pageCount.value;
	
	//if (!(as_nav=="P" && parseInt(js_page,10)==1) && 
	//	!(as_nav=="N" && parseInt(js_page,10)==parseInt(js_totPages,10)))
	//{
		if(as_nav=="N") js_page = parseInt(js_page,10) + 1;
		if(as_nav=="P") js_page = parseInt(js_page,10) - 1;
		if(as_nav=="F") js_page = 1;
		if(as_nav=="L") js_page = js_totPages;
		
		if(js_page == 1)
		{
			if(document.getElementById('a_first')) document.getElementById('a_first').style.display = 'none';
			if(document.getElementById('a_prev')) document.getElementById('a_prev').style.display = 'none';
			if(document.getElementById('a_first1')) document.getElementById('a_first1').style.display = 'none';
			if(document.getElementById('a_prev1')) document.getElementById('a_prev1').style.display = 'none';
		}
		else
		{	
			if(document.getElementById('a_first')) document.getElementById('a_first').style.display = '';
			if(document.getElementById('a_prev')) document.getElementById('a_prev').style.display = '';
			if(document.getElementById('a_first1')) document.getElementById('a_first1').style.display = '';
			if(document.getElementById('a_prev1')) document.getElementById('a_prev1').style.display = '';
		}
		if(js_page == parseInt(js_totPages,10))
		{
			if(document.getElementById('a_next')) document.getElementById('a_next').style.display = 'none';
			if(document.getElementById('a_last')) document.getElementById('a_last').style.display = 'none';
			if(document.getElementById('a_next1')) document.getElementById('a_next1').style.display = 'none';
			if(document.getElementById('a_last1')) document.getElementById('a_last1').style.display = 'none';
		}
		else
		{
			if(document.getElementById('a_next')) document.getElementById('a_next').style.display = '';
			if(document.getElementById('a_last')) document.getElementById('a_last').style.display = '';
			if(document.getElementById('a_next1')) document.getElementById('a_next1').style.display = '';
			if(document.getElementById('a_last1')) document.getElementById('a_last1').style.display = '';
		}
		document.form_bhrc.hid_page.value = js_page;
		document.form_bhrc.sle_pageselect.value = document.form_bhrc.hid_page.value;
		document.form_bhrc.sle_pageselect1.value = document.form_bhrc.hid_page.value;
		
		
		
		
		var js_Arrholdval = globSrchRsltsObj.GetSelIndex(js_page);
		if(js_Arrholdval == '')
		{	
		
			JF_displayLoading();
		    var url="BHRC_Ajax_Loader.asp?hid_city_cd="+ document.getElementById('hid_city_cd').value +"&hid_assn_cd=" + document.getElementById('hid_assn_cd').value + "&hid_longitude="+ document.getElementById('hid_longitude').value + "&hid_latitude="+ document.getElementById('hid_latitude').value + "&hid_radius="+ document.getElementById('hid_radius').value + "&hid_greaterflg="+ document.getElementById('hid_greaterflg').value + "&hid_star_rtng="+ document.getElementById('hid_star_rtng').value +"&hid_pageNum="  + document.form_bhrc.hid_page.value;
			//alert(url);
			xmlHttp=GetXmlHttpObject(stateChanged);
			xmlHttp.open("GET", url , true);
			xmlHttp.send(null);
	
			return;
		}
		else
		{
		    document.getElementById('dv_HtlLst').innerHTML = js_Arrholdval.HtlsListHtml;
		    
		    var iCurPage, iStartRcd, iEndRcd, iPgsize, iTotPag;
			iPgsize = 30;
			iCurPage = parseInt(document.getElementById('hid_page').value,10);
			js_TotalRecs = parseInt(document.getElementById('hid_TotalRecs').value,10); 
			iTotPag = parseInt(document.getElementById('hid_pageCount').value,10);
    
			iStartRcd = ((iCurPage * iPgsize) - iPgsize) + 1;
			if (iTotPag > iCurPage) iEndRcd = (iPgsize * iCurPage); else iEndRcd = js_TotalRecs;
			js_displaying_txt = "Displaying " + iStartRcd + " -- " + iEndRcd + " of " + js_TotalRecs + " records&nbsp;";
			document.getElementById('sp_dispaying').innerHTML = js_displaying_txt;
	
			JF_bodyonload();
		}
		
        
        
		
		
		
	//}
	return;	
}

function JF_displayLoading()
{
	jl_tranHeight = JF_gettop('dv_bottom',0)
	document.getElementById('dv_transp').style.height = (jl_tranHeight-10) + 'px';
	document.getElementById('dv_transp').style.display = '';
}

function JsSrchRsltsPageData()
 {
	var ArrHtml = new Array();
	
	this.GetSelIndex = function(iIndex)
	{
		return JF_GetArrayValSrch(ArrHtml[iIndex]);		
	}
	this.GetUbound = function ()
	{
		return ArrHtml.length-1;
	}
	this.AddHtml = function (oObj, iIndex)
	{
		//ArrHtml.push(oObj)
		ArrHtml[iIndex] = oObj;		
	}
	this.RemoveHtml = function(iIndex)
	{	    
	    ArrHtml.splice(iIndex,1);		
	}
	this.UpdateHtml = function(oObj, iIndex)
	{
	     ArrHtml[iIndex]=oObj;	
	}
	function JF_GetArrayValSrch(obj)
    {
       if(obj!=undefined)
          return obj;
       else
          return "";     
    }
}
function JsSrchRsltsCollectionData()
{
    this.HtlsListHtml;
}
