//global vars for layer indexes
var g_nParcelLayerIdx = 47;
var g_nSubdivisionLayerIdx = 49;

var g_mapWindow = null;
var g_nMaxRecords = 10;
var g_nStartRec = 1;
var g_nEndRec = g_nMaxRecords;
var g_sCurrentSearch = "";

function doNothing(){
	
}

function doCurrentSearch(){
	switch(g_sCurrentSearch){
	case "address":
		searchByAddress();
		break;
	case "pin":
		searchByPin();
		break;		
	case "subdivision":
		searchBySubName();
		break;	
	case "ownername":
		searchByOwnerName();
		break;	
	}
}

function getNextRecords(){
	g_nStartRec = g_nStartRec + g_nMaxRecords;
	g_nEndRec = g_nStartRec + g_nMaxRecords - 1;
	doCurrentSearch();
}

function getPreviousRecords(){
	g_nStartRec = g_nStartRec - g_nMaxRecords;
	g_nEndRec = g_nEndRec - g_nMaxRecords;
	doCurrentSearch();
}


function openMapWindow(){
	g_mapWindow = window.open("viewer.php","mapWindow");
	g_mapWindow.focus();
}

function parseSearchResponse(origRequest){
	var sReply = origRequest.responseText;
	$("resultsDiv").innerHTML = sReply;
}

function resetStartRec(){
	g_nStartRec = 1;
	g_nEndRec = g_nMaxRecords;
}

function searchByAddress(){
	var sAddress =  $("autoCompleteStreetNum").value + " " + $("autoCompleteStreetName").value;
	var sServiceUrl = "ajax/ajaxAddressSearch.php";
	g_sCurrentSearch = "address";
	sAddress = trimString(sAddress);
	
	if(sAddress.length > 1){
		showLoading();
		var myAjax = new Ajax.Request(sServiceUrl,{method:'post',parameters:'address=' + sAddress + '&startrec=' + g_nStartRec + '&endrec=' + g_nEndRec,onComplete:parseSearchResponse});
	} else {
		alert("Please enter an Address to search.");
	}
}

function searchByOwnerName(){
	var sOwnerName = $("autoCompleteOwnerName").value;
	var sServiceUrl = "ajax/ajaxOwnerNameSearch.php";
	g_sCurrentSearch = "ownername";
	sOwnerName = trimString(sOwnerName);
	
	if(sOwnerName.length > 1){
		showLoading();
		var myAjax = new Ajax.Request(sServiceUrl,{method:'post',parameters:'ownername=' + sOwnerName + '&startrec=' + g_nStartRec + '&endrec=' + g_nEndRec,onComplete:parseSearchResponse});
	} else {
		alert("Please enter an owner name to search.");
	}
}

function searchByPin(){
	var sPin = $("autoCompleteParcelNumber").value;
	var sServiceUrl = "ajax/ajaxPinSearch.php";
	g_sCurrentSearch = "pin";
	sPin = trimString(sPin);
	
	if(sPin.length > 1){
		showLoading();
		var myAjax = new Ajax.Request(sServiceUrl,{method:'post',parameters:'pin=' + sPin + '&startrec=' + g_nStartRec + '&endrec=' + g_nEndRec,onComplete:parseSearchResponse});
	} else {
		alert("Please enter a PIN to search.");
	}
}

function searchBySubName(){
	var sSubName = $("autoCompleteSubName").value;
	var sServiceUrl = "ajax/ajaxSubNameSearch.php";
	g_sCurrentSearch = "subdivision";
	sSubName = trimString(sSubName);
	
	if(sSubName.length > 1){
		showLoading();
		var myAjax = new Ajax.Request(sServiceUrl,{method:'post',parameters:'subname=' + sSubName + '&startrec=' + g_nStartRec + '&endrec=' + g_nEndRec,onComplete:parseSearchResponse});
	} else {
		alert("Please enter a subdivision name to search.");
	}
}

function sendQueryToMap(sString,sField,nLayerID) {
	var sString = sField + " LIKE \"" + sString + "%\"";
	var elemMapFrame = g_mapWindow.MapFrame;
	
	if (sString!="") {
		elemMapFrame.setActiveLayer(nLayerID);
		elemMapFrame.sendQueryString(sString);
	} else {
		alert(elemMapFrame.msgList[110]);
	}
}


function showLoading(){
	$("resultsDiv").innerHTML = "<p>Searching...</p>";
	
}

function toggleDiv(sName){
	var sAccordId = sName.substr(0,7);
	var elem = $(sName);
	Effect.toggle(elem,'slide',{duration:.5});

	//flip the browse image to up or down
	if(sAccordId.substr(0,6)== "accord"){
		var browseImgElem = $(sAccordId + "BrowseImg");
		if(browseImgElem.src.indexOf("collapse.png") != -1){
			browseImgElem.src = "images/expand.png";
		} else {
			browseImgElem.src = "images/collapse.png";
		}
	}

}


function trimString(sInString) {
  sInString = sInString.replace( /^\s+/g, "" );// strip leading
  return sInString.replace( /\s+$/g, "" );// strip trailing
}

function zoomToParcel(sPin){
	var sField = "DelawareINWeb_sde9.SDEWEB.parcel_poly.PIN";
	var nLayerID = g_nParcelLayerIdx;
	
	if(!(g_mapWindow == undefined)){
		sendQueryToMap(sPin,sField,nLayerID);		
	}else{
		alert("Must open map viewer before zooming in to parcel.  Click the \"Launch Map Viewer\" button.")
	}
}

function zoomToSubdivision(sSubName){
	var sField = "DelawareINWeb_sde9.SDEWEB.SUB_POLY.SUBNAME";
	var nLayerID = g_nSubdivisionLayerIdx;
	
	if(!(g_mapWindow == undefined)){
		sendQueryToMap(sSubName,sField,nLayerID);		
	}else{
		alert("Must open map viewer before zooming in to subdivision.  Click the \"Launch Map Viewer\" button.")
	}
}