
function IMS2_TaskParcelSearch(id){
	var self = this;
	
	this.id = id;
	this.type = "parc";
	this.currentIndex = 1;
    this.isActive = false;
    this.xmlReq;
    
    function Render(){
					
		var html = "";
		
		html += "<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\">";
		html += "<tr class=\"task\" onmousedown=\"IMS2_Tasks.ActivateTask('" + self.id + "');\" onmouseover=\"this.className='taskOver';\" onmouseout=\"this.className='task';\"><td>Parcel Search</td>";
		html += "<td style=\"font-size:xx-small;\" align=\"right\" width=\"35\" onmouseover=\"event.cancelBubble='true';\" onmouseout=\"event.cancelBubble='true';\"><img src=\"images/tasks/close.gif\" onmousedown=\"IMS2_Tasks.Remove(" + self.id + ");event.cancelBubble='true';\" onmouseover=\"this.src='images/tasks/close-over.gif';event.cancelBubble='true';\" onmouseout=\"this.src='images/tasks/close.gif';event.cancelBubble='true';\"/></td></tr>";
		html += "</table>";						
		
		html += "<div id=\"_task_" + self.id + "_pages\" style=\"display:none;\">"
		html += "<div id=\"_task_" + self.id + "_page_1\" class=\"taskPage\">";
		html += "<table width=\"100%\" cellpadding=\"2\" cellspacing=\"0\">";
		html += "<tr><td class=\"wizLarge\">Step 1:  Enter Search Criteria</td></tr>";
		html += "<tr><td class=\"wizSmall\">&nbsp;</td></tr>";
		
		//Owner
		html += "<tr><td class=\"wizMedium\">Owner Name</td></tr>";
		html += "<tr><td class=\"wizSmall\">";
		html += "<table width=\"100%\" cellpadding=\"2\" cellspacing=\"0\">";
		//html += "<tr><td class=\"wizSmall\">First Name:</td>";
		html += "<tr><td class=\"wizSmall\"><input id=\"_task_" + self.id + "_firstname\" type=\"text\" size=\"14\"";
		html += " onchange=\"document.getElementById('suggestDiv').style.display='none';\" onfocus=\"IMS2_Suggest.boxfocus=1;\"";
		html += " onblur=\"IMS2_Suggest.boxfocus=0; IMS2_Suggest.HideSuggest();\"";
		html += " onkeyup=\"IMS2_Suggest.getSuggest=true;IMS2_Suggest.preVal=this.value;IMS2_Suggest.layerid='Parcels';";
		html += "IMS2_Suggest.fieldName='FIRSTNAME';setInterval('IMS2_Suggest.Check()',500);";
		html += "IMS2_Suggest.inputElem=this;";
		html += "IMS2_Suggest.MoveFocus(IMS2_isMSIE()?(event):(event));\" />";
		html += "</td>";
		//html += "<tr><td class=\"wizSmall\">&nbsp;</td><td class=\"wizSmall\">John</td></tr>";		
		//html += "<tr><td class=\"wizSmall\">Last Name:</td>";
		html += "<td class=\"wizSmall\"><input id=\"_task_" + self.id + "_lastname\" type=\"text\" size=\"14\"";
		html += " onchange=\"document.getElementById('suggestDiv').style.display='none';\" onfocus=\"IMS2_Suggest.boxfocus=1;\"";
		html += " onblur=\"IMS2_Suggest.boxfocus=0; IMS2_Suggest.HideSuggest();\"";
		html += " onkeyup=\"IMS2_Suggest.getSuggest=true;IMS2_Suggest.preVal=this.value;IMS2_Suggest.layerid='Parcels';";
		html += "IMS2_Suggest.fieldName='LASTNAME';setInterval('IMS2_Suggest.Check()',500);";
		html += "IMS2_Suggest.inputElem=this;";
		html += "IMS2_Suggest.MoveFocus(IMS2_isMSIE()?(event):(event));\">";
		html += "</td></tr>";
		html += "<tr><td class=\"wizSmall\">John</td><td class=\"wizSmall\">Smith</td></tr>";
		html += "</table></td></tr>";
		html += "<tr><td class=\"wizSmall\">&nbsp;</td></tr>";
		
		//Address
		html += "<tr><td class=\"wizMedium\">Address</td></tr>";
		html += "<tr><td class=\"wizSmall\">";
		html += "<table width=\"100%\" cellpadding=\"2\" cellspacing=\"0\">";
		html += "<tr>";
		html += "<td class=\"wizSmall\"><input id=\"_task_" + self.id + "_housenum\" type=\"text\" size=\"3\"";
		html += " onchange=\"document.getElementById('suggestDiv').style.display='none';\" onfocus=\"IMS2_Suggest.boxfocus=1;\"";
		html += " onblur=\"IMS2_Suggest.boxfocus=0; IMS2_Suggest.HideSuggest();\"";
		html += " onkeyup=\"IMS2_Suggest.getSuggest=true;IMS2_Suggest.preVal=this.value;IMS2_Suggest.layerid='Parcels';";
		html += "IMS2_Suggest.fieldName='ADDRESSNUMBER';setInterval('IMS2_Suggest.Check()',500);";
		html += "IMS2_Suggest.inputElem=this;";
		html += "IMS2_Suggest.MoveFocus(IMS2_isMSIE()?(event):(event));\" />";
		html += "</td>";
		html += "<td class=\"wizSmall\"><input id=\"_task_" + self.id + "_predir\" type=\"text\" size=\"1\"";
		html += " onchange=\"document.getElementById('suggestDiv').style.display='none';\" onfocus=\"IMS2_Suggest.boxfocus=1;\"";
		html += " onblur=\"IMS2_Suggest.boxfocus=0; IMS2_Suggest.HideSuggest();\"";
		html += " onkeyup=\"IMS2_Suggest.getSuggest=true;IMS2_Suggest.preVal=this.value;IMS2_Suggest.layerid='Parcels';";
		html += "IMS2_Suggest.fieldName='PREDIRECTION';setInterval('IMS2_Suggest.Check()',500);";
		html += "IMS2_Suggest.inputElem=this;";
		html += "IMS2_Suggest.MoveFocus(IMS2_isMSIE()?(event):(event));\" />";
		html += "</td>";
		html += "<td class=\"wizSmall\"><input id=\"_task_" + self.id + "_street\" type=\"text\" size=\"8\"";
		html += " onchange=\"document.getElementById('suggestDiv').style.display='none';\" onfocus=\"IMS2_Suggest.boxfocus=1;\"";
		html += " onblur=\"IMS2_Suggest.boxfocus=0; IMS2_Suggest.HideSuggest();\"";
		html += " onkeyup=\"IMS2_Suggest.getSuggest=true;IMS2_Suggest.preVal=this.value;IMS2_Suggest.layerid='Parcels';";
		html += "IMS2_Suggest.fieldName='STREETNAME';setInterval('IMS2_Suggest.Check()',500);";
		html += "IMS2_Suggest.inputElem=this;";
		html += "IMS2_Suggest.MoveFocus(IMS2_isMSIE()?(event):(event));\" />";
		html += "</td>";
		html += "<td class=\"wizSmall\"><input id=\"_task_" + self.id + "_suff\" type=\"text\" size=\"2\"";
		html += " onchange=\"document.getElementById('suggestDiv').style.display='none';\" onfocus=\"IMS2_Suggest.boxfocus=1;\"";
		html += " onblur=\"IMS2_Suggest.boxfocus=0; IMS2_Suggest.HideSuggest();\"";
		html += " onkeyup=\"IMS2_Suggest.getSuggest=true;IMS2_Suggest.preVal=this.value;IMS2_Suggest.layerid='Parcels';";
		html += "IMS2_Suggest.fieldName='STREETSUFFIX';setInterval('IMS2_Suggest.Check()',500);";
		html += "IMS2_Suggest.inputElem=this;";
		html += "IMS2_Suggest.MoveFocus(IMS2_isMSIE()?(event):(event));\" />";
		html += "</td></tr>";
		html += "<tr><td class=\"wizSmall\">100</td><td class=\"wizSmall\">W</td><td class=\"wizSmall\">Main</td><td class=\"wizSmall\">St</td></tr>";
		html += "</table></td></tr>";
		html += "<tr><td class=\"wizSmall\">&nbsp;</td></tr>";
		
		//GPIN
		html += "<tr><td class=\"wizMedium\">GPIN</td></tr>";
		html += "<tr><td class=\"wizSmall\">";
		html += "<table width=\"100%\" cellpadding=\"2\" cellspacing=\"0\">";
		html += "<tr>";
		html += "<td class=\"wizSmall\"><input id=\"_task_" + self.id + "_GPIN\" type=\"text\" size=\"12\"";
		html += " onchange=\"document.getElementById('suggestDiv').style.display='none';\" onfocus=\"IMS2_Suggest.boxfocus=1;\"";
		html += " onblur=\"IMS2_Suggest.boxfocus=0; IMS2_Suggest.HideSuggest();\"";
		html += " onkeyup=\"IMS2_Suggest.getSuggest=true;IMS2_Suggest.preVal=this.value;IMS2_Suggest.layerid='Parcels';";
		html += "IMS2_Suggest.fieldName='GPIN';setInterval('IMS2_Suggest.Check()',500);";
		html += "IMS2_Suggest.inputElem=this;";
		html += "IMS2_Suggest.MoveFocus(IMS2_isMSIE()?(event):(event));\" />";
		html += "</td></tr>";
		//html += "<td class=\"wizSmall\"><input id=\"_task_" + self.id + "_GPIN2\" type=\"text\" size=\"2\">-</td>";
		//html += "<td class=\"wizSmall\"><input id=\"_task_" + self.id + "_GPIN3\" type=\"text\" size=\"4\"></td></tr>";
		html += "<tr><td class=\"wizSmall\">1234-12-1234</td></tr>";
		html += "</table></td></tr>";
		html += "<tr><td class=\"wizSmall\">&nbsp;</td></tr>";
		
		//Parcel ID
		html += "<tr><td class=\"wizMedium\">Parcel ID</td></tr>";
		html += "<tr><td class=\"wizSmall\">";
		html += "<table width=\"100%\" cellpadding=\"2\" cellspacing=\"0\">";
		html += "<tr>";
		html += "<td class=\"wizSmall\"><input id=\"_task_" + self.id + "_PARCELID\" type=\"text\"";
		html += " onchange=\"document.getElementById('suggestDiv').style.display='none';\" onfocus=\"IMS2_Suggest.boxfocus=1;\"";
		html += " onblur=\"IMS2_Suggest.boxfocus=0; IMS2_Suggest.HideSuggest();\"";
		html += " onkeyup=\"IMS2_Suggest.getSuggest=true;IMS2_Suggest.preVal=this.value;IMS2_Suggest.layerid='Parcels';";
		html += "IMS2_Suggest.fieldName='PARCELID';setInterval('IMS2_Suggest.Check()',500);";
		html += "IMS2_Suggest.inputElem=this;";
		html += "IMS2_Suggest.MoveFocus(IMS2_isMSIE()?(event):(event));\" />";
		html += "</td></tr>";
		//html += "<td class=\"wizSmall\"><input id=\"_task_" + self.id + "_GPIN2\" type=\"text\" size=\"2\">-</td>";
		//html += "<td class=\"wizSmall\"><input id=\"_task_" + self.id + "_GPIN3\" type=\"text\" size=\"4\"></td></tr>";
		html += "<tr><td class=\"wizSmall\">054.02-04-01.00-0000</td></tr>";
		html += "</table></td></tr>";
		html += "<tr><td class=\"wizSmall\">&nbsp;</td></tr>";
		
//		//Neighborhood
//		html += "<tr><td class=\"wizMedium\">Neighborhood Code</td></tr>";
//		html += "<tr><td class=\"wizSmall\">";
//		html += "<table width=\"100%\" cellpadding=\"2\" cellspacing=\"0\">";
//		html += "<td class=\"wizSmall\"><input id=\"_task_" + self.id + "_neighborhood\" type=\"text\" size=\"5\"";
//		html += " onchange=\"document.getElementById('suggestDiv').style.display='none';\" onfocus=\"IMS2_Suggest.boxfocus=1;\"";
//		html += " onblur=\"IMS2_Suggest.boxfocus=0; IMS2_Suggest.HideSuggest();\"";
//		html += " onkeyup=\"IMS2_Suggest.getSuggest=true;IMS2_Suggest.preVal=this.value;IMS2_Suggest.layerid='Parcels';";
//		html += "IMS2_Suggest.fieldName='NEIGHBORHOOD';setInterval('IMS2_Suggest.Check()',500);";
//		html += "IMS2_Suggest.inputElem=this;";
//		html += "IMS2_Suggest.MoveFocus(IMS2_isMSIE()?(event):(event));\">";
//		html += "</td></tr>";
//		html += "<tr><td class=\"wizSmall\">10002</td></tr>";
//		html += "</table></td></tr>";
//		html += "<tr><td class=\"wizSmall\">&nbsp;</td></tr>";
//		
//		//Appraiser
//		html += "<tr><td class=\"wizMedium\">Appraiser Name</td></tr>";
//		html += "<tr><td class=\"wizSmall\">";
//		html += "<table width=\"100%\" cellpadding=\"2\" cellspacing=\"0\">";
//		html += "<td class=\"wizSmall\"><input id=\"_task_" + self.id + "_appraiser\" type=\"text\" size=\"4\"";
//		html += " onchange=\"document.getElementById('suggestDiv').style.display='none';\" onfocus=\"IMS2_Suggest.boxfocus=1;\"";
//		html += " onblur=\"IMS2_Suggest.boxfocus=0; IMS2_Suggest.HideSuggest();\"";
//		html += " onkeyup=\"IMS2_Suggest.getSuggest=true;IMS2_Suggest.preVal=this.value;IMS2_Suggest.layerid='Parcels';";
//		html += "IMS2_Suggest.fieldName='STREETNAME';setInterval('IMS2_Suggest.Check()',500);";
//		html += "IMS2_Suggest.inputElem=this;";
//		html += "IMS2_Suggest.MoveFocus(IMS2_isMSIE()?(event):(event));\">";
//		html += "</td></tr>";
//		html += "<tr><td class=\"wizSmall\">jdoe</td></tr>";
//		html += "</table></td></tr>";
//		html += "<tr><td class=\"wizSmall\">&nbsp;</td></tr>";


//		html += "<tr><td class=\"wizSmall\"><select onchange=\"IMS2_Tasks.Get('" + self.id + "').ShowSearchFields(this.value,'" + self.id + "');\" style=\"width:100%;border:solid 1px #cccccc;\" id=\"" + self.id + "_page_1_select\" size=\"1\"/>";
//		html += "<option value=\"\"></option>";
//		
//		//add layers for gaz
//		var maps = IMS2_MapManager.maps;
//		var layers = maps[0].layers.layers;
//		for(var i = 0; i < layers.length; i++){
//			if(layers[i].type == "FeatureClass" && layers[i].useGaz == "True")
//				html += "<option value=\"" + layers[i].id + "\">" + layers[i].name + "</option>";
//		}
//		html += "</select></td></tr>";
		
		html += "<table width=\"100%\" cellpadding=\"2\" cellspacing=\"0\">";
		html += "<tr><td class=\"wizSmall\"><input class=\"textButton\" onmouseover=\"this.className='textButtonOver';\" onmouseout=\"this.className='textButton';\" type=\"button\" value=\"Search Parcels\" onclick=\"IMS2_Tasks.Get('" + self.id + "').SearchParcels();\"></td>";
		html += "<td class=\"wizSmall\"><input class=\"textButton\" onmouseover=\"this.className='textButtonOver';\" onmouseout=\"this.className='textButton';\" type=\"button\" value=\"Clear Form\" onclick=\"IMS2_Tasks.Get('" + self.id + "').ClearForm();\"></td></tr>";
		html += "</table>";
		html += "</table>";
		html += "</div>";
		
//		html += "<div id=\"_task_" + self.id + "_page_2\" class=\"taskPage\">";
//		html += "<table width=\"100%\" cellpadding=\"2\" cellspacing=\"0\">";
//		html += "<tr><td class=\"wizLarge\">Step 2:  Fill in Search Criteria</td></tr>";
//		html += "<tr><td class=\"wizSmall\"><div id=\"_task_" + self.id + "_fields\"></div>";
//		html += "</td></tr>";
//		html += "<tr><td class=\"wizSmall\">";
//		html += "<table width=\"100%\" cellpadding=\"2\" cellspacing=\"0\">";
//		html += "<tr><td class=\"wizSmall\"><input type=\"button\" class=\"textButton\" onmouseover=\"this.className='textButtonOver';\" onmouseout=\"this.className='textButton';\" value=\"&#171; Prev\" onclick=\"IMS2_Tasks.Get('" + self.id + "').GetPreviousPage();\"></td>";
//		html += "<td class=\"wizSmall\"><input type=\"button\" value=\"Finish\" class=\"textButton\" onmouseover=\"this.className='textButtonOver';\" onmouseout=\"this.className='textButton';\" onclick=\"IMS2_Tasks.Get('" + self.id + "').ExecuteGaz('" + self.id + "');document.getElementById('suggestDiv').style.display='none';\"></td></tr>";
//		html += "</table>";
//		html += "</table>";
//		html += "</div>";
		html += "</div>";
		
		return(html);
	}
	this.Render = Render;
 
 
	function ToggleInfoDisplay(){
        var element = document.getElementById("_task_" + self.id + "_pages");
        if(element){  
            element.style.display == "none"  ? element.style.display = "block" : element.style.display = "none";
            element.childNodes[self.currentIndex - 1].style.display = element.style.display;
            element.style.display == "none"  ? self.isActive = "false" : self.isActive = "true";
        }
    }    
    this.ToggleInfoDisplay = ToggleInfoDisplay;
    
    function GetNextPage(){
        var curpage = document.getElementById("_task_" + self.id + "_page_" + self.currentIndex);
        var nextpage = document.getElementById("_task_" + self.id + "_page_" + ( parseInt(self.currentIndex) + 1 ) );
        if(curpage && nextpage){
			curpage.style.display = "none";
			nextpage.style.display = "block";
			self.currentIndex ++;
        }        
    }    
    this.GetNextPage = GetNextPage;
    
    function GetPreviousPage(){
        var curpage = document.getElementById("_task_" + self.id + "_page_" + self.currentIndex);
        var prevpage = document.getElementById("_task_" + self.id + "_page_" + ( parseInt(self.currentIndex) - 1 ) );
        if(curpage && prevpage){
			curpage.style.display = "none";
			prevpage.style.display = "block";
			self.currentIndex = self.currentIndex - 1;
        }        
    }
    this.GetPreviousPage = GetPreviousPage;
    
    function SearchParcels(){
		var orderBy = "";
		var q = "0=0";
		
		if(document.getElementById("_task_" + self.id + "_firstname").value != ""){
			//orderBy += "LASTNAME,FIRSTNAME";
			//q += " AND FIRSTNAME LIKE '%" + document.getElementById("_task_" + self.id + "_firstname").value + "%'";
			q += " AND OWNERNAME LIKE '%" + document.getElementById("_task_" + self.id + "_firstname").value + "%'";
			orderBy += "OWNERNAME";
		}
		
		if(document.getElementById("_task_" + self.id + "_lastname").value != ""){
			//orderBy += "LASTNAME";
			//orderBy += (orderBy == "")?("LASTNAME,FIRSTNAME"):("");
			//q += " AND LASTNAME LIKE '" + document.getElementById("_task_" + self.id + "_lastname").value + "%'";
			q += " AND OWNERNAME LIKE '%" + document.getElementById("_task_" + self.id + "_lastname").value + "%'";
			orderBy += (orderBy == "")?("OWNERNAME"):("");
		}
		
		if(document.getElementById("_task_" + self.id + "_housenum").value != ""){
			//make sure a street was also selected
			if(document.getElementById("_task_" + self.id + "_street").value == ""){
				alert("Please Enter a Street Name.");
				return;
			}
			//orderBy += (orderBy == "")?("STREETNAME,ADDRESSNUMBER"):(",STREETNAME,ADDRESSNUMBER");
			q += " AND CAST(ADDRESSNUMBER AS VARCHAR) LIKE '" + document.getElementById("_task_" + self.id + "_housenum").value + "%'";
		}
		
		if(document.getElementById("_task_" + self.id + "_predir").value != ""){
			//make sure a street was also selected
			if(document.getElementById("_task_" + self.id + "_street").value == ""){
				alert("Please Enter a Street Name.");
				return;
			}
			//orderBy += (orderBy == "")?("STREETNAME,ADDRESSNUMBER"):(",STREETNAME,ADDRESSNUMBER");
			q += " AND PREDIRECTION LIKE '" + document.getElementById("_task_" + self.id + "_predir").value + "%'";
		}
		
		if(document.getElementById("_task_" + self.id + "_street").value != ""){
			orderBy += (orderBy == "")?(""):(",");
			orderBy += "STREETSUFFIX,STREETNAME,PREDIRECTION,ADDRESSNUMBER,UNIT_";
			//orderBy += (document.getElementById("_task_" + self.id + "_housenum").value == "")?(""):(",ADDRESSNUMBER,UNIT");
			q += " AND STREETNAME LIKE '" + document.getElementById("_task_" + self.id + "_street").value + "%'";
		}
		
		if(document.getElementById("_task_" + self.id + "_suff").value != ""){
			//make sure a street was also selected
			if(document.getElementById("_task_" + self.id + "_street").value == ""){
				alert("Please Enter a Street Name.");
				return;
			}
			q += " AND STREETSUFFIX LIKE '" + document.getElementById("_task_" + self.id + "_suff").value + "%'";
		}
		
		if(document.getElementById("_task_" + self.id + "_GPIN").value != ""){
			orderBy += (orderBy == "")?("GPIN"):(",GPIN");
			q += " AND GPIN LIKE '" + document.getElementById("_task_" + self.id + "_GPIN").value + "%'";
		}
		
		if(document.getElementById("_task_" + self.id + "_PARCELID").value != ""){
			orderBy += (orderBy == "")?("PARCELID"):(",PARCELID");
			q += " AND PARCELID LIKE '" + document.getElementById("_task_" + self.id + "_PARCELID").value + "%'";
		}
		
//		if(document.getElementById("_task_" + self.id + "_neighborhood").value != ""){
//			orderBy += (orderBy == "")?("NEIGHBORHOOD"):(",NEIGHBORHOOD");
//			q += " AND NEIGHBORHOOD LIKE '%" + document.getElementById("_task_" + self.id + "_neighborhood").value + "%'";
//		}
//		
//		if(document.getElementById("_task_" + self.id + "_appraiser").value != ""){
//			orderBy += (orderBy == "")?("APPRAISER"):(",APPRAISER");
//			q += " AND APPRAISER LIKE '%" + document.getElementById("_task_" + self.id + "_appraiser").value + "%'";
//		}
		
		if(q == "0=0")
		{
			alert("Please enter search criteria.");
			return;
		}
		//alert( q );		
		var mapctl = ((IMS2_MapManager)?(IMS2_MapManager.GetMap("MapControl1")):(null));
		if(mapctl){
			mapctl.DataQueryLayer(q,'Parcels',false,orderBy);
			mapctl.RequestSelectedFeaturesDrill2('Parcels');
		}	
    
    }
    this.SearchParcels = SearchParcels;
    
    function ClearForm(){
		var div = document.getElementById("_task_" + self.id + "_page_1");
		for (var i = 0; i < div.getElementsByTagName("input").length; i++)
		{
			var el = div.getElementsByTagName("input")[i];
			if(el.getAttribute("type") == "text")
			{
				el.value = "";
			}
		}
    }
    this.ClearForm = ClearForm;
    
}