// these two variables are used to identify which drop down list
// value should be the default value based on a previous search
var stateDefault = "";
var regionDefault = "";

// calls java method to get states by territory selected
function onChangeTerritory(){
    var selectedTerritory = document.getElementById('territoryList').value;
    regionSelectDAO.getStatesByTerritory(selectedTerritory, populateStates);
}

function onChangeState(){
    var selectedState = document.getElementById('stateList').value;
    regionSelectDAO.getRegionByState(selectedState, populateRegions);
}

function onChangeTradingCondition() {
     var isperm = null;
    if ((document.getElementById('isperm_true')!=null) && (document.getElementById('isperm_true').checked==true)) {
        isperm = document.getElementById('isperm_true').value;
    } else if (document.getElementById('isperm_false').checked==true) {
        isperm = document.getElementById('isperm_false').value;
    }
    var isbuy = null;
    if ((document.getElementById('isbuy_true')!=null) && (document.getElementById('isbuy_true').checked==true)) {
        isbuy = document.getElementById('isbuy_true').value;
    } else if ((document.getElementById('isbuy_false')!=null) && (document.getElementById('isbuy_false').checked==true)) {
        isbuy =document.getElementById('isbuy_false').value;
    }
    var selectedRegion = document.getElementById('regionList').value;
    regionSelectDAO.getTradingSubRegion(selectedRegion, isbuy,isperm, populateTradingSubRegions);
}

function populateTradingSubRegions(data) {

    if(data != null){
        DWRUtil.removeAllOptions("tradingSubRegionList");
        DWRUtil.addOptions("tradingSubRegionList", data);
    }
}


// fills in state values based on territory choosen
function populateStates(data){
    DWRUtil.removeAllOptions("stateList");
    DWRUtil.addOptions("stateList", {
        "": 'PLEASE SELECT A IRRIGATION AREA'
    });
    DWRUtil.removeAllOptions("regionList");
    DWRUtil.addOptions("regionList", {
        "": 'PLEASE SELECT A REGION'
    });
    if(data != null){
    	var selectOptions = new Array();
    	for(i=0; i<data.length; i++) {
    		selectOptions[i] = new Object();
    		selectOptions[i].id = data[i][0];
    		selectOptions[i].name = data[i][1];
    	}
        DWRUtil.addOptions("stateList", selectOptions, "id", "name");
    } 
    
    // set the default state
    if(stateDefault != "") {
    	
    	// set the state default
    	document.getElementById("stateList").value = stateDefault;

    	// blank out the state default, this should be picked up for an initial page
    	// load from a previous search
    	stateDefault = "";
    	
    	// now load the region list
    	onChangeState();
    	
    }
    
}

// fills in region values based on state choosen
function populateRegions(data){
    DWRUtil.removeAllOptions("regionList");
    DWRUtil.addOptions("regionList", {
        "": 'PLEASE SELECT A REGION'
    });
    if(data != null){
    	var selectOptions = new Array();
    	for(i=0; i<data.length; i++) {
    		selectOptions[i] = new Object();
    		selectOptions[i].id = data[i][0];
    		selectOptions[i].name = data[i][1];
    	}
        DWRUtil.addOptions("regionList", selectOptions, "id", "name");
    }

    // set the default region
    if(regionDefault != "") {
    	
    	// set the state default
    	document.getElementById("regionList").value = regionDefault;

    	// blank out the region default, this should be picked up for an initial page
    	// load from a previous search
    	regionDefault = "";
    	
    }

}
/**
 * additional region selection for both buy and sell region selection
 * */
function onSellChangeTerritory(){
    var selectedTerritory = document.getElementById('sellTerritoryList').value;
    regionSelectDAO.getStatesByTerritory(selectedTerritory, populateStatesSell);
}

