var gSearchRadius=1000;
var gUpdateLat;
var gUpdateLng;
var IsFailedQuery="false";

var gSendPostalCodeScriptSource = (function(scripts)
{
    var scripts = document.getElementsByTagName('script'),script = scripts[scripts.length - 1];
    
    if (script.getAttribute.length !== undefined)
    {
    	return script.src;
    }
    
    return script.getAttribute('src', -1);
}());

function GetBaseURL()
{
	return gSendPostalCodeScriptSource.replace ("/Gjs/sendpostalcode.js","");
}

function DoAjax(url, callback, errorhandler, method, params, contentType)
{
	var loader = new net.ContentLoader(url, callback, errorhandler, method, params, contentType,null);
}

function SubmitZipCode()
{
	if (document.sendPostalCodeForm.PostalCode.value == "")
	{
		var lErrorEle = document.getElementById('postalcodealert');
		lErrorEle.style.display = "block";
		lErrorEle.innerHTML = "Het zoekveld is leeg. Vul aub uw postcode in.";
		return;
	}
	else
	{
		var lErrorEle = document.getElementById('postalcodealert');
		lErrorEle.style.display = "none";
	}
	
	var lBaseURI = GetBaseURL();
	
	var lURI = lBaseURI+"/Gmodphp/getlatlng.php";
	var lParam = "postalcode=" + document.sendPostalCodeForm.PostalCode.value;
	
	var lCallBack = function()
	{
		var lResponse = this.req.responseText;
		var lIsSelfUpdate = document.sendPostalCodeForm.IsSelfUpdate.value;
		
		if (lResponse == "Error")
		{
			IsFailedQuery = "true";
		}
		else
		{
			IsFailedQuery = "false";
		}
		
		var gLatLng = eval('(' + lResponse + ')');
		lSearchRadius = (gSearchRadius!=null)?gSearchRadius:50;
		var lURI;

		if (IsFailedQuery == "false")
		{
			lURI = lBaseURI+"/Gmodphp/getnearest.php?lat=" + gLatLng.lat + "&lng=" + gLatLng.lng + "&radius="+lSearchRadius+"&IsSelfUpdate="+lIsSelfUpdate;
		}
		else
		{
			lURI = lBaseURI+"/Gmodphp/getnearest.php?lat=52.0833333&lng=5.1333333&radius="+lSearchRadius+"&IsSelfUpdate="+lIsSelfUpdate+"&IsFailedQuery="+IsFailedQuery;
		}
			
		gUpdateLat = gLatLng.lat;
		gUpdateLng = gLatLng.lng;
			
		if (lIsSelfUpdate == "false")
		{
			var lwindow = open(lURI,'_self');
		}
		else
		{
			var lCallBack2 = function ()
			{
				var lResponse = this.req.responseText;
				var lData = eval('(' + lResponse + ')');
				UpDateMap (lData);
			};
			DoAjax (lURI,lCallBack2,null,"GET",null,null);
		}
	};
	DoAjax(lURI, lCallBack, null, "POST", lParam);
}

function UpDateMap (pData)
{
	UpdateShopsList (pData);
	UpdateShopsMarkers(pData);
	UpdateStartPoint();
	//Update the Zoom
    //ChangeZoom();
}

function UpdateStartPoint ()
{
	gStartPoint =  new google.maps.LatLng(gUpdateLat,gUpdateLng);
}
