﻿dojo.require("dijit.layout.AccordionContainer");
dojo.require("dijit.layout.StackContainer");
dojo.addOnLoad(initSearch);
var accArrSize;
var curSearchAccordion;
var curSearchPane;
	
function initSearch()
{
    window.setTimeout('initSearchPanel();',50);
}

function initSearchPanel()
{
    accs = dojo.query('[dojoType=\"dijit.layout.AccordionContainer\"]',dojo.byId('tdSearchFormBody'));
	accs.forEach(function(item){
	    sAcc = dijit.byId(item.id);
	    sAcc.back();
	    accPanes = sAcc.getChildren();
	    accPanes.connect('onSelected',selectSearchPane);
	    });
}

function selectSearchPane()
{
    curSearchPane = this;
    curSearchAccordion = curSearchPane.getParent();
}

function clickSearchTab()
{
    mapPoints = "";
    mapResultset = "";
    turnOffMapGraphics();
    jsMap.graphics.clear();
    jsMap.infoWindow.hide();
    
    restorePanes();
    RepositionMap();
    ResizeMap();
    selectRadTab('Map');
		
}

function resizeSearchControl()
{
    var arrSize;
	arrSize = ResizeInPane('paneLeftBody', 'tdSearchFormBody',			345, 200, 27, 36);
	//arrSize = ResizeInPane('paneLeftBody', 'searchAccordion_Parcel',			345, 200, 27, 36);
	ResizeSearchForm(arrSize);
	if (arrSize == null)	return;
	accArrSize = arrSize;
	resizeSearchAccordions('tdSearchFormBody');
}

function ResizeSearchForm(arrSize)
{
	if (arrSize == null)	return;

	var intHeight  = arrSize[1];

	var divSearchBodyForm = document.getElementById('divSearchBodyForm');
	if (divSearchBodyForm)
	{
		divSearchBodyForm.style.height = "99%";
		divSearchBodyForm.style.height = "100%";
	}
	var divSearchForm = document.getElementById('divSearchForm');
	if (divSearchForm)
	{
		divSearchForm.style.height = "99%";
		divSearchForm.style.height = "100%";
	}
	var bbusSearchForm_multipageGrouping = document.getElementById('bbusSearchForm_multipageGrouping');
	if (bbusSearchForm_multipageGrouping)
	{
		bbusSearchForm_multipageGrouping.style.height = (intHeight) + "px";
	}
	
}

function resizeSearchAccordions(pane)
{
    accs = dojo.query('[dojoType=\"dijit.layout.AccordionContainer\"]',dojo.byId(pane));
	if (accs.length == 0) return;
	accs.forEach(function(item){
	    sAcc = dijit.byId(item.id);
	    sAcc.resize({w:accArrSize[0],h:accArrSize[1],l:0,t:0});
	    sAcc.layout();
	    });
}
	
function beginSearch()
{
    if(curSearchPane)curSearchAccordion= curSearchPane.getParent();
    if(curSearchAccordion)
    {
        arrAccPanes = curSearchAccordion.getChildren();
        arrAccPanes.forEach(function(item){
            if(item.id != curSearchPane.id)
                clearForm(item.id);
            });
    }
    
    var hiddenSearchAction = document.getElementById('bbusSearchForm_hiddenSearchAction');
	if (!hiddenSearchAction) return;
	
	eval(hiddenSearchAction.value);
	

}

function searchMapFeatures(input)
{
    var val;
    input = document.getElementById("bbusSearchForm_criteria"+input);
    if (input == null) val = "";
    else val = input.value;
    val = val.replace(/-/g,"");
    selectFeatureByStringAttribute(val);
}