function onSellChangeState(){
    var selectedState = document.getElementById('sellStateList').value;
    regionSelectDAO.getRegionByState(selectedState, populateRegionsSell);
}
function onBuyChangeTerritory(){
    var selectedTerritory = document.getElementById('buyTerritoryList').value;
    regionSelectDAO.getStatesByTerritory(selectedTerritory, populateStatesBuy);
}
function onBuyChangeState(){
    var selectedState = document.getElementById('buyStateList').value;
    regionSelectDAO.getRegionByState(selectedState, populateRegionsBuy);
}



function onBuyChangeTradingCondition() {
     var isperm = null;
    if ((document.getElementById('isperm_true')!=null) && (document.getElementById('isperm_true').checked==true)) {
        isperm = document.getElementById('isperm_true').value;
    } else if (document.getElementById('isperm_false').checked==true) {
        isperm = document.getElementById('isperm_false').value;
    }
    var isbuy = null;
    if ((document.getElementById('buy_isbuy_true')!=null) && (document.getElementById('buy_isbuy_true').checked==true)) {
        isbuy = document.getElementById('buy_isbuy_true').value;
    } else if ((document.getElementById('buy_isbuy_false')!=null) && (document.getElementById('buy_isbuy_false').checked==true)) {
        isbuy =document.getElementById('buy_isbuy_false').value;
    }
    var selectedRegion = document.getElementById('buyRegionList').value;
    regionSelectDAO.getTradingSubRegion(selectedRegion, isbuy,isperm, populateTradingSubRegionsBuy);
}


function onSellChangeTradingCondition() {
     var isperm = null;
    if ((document.getElementById('isperm_true')!=null) && (document.getElementById('isperm_true').checked==true)) {
        isperm = document.getElementById('isperm_true').value;
    } else if (document.getElementById('isperm_false').checked==true) {
        isperm = document.getElementById('isperm_false').value;
    }
    var isbuy = null;
    if ((document.getElementById('sell_isbuy_true')!=null) && (document.getElementById('sell_isbuy_true').checked==true)) {
        isbuy = document.getElementById('sell_isbuy_true').value;
    } else if ((document.getElementById('sell_isbuy_false')!=null) && (document.getElementById('sell_isbuy_false').checked==true)) {
        isbuy =document.getElementById('sell_isbuy_false').value;
    }
    var selectedRegion = document.getElementById('sellRegionList').value;
    regionSelectDAO.getTradingSubRegion(selectedRegion, isbuy,isperm, populateTradingSubRegionsSell);
}

function onBuy(id) {
    /**
     * update selected state; get list of territory for parent state
     */
    regionSelectDAO.getOtherRegionsForRegion(id, populateRegionsBuy);
    regionSelectDAO.getOtherStatesForRegion(id, populateStatesBuy);
}

// fills in state values based on territory choosen
function populateStatesSell(data){
    DWRUtil.removeAllOptions("sellStateList");
    DWRUtil.addOptions("sellStateList", {
        "": 'PLEASE SELECT A IRRIGATION AREA'
    });
    DWRUtil.removeAllOptions("sellRegionList");
    DWRUtil.addOptions("sellRegionList", {
        "": 'PLEASE SELECT A REGION'
    });
    if(data != null){
    	var selectOptions = new Array();
    	for(i=0; i<data.length; i++) {
    		selectOptions[i] = new Object();
    		selectOptions[i].id = data[i][0];
    		selectOptions[i].name = data[i][1];
    	}
        DWRUtil.addOptions("sellStateList", selectOptions, "id", "name");
    }

}

// fills in region values based on state choosen
function populateRegionsSell(data){
    DWRUtil.removeAllOptions("sellRegionList");
    DWRUtil.addOptions("sellRegionList", {
        "": 'PLEASE SELECT A REGION'
    });
    if(data != null){
    	var selectOptions = new Array();
    	for(i=0; i<data.length; i++) {
    		selectOptions[i] = new Object();
    		selectOptions[i].id = data[i][0];
    		selectOptions[i].name = data[i][1];
    	}
        DWRUtil.addOptions("sellRegionList", selectOptions, "id", "name");
    }
}

