var arrFilters = new Array(9)
for (i = 0; i < arrFilters.length; ++ i) {
	arrFilters[i] = new Array(2);
}
arrFilters[0][0] = 'fltUsed';
arrFilters[0][1] = 0;
arrFilters[1][0] = 'fltMake';
arrFilters[1][1] = 1;
arrFilters[2][0] = 'fltModel';
arrFilters[2][1] = 2;
arrFilters[3][0] = 'fltTrim';
arrFilters[3][1] = 3;
arrFilters[4][0] = 'fltYear';
arrFilters[4][1] = 4;
arrFilters[5][0] = 'fltColor';
arrFilters[5][1] = 5;
arrFilters[6][0] = 'fltBody';
arrFilters[6][1] = 6;
arrFilters[7][0] = 'fltPriceMin';
arrFilters[7][1] = 7;
arrFilters[8][0] = 'fltPriceMax';
arrFilters[8][1] = 8;

function ClearFilterValues() {
	for (var i = 1; i < arrFilters.length; ++ i) {
		document.getElementById(arrFilters[i][0]).value = '';
	}
	// These 3 elements are named inconsistently 
	document.getElementById('fltEngine').value = ''
	document.getElementById('fltTransmission').value = ''
	document.getElementById('fltDriveType').value = ''
}
		
function removeAnyOption(selectBox) {
	var i;
	for (i = selectBox.options.length-1; i >= 0; i--) {
		if (selectBox.options[i].text == 'ANY') {
			selectBox.remove(i);
		}
	}
}


function RemoveArrayDuplicates(anArray) {
	tmpArray = new Array();	
	for (var j = 0; j < anArray.length; j++) {		
		if (!FindInArray(tmpArray, anArray[j])){
			if (anArray[j] != "" ) {
				tmpArray[tmpArray.length] = anArray[j]; 
			}
		}
	}
	tmpArray.sort(orderAsc);
	return tmpArray;
}

function FindInArray(array, value) {
	var i = 0;
	var bFound = 0;
	for ( i = 0; i< array.length; i++) {	
		if (array[i] == value) {
			bFound = true;				 
		}		
	}
	return bFound;
}

function orderAsc(a, b){
	a = a.toLowerCase(); b = b.toLowerCase();
	try {
		if (a > b) return 1;
		if (a < b) return -1;
	} catch(e){};
	return 0; 
}

function orderDesc(a, b){
	a = a.toLowerCase(); b = b.toLowerCase();
	try {
		if (a < b) return 1;
		if (a > b) return -1;
	} catch(e){};
	
	return 0; 
}

function UpdateElement(sID, sValue) {
	// If make was chenged to 'ANY', remove xmake and FilterMake values
	if (sID == 'fltMake') {
		if (sValue == '') {
			document.getElementById('xmake').value = '';
			document.getElementById('FilterMake').value = '';
		}
	}
	document.getElementById(sID).value = sValue;
}

