﻿google.load("maps","2") // load version 2 of the Google Maps API

var map1;

function closeBox()
{
	map1.closeInfoWindow();
}

var Prem = {
		Browser: {
		IE:     (window.attachEvent && !window.opera),
		Opera:  window.opera,
		WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,
		Firefox:navigator.userAgent.indexOf('Firefox') > 0 ,
		Gecko:  navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1
	  },
	  
	  openPopUp:function(pAgeUrl,windowname,whlts)	
	  {
		  	//alert(whlts)
		  	window.open(pAgeUrl,windowname,whlts);
		  }
}


Number.prototype.toRad = function() {  // convert degrees to radians
  return this * Math.PI / 180;
}

// Dependancies:

if(!window.ajaxCore){objCore.loadScript("js/ajax_core.js");}

var GMapCreator = window.GMapCreator = function(strContainerId,strAddress,intDist,intZoom,blnAutoLoad)
{
	this.container = strContainerId;
	this.address = (strAddress==0)?'Southern Ocean':strAddress;
	this.longitude = 0;
	this.lattitude = 0;
//	this.product = intProdId;
	this.distance = intDist;
	this.zoom = intZoom;
	this.showLocationDetails = false;
	this.map = '';
	this.arraylength;
	//alert(intZoom+"inside the class creation")
	
// Close GMapCreator.prototype =
	
//	if((blnAutoLoad==true)&&(strAddress==0))
}

	GMapCreator.prototype = {
	    setPoint: function(point,objClass,intZoom)
        {
		
 		if(!point)
	        {
                objCore.messageBox("Location not found","The location " + this.address + " cound not be found",$('map'),"message","")
    	    }
	    else
	        {   
	        //var intZoom = (objClass.locationSpecified == true)? 13 : 5;

//	        var intZoom = (objClass.address == "Europe")? 3 : 5;
	        //alert(zo)
			
			if(point=="(51.500152, -0.126236)"){
			//point=new GLatLng(51.517042000000004,-0.13959299999999999);
			}
			//alert(intZoom)
		 
		    this.map.setCenter(point,17);
 		//	alert('4');
			
		    if (objClass.distance > 0)
			{ 
			this.map.longitude = point.lng();
		    this.map.latitude = point.lat();


			if(objClass.locationSpecified == true)
	            {
	            var objMarker = new google.maps.Marker(point)
	    	    var objDiv = document.createElement('div');
		        var objImg = document.createElement('img');
		        objDiv.className = "mapHome";
		        objImg.setAttribute("src","images/stores/Avanta-logo.jpg");
    	    	objImg.setAttribute("alt","Home");
    		    objDiv.appendChild(objImg);
		        objDiv.appendChild(document.createTextNode(this.address));
		        	        
		       // GEvent.addListener(objMarker,"click",function(){objMarker.openInfoWindow(objDiv)});
    	       	//alert('insdie the marker values')
			   	this.map.addOverlay(objMarker)
		        
		       // this.map.openInfoWindow(this.map.getCenter(),objDiv);
		        }
             }
        }
	   } 
		, // End setPoint()
        
		    load: function(a){
            if (GBrowserIsCompatible())
            {
                if(! typeof map == 'undefined')
                {
                    GUnload();
                }
 
                this.map =  new google.maps.Map2($(this.container));
        		map1 = this.map;
			//	alert(this.map+'inside the load');
				var geocoder = new google.maps.ClientGeocoder();
               
                with(this.map)
                {
                    addControl(new google.maps.LargeMapControl());
                    //addControl(new google.maps.ScaleControl());
                    addControl(new google.maps.MapTypeControl());
                }
       
                var intAddressLength = this.address.length;
    			//alert(intAddressLength+"inside the load");
               
			   	this.locationSpecified = (intAddressLength > 0)? true : false;

				if(!intAddressLength > 0)
                    this.address = 'India';
                  //  this.address = ' ';
                var objClass = this;
  
				//alert(this.address);
				
                
//				objClass.setPoint()
                var objLatLng = geocoder.getLatLng(this.address,function(point){objClass.setPoint(point,objClass,a)})    
            }
        }
		
	, // End load()

		findStores: function(strAddress,strCountry,lngDistance,intzoom)
        {        
//   alert(strCountry + "coutnry");
//	alert(strAddress + "address");
//	 alert(lngDistance + "lngDistance");
//   var objAjax = new ajax();
		var intZoom;
        var objAjax = new XMLHttpRequest();
        var objLoadingImg = ajaxLoaderImage();
        
        /*this.address = $('txtAddress').value;
        this.product = $('ddlProducts').options[$('ddlProducts').selectedIndex].value;
        this.distance = $('ddlRadius').options[$('ddlRadius').selectedIndex].value;*/
        
        this.address = (typeof strAddress != undefined)? strAddress : this.address;
        this.distance = (typeof lngDistance != undefined)? lngDistance : this.distance;
        
		this.address = "";
		
		var add = strAddress.split(",")	 
		this.arraylength = add.length

		if(add.length==2)
		{
			this.address = add[0] + "," + add[1]
		}
		if(add.length==3)
		{
			this.address = add[1] + "," + add[2]	
//			this.address = add[0] + "," + add[1] 
		}

		if(add.length==4)
		{
		
			this.address = add[2] + "," + add[3]
		}

		if (this.address.indexOf("Scotland")==0)
		{
			intZoom = 9;	
		}
		else if(this.address.indexOf("Midilands")==0)
		{
			intZoom = 8;	
		}
		else
		{
			intZoom = 17			
		}

        this.load(intZoom);
 
		var objSearchResults = $('searchResults');
		objSearchResults.innerHTML = ''
		
		//alert(add.length + "---------add.lenght")
//		alert(this.distance + "ditance")
		
 		if (add.length==1)
		{
			//alert('inside')
			$('searchResults').style.display='none'
		}
	 

//		alert($('searchResults').style.display+"testdisplay");
		objCore.clearElement(objSearchResults);
     
        if(this.address.length > 0)
        {
			var objClass = this;
			if (add.length!=1)
			{
             // objSearchResults.appendChild(objLoadingImg);
			}
			
			//alert("hiiiiiiii");
			////////////////////////////////////////////////
			///////////////////////////////////////////////
			//////////////////////////////////////////////
			
			function doit(point){
				if(point)
                {
					var lngHomeLongitude = parseFloat(point.lng());
                    var lngHomeLattitude = parseFloat(point.lat());
                    var strHomeAddress = objClass.address;
					if(objClass.distance > 0)
					{
						var strPath = "FindStores.aspx?land=landmark";
					}
					else
					{
						if ((add.length == 1)&&(strCountry!=""))
						{
						var strPath = "FindStores.aspx?country=" + add[0] + "&dist=" + objClass.distance;	
						}
						if ((add.length == 1)&&(strCountry==""))
						{
						var strPath = "FindStores.aspx?allcountry=yes"
						}
						
						if (add.length == 2)
						{
					    
						var strPath = "FindStores.aspx?region=" + add[0] + "&country=" + add[1] + "&dist=" + objClass.distance;
						xmlhttpPost("FindStores1.aspx?region=" + add[0] + "&country=" + add[1]);
						}
						
						if (add.length == 3)
						{
							
						//alert("loc"+add[0]+"regin"+add[1]+"contry"+add[2]);
						var strPath = "FindStores.aspx?region=" + add[1] + "&loc=" + add[0] + "&country=" + add[2] + "&dist=" + objClass.distance;	
						}
						
						if (add.length == 4)
						{
						var strPath = "FindStores.aspx?office="+ add[0] +"&region=" + add[2] + "&loc=" + add[1] + "&country=" + add[3] + "&dist=" + objClass.distance;	
						}

					}
					
					
					var objRegion = document.getElementById('region')
					//alert(strPath);
					
					
					var objIcon = new google.maps.Icon();
                    objIcon.image = "images/newicon.png";
                    objIcon.iconSize = new google.maps.Size(25, 25);
 
                    //objIcon.shadowSize = new GSize(22, 20);
                    objIcon.iconAnchor = new google.maps.Point(16, 20);
                    objIcon.infoWindowAnchor = new google.maps.Point(5, 1);

                    objAjax.open("GET",strPath,true);
                    objAjax.setRequestHeader("Content-Type","text/xml")
					objAjax.onreadystatechange = function()
                    {                      
						
						if(objAjax.readyState == 4 && objAjax.status == 200)
                        {
                           		//objSearchResults.innerHTML = '';
								var strResponse = objAjax.responseText;

							    //alert(strResponse);
							   
                                var objXml = objAjax.responseText.xmlFromString();
                                var objXmlRoot = objXml.documentElement;
                                var intStores = objXmlRoot.childNodes.length;         
                                var blnStores = false;
								
								//alert("intStores"+intStores);
                              
							  var strAction ; 
							 //  var bounds = objClass.map.getBounds();
							   var pointsArr=",,,,,,,,".split(",")
							  
                               if(objXmlRoot.getElementsByTagName("error").length == 0)
                               {
                                //objCore.clearElement(objSearchResults);
            					var k = 0;
								
                                for(var i=0;i<intStores;i++)
                                {

                                    var intStoreId = objXmlRoot.getElementsByTagName("store")[i].getAttribute("StoreId");
	
									var strStoreName = objXmlRoot.getElementsByTagName("title")[i].firstChild.nodeValue;

									var lngLongitude = parseFloat(objXmlRoot.getElementsByTagName("longitude")[i].firstChild.nodeValue);
                                    var lngLatitude = parseFloat(objXmlRoot.getElementsByTagName("latitude")[i].firstChild.nodeValue);
                                    var strAddress = objXmlRoot.getElementsByTagName("address")[i].firstChild.nodeValue; 
                                    var strImageLoc = objXmlRoot.getElementsByTagName("image")[i].firstChild.nodeValue;                                    var strDesc = objXmlRoot.getElementsByTagName("desc")[i].firstChild.nodeValue;                                     
                                    var lngDistance = objClass.CalculateDistance(lngHomeLattitude,lngHomeLongitude,lngLatitude,lngLongitude); 
									strAction = objXmlRoot.getElementsByTagName("action")[i].firstChild.nodeValue;
									var strLoc = objXmlRoot.getElementsByTagName("loc")[i].firstChild.nodeValue;
									
									strPhone  =  objXmlRoot.getElementsByTagName("phone")[i].firstChild.nodeValue;
									strFax  =  objXmlRoot.getElementsByTagName("fax")[i].firstChild.nodeValue;
									
                                    var strEvent;
							//check placed by the prem
								if(objClass.distance > 0 )
								{

							//		alert('getting land mark search')

									if(lngDistance <= objClass.distance) // If the store is within the distance selected by user.
                                    {
	   									blnStores = true
                                        var storePoint = new google.maps.LatLng(lngLatitude,lngLongitude)
                                        var objResult = document.createElement('div');
										objResult.setAttribute("style","border-bottom:3px #ACABA9 solid");
                                        var objResultTitle = document.createElement('strong')
										objResultTitle.setAttribute("class","bluetext")
                                        var objAddress = document.createElement('address');
                                        objAddress.setAttribute("class","graytext")
                                        var objDesc = document.createElement('desc');
                                        objDesc.setAttribute("class","add")
									  // var rr = document.createElement('div');
								      // rr.setAttribute("style","width:200px;height:200px;border:2px blue solid");
								       
									   var objStoreMapContainer = document.createElement('div');
//								       objStoreMapContainer.setAttribute("style","width:145px;height:120px;border:1px solid #ACABA9;position: relative;overflow:hidden");

									  objStoreMapContainer.setAttribute("style","width:120px;height:95px;border:1px solid #ACABA9;position: relative;overflow:hidden");
										
		                                var strDivId = (storePoint.lat() + "" + storePoint.lng()).toString().replace("-","");
                                        
                                        strLink = 'addtobasket.aspx?id='+intStoreId
                                        strShowOnMap = 'Default.aspx?id='+intStoreId

										var objLinkMoreInfo = document.createElement('a');
                                        var objLinkAddToBasket = document.createElement('a');
                                        var objLinkShowOnMap = document.createElement('a');
                                       
									    var objLink = document.createElement('img');
										objLink.setAttribute("src","images/enquiry.jpg");
										objLink.setAttribute("border","0");
//                                        objLink.setAttribute("class","newbutton_showonmap");
                                        //objLink.setAttribute("onclick","javascript:window.location.href=");


										var objLinkMoreImg = document.createElement('img');
									    objLinkMoreImg.setAttribute("src","images/moreinfo.jpg");
									    objLinkMoreImg.setAttribute("border","0");

										var objShowOnMap = document.createElement('img');
									    objShowOnMap.setAttribute("src","images/showonmap.jpg");
										objShowOnMap.setAttribute("border","0");
			                                        
										var objAction = document.createElement('input');
                                        objAction.setAttribute("type","hidden");
                                        objAction.setAttribute("value",strAction);

										var objPhone = document.createElement('input');
                                        objPhone.setAttribute("type","hidden");
                                        objPhone.setAttribute("value",strPhone);

//										var objFax = document.createElement('input');
//                                        objFax.setAttribute("type","hidden");
 //                                       objFax.setAttribute("value",strPhone);

										
//										objLink.appendChild(document.createTextNode("Add to basket"));

										objLinkMoreInfo.setAttribute("href",strLoc);
										objLinkMoreInfo.appendChild(objLinkMoreImg);

										objLinkAddToBasket.setAttribute("href",strLink);
										objLinkAddToBasket.appendChild(objLink);

										objLinkShowOnMap.setAttribute("href",strShowOnMap);
										
										objLinkShowOnMap.appendChild(objShowOnMap);

										objResult.setAttribute("id",strDivId);
                                        objResult.setAttribute("name",i);
                                        objResultTitle.appendChild(document.createTextNode(strStoreName));
                                        objAddress.appendChild(document.createTextNode(strAddress));                    
										
										// create the node for the description
//										alert(strDesc+"test")
										if(strDesc!=" ")
										{
											//alert('inside the condition')
											objDesc.appendChild(document.createTextNode(strDesc));
										
										}
										
										var objImg = new Image();
                                        objImg.src = 'images/stores/'+strImageLoc;
										objImg.width='100';
										objImg.height='75';
					                    objImg.setAttribute("class","floatleft")
										//main table
										var mainTbl = document.createElement('table');
										mainTbl.setAttribute("align","center");
										mainTbl.setAttribute("width","100%");
										mainTbl.setAttribute("border","0");
										mainTbl.setAttribute("cellspacing","0");
										mainTbl.setAttribute("cellpadding","0");
										var maitTr1 = document.createElement('tr');
										maitTr1.setAttribute("valign","top");
 										var maitTr2 = document.createElement('tr');										
//										maitTr2.setAttribute("bgcolor","#72A2B7");
 										var maitTr3 = document.createElement('tr');										
										
										var mainTr1Td1 = document.createElement('td');
										
										var mainTr2Td1 = document.createElement('td');

										mainTr2Td1.setAttribute("class","backImage")
										mainTr2Td1.setAttribute("align","center")
										
										var mainTr3Td1 = document.createElement('td');
	
 										mainTr1Td1.appendChild(objImg);
										mainTr1Td1.appendChild(objResultTitle);
										mainTr1Td1.appendChild(objAddress);
										mainTr1Td1.appendChild(objDesc);
										
										maitTr1.appendChild(mainTr1Td1);

 										mainTr2Td1.appendChild(objLinkMoreInfo);
 										mainTr2Td1.appendChild(objLinkAddToBasket);
 										mainTr2Td1.appendChild(objLinkShowOnMap);

										//this is prepared tr2
										maitTr2.appendChild(mainTr2Td1);

										mainTr3Td1.appendChild(objAction);
										mainTr3Td1.appendChild(objPhone);
//										mainTr3Td1.appendChild(objFax);
										maitTr3.appendChild(mainTr3Td1);
									
										mainTbl.appendChild(maitTr1); 
										mainTbl.appendChild(maitTr2); 
										mainTbl.appendChild(maitTr3); 											

										objResult.appendChild(mainTbl);


										
										//alert(objResult.innerHTML)

									 //   objResult.appendChild(objResultTitle);
                                     //   objResult.appendChild(objImg);
                                     //   objResult.appendChild(objAddress);
                                     //   objResult.appendChild(objLink); 
									 //	  objResult.appendChild(objStoreMapContainer);
									//alert(objResult.innerHTML)
									    objSearchResults.style.display = 'block'
                                        objSearchResults.appendChild(objResult);
								      //  alert(objSearchResults.innerHTML)
			
										if(Prem.Browser.IE)
										{
											objSearchResults.innerHTML = objSearchResults.innerHTML
										}
										
										var minimap = new GMap2(objStoreMapContainer);
										var center = new GLatLng(storePoint.lat(), storePoint.lng());
									//alert(center)
										
			

										var objStoreIcon = new google.maps.Icon()
										
										if ((strAction=="offices")||(strAction=="landmarks")||(strAction=="partoffice"))
										{
                                         objIcon.image = "images/newicon.jpg"
										}
										else
										{
										 objIcon.image = "images/Avanta_buildings_med.png"	
										}

                                        
                                        var markerOptions = {icon:objIcon};
                                        var storeMarker = new google.maps.Marker(storePoint,markerOptions);

										minimap.setCenter(center,15);
										var marker = new GMarker(center,markerOptions);
										minimap.addOverlay(marker);
										
										GEvent.addListener(storeMarker,"mouseover",function(){
                                            var objDivId = this.getLatLng();
                                            var objLatLng = new google.maps.LatLng(objDivId.lat(),objDivId.lng());
                                            strDivId = (objDivId.lat() + "" + objDivId.lng()).replace("-","");
                                            var objDiv = $(strDivId);
											var strTitle;
											var strAllData;
//											alert(objDiv.innerHTML)	
/* 											if (objDiv.getElementsByTagName('address')[0].firstChild.nodeValue=="0")
											{
												strTitle = objDiv.getElementsByTagName('strong')[0].firstChild.nodeValue;	
											//	strL = '<a href = Default_test.aspx?action=region&id=1>click here</a>'
												strAllData = strTitle ;
											}
											else
											{
	 */										   strTitle = objDiv.getElementsByTagName('strong')[0].firstChild.nodeValue;	
											  
											  alert(strTitle)
											  strImage = objDiv.getElementsByTagName('img');	
											   strLinkToDetailPage = objDiv.getElementsByTagName('a')[0].getAttribute("href");	
											   
											   var imgSrc = strImage[0].getAttribute("src");
											   var strAdd = objDiv.getElementsByTagName('address')[0].firstChild.nodeValue
											   var action = objDiv.getElementsByTagName('input')[0].getAttribute("value")
											   var phone = objDiv.getElementsByTagName('input')[1].getAttribute("value")
//											   var fax = objDiv.getElementsByTagName('input')[2].getAttribute("value")

												
//											   alert(imgSrc)
											   
//											   strAllData = strTitle + '<br>' + '<img src='+ imgSrc + '> <br><a href= '+ strLink +'>more details</a>';
											   strAllData = '<div style="height:250px"><table>'
											   strAllData = strAllData + '<tr><td colspan=2><img src = images/stores/Avanta-logo.jpg></td></tr>'
											   strAllData = strAllData + '<tr><td><table><tr><td class=add1><strong>'+strTitle+'</strong></td></tr>'
											   strAllData = strAllData + '<tr><td class=add1><strong>'+strAdd+'</strong></td></tr>'
											   
											   strAllData = strAllData + '<tr><td class=add1>Tel : '+phone+'</td></tr>'

//											   strAllData = strAllData + '<tr><td class=add1>Fax :'+fax+'</td></tr>'
											   

											 if(strTitle=="Fort")
											 {
											 strAllData = strAllData + '<tr><td colspan="2" height="15px" style="vertical-align:top;padding-left:4px" class=clicktext><a href="javascript:Prem.openPopUp(\'fort.html\',\'fort\',\'width=325,height=310,left=100,top=100\')"><b>VIEW EXACT LOCATION HERE</b></a></td></tr>'
											 }

											strAllData = strAllData +'<tr><td class=add1>More Information</td></tr><tr><td class=clicktext><a href='+strLinkToDetailPage+'>click here</a></td></tr></table></td><td valign=top><img src='+imgSrc+'></td></tr>'											 	
											 strAllData = strAllData +  '</table></div>'
											   
											/* } */
											
											
											
											//alert(strAllData);
											
											var strAddress = objDiv.getElementsByTagName('address')[0].firstChild.nodeValue;
											document.getElementById('searchResults').scrollTop = 0;
											document.getElementById('searchResults').scrollTop = eval(145 * (document.getElementById(strDivId).getAttribute("name")-1))											   

                                            var objAnimate = new Animation();
                                            
                                            objAnimate.Flash(objDiv,3);
                                                                     
											if ((action=="offices")||(action=="landmarks")||(action=="partoffice"))
											{
                                            objClass.map.openInfoWindow(objDivId,strAllData,{maxWidth:250});
											}
											else
											{
												window.location.href='Default.aspx?action='+action+'&name'+encodeURIComponent(strTitle)	
											}
											
                                        });
										
/* 										
										GEvent.addListener(storeMarker,"mouseover",function(){
																							 
                                            var objDivId = this.getLatLng();
                                            var objLatLng = new google.maps.LatLng(objDivId.lat(),objDivId.lng());
                                            strDivId = (objDivId.lat() + "" + objDivId.lng()).replace("-","");
                                            var objDiv = $(strDivId);
											var strTitle;
											var strAllData;
 
										   strTitle = objDiv.getElementsByTagName('strong')[0].firstChild.nodeValue;
										   var strAdd = objDiv.getElementsByTagName('address')[0].firstChild.nodeValue
										   strImage = objDiv.getElementsByTagName('img');	
										   strLinkToDetailPage = objDiv.getElementsByTagName('a')[2].getAttribute("href");	
										   var imgSrc = strImage[0].getAttribute("src");
										   var action = objDiv.getElementsByTagName('input')[1].getAttribute("value")
											
												//	   strAllData = strTitle + '<br>' + '<img src='+ imgSrc + '> <br><a href= '+ strLink +'>more details</a>';							
											   strAllData = '<table>'
											   strAllData = strAllData + '<tr><td><table><tr><td><strong><a style="color:black;font-size:16px;" href="Default.aspx?action='+action+'&name='+encodeURIComponent(strTitle)+'">'+strTitle+'</a></strong></td></tr>'
											   strAllData = strAllData + '</table>'
											
											
									 		if ((action=="country")||(action=="region")||(action=="location"))	
											{
                                           	   objClass.map.openInfoWindow(objDivId,strAllData);
											}
                                        }); */
										
										//	pointsArr[i]=storePoint;
											
										var bounds = objClass.map.getBounds();
									/*	var southWest = bounds.getSouthWest();
										var northEast = bounds.getNorthEast();
										var lngSpan = northEast.lng() - southWest.lng();
										var latSpan = northEast.lat() - southWest.lat();		*/
                                       objClass.map.addOverlay(storeMarker);
									   bounds.extend(storePoint); 	
										//bounds.extend(bounds.getCenter()); 	
									//	alert(bounds.getCenter())
									    //objClass.map.panTo(storePoint)
								    	objClass.map.setCenter(bounds.getCenter(), objClass.map.getBoundsZoomLevel(bounds));
									//	objClass.map.panTo(bounds.getCenter());
										//objClass.map.recenterOrPanToLatLng(bounds.getCenter());
									   document.getElementById("loading").style.display='none'
									   document.getElementById("map").style.visibility='visible'
									   document.getElementById("map").style.zIndex='1100'
                                    }
									
								}
								
								else
								{
									//	alert('inside the non distance mark')	
	   									blnStores = true
  var storePoint = new google.maps.LatLng(lngLatitude,lngLongitude)
                                        var objResult = document.createElement('div');
										objResult.setAttribute("style","border-bottom:3px #ACABA9 solid");
                                        var objResultTitle = document.createElement('strong')
										objResultTitle.setAttribute("class","bluetext")
                                        var objAddress = document.createElement('address');
                                        objAddress.setAttribute("class","graytext")
                                        var objDesc = document.createElement('desc');
                                        objDesc.setAttribute("class","add")
									  // var rr = document.createElement('div');
								      // rr.setAttribute("style","width:200px;height:200px;border:2px blue solid");
								       
									   var objStoreMapContainer = document.createElement('div');
//								       objStoreMapContainer.setAttribute("style","width:150px;height:120px;border:1px solid #ACABA9;position: relative;overflow:hidden");

									  objStoreMapContainer.setAttribute("style","width:120px;height:95px;border:1px solid #ACABA9;position: relative;overflow:hidden");
										
		                                var strDivId = (storePoint.lat() + "" + storePoint.lng()).toString().replace("-","");
                                        
                                        strLink = 'addtobasket.aspx?id='+intStoreId
                                        strShowOnMap = 'Default.aspx?id='+intStoreId

										var objLinkMoreInfo = document.createElement('a');
                                        var objLinkAddToBasket = document.createElement('a');
                                        var objLinkShowOnMap = document.createElement('a');
                                       
									    var objLink = document.createElement('img');
										objLink.setAttribute("src","images/enquiry.jpg");
										objLink.setAttribute("border","0");
//                                        objLink.setAttribute("class","newbutton_showonmap");
                                        //objLink.setAttribute("onclick","javascript:window.location.href=");


										var objLinkMoreImg = document.createElement('img');
									    objLinkMoreImg.setAttribute("src","images/moreinfo.jpg");
									    objLinkMoreImg.setAttribute("border","0");

										var objShowOnMap = document.createElement('img');
									    objShowOnMap.setAttribute("src","images/showonmap.jpg");
										objShowOnMap.setAttribute("border","0");
			                                        
										var objAction = document.createElement('input');
                                        objAction.setAttribute("type","hidden");
                                        objAction.setAttribute("value",strAction);

										var objPhone = document.createElement('input');
                                        objPhone.setAttribute("type","hidden");
                                        objPhone.setAttribute("value",strPhone);

//										var objFax = document.createElement('input');
//                                        objFax.setAttribute("type","hidden");
//                                        objFax.setAttribute("value",strPhone);

										
//										objLink.appendChild(document.createTextNode("Add to basket"));

										objLinkMoreInfo.setAttribute("href",strLoc);
										objLinkMoreInfo.appendChild(objLinkMoreImg);

										objLinkAddToBasket.setAttribute("href",strLink);
										objLinkAddToBasket.appendChild(objLink);

										objLinkShowOnMap.setAttribute("href",strShowOnMap);
										
										objLinkShowOnMap.appendChild(objShowOnMap);

										objResult.setAttribute("id",strDivId);
                                        objResult.setAttribute("name",i);
                                        objResultTitle.appendChild(document.createTextNode(strStoreName));
                                        objAddress.appendChild(document.createTextNode(strAddress));                    
										
										// create the node for the description
//										alert(strDesc+"test")
										if(strDesc!=" ")
										{
											//alert('inside the condition')
											objDesc.appendChild(document.createTextNode(strDesc));
										
										}
										
										var objImg = new Image();
                                        objImg.src = 'images/stores/'+strImageLoc;
										objImg.width='100';
										objImg.height='75';
					                    objImg.setAttribute("class","floatleft")
										//main table
										var mainTbl = document.createElement('table');
										mainTbl.setAttribute("align","center");
										mainTbl.setAttribute("width","100%");
										mainTbl.setAttribute("border","0");
										mainTbl.setAttribute("cellspacing","0");
										mainTbl.setAttribute("cellpadding","0");
										var maitTr1 = document.createElement('tr');
										maitTr1.setAttribute("valign","top");
 										var maitTr2 = document.createElement('tr');										
//										maitTr2.setAttribute("bgcolor","#72A2B7");
 										var maitTr3 = document.createElement('tr');										
										
										var mainTr1Td1 = document.createElement('td');
										
										var mainTr2Td1 = document.createElement('td');
										mainTr2Td1.setAttribute("class","backImage")
										mainTr2Td1.setAttribute("align","center")

										var mainTr3Td1 = document.createElement('td');
	
 										mainTr1Td1.appendChild(objImg);
										mainTr1Td1.appendChild(objResultTitle);
										mainTr1Td1.appendChild(objAddress);
										mainTr1Td1.appendChild(objDesc);
										
										maitTr1.appendChild(mainTr1Td1);

 										mainTr2Td1.appendChild(objLinkMoreInfo);
 										mainTr2Td1.appendChild(objLinkAddToBasket);
 										mainTr2Td1.appendChild(objLinkShowOnMap);

										//this is prepared tr2
										maitTr2.appendChild(mainTr2Td1);

										mainTr3Td1.appendChild(objAction);
										mainTr3Td1.appendChild(objPhone);
//										mainTr3Td1.appendChild(objFax);
										
										maitTr3.appendChild(mainTr3Td1);
									
										mainTbl.appendChild(maitTr1); 
										mainTbl.appendChild(maitTr2); 
										mainTbl.appendChild(maitTr3); 											

										objResult.appendChild(mainTbl);
											
										objResult.appendChild(mainTbl);
										//alert(objResult.innerHTML)

										//objResult.appendChild(objResultTitle);
                                     //   objResult.appendChild(objImg);
                                     //   objResult.appendChild(objAddress);
                                     //   objResult.appendChild(objLink); 
									//	objResult.appendChild(objStoreMapContainer);
//									    alert(objResult.innerHTML)
										//alert(i)
										if (strAction=="location")
										{
											objRegion.appendChild(objResult);
												if(Prem.Browser.IE)
												{
													objRegion.innerHTML = objRegion.innerHTML
												}
										}
										else
										{
											objSearchResults.appendChild(objResult);
											if(Prem.Browser.IE)
											{
												objSearchResults.innerHTML = objSearchResults.innerHTML
											}
										 }
										//alert(objSearchResults.innerHTML)
										var minimap = new GMap2(objStoreMapContainer);
										var center = new GLatLng(storePoint.lat(), storePoint.lng());
								//		alert(center)
										
			

										var objStoreIcon = new google.maps.Icon()
										if ((strAction=="offices")||(strAction=="landmarks")||(strAction=="partoffice"))
										{
                                         objIcon.image = "images/newicon.jpg"
										}
										else
										{
										 objIcon.image = "images/Avanta_buildings_med.png"	
										}
                                        
                                        var markerOptions = {icon:objIcon};
                                        var storeMarker = new google.maps.Marker(storePoint,markerOptions);

										minimap.setCenter(center,15);
										var marker = new GMarker(center,markerOptions);
										minimap.addOverlay(marker);
									  
											GEvent.addListener(storeMarker,"mouseover",function(){
                                          
										    var objDivId = this.getLatLng();
                                            var objLatLng = new google.maps.LatLng(objDivId.lat(),objDivId.lng());
                                            strDivId = (objDivId.lat() + "" + objDivId.lng()).replace("-","");
											var objDiv = $(strDivId);
                                           // alert(strDivId)
											var strTitle;
											var strAllData;
											var action = objDiv.getElementsByTagName('input')[0].getAttribute("value")
											var phone = objDiv.getElementsByTagName('input')[1].getAttribute("value")
//											var fax = objDiv.getElementsByTagName('input')[2].getAttribute("value")

											
											if (action=='officeswithregion')
											{
												action = 'location'	
											}
											
											if ((action=="country")||(action=="region")||(action=="location"))	
											{
												
												strTitle = objDiv.getElementsByTagName('strong')[0].firstChild.nodeValue;
												strImage = objDiv.getElementsByTagName('img');	
												strLinkToDetailPage = objDiv.getElementsByTagName('a')[0].getAttribute("href");	
												var imgSrc = strImage[0].getAttribute("src");
												strAllData = '<div style="height:105px;"><table>'
												strAllData = strAllData + '<tr><td><img src="images/avanta_logo.jpg"/></td></tr>'
												
												if(strTitle == 'UAE')
												{
													strAllData += '<tr><td class="ThreeLevel"><strong>Coming Soon...</strong></strong></td></tr>'
												}
												else
												{
												strAllData = strAllData + '<tr><td class="ThreeLevel"><strong><a  href="Default.aspx?action='+action+'&name='+encodeURIComponent(strTitle)+'">View Offices in '+strTitle+'</a></strong></td></tr><tr><td class="ThreeLevel" height="15px" style="vertical-align:top"><span  onclick="closeBox()" style="color:#6C44FF;font-size:11px">CLOSE BOX</span></td></tr>'
												}
												
												
												strAllData = strAllData + '</table></div>'
												//alert(strDivId)
												//alert(document.getElementById(strDivId).getAttribute("name"));
	                                            var objAnimate = new Animation();
                                                objAnimate.Flash(objDiv,3);
												objClass.map.openInfoWindow(objDivId,strAllData,{maxWidth:250});
											}
											else
											{
											   strTitle = objDiv.getElementsByTagName('strong')[0].firstChild.nodeValue;
											 
											   var strAdd = objDiv.getElementsByTagName('address')[0].firstChild.nodeValue
											   strImage = objDiv.getElementsByTagName('img');	
											   strLinkToDetailPage = objDiv.getElementsByTagName('a')[0].getAttribute("href");	
											   var imgSrc = strImage[0].getAttribute("src");
											   var action = objDiv.getElementsByTagName('input')[0].getAttribute("value")
											   strAllData = '<div style="height:250px;"><table>'
											   strAllData = strAllData + '<tr><td colspan=2><img src = images/stores/Avanta-logo.jpg></td></tr>'
											   strAllData = strAllData + '<tr><td><table><tr><td class=add1><strong>'+strTitle+'</strong></td></tr>'
											   strAllData = strAllData + '<tr><td class=add1><strong>'+strAdd+'</strong></td></tr>'
											   
											   strAllData = strAllData + '<tr><td class=add1>Tel : '+phone+'</td></tr>'

//											   strAllData = strAllData + '<tr><td class=add1>Fax :'+fax+'</td></tr>'
											   
											   strAllData = strAllData +'<tr><td class=add1>More Information</td></tr><tr><td class=clicktext><a href='+strLinkToDetailPage+'>click here</a></td></tr></table></td><td valign=top><img src='+imgSrc+'></td></tr>'

												 if(strTitle=="Fort")
												 {
												 strAllData = strAllData + '<tr><td colspan="2" height="15px" style="vertical-align:top;padding-left:4px" class=clicktext><a href="javascript:Prem.openPopUp(\'fort.html\',\'fort\',\'width=325,height=310,left=100,top=100\')"><b>VIEW EXACT LOCATION HERE</b></a></td></tr>'
												 }

												strAllData = strAllData + '<tr><td colspan="2" height="15px" style="vertical-align:top"><span  onclick="closeBox()" style="color:#6C44FF;font-size:11px">CLOSE BOX</span></td></tr>';
											 
											 strAllData = strAllData +  '</table></div>'
												//alert(strDivId)

//alert(document.getElementById(strDivId))
document.getElementById('searchResults').scrollTop = 0;
document.getElementById('searchResults').scrollTop = eval(145 * document.getElementById(strDivId).getAttribute("name"))											   
												var objAnimate = new Animation();
												objAnimate.Flash(objDiv,3);
												objClass.map.openInfoWindow(objDivId,strAllData,{maxWidth:250});
											}
                                        });
									
                                        objClass.map.addOverlay(storeMarker);
									  
										pointsArr[i]=storePoint;
										
									 //bounds.extend(bounds.getCenter()); 	
									// alert(bounds.getCenter()+'___'+storePoint+'___'+objClass.map.getBoundsZoomLevel(bounds))
									//   objClass.map.setCenter(bounds.getCenter(), objClass.map.getBoundsZoomLevel(bounds));
									//   objClass.map.panTo(bounds.getCenter());
/* 									   alert(k);
									   if (k==0)
										{
									   		objClass.map.panTo(lngLatitude,lngLongitude);		 
											alert(k)
										}
										k = eval(k + 1);
 */			
//										 objClass.map.addOverlay(storeMarker);
										//objClass.map.recenterOrPanToLatLng(bounds.getCenter());
 
 								}
								
								}
								
							
						 	
								// var bounds = objClass.map.getBounds();
                               var bounds = new GLatLngBounds;
							 
								var flag=false;
								var K
								for(j=0;j<pointsArr.length;j++)
								{
									
									if (pointsArr[j]!="")
									{
								 		 bounds.extend(pointsArr[j]);
										 flag=true;
										 k=k+1;
									}
								}
								
								
								if (flag)
								{
									   center=bounds.getCenter();
//									   alert(pointsArr.length+"pointsArray");
									  // alert(k);
	
										//alert(strAction)
										//if((k==1)&&(strAction=="location"))
									   if((k==1)&&((strAction=="location")||(strAction=="offices")))
									   {
										if(strAction=="location")
										{
											minZoom=11;
										}
										if(strAction=="offices")
										{
										   minZoom=13;
										}
									   }
									   else
									   {
										//alert('inside the else part')
										if(strAction=="partoffice")
										{
										  minZoom=15
										}
										else
										{
										  minZoom=objClass.map.getBoundsZoomLevel(bounds);
										}
									    
										
									   }
										
   									   // alert(minZoom);
									   objClass.map.setCenter(center, minZoom);
							 		   objClass.map.panTo(center);
									   document.getElementById("loading").style.display='none'
									   document.getElementById("map").style.visibility='visible'
									   document.getElementById("map").style.zIndex='1100'
										
								}
	   
							   
							   }
 							//alert(blnStores)  
							if(!blnStores == true)
                            {
						   document.getElementById("loading").style.display='none'
						   document.getElementById("map").style.visibility='visible'
						   document.getElementById("map").style.zIndex='1100'
						   objCore.messageBox("Location not found","Sorry No office is found",$('map'),"message","Would you like to expand your search radius");
						   objCore.clearElement(objSearchResults);
                            }
                        }
                    }
                    objAjax.send("");
                }
                else
                {
                    objCore.messageBox("Address not found","We could not find the address . Please try another address",$('map'),"message","");
                    objCore.clearElement(objSearchResults);
                }
            }
			
			//////////////////////////////////////////////
			////////////////////////////////////////////
			//////////////////////////////////////////
			
			var geocoder = new google.maps.ClientGeocoder();
			
				if(document.all)
				{
					var objClass = this;
					setTimeout(function(){var objLatLng = geocoder.getLatLng(objClass.address,function(point){doit(point)});},3000)
				}
				else
				{
					var objLatLng = geocoder.getLatLng(this.address,function(point){doit(point)});  
				}
          }
         else
         {
            objCore.messageBox("Enter address","Please enter an address in the address field",$('map'),"message","");
         }
    },
       
	   
	   	CalculateDistance: function(lat1,lon1,lat2,lon2)
        {
            var R = 6371; // earth's mean radius in km
            var dLat = (lat2-lat1).toRad();
            var dLon = (lon2-lon1).toRad();
            lat1 = lat1.toRad(), lat2 = lat2.toRad();

            var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
                Math.cos(lat1) * Math.cos(lat2) * 
                Math.sin(dLon/2) * Math.sin(dLon/2);
            var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
            var d = R * c;
        return d;
        }
	}
	
	
	function Animation(){} // Animation Class
	
	Animation.prototype = {
	Flash: function(objElement,intFlashes)
	    {
	    var intCounter = 0;
	    var intAnimate = intFlashes;
	        var intHighlightStore = setInterval(function(){ // Animated highlight of clicked store
                intCounter += 1;
                if(intCounter < (intAnimate*2)+1)
                {
                    var strStyle = (objElement.className == "storeHighlight")? "" : "storeHighlight";
                    objElement.className = strStyle;
                }
                else
                {
                    window.clearInterval(intHighlightStore)
                }
            },500); // End setInterval
	    } // End Flash
	    
	} // End Animation
	

	
