function init() {
	DWREngine.setErrorHandler(writeError);
//	UsedCarHomeManager.getAllMakesWithListings(populateMakes);
//	UsedCarHomeManager.getLastUpdatedDate(populateUpdatedDate);
//	UsedCarHomeManager.getTotalNumberOfListingsString(populateTotalListingCount);
	if ($e("zipBox").focus) $e("zipBox").focus();
}

function writeError(errorMessage) {
	$e('errorMessage').setTextData( errorMessage);
}
 
//var zipEntered = false;
function checkZip(e) {
	zip = $e('zipBox').value;
	if (zip.length == 5) {
		$e('errorMessage').setTextData( '');
//		zipEntered = true;
//		if ($e('makeSelect').selectedIndex > 1) {
//			UsedCarHomeManager.getNumberOfListingsByMakeZip($e('makeSelect').value, $e('zipBox').value, setMakeCount);
//			if ($e('modelSelect').selectedIndex > 1) {
//				UsedCarHomeManager.getNumberOfListingsByMakeModelZip($e('makeSelect').value, $e('modelSelect').value, $e('zipBox').value, setModelCount);
//			}
		}
//	} else {
//		if (zipEntered) {
//			zipEntered = false;
//			if ($e('makeSelect').selectedIndex != 0)
//				UsedCarHomeManager.getNumberOfListingsByMake($e('makeSelect').value, setMakeCount);
//			if ($e('modelSelect').selectedIndex != 0)
//				UsedCarHomeManager.getNumberOfListingsByMakeModel($e('makeSelect').value, $e('modelSelect').value, setModelCount);
//		}
//	}
}

function clearZip() {
	if ($e('zipBox').maxLength > 5) {
		$e('zipBox').value = '';
		$e('zipBox').maxLength = 5;
	}
}

function calculateMakes(){
	if ($e('makeSelect').selectedIndex != 0) {
//		if (zipEntered || $e('zipBox').value.length == 5) {
//			UsedCarHomeManager.getNumberOfListingsByMakeZip($e('makeSelect').value, $e('zipBox').value, setMakeCount);
//		} else {
//			UsedCarHomeManager.getNumberOfListingsByMake($e('makeSelect').value, setMakeCount);
//		}
		UsedCarHomeManager.getAllModelsWithListings($e('makeSelect').value, populateModels);
	}
}

function selectDefaults(makeName) {
	makeSelect = $e('makeSelect');
	for(k=0; k<makeSelect.length; k++) {
		if (makeSelect.options[k].value == makeName) {
			makeSelect.options[k].selected = 'true';
			break;
		}
	}
	
	UsedCarHomeManager.getAllModelsWithListings($e('makeSelect').value, populateModels2);
	//populateModels2 is defined on static_search_result.jsp
}

function selectModel(modelName) {
	modelSelect = $e('modelSelect');
	for(k=0; k<modelSelect.length; k++) {
		if (modelSelect.options[k].value == modelName) {
			modelSelect.options[k].selected = 'true';
			break;
		}
	}
}

function setMakeCount(countLocation) {
	var count;
	var location;
	if (countLocation) {
		count = countLocation.count;
		location = countLocation.location;
	} else {
		count = 0;
		location = '';
	}
	if ($e('makeSelect').selectedIndex > 0) {
		$e("makeCount").setTextData(IBDOM.Utils.getFormattedNumber(count));
		makeName = $e('makeSelect').value;
		label = makeName + (makeName[makeName.length-1] == 's' ? '\'s' : 's ') + location;
		$e('makeLabel').setTextData( label);
	} else {
		$e("makeCount").setTextData( '');
		$e('makeLabel').setTextData( '');
	}
}//setMakeCount

function calculateModels(){
//	if (zipEntered || $e('zipBox').value.length == 5) {
//		UsedCarHomeManager.getNumberOfListingsByMakeModelZip($e('makeSelect').value, $e('modelSelect').value, $e('zipBox').value, setModelCount);
//	} else {
//		UsedCarHomeManager.getNumberOfListingsByMakeModel($e('makeSelect').value, $e('modelSelect').value, setModelCount);
//	}
}