function OnSearchTabSelectedHandler(sender, eventArgs)
{
	var hiddenSearchAction = document.getElementById('bbusSearchForm_hiddenSearchAction');
	if (hiddenSearchAction != null) hiddenSearchAction.value = eventArgs.Tab.Value;
	
	var hiddenSearchGrouping = document.getElementById('bbusSearchForm_hiddenSearchGrouping');
	if (hiddenSearchGrouping != null) hiddenSearchGrouping.value = eventArgs.Tab.Text;
	
	resizeSearchAccordions('bbusSearchForm_'+eventArgs.Tab.PageViewID);
	if (curSearchAccordion)	curSearchPane = curSearchAccordion.selectedChildWidget;
}
function setInputMask(id,mask,type)
{
    var inputMask = new Mask(mask,type);
    inputMask.attach(document.getElementById(id));
    document.getElementById(id).onfocus = null;
    
    //var val = document.getElementById(id).value;
    //inputMask.allowPartial = true;
    //var newval = inputMask.format(val);
    //document.getElementById(id).value = newval;
    //alert(value+"  "+mask);
}
function checkInputValidation(input,validation,required)
{
    var inputElem = document.getElementById("bbusSearchForm_"+input);
    var inputVal;
    if (inputElem) inputVal = inputElem.value;
    if(required=="true" && inputVal=="")
    {
        var alertReturn = alert("Please enter a value.");
        inputElem.style.backgroundColor = "#ffeedd"
        return;
    }
    else
        inputElem.style.backgroundColor = "";
    
        
    switch (validation)
    {
        case "number":
            if(inputVal.indexOf(",")!=-1)
            {
                alert("Please do not use commas when entering a number");
                inputElem.style.backgroundColor = "#ffeedd";
                break;
            }
            else inputElem.style.backgroundColor = "";
            if(isNaN(Number(inputVal)))
            {
                alert("Please enter a valid number");
                inputElem.style.backgroundColor = "#ffeedd";
                break;
            }
            else inputElem.style.backgroundColor = "";
            break;
        
    }    
}

function clearSearch()
{
    selectRadTab('Map');
	selectRadTab('Search');
    disableRadTab('Results');
	disableRadTab('Property');
	clearForm('tdSearchFormBody');
	clearMap();
    window.setTimeout('clearResults()',50);
    
}

function clearResults()
{
    
    searchResultsExtent = [];
    searchResultsPoints = "";
    __doPostBack('bbusSearchForm$updateSearchFormSearch', 'Event=ClearSearch&MapEvent=ResetMap');
    
    GACTTrack("Search");
    
}

function clearForm(container)
{
    var searchForm = document.getElementById(container);
    var searchInputs = searchForm.getElementsByTagName('INPUT');
    var inp;
    for(i=0;i<searchInputs.length;i++)
    {
        inp = searchInputs[i];
        if(inp.type == "text")
        {    searchInputs[i].value = "";}
    }
    var searchSelects = searchForm.getElementsByTagName('SELECT');
    for(i=0;i<searchSelects.length;i++)
    {
        var selIndex = searchSelects[i].getAttribute('defaultindex');
        if(selIndex == null) selIndex = "0";
        
        searchSelects[i].selectedIndex = parseInt(selIndex);
    }
    
}
function setUnits(setwindow, unit)
{
    //var theForm = document.getElementById('frmDefault');
    var searchUnits = [];
    searchUnits1 = document.getElementsByTagName('bb:unittext');
    searchUnits2 = document.getElementsByTagName('unittext');
    for(i=0;i<searchUnits1.length;i++)
    {
        searchUnits.push(searchUnits1[i]);
    }
    for(i=0;i<searchUnits2.length;i++)
    {
        searchUnits.push(searchUnits2[i]);
    }
    
    for(i=0;i<searchUnits.length;i++)
    {
        var searchUnit = searchUnits[i].parentNode;
        var unitTags = searchUnit.getElementsByTagName('span');
        unitTag = unitTags[0];
        var sText = unitTag.innerHTML;
        var newText = sText;
        if (unit == "METRIC")
        {
            newText = (" "+newText).replace(/ ft /i, " m ");
            newText = newText.replace(/ feet /i, " meters ");
            newText = newText.replace(/ miles /i, " km ");
            newText = newText.replace(/ acres /i, " ha ");
        }
    
        if (unit == "ENGLISH")
        {
            newText = (" "+newText).replace(/ m /i, " ft ");
            newText = newText.replace(/ meters /i, " feet ");
            newText = newText.replace(/ km /i, " miles ");
            newText = newText.replace(/ ha /i, " acres ");
        }
        unitTag.innerHTML = newText;
    }
    searchUnits = document.getElementsByTagName('bb:unitselect');
    if (searchUnits.length == 0)
        searchUnits = document.getElementsByTagName('unitselect');
    for(i=0;i<searchUnits.length;i++)
    {
        var searchUnit = searchUnits[i];
        var searchselect = searchUnit.getElementsByTagName('select');
        curval = searchselect[0].options[searchselect[0].selectedIndex].value;
        for(x=0;x<searchselect[0].options.length;x++)
        {
            if (searchselect[0].options[x].value == unit)
            {
                searchselect[0].options[x].selected = true;
                break;
            }
        }
        
    }
    
    var siteUnits = document.getElementById('bbusSearchForm_siteUnits');
    siteUnits.value = unit;
    
    if (setwindow == null) 
    {
        __doPostBack('bbusMap_MapProcessPanel', 'MapEvent=SetUnits&Units='+unit);
        GACTTrack("Search");
    }
}