function xmlhttpPost(strURL) {
var objLoadingImg = ajaxLoaderImage();
var objResultPane = document.getElementById('searchResults')
objResultPane.innerHTML = ''
objResultPane.appendChild(objLoadingImg)
var xmlHttpReq = false;
var self = this;
// Mozilla/Safari
if (window.XMLHttpRequest) {
self.xmlHttpReq = new XMLHttpRequest();
}
// IE
else if (window.ActiveXObject) {
self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}

self.xmlHttpReq.open('POST',strURL, true);
self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
self.xmlHttpReq.onreadystatechange = function() {
if (self.xmlHttpReq.readyState == 4) {
objResultPane.innerHTML = ''	
	                       	    var strResponse = self.xmlHttpReq.responseText;
								//alert(strResponse)
                                var objXml = self.xmlHttpReq.responseText.xmlFromString();
                                var objXmlRoot = objXml.documentElement;
                                var intStores = objXmlRoot.childNodes.length;         
                                var blnStores = false;
								var k = 0;

								for(var i=0;i<intStores;i++)
                                {

                                    var intStoreId = objXmlRoot.getElementsByTagName("store")[i].getAttribute("StoreId");
	
									var strStoreName = objXmlRoot.getElementsByTagName("title")[i].firstChild.nodeValue;

									var lngLongitude = parseFloat(objXmlRoot.getElementsByTagName("longitude")[i].firstChild.nodeValue);
                                    var lngLatitude = parseFloat(objXmlRoot.getElementsByTagName("latitude")[i].firstChild.nodeValue);
                                    var strAddress = objXmlRoot.getElementsByTagName("address")[i].firstChild.nodeValue; 
                                    var strImageLoc = objXmlRoot.getElementsByTagName("image")[i].firstChild.nodeValue;                                    var strDesc = objXmlRoot.getElementsByTagName("desc")[i].firstChild.nodeValue;																												 									var strAction = objXmlRoot.getElementsByTagName("action")[i].firstChild.nodeValue;
									var strLoc = objXmlRoot.getElementsByTagName("loc")[i].firstChild.nodeValue;
									
									strPhone  =  objXmlRoot.getElementsByTagName("phone")[i].firstChild.nodeValue;
									strFax  =  objXmlRoot.getElementsByTagName("fax")[i].firstChild.nodeValue;
									
                                        var storePoint = new google.maps.LatLng(lngLatitude,lngLongitude)
                                        var objResult = document.createElement('div');
										objResult.setAttribute("style","border-bottom:3px #ACABA9 solid");
                                        var objResultTitle = document.createElement('strong')
										objResultTitle.setAttribute("class","bluetext")
                                        var objAddress = document.createElement('address');
                                        objAddress.setAttribute("class","graytext")
                                        var objDesc = document.createElement('desc');
                                        objDesc.setAttribute("class","add")
									  // var rr = document.createElement('div');
								      // rr.setAttribute("style","width:200px;height:200px;border:2px blue solid");
								       
									   var objStoreMapContainer = document.createElement('div');
//								       objStoreMapContainer.setAttribute("style","width:145px;height:120px;border:1px solid #ACABA9;position: relative;overflow:hidden");

									  objStoreMapContainer.setAttribute("style","width:120px;height:95px;border:1px solid #ACABA9;position: relative;overflow:hidden");
										
		                                var strDivId = (storePoint.lat() + "" + storePoint.lng()).toString().replace("-","");
                                        
                                        strLink = 'addtobasket.aspx?id='+intStoreId
                                        strShowOnMap = 'Default.aspx?id='+intStoreId

										var objLinkMoreInfo = document.createElement('a');
                                        var objLinkAddToBasket = document.createElement('a');
                                        var objLinkShowOnMap = document.createElement('a');
                                       
									    var objLink = document.createElement('img');
										objLink.setAttribute("src","images/enquiry.jpg");
										objLink.setAttribute("border","0");
//                                        objLink.setAttribute("class","newbutton_showonmap");
                                        //objLink.setAttribute("onclick","javascript:window.location.href=");

										var objLinkMoreImg = document.createElement('img');
									    objLinkMoreImg.setAttribute("src","images/moreinfo.jpg");
									    objLinkMoreImg.setAttribute("border","0");

										var objShowOnMap = document.createElement('img');
									    objShowOnMap.setAttribute("src","images/showonmap.jpg");
										objShowOnMap.setAttribute("border","0");
			                                        
										var objAction = document.createElement('input');
                                        objAction.setAttribute("type","hidden");
                                        objAction.setAttribute("value",strAction);

										var objPhone = document.createElement('input');
                                        objPhone.setAttribute("type","hidden");
                                        objPhone.setAttribute("value",strPhone);

//										var objFax = document.createElement('input');
//                                        objFax.setAttribute("type","hidden");
//                                        objFax.setAttribute("value",strPhone);

										
//										objLink.appendChild(document.createTextNode("Add to basket"));

										objLinkMoreInfo.setAttribute("href",strLoc);
										objLinkMoreInfo.appendChild(objLinkMoreImg);

										objLinkAddToBasket.setAttribute("href",strLink);
										objLinkAddToBasket.appendChild(objLink);

										objLinkShowOnMap.setAttribute("href",strShowOnMap);
										
										objLinkShowOnMap.appendChild(objShowOnMap);

										objResult.setAttribute("id",strDivId);
                                        objResult.setAttribute("name",i);
                                        objResultTitle.appendChild(document.createTextNode(strStoreName));
                                        objAddress.appendChild(document.createTextNode(strAddress));                    
										
										// create the node for the description
//										alert(strDesc+"test")
										if(strDesc!=" ")
										{
											//alert('inside the condition')
											objDesc.appendChild(document.createTextNode(strDesc));
										
										}
										
										var objImg = new Image();
                                        objImg.src = 'images/stores/'+strImageLoc;
										objImg.width='100';
										objImg.height='75';
					                    objImg.setAttribute("class","floatleft")
										//main table
										var mainTbl = document.createElement('table');
										mainTbl.setAttribute("align","center");
										mainTbl.setAttribute("width","100%");
										mainTbl.setAttribute("border","0");
										mainTbl.setAttribute("cellspacing","0");
										mainTbl.setAttribute("cellpadding","0");
										var maitTr1 = document.createElement('tr');
										maitTr1.setAttribute("valign","top");
 										var maitTr2 = document.createElement('tr');										
//										maitTr2.setAttribute("bgcolor","#72A2B7");
 										var maitTr3 = document.createElement('tr');										
										
										var mainTr1Td1 = document.createElement('td');
										
										var mainTr2Td1 = document.createElement('td');

										mainTr2Td1.setAttribute("class","backImage")
										mainTr2Td1.setAttribute("align","center")

										var mainTr3Td1 = document.createElement('td');
	
 										mainTr1Td1.appendChild(objImg);
										mainTr1Td1.appendChild(objResultTitle);
										mainTr1Td1.appendChild(objAddress);
										mainTr1Td1.appendChild(objDesc);
										
										maitTr1.appendChild(mainTr1Td1);

 										mainTr2Td1.appendChild(objLinkMoreInfo);
 										mainTr2Td1.appendChild(objLinkAddToBasket);
 										mainTr2Td1.appendChild(objLinkShowOnMap);

										//this is prepared tr2
										maitTr2.appendChild(mainTr2Td1);

										mainTr3Td1.appendChild(objAction);
										mainTr3Td1.appendChild(objPhone);
//										mainTr3Td1.appendChild(objFax);
										maitTr3.appendChild(mainTr3Td1);
									
										mainTbl.appendChild(maitTr1); 
										mainTbl.appendChild(maitTr2); 
										mainTbl.appendChild(maitTr3); 											

										objResult.appendChild(mainTbl);
                                       
									    //alert(objResult.innerHTML)
										objResultPane.appendChild(objResult);
			
										if(Prem.Browser.IE)
										{
										objResultPane.innerHTML = objResultPane.innerHTML
										}
										/* var minimap = new GMap2(objStoreMapContainer);
										var center = new GLatLng(storePoint.lat(), storePoint.lng());
										var objIcon = new google.maps.Icon();
										objIcon.image = "images/newicon.png";
										objIcon.iconSize = new google.maps.Size(25, 25);
										objIcon.iconAnchor = new google.maps.Point(16, 20);
										objIcon.infoWindowAnchor = new google.maps.Point(5, 1);
//										objIcon.image = "images/newicon.jpg"
                                        var markerOptions = {icon:objIcon}; 

										minimap.setCenter(center,15);
										var marker = new GMarker(center,markerOptions);
										minimap.addOverlay(marker); */
                                    }
	
}
}
self.xmlHttpReq.send('');
}



	