function setModelCount(countLocation) {
	var count;
	var location;
	if (countLocation) {
		count = countLocation.count;
		location = countLocation.location;
	} else {
		count = 0;
		location = '';
	}
	if ($e('modelSelect').selectedIndex > 0) {
		$e('modelCount').setTextData(IBDOM.Utils.getFormattedNumber(count));
		modelName = $e('modelSelect').value;
		label = modelName + (modelName[modelName.length-1] == 's' ? '\'s ' : 's ') + location;
		$e('modelLabel').setTextData( label);
	} else {
		$e('modelCount').setTextData( '');
		$e('modelLabel').setTextData( '');
	}
}//setModelCount

function populateModels(modelList) {
	populateSelect($e("modelSelect"),modelList);
	calculateModels();
}

IS_INIT = true;

function initMake() {
	if (IS_INIT && window.showMake) {
		IS_INIT = false;
		selectPullDownValue($e("makeSelect"),showMake);
	}
}

function populateMakes(makeList) {
	populateSelect($e("makeSelect"), makeList, null, null, null, initMake );	
}

function populateUpdatedDate(date) {
	date = new Date();
	hours = date.getHours();
	minutes = date.getMinutes();
	minutes = minutes + "";
	if (minutes.length == 1){minutes = "0" + minutes;}
	if (hours == 0) { hours = 12; } 
	if(hours > 12){ ampm = "PM"; hours = hours - 12; } else { ampm = "AM"; }
	formattedDate = hours + ":" + minutes + " " + ampm;
	$e("updatedDate").setTextData(IBDOM.Utils.getString(["Last Updated: ",formattedDate]));
}

function populateTotalListingCount(count){
	numberContainer = $e('totalListingsCount').removeAllChildren();
	for (ccount = 0; ccount < count.length; ccount++) {
		currentChar = count.charAt(ccount);
		charDiv = IBDOM.IBElement.getAugmentedElement(document.createElement("div"));
		if (currentChar == ",") {
			charDiv.className = "comma";
		} else {
			charDiv.className = "digit";
		}
		charDiv.setTextData(currentChar);
		numberContainer.appendChild(charDiv);
	}//loop thru characters in count string
}//populateTotalListingCount

function writeSkyScraperAd() {
	timestamp = (new Date()).getTime();
	document.write(
		IBDOM.Utils.getString([
			'<iframe src="//ad.doubleclick.net/adi/cdc_used_hp/;dcopt=ist;sz=300x195;ord=',
			timestamp,
			'?" width="300" height="195" marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0" scrolling=no borderCOLOR="#000000">',
			'<script language="JavaScript" src="//ad.doubleclick.net/adj/cdc_used_hp/;dcopt=ist;sz=300x195;abr=!ie;ord=',
			timestamp,
			'?" type="text/javascript"></script>',
			'</iframe>'
		])
	);
}//writeSkyScraperAd

function writeEmbeddedMovie() {
document.write(
	IBDOM.Utils.getString([
		'<embed ',
		' src="'+imageUrlPrefix+'/usedcars/images/slots25.swf"',
		' quality="high"',
		'pluginspage="//www.macromedia.com/go/getflashplayer"',
		'type="application/x-shockwave-flash" width="300" height="228"></embed>'	
	])
);
}//writeEmbeddedMovie

function validateSearch(fObj) {
	fzip = fObj.zip.value;
	fzip = getStrippedWhite(fzip);
	if (fzip && (fzip != "") && !isNaN(parseInt(fzip))) {
		$e("whoIsTrusted").hide();
		$e("makeSelect").hide();
		$e("modelSelect").hide();
		showInterstitialScreen();
		return true;
	} else {
		alert("Please enter a valid Zip Code");
		fObj.zip.value = "";
		fObj.zip.focus();
		return false;
	}
}//validateSearch

function showDefaultText() {
	$e("defaultText").style.display="block";
}//showDefaultText