/**
 * @author Ed Slocombe
 */

window.onload = search_onload;

function search_onload() {
	// Stage 1
	var countyBox = document.getElementById('county');
	if (countyBox && (countyBox.value != "" || countyBox.value != "-1")) getTowns(countyBox.value);
	// Stage 3
	//if (Practice != null) initMap();
}

// STAGE 1

function getTowns(county) {
	
	var step2content = document.getElementById("step2content");
	var step2holder = document.getElementById("step2");
	
	if (county == "" || county == "-1") {
		step2content.innerHTML = "";
		step2holder.style.display = "none";
		return;
	} else {
		step2content.innerHTML = "<div style=\"text-align: center\">loading...</div>";
		step2holder.style.display = "block";
		var url = "AJAXphp/countyTowns.php?county="+county;
		AJAX.call(url, setTownsResults, false);
	}
	
}

function getTownsVW(county) {
	
	var step2content = document.getElementById("step2content");
	var step2holder = document.getElementById("step2");
	
	if (county == "" || county == "-1") {
		step2content.innerHTML = "";
		step2holder.style.display = "none";
		return;
	} else {
		step2content.innerHTML = "<div style=\"text-align: center\">loading...</div>";
		step2holder.style.display = "block";
		var url = "AJAXphp/countyTowns.php?county="+county+"&vetswest=1";
		AJAX.call(url, setTownsResults, false);
	}
	
}

function setTownsResults(data) {
	document.getElementById("step2content").innerHTML = data;
	location.href = "#step2";
}

function displayVetTypeSrch() {
	document.getElementById('vetTypeSearch').style.display = "table-row";
}

// STAGE 3

var MAP_WIDTH = 700;
var MAP_HEIGHT = 500;

var mapInited = false;
var functionToCall;
var functionToCallArgs = "";

function initMap(func, arg) {
	if (func) {
		functionToCall = func;
		functionToCallArgs = arg;
	}
	PopUpBox.open('Vet Practice Map - ' + locale, '/AJAXphp/practicesMap.php', false, null, onInitMap, MAP_WIDTH, MAP_HEIGHT+20, false);
}

function onInitMap() {
	setupMap();
	mapInited = true;
	if (functionToCall) functionToCall(functionToCallArgs);
}

function setupMap() {
	var mapHolder = document.getElementById("mapHolder");
	mapHolder.style.width = "100%";
	mapHolder.style.height = (MAP_HEIGHT-60)+"px";
	VetMap.addMarkerEnabled = false;
	VetMap.init("mapHolder", null, locale, { zoom : true, movement : true });
	VetMap.open();
}

function openMap_allResults() {
	if (mapInited == false) {
		initMap(openMap_allResults);
		return;
	}
	VetMap.clearMarkers();
	// For every practice in Practices place marker
	var first = true;
	for (var p in Practices) {
		if (first) {
			VetMap.placeMarker(Practices[p].lat, Practices[p].lng, Practices[p].toHTML(), true);
			first = false;
		}
		else
			VetMap.placeMarker(Practices[p].lat, Practices[p].lng, Practices[p].toHTML());
	}
	PopUpBox.reOpen();
}

function showMap_allResults() {
	var mapHolder = document.getElementById("mapHolder");
	mapHolder.style.width = "100%";
	mapHolder.style.height = "700px";
	VetMap.addMarkerEnabled = false;
	VetMap.init("mapHolder", null, locale, { zoom : true, movement : true });
	VetMap.clearMarkers();
	// For every practice in Practices place marker
	var first = true;
	for (var p in Practices) {
			VetMap.placeVWMarker(Practices[p].lat, Practices[p].lng, Practices[p].toHTML());
	}
	VetMap.setVWzoom();
}

function openMap_individual(practiceId) {
	if (mapInited == false) {
		initMap(openMap_individual, practiceId);
		return;
	}
	var pract = Practices[practiceId];
	VetMap.clearMarkers();
	VetMap.placeMarker(pract.lat, pract.lng, pract.toHTML(), true);
	PopUpBox.reOpen();
}

// Will put all practices in DB on map
function openMap_allPractices() {
	
	if (mapInited == false) {
		initMap(openMap_allPractices);
		return;
	}
	
	VetMap.clearMarkers();
	
	// For every practice in the array 'vets' place a marker
	// 'vets' is retrived from AJAX call to open popup content
	for (var i = 0, j = vets.length; i < j; i++) {
		VetMap.placeMarker(vets[i].lat, vets[i].lng, vets[i].toHTML());
	}
	
}



