/////////////////////////////////////////////////////////////
//// Filter TpSzMkMdlYrSearch
////////////////////////////////////////////////////////////

var FILTERYEAR = "FILTERYEAR";
var FILTERMAKE = "FILTERMAKE";
var FILTERMODEL = "FILTERMODEL";
var FILTERTYPE = "FILTERTYPE";
var FILTERSIZE = "FILTERSIZE";

var XMLPOSTSERVLETFILTER = "/webapp/wcs/stores/servlet/FilterCboView?storeId=10001";



function addFilterSearchCriteria(name, selected){
	addSearchCriteria(name,selected.value, selected.options[selected.selectedIndex].text);
}


function refreshFilterSelectRequest(responseMethod){
	var xmlStr = getxmlDocAsString(xmlDoc);	
	searchXMLPost(XMLPOSTSERVLETFILTER, xmlStr, responseMethod); 
}

function runFilterMakeSearch(value, text, parentId){

	createFilterSearchXMLDoc(FILTERMAKE, parentId);


	var yearSelect = getElementById(FILTERYEAR);
	addFilterSearchCriteria(FILTERYEAR, yearSelect);	 

	var makeSelect = getElementById(FILTERMAKE);
	makeSelect.disabled = true; 	 

	var modelSelect = getElementById(FILTERMODEL);
	modelSelect.disabled = true; 	 
				
	var typeSelect = getElementById(FILTERTYPE);	
	typeSelect.disabled = true; 	 

	var sizeSelect = getElementById(FILTERSIZE);	
	sizeSelect.disabled = true; 	 
	
		 
	refreshFilterSelectRequest(searchFilterResponseHandler);

}
function runFilterModelSearch(value, text, parentId){	
	
	createFilterSearchXMLDoc(FILTERMODEL, parentId);

	var yearSelect = getElementById(FILTERYEAR);
	addFilterSearchCriteria(FILTERYEAR, yearSelect);	 

	var makeSelect = getElementById(FILTERMAKE);
	addFilterSearchCriteria(FILTERMAKE, makeSelect);	 
	
	var modelSelect = getElementById(FILTERMODEL);
	modelSelect.disabled = true; 	 
				
	var typeSelect = getElementById(FILTERTYPE);	
	typeSelect.disabled = true; 	 

	var sizeSelect = getElementById(FILTERSIZE);	
	sizeSelect.disabled = true; 	 

	
				
	refreshFilterSelectRequest(searchFilterResponseHandler);


}

function runFilterTypeSearch(value, text, parentId){	
	createFilterSearchXMLDoc(FILTERTYPE, parentId);

	var yearSelect = getElementById(FILTERYEAR);
	addFilterSearchCriteria(FILTERYEAR, yearSelect);	 

	var makeSelect = getElementById(FILTERMAKE);
	addFilterSearchCriteria(FILTERMAKE, makeSelect);	 
	
	var modelSelect = getElementById(FILTERMODEL);
	addSearchCriteria(FILTERMODEL,value,text);
				
	var sizeSelect = getElementById(FILTERSIZE);	
	sizeSelect.disabled = true; 	 

	refreshFilterSelectRequest(searchFilterResponseHandler);
}

function runFilterSizeSearch(value, text, parentId){	
	createFilterSearchXMLDoc(FILTERSIZE, parentId);

	var yearSelect = getElementById(FILTERYEAR);
	addFilterSearchCriteria(FILTERYEAR, yearSelect);	 

	var makeSelect = getElementById(FILTERMAKE);
	addFilterSearchCriteria(FILTERMAKE, makeSelect);	 
	
	var modelSelect = getElementById(FILTERMODEL);
	addFilterSearchCriteria(FILTERMODEL, modelSelect);	 
	
	addSearchCriteria(FILTERTYPE, value, text);	 
				
	refreshFilterSelectRequest(searchFilterResponseHandler);
}

function runFilterFinalSearch(value, text, parentId){

	createFilterSearchXMLDoc(FILTERSIZE, parentId);

	var yearSelect = getElementById(FILTERYEAR);
	addFilterSearchCriteria(FILTERYEAR, yearSelect);	 

	var makeSelect = getElementById(FILTERMAKE);
	addFilterSearchCriteria(FILTERMAKE, makeSelect);	 
	
	var modelSelect = getElementById(FILTERMODEL);
	addFilterSearchCriteria(FILTERMODEL, modelSelect);	 
	
	var typeSelect = getElementById(FILTERTYPE);
	addFilterSearchCriteria(FILTERTYPE, typeSelect);	 

	var typeSelect = getElementById(FILTERSIZE);
	addFilterSearchCriteria(FILTERSIZE, typeSelect);	 

	refreshFilterSelectRequest(searchFilterResponseHandler);
}

function searchFilterResponseHandler(){
    // Make sure the request is loaded (readyState = 4)
    //alert(req.readyState);
    if (req.readyState == 4){       
        // Make sure the status is "OK"
        if (req.status == 200){   
            //alert(req.responseText);
            refreshFilterMMY(req.responseText);                              
        } else{
            alert("There was a problem retrieving the XML data:\n" +
                req.statusText);
        }
    }
}



function refreshFilterMMY(responseText){
	var MMYSelects = getElementById("FilterMMY");	
	MMYSelects.innerHTML = responseText;
}


/**
 * Handler for server's response to notes.xml request.
 * Notes are pulled from notes.xml and replace the
 * contents of the DIV with id 'notesSection'.
 */
function searchFilterRebuildResponseHandler(){
    // Make sure the request is loaded (readyState = 4)
    if (req.readyState == 4){       
        // Make sure the status is "OK"
        if (req.status == 200){ 
       		var xmlObj = req.responseXML;
       		var searchElement = xmlObj.getElementsByTagName('SEARCH').item(0);       		        		     		     		     			
   			var name = searchElement.getAttribute("type");
   			refreshSelect(xmlObj, name);
   			if (name == FILTERMAKE){
   				setSearchAttribute("type", FILTERMODEL);
				refreshSelectRequest(searchFilterRebuildResponseHandler);
   			} else if (name == FILTERMODEL){
   				setSearchAttribute("type", FILTERYEAR);
				refreshSelectRequest(searchFilterRebuildResponseHandler);
   			} else if (name == FILTERYEAR){
   				//setSearchAttribute("type", "MKMDLYR");   							
   			}           
        }
        else
        {
            alert("There was a problem retrieving the XML data:\n" +
                req.statusText);
     	}
	}
}


function createFilterSearchXMLDoc(type, parentId){
	xmlDoc = createXMLDoc();		
	var searchCriteria = xmlDoc.createElement("SEARCH");		
	xmlDoc.appendChild(searchCriteria);		
	setSearchAttribute("type", type);		
	
	if(parentId!=null || parentId !=""){		
		setSearchAttribute("parent", parentId);		
	}
}

function searchFilterResponseHandler(){
    // Make sure the request is loaded (readyState = 4)
    //alert(req.readyState);
    if (req.readyState == 4){       
        // Make sure the status is "OK"
        if (req.status == 200){   
            //alert(req.responseText);
            refreshFilterMMY(req.responseText);                              
        } else{
            alert("There was a problem retrieving the XML data:\n" +
                req.statusText);
        }
    }
}

    
function filterSubmit() {
	var nMake = "";
	var nYear = "";
	var nModel = "";
	var nType = "";
	var nSize = "";
	document.FilterMakeModeYearForm.action = "MkMdlYrSearchCmd";
	if(document.getElementById) {
		nMake = document.getElementById("FILTERMAKE").options[document.getElementById("FILTERMAKE").selectedIndex].value;
		nYear = document.getElementById("FILTERYEAR").options[document.getElementById("FILTERYEAR").selectedIndex].value;
		nModel = document.getElementById("FILTERMODEL").options[document.getElementById("FILTERMODEL").selectedIndex].value;
		nType = document.getElementById("FILTERTYPE").options[document.getElementById("FILTERTYPE").selectedIndex].value;
		nSize = document.getElementById("FILTERSIZE").options[document.getElementById("FILTERSIZE").selectedIndex].value;
		if(nSize.length > 0 && nSize != "0") {
			document.FilterMakeModeYearForm.N.value = nSize;
			document.FilterMakeModeYearForm.submit();
		} else if(nType.length > 0 && nType != "0") {
			document.FilterMakeModeYearForm.N.value = nType;
			document.FilterMakeModeYearForm.submit();
		} else if(nModel.length > 0 && nModel != "0") {
		//1523747 4294963931:1147708
			document.FilterMakeModeYearForm.N.value = nModel;
//			document.FilterMakeModeYearForm.N.value = "1523747+4294963931";
//			document.FilterMakeModeYearForm.Ne.value = "1147708";
			document.FilterMakeModeYearForm.submit();
		} else if(nMake.length > 0 && nMake != "0") {
			document.FilterMakeModeYearForm.N.value = nMake;
			document.FilterMakeModeYearForm.submit();
		} else if(nYear.length > 0 && nYear != "0"){
			document.FilterMakeModeYearForm.N.value = nYear;
			document.FilterMakeModeYearForm.submit();
		}
	} else if(document.all) {
		nMake = document.all("FILTERMAKE").options[document.all("FILTERMAKE").selectedIndex].value;
		nYear = document.all("FILTERYEAR").options[document.all("FILTERYEAR").selectedIndex].value;
		nModel = document.all("FILTERMODEL").options[document.all("FILTERMODEL").selectedIndex].value;
		nType = document.all("FILTERTYPE").options[document.all("FILTERTYPE").selectedIndex].value;
		nSize = document.all("FILTERSIZE").options[document.all("FILTERSIZE").selectedIndex].value;
		if(nSize.length > 0 && nSize != "0") {
			document.FilterMakeModeYearForm.N.value = nSize;
			document.FilterMakeModeYearForm.submit();
		} else if(nType.length > 0 && nType != "0") {
			document.FilterMakeModeYearForm.N.value = nType;
			document.vSearchForm.submit();
		} else if(nModel.length > 0 && nModel != "0") {
			document.FilterMakeModeYearForm.N.value = nModel;
			document.vSearchForm.submit();
		} else if(nMake.length > 0 && nMake != "0") {
			document.FilterMakeModeYearForm.N.value = nMake;
			document.vSearchForm.submit();
		} else if(nYear.length > 0 && nYear != "0"){
			document.FilterMakeModeYearForm.N.value = nYear;
			document.FilterMakeModeYearForm.submit();
		}
	}
}