function LoadSelectElement(p_sName, p_sFltName) {
	
	var sUsed, sMake, sModel, sTrim, sYear, sColor, sBody, sFile, sPriceMin, sPriceMax
	var sEngine, sTransmission, sDriveType
	
	//$('#LoadOverlay').show();
	document.getElementById(p_sName).disabled = true;
	 
	if (document.getElementById("fltUsed") != null) {
		sUsed = document.getElementById("fltUsed").value;
	}
	if (document.getElementById("fltMake") != null) {
		sMake = document.getElementById("fltMake").value;
	}
	if (document.getElementById("fltModel") != null) {
		sModel = document.getElementById("fltModel").value;
	}
	if (document.getElementById("fltTrim") != null) {
		sTrim = document.getElementById("fltTrim").value;
	}
	if (document.getElementById("fltYear") != null) {
		sYear = document.getElementById("fltYear").value;
	}
	if (document.getElementById("fltColor") != null) {
		sColor = document.getElementById("fltColor").value;
	}
	if (document.getElementById("fltBody") != null) {
		sBody = document.getElementById("fltBody").value;
	}
	if (document.getElementById("fltPriceMin") != null) {
		sPriceMin = document.getElementById("fltPriceMin").value;
	}
	if (document.getElementById("fltPriceMax") != null) {
		sPriceMax = document.getElementById("fltPriceMax").value;
	}
	if (document.getElementById("fltEngine") != null) {
		sEngine = document.getElementById("fltEngine").value;
	}
	if (document.getElementById("fltTransmission") != null) {
		sTransmission = document.getElementById("fltTransmission").value;
	}
	if (document.getElementById("fltDriveType") != null) {
		sDriveType = document.getElementById("fltDriveType").value;
	}
	
	switch (p_sName) {
		case 'selMake':
	  		sFile = 'GetValues.asp?Column=Make'
	  		break;
		case 'selModel':
			sFile = 'GetValues.asp?Column=Model'
	  		break;
		case 'selTrim':
	  		sFile = 'GetValues.asp?Column=Trim'
	  		break;
		case 'selYear':
	  		sFile = 'GetValues.asp?Column=Year'
	  		break;
		case 'selColor':
	  		sFile = 'GetValues.asp?Column=Color'
	  		break;
		case 'selBody':
	  		sFile = 'GetValues.asp?Column=Body' 
	  		break;
		case 'selPriceMin':
			//if (p_sFltName == '') {
	  		//	sFile = 'GetPriceValues.asp' 
			//} else {
				sFile = 'GetPricesFiltered.asp?Column=MinPrice' 
			//}
	  		break;
		case 'selPriceMax':
	  		//if (p_sFltName == '') {
	  		//	sFile = 'GetPriceValues.asp' 
			//} else {
				sFile = 'GetPricesFiltered.asp?Column=MaxPrice' 
			//}
			break;
		case 'engine':
	  		sFile = 'GetValues.asp?Column=Engine' 
			break;
		case 'transmission':
	  		sFile = 'GetValues.asp?Column=Transmission' 
			break;
		case 'driveType':
	  		sFile = 'GetValues.asp?Column=DriveType' 
			break;
		default:
	  		// do nothing
	}
	
	$.get("/inventory/AJAX/" + sFile, { Used: sUsed, Make: sMake, Model: sModel, Trim: sTrim, Year: sYear, Color: sColor, Body: sBody, PriceMin: sPriceMin, PriceMax: sPriceMax, Engine: sEngine, Transmission: sTransmission, DriveType: sDriveType },
		function(data){
			var selList = document.getElementById(p_sName);
			if (selList.options == null) {
				return;
			}
		  	selList.options.length = 0;
		  	selList.options[0] = new Option("ANY", "");
		  	
		  	var arData = data.split("\t")
			for (var value in arData){
				if (arData[value] != '') {
					arrItem = arData[value].split("\;")
					var sValue = arrItem[1];
					if (sValue != null) {
						sValue = sValue.replace(/MERCEDES-BENZ/g, "Mercedes-Benz");
						sValue = sValue.replace(/SPRINTER/g, "Sprinter");
						sValue = sValue.replace(/-CLASS/g, "-Class");
					}
					selList.options[selList.options.length] = new Option(sValue, arrItem[0]);
					if ((p_sFltName != '') && (document.getElementById(p_sFltName).value !='' )) {
						if (arrItem[0].toUpperCase() == document.getElementById(p_sFltName).value.toUpperCase()) {
							selList.options[selList.options.length - 1].selected = true;
						}
					}
				}
			} 
			
			// When actual min/max price doesn't match previous selection, replace with actual 
			// for sigle value dropdowns only
			if ((p_sName == 'selPriceMin') || (p_sName == 'selPriceMax')) {
				if ((selList.length == 1) && (p_sFltName != '')) {
					if (document.getElementById(p_sFltName).value != '') {
						selList.options[selList.options.length] = new Option(formatCurrency(document.getElementById(p_sFltName).value), document.getElementById(p_sFltName).value);
					}
				}
				
			}
			
			// Do not allow to select other options for hondas
			if (selList.options[1] != null) {
				if ((selList.options[1].value.toUpperCase() == 'HONDA') && (sUsed == '0')) {
					removeAnyOption(selList)
				}
			}
			
			if (selList.length == 2) {
				//removeAnyOption(selList)
				//selList.options[1].selected = true;
			}	
			// Enable select box
			document.getElementById(p_sName).disabled = false;
			//$('#LoadOverlay').hide();
		}
	);

}

function LoadIndependentElement(p_sName) {
	
	var sUsed
	
	document.getElementById(p_sName).disabled = true;
	 
	if (document.getElementById("fltUsed") != null) {
		sUsed = document.getElementById("fltUsed").value;
	}

	$.get("/inventory/AJAX/GetSortColumns.asp", { Used: sUsed },
		function(data){
			var selList = document.getElementById(p_sName);
			if (selList.options == null) {
				return;
			}
		  	selList.options.length = 0;
		  	selList.options[0] = new Option("SELECT SORT ORDER", "");
		  	
		  	var arData = data.split("\t")
			for (var value in arData){
				if (arData[value] != '') {
					arrItem = arData[value].split("\;")
					selList.options[selList.options.length] = new Option(arrItem[1].toUpperCase(), arrItem[0]);
				}
			} 
			
			// Enable select box
			document.getElementById(p_sName).disabled = false;
		}
	);

}

function ValidatePrice(p_sSelected) {
	var sPriceLow = document.getElementById("selPriceMin").value
	var sPriceHigh = document.getElementById("selPriceMax").value
	if (sPriceLow == '') {
		return;
	}
	if (sPriceHigh == '') {
		return;
	}
	if (parseFloat(sPriceLow) > parseFloat(sPriceHigh)) {
		alert('Maximum Price has to be equal or greater than Minimum Price');
	}
}

function formatCurrency(strValue) {
	strValue = strValue.toString().replace(/\$|\,/g,'');
	dblValue = parseFloat(strValue);

	blnSign = (dblValue == (dblValue = Math.abs(dblValue)));
	dblValue = Math.floor(dblValue*100+0.50000000001);
	intCents = dblValue%100;
	strCents = intCents.toString();
	dblValue = Math.floor(dblValue/100).toString();
	if (intCents < 10)
		strCents = "0" + strCents;
	for (var i = 0; i < Math.floor((dblValue.length-(1+i))/3); i++)
		dblValue = dblValue.substring(0,dblValue.length-(4*i+3))+','+
		dblValue.substring(dblValue.length-(4*i+3));
	return (((blnSign)?'':'-') + '$' + dblValue);
}