function populateRegionsSell(data,id){
    DWRUtil.removeAllOptions("sellRegionList");
    DWRUtil.addOptions("sellRegionList", {
        "": 'PLEASE SELECT A REGION'
    });
    if(data != null){
    	var selectOptions = new Array();
    	for(i=0; i<data.length; i++) {
    		selectOptions[i] = new Object();
    		selectOptions[i].id = data[i][0];
    		selectOptions[i].name = data[i][1];
    	}
        DWRUtil.addOptions("sellRegionList", selectOptions, "id", "name");
    }
}

function populateStatesBuy(data){
    DWRUtil.removeAllOptions("buyStateList");
    DWRUtil.addOptions("buyStateList", {
        "": 'PLEASE SELECT A IRRIGATION AREA'
    });
    DWRUtil.removeAllOptions("buyRegionList");
    DWRUtil.addOptions("buyRegionList", {
        "": 'PLEASE SELECT A REGION'
    });
    if(data != null){
    	var selectOptions = new Array();
    	for(i=0; i<data.length; i++) {
    		selectOptions[i] = new Object();
    		selectOptions[i].id = data[i][0];
    		selectOptions[i].name = data[i][1];
    	}
        DWRUtil.addOptions("buyStateList", selectOptions, "id", "name");
    }

}
function populateStatesBuy(data,id){
    DWRUtil.removeAllOptions("buyStateList");
    DWRUtil.addOptions("buyStateList", {
        "": 'PLEASE SELECT A IRRIGATION AREA'
    });
    DWRUtil.removeAllOptions("buyRegionList");
    DWRUtil.addOptions("buyRegionList", {
        "": 'PLEASE SELECT A REGION'
    });
    if(data != null){
    	var selectOptions = new Array();
    	for(i=0; i<data.length; i++) {
    		selectOptions[i] = new Object();
    		selectOptions[i].id = data[i][0];
    		selectOptions[i].name = data[i][1];
    	}
        DWRUtil.addOptions("buyStateList", selectOptions, "id", "name");
    }

}
// fills in region values based on state choosen
function populateRegionsBuy(data){
    DWRUtil.removeAllOptions("buyRegionList");
    DWRUtil.addOptions("buyRegionList", {
        "": 'PLEASE SELECT A REGION'
    });
    if(data != null){
    	var selectOptions = new Array();
    	for(i=0; i<data.length; i++) {
    		selectOptions[i] = new Object();
    		selectOptions[i].id = data[i][0];
    		selectOptions[i].name = data[i][1];
    	}
        DWRUtil.addOptions("buyRegionList", selectOptions, "id", "name");
    }
}

function populateRegionsBuy(data,id){
    DWRUtil.removeAllOptions("buyRegionList");
    DWRUtil.addOptions("buyRegionList", {
        "": 'PLEASE SELECT A REGION'
    });
    if(data != null){
    	var selectOptions = new Array();
    	for(i=0; i<data.length; i++) {
    		selectOptions[i] = new Object();
    		selectOptions[i].id = data[i][0];
    		selectOptions[i].name = data[i][1];
    	}
        DWRUtil.addOptions("buyRegionList", selectOptions, "id", "name");
    }
}
function populateTradingSubRegionsSell(data) {

    if(data != null){
        DWRUtil.removeAllOptions("sellTradingSubRegionList");
    	var selectOptions = new Array();
    	for(i=0; i<data.length; i++) {
    		selectOptions[i] = new Object();
    		selectOptions[i].id = data[i][0];
    		selectOptions[i].name = data[i][1];
    	}
        DWRUtil.addOptions("sellTradingSubRegionList", selectOptions, "id", "name");
    }
}

function populateTradingSubRegionsBuy(data) {

    if(data != null){
        DWRUtil.removeAllOptions("buyTradingSubRegionList");
    	var selectOptions = new Array();
    	for(i=0; i<data.length; i++) {
    		selectOptions[i] = new Object();
    		selectOptions[i].id = data[i][0];
    		selectOptions[i].name = data[i][1];
    	}
        DWRUtil.addOptions("buyTradingSubRegionList", selectOptions, "id", "name");
    }
}


