// JavaScript Document


var ClickedOnMap = false;
var Isclose=0;
var testMyVal = 1;
var NotCliked=0;
var windowId=0;
var totalpagecount=0;
var StartValue=1;
var fl=0;
var Maxcount;
var IsStateChange=false;
var CurrentId="";
var httpObject;
var IsCount="N";
var linkimageId=0;
var IsClickonSearch=true;
var IsError=0; 
var IsLoad=true;
var south;
var north;
var west ;
var east;
var SearchArray;
var UpdateValueArray;
var ResponseArray;
var updateobj;
var insertobj;
var ew;
var PointArray;
var MarkerArray;
var Ipointer=0;
var maxlat=-85.0;
var maxlng=-180.0;
var minlat=85.0;
var minlng=180.0;
var IsPointOnmap=false;
var bounds;
var IsDrageed=false;
var IsZoom=false;
var c=0;
var locupdate;
var ll=0;
var map = null;
var geocoder = null;
var directionsPanel;
var directions; 
var ImageCount=1;		
var CheckAllPointLoad=false;    
var IsClickZoomIn=false;
var clickz;
var IsFirstPoint=true;  
var Firstpoint; 
var IsTo;
var dir="nopath";
var CurrentMarker;
var IsnotFound=false;
var Isadmin="N";
var AddressArray;
var CurrentAddressLocation=0;
function initialize() 
{
	GMarker.prototype.hide = function() {}
	if (GBrowserIsCompatible()) 
	{
		//	map = new GMap2(document.getElementById("map1"),{draggableCursor:'url(ien.png),url(ien.cur) 20 22 ,crosshair', draggingCursor: 'move'});
		map = new GMap2(document.getElementById("map1"),{draggableCursor:'default', draggingCursor: 'move'});

		map.addMapType(G_NORMAL_MAP);
		//	map.enableContinuousZoom();
		//map.enableScrollWheelZoom();
		map.addControl(new GScaleControl());
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());

		map.setCenter(new GLatLng(37.4419, -122.1419), 14);
		geocoder = new GClientGeocoder();
		if (dir=="nopath")
		{
			
		G_START_ICON.image = "images/pointer11.png";
		G_END_ICON.image = "images/pointer12.png";
		directionsPanel = document.getElementById("directionmap");
		//		directions = new GDirections(map, directionsPanel); 
		directions = new GDirections(map); 
		GEvent.addListener(directions, "error", handleErrors);
		GEvent.addListener(directions, "load", onGDirectionsLoad);
		document.getElementById("maindirmap").style.display="none";
		//	document.getElementById("directionmap").style.display="none";

		//document.getElementById("directionmap").style.width="1px";
		//document.getElementById("map1").style.width="745px";
		
		GEvent.addListener(map, "click", function()
	{ 
		windowClose();
	        
		if (Isclose == 0)
		{    
			//alert("IsClose map Click :" + NotCliked);
		//	if (NotCliked ==0)
		//	{
				
				IsClickZoomIn=true;
				IsLoad=false;
				//map.zoomIn();
				//clickz=map.getZoom();
				//clickz=parseInt(clickz)+1;
				//map.setZoom(clickz);
				// alert("clickzoom:" + map.getZoom()); 
				CallDrag();
		//	}
		       
		} 

	});


		GEvent.addListener(map, "dragend", function()

		{
			//	alert("pankaj");
			if (CheckAllPointLoad && Isclose==0)
			{
				//alert("pankaj");
				// IsDrageed=true;
				//	IsZoom=true;
				IsLoad=false;
				DragReloadLoad();  
			}
                       
		});

		GEvent.addListener(map, "zoomend", function()
			{
			      //	alert("I am in Zoomend " + " Isclose  " + Isclose + " Not Clicked  " + NotCliked);
				if (ClickedOnMap == false)
				{
					if (CheckAllPointLoad && Isclose==0 && NotCliked==0)
					{
						//	alert(Isclose);
						//alert(CheckAllPointLoad);
						//	alert("khare");	
						//	IsZoom=true;
						IsLoad=false;
						//	IsDrageed=true;
						DragReloadLoad();  
					}
				         NotCliked =0;	
				}
				ClickedOnMap = false;
				//	alert("zoomend:"+ IsClickZoomIn);

			});
		}
		else
		{
		/*	 var marker = new GMarker(center, {draggable: true});

        GEvent.addListener(marker, "dragstart", function() {
          map.closeInfoWindow();
        });*/

       

        
		}

	}
}
function onGDirectionsLoad()
{ 

	if(directions.getStatus().code==200)
	{	document.getElementById("maindirmap").style.display="block";
		document.getElementById("directionmap").innerHTML="";
		var errorobj1; try {errorobj1=document.getElementById("errordiv");}catch(e){}
		if(errorobj1)
		errorobj1.innerHTML="";
		     setTimeout('customPanel(map,"map",directions,document.getElementById("directionmap"))', 1);
	
	}
}
function setDirections(fromAddress,toAddress)
{
	try{ map.closeInfoWindow();} catch(e){}

	 directions.load("from: " + fromAddress + " to: "+ toAddress, {getSteps:true}); 

		
} 
function GetDirmain(Snumber,addr)
{

	var obj1;
	var obj2;
	//alert(addr);
//	if(document.getElementById("directionmap").innerHTML!="")
//	{return false;}
	try{obj2=document.getElementById("from" + Snumber);
	
	if (typeof(obj2))
	{
		//alert(obj2.value);
		if(obj2.value!="")
		{
			obj1=obj2.value;
			if (obj1.toLowerCase().indexOf("australia")<0)
			{ obj2.value=obj2.value + " , australia";}
			setDirections(obj2.value,addr);
		}
		else
		{
			alert("please enter address");
			document.getElementById("from" + Snumber).focus();
		}
	}
	}catch(e){}




}
function handleErrors()
{

	if (directions.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
	{     var errorobj; try {errorobj=document.getElementById("errordiv");}catch(e){}
		if (errorobj)
		{errorobj.innerHTML="Address Invalid. Please try again.";}
		  //	alert("No corresponding geographic location could be found for one of the specified addresses. This may be due to the fact that the address is relatively new, or it may be incorrect.\nError code: " + directions.getStatus().code);
	}
	  
	else 
	{
		if (directions.getStatus().code == G_GEO_SERVER_ERROR)
		{
			var errorobj; try {errorobj=document.getElementById("errordiv");}catch(e){}
			if (errorobj)
			{errorobj.innerHTML="Address Invalid. Please try again.";}

			//	alert("A geocoding or directions request could not be successfully processed, yet the exact reason for the failure is not known.\n Error code: " + directions.getStatus().code);
		}



		else
       		{
			if (directions.getStatus().code == G_GEO_MISSING_QUERY)
			{
		   		var errorobj; try {errorobj=document.getElementById("errordiv");}catch(e){}
				if (errorobj)
				{errorobj.innerHTML="Address Invalid. Please try again.";}
			}
		

			else 
			{	if (directions.getStatus().code == G_GEO_BAD_KEY)

				{
		   			var errorobj; try {errorobj=document.getElementById("errordiv");}catch(e){}
					if (errorobj)
					{errorobj.innerHTML="Address Invalid. Please try again.";}
				//alert("The given key is either invalid or does not match the domain for which it was given. \n Error code: " + directions.getStatus().code);
				}
				else 
				{
					if (directions.getStatus().code == G_GEO_BAD_REQUEST)
					{
				   		var errorobj; try {errorobj=document.getElementById("errordiv");}catch(e){}
						if (errorobj)
						{errorobj.innerHTML="Address Invalid. Please try again.";}
				//alert("A directions request could not be successfully parsed.\n Error code: " + directions.getStatus().code);
					}
					else 
					{
		
					   	var errorobj; try {errorobj=document.getElementById("errordiv");}catch(e){}
						if (errorobj)
						{errorobj.innerHTML="Address Invalid. Please try again.";}
		
					}
				}

			}
		}
	}

		document.getElementById("maindirmap").style.display="none";

}
  // ============ custom direction panel ===============
function customPanel(map,mapname,directions,div)
{
	var html = "";

	// ===== local functions =====

	// === waypoint banner ===

	   ew[windowId].hide();
	   var GetValueSearch1=SearchArray[windowId].split("#");
	   var  storename1=GetValueSearch1[3];
           var	address1=GetValueSearch1[15];
	   var amail1="";
	   var awebsite1="";
	   var aphone1="";
	   
          
	   if (trim(GetValueSearch1[11])!="")
		{	amail1=amail1 + "<tr><td valign='top'  style='color:#ffffff;text-decoration:none; font-family:arial; text-align:left; font-size:12px;padding-left:3px;'> Email :&nbsp;<a href='mailto:"+trim(GetValueSearch1[11])+ "' style='color:#ffffff;text-decoration:none;' title='click here to mail.'  > <span onmouseover='javascript:EmailWebOver(this);' onmouseout='javascript:EmailWebOut(this);' style='color:#ffffff;text-decoration:none;cursor:pointer;'>"+trim(GetValueSearch1[11]);
		if (trim(GetValueSearch1[12])!="")
				amail1=amail1 +	'</span></a><span style="color:#ffffff;text-decoration:none;" title="">&nbsp;,&nbsp; Ph. &nbsp;'+ trim(GetValueSearch1[12]) + '</span></td></tr>';
				else
				amail1=amail1 +	'</span></a></td></tr>';

		}
	else
	{

		if (trim(GetValueSearch1[12])!="")
		{
			amail1=amail1 + "<tr><td valign='top'  style='color:#ffffff;text-decoration:none; font-family:arial; text-align:left; font-size:12px;padding-left:3px;'>" ;
				amail1=amail1 +	'<span style="color:#ffffff;text-decoration:none;" title="">Ph. &nbsp;'+ trim(GetValueSearch1[12]) + '</span></td></tr>';
		}
				
    }
		if (trim(GetValueSearch1[13])!="")
			awebsite1=awebsite1 +"<tr><td valign='top' style='color:#ffffff;text-decoration:none; font-family:arial; text-align:left; font-size:12px;padding-left:3px;'><a href='"+trim(GetValueSearch1[13])+ "' target='_blank' style='color:#ffffff;text-decoration:none;cursor:pointer;' title='visit web site.'  onmouseover='javascript:EmailWebOver(this);' onmouseout='javascript:EmailWebOut(this);'>"+trim(GetValueSearch1[13])+"</a></td></tr>";

	 var str1='<table border="0" cellpadding="0" cellspacing="0"><tr><td valign="top" style="color:#fdd109;text-decoration:none; font-family:arial; text-align:left; font-weight:bold; font-size:14px;padding-left:3px;" >' + trim(storename1) + ' </td></tr><tr><td valign="top" style="color:#ffffff;text-decoration:none; font-family:arial; text-align:left; font-size:12px;padding-left:3px;">';
		str1=str1  + trim(address1) + '</td></tr><tr><td valign="top" style="color:#ffffff;text-decoration:none; font-family:arial; text-align:left; font-weight:normal; font-size:12px; padding-left:3px;" >' + trim((GetValueSearch1[0]).substring(0,(GetValueSearch1[0].length-10))) + ' </td></tr>'+amail1+aphone1+awebsite1+'</table>' ;
		html +='<table style="border: none; margin: 10px 0px; background-color:#000000; border-collapse: collapse; color: #fdd109;">';	
	        html += '  <tr>';
		html += '    <td valign="top" width="100%">';
		html +=str1;
		html += '    </td>';
		html += '  </tr>';
		html += '</table>';
	if (parseInt(windowId) % 2==0)
		document.getElementById("rolldiv"+windowId).className="rolldiv";	
	else
		document.getElementById("rolldiv"+windowId).className="rolldivchange";
        

	function waypoint(point, type, address) {
		var target = '"' + mapname+".showMapBlowup(new GLatLng("+point.toUrlValue(6)+"))"  +'"';
		html += '<table style="border: none; margin: 3px 0px; background-color:#fdd109; border-collapse: collapse; color: rgb(0, 0, 0);">';
		html += '  <tr style="cursor: pointer;" onclick='+target+'>';
		html += '    <td style="padding: 4px 15px 0px 5px; vertical-align: middle; width: 20px;">';
		html += '      <img src="images/pointer' +type+ '.png">'
			html += '    </td>';
		html += '    <td style="vertical-align: middle; width: 100%;">';
		html +=        address;
		html += '    </td>';
		html += '  </tr>';
		html += '</table>';
	}

	// === route distance ===
	function routeDistance(dist) {
		html += '<div style="text-align: right; padding-bottom: 0.3em;">' + dist + '</div>';
	}      

	// === step detail ===
	function detail(point, num, description, dist) {
		//	alert (point.toUrlValue(6));
		var target = '"' + mapname+".showMapBlowup(new GLatLng("+point.toUrlValue(6)+"))"  +'"';
		html += '<table style="margin: 0px; padding: 0px; border-collapse: collapse;">';
		html += '  <tr style="cursor: pointer;" onclick='+target+'>';
		html += '    <td style="border-top: 1px solid rgb(205, 205, 205); margin: 0px; padding: 0.3em 3px; vertical-align: top; text-align: right;">';
		html += '      <a href="javascript:void(0)"> '+num+'. </a>';
		html += '    </td>';
		html += '    <td style="border-top: 1px solid rgb(205, 205, 205); margin: 0px; padding: 0.3em 3px; vertical-align: top; width: 100%;">';
		html +=        description;
		html += '    </td>';
		html += '    <td style="border-top: 1px solid rgb(205, 205, 205); margin: 0px; padding: 0.3em 3px 0.3em 0.5em; vertical-align: top; text-align: right;">';
		html +=        dist;
		html += '    </td>';
		html += '  </tr>';
		html += '</table>';
	}

	// === Copyright tag ===
	function copyright(text) {
		html += '<div style="font-size: 0.86em;">' + text + "</div>";
	}


	// === read through the GRoutes and GSteps ===

	for (var i=0; i<directions.getNumRoutes(); i++) {
		if (i==0) {
			var type="A";
		} else {
			var type="B";
		}
		var route = directions.getRoute(i);
		var geocode = route.getStartGeocode();
		var point = route.getStep(0).getLatLng();

		// === Waypoint at the start of each GRoute
		waypoint(point, type, geocode.address);
		routeDistance(route.getDistance().html+" (about "+route.getDuration().html+")");

		for (var j=0; j<route.getNumSteps(); j++) {
			var step = route.getStep(j);

			// === detail lines for each step ===
			detail(step.getLatLng(), j+1, step.getDescriptionHtml(), step.getDistance().html);
		}
	}

	// === the final destination waypoint ===   
	var geocode = route.getEndGeocode();
	var point = route.getEndLatLng();

	waypoint(point, "B", geocode.address);

	// === the copyright text ===
	copyright(directions.getCopyrightsHtml());

	// === drop the whole thing into the target div
	div.innerHTML = html;
	var startmarker=directions.getMarker(0);
	var startpoint=startmarker.getPoint();
	var endmarker=directions.getMarker(1);
	var endpoint=endmarker.getPoint();
	map.removeOverlay(startmarker);
	map.removeOverlay(endmarker);
	var icon1 = new GIcon();
	icon1.image =  "images/pointerA.png";
	icon1.shadow = "images/pshade.png";
	icon1.iconSize =new GSize(28,30);
	icon1.iconAnchor = new GPoint(1, 1);
	icon1.infoWindowAnchor = new GPoint(-9, 2);
	markerOptions = {   icon:icon1 };
	startmarker = new GMarker(startpoint, markerOptions);
	var icon2 = new GIcon();
	icon2.image =  "images/pointerB.png";
	icon2.shadow = "images/pshade.png";
	icon2.iconSize =new GSize(28,30);
	icon2.iconAnchor = new GPoint(1, 1);
	icon2.infoWindowAnchor = new GPoint(-9, 2);
	markerOptions = {   icon:icon2 };
	endmarker = new GMarker(endpoint, markerOptions);	 
	map.addOverlay(startmarker);
	map.addOverlay(endmarker);
	var gz=map.getZoom();
	//if (parseInt(gz)>5)
	//map.setZoom(4);	

} // ============ end of customPanel function ===========

