
function validate(obj) {
	var intAuctionsSelected = 0;

	for ( var i = 0; i < obj.elements.length; i++ ){
	  var elm = obj.elements[i];
	  if ( elm.type == "checkbox" ){
		if ( elm.name == "a" ) {
			if ( elm.checked == true ) {
				intAuctionsSelected++;
			}
		}
	  }
	}
	
	if ( ! isIntOrEmpty(obj.cc1.value) ) {
		alert("Engine displacement (engine), the size of the engine in cubic centimeters (CC), must be an integer number.\n "
			+ "Please change value '" + obj.cc1.value + "' in 1st engine box.");
		return false;
	}
	if ( ! isIntOrEmpty(obj.cc2.value) ) {
		alert("Engine displacement (engine) must be an integer number\n."
			+ "Please change value '" + obj.cc2.value + "' in 2st engine box.");
		return false;
	}
	if ( ! isIntOrEmpty(obj.km1.value) ) {
		alert("Mileage (kms) must be an integer number\n."
			+ "Please change value '" + obj.km1.value + "' in 1st kms box.");
		return false;
	}
	if ( ! isIntOrEmpty(obj.km2.value) ) {
		alert("Mileage (kms) must be an integer number\n."
			+ "Please change value '" + obj.km2.value + "' in 2st kms box.");
		return false;
	}
	if ( obj.st1 && obj.st1 ) {
		if ( ! isIntOrEmpty(obj.st1.value) ) {
			alert("Start bid must be an integer number\n."
				+ "Please change value '" + obj.st1.value + "' in 1st start bid box.");
			return false;
		}
		if ( ! isIntOrEmpty(obj.st2.value) ) {
			alert("Start bid must be an integer number\n."
				+ "Please change value '" + obj.st2.value + "' in 2st start bid box.");
			return false;
		}
	}
	if ( obj.lot1 ) {
		if ( ! isIntOrEmpty(obj.lot1.value) ) {
			alert("Lot number must be an integer number\n."
				+ "Please change value '" + obj.lot1.value + "' in 1st lot number box.");
			return false;
		}
	}
	if ( obj.lot2 ) {
		if ( ! isIntOrEmpty(obj.lot2.value) ) {
			alert("Lot number must be an integer number\n."
				+ "Please change value '" + obj.lot2.value + "' in 2st lot number box.");
			return false;
		}
	}
	if ( obj.ey1 ) {
		if ( obj.ey1.value != '' && obj.ey2.value == '' ) obj.ey2.value = obj.ey1.value;
	}
	if ( obj.ey2 ) {
		if ( obj.ey2.value != '' && obj.ey1.value == '' ) obj.ey1.value = obj.ey2.value;
	}
	var varLot1, varLot2
	var tdy = new Date();
	var yr = tdy.getYear();
	if ( yr < 1900 ) yr = yr + 1900;  //moronic firfox hack

	if (obj.lot1) varLot1 = obj.lot1.value;
	else varLot1 = '';
	if (obj.lot2) varLot2 = obj.lot2.value;
	else varLot2 = '';

	if ( obj.chas ) { // if form values exist
		if ( obj.chas.value == ''
		&& ( obj.make.value == 'all' || obj.make.value == '' )
		&& obj.mod.value == ''
		&& obj.grd.value == ''
		&& ( obj.c1.value == 'min' || obj.c1.value == '' )
		&& ( obj.c2.value == 'max' || obj.c2.value == '' )
		&& ( obj.yr1.value == 'min' || obj.yr1.value == '' )
		&& ( obj.yr2.value == 'max' || obj.yr2.value == '' )
		&& varLot1 == ''
		&& varLot2 == ''
		&& obj.cc1.value == ''
		&& obj.cc2.value == ''
		&& obj.km1.value == ''
		&& obj.km2.value == '' 
		&& intAuctionsSelected > 1 ) 
		{
			alert("Please enter a chassis, make, model, lot number, or other search criteria before searching.")
			return false;
		} else {
			if ( intAuctionsSelected <= 0 ) {
				alert("Please select a date or auction to search.");
				return false;
			} //else {
			//	return true;
			//}
		}
	} //end if form vars exist
//		else { //  if for fars do not exist			
//			return true;
//		}

	return true;
}

var divSelectModels = null; //global

function closeDivSelectModels() {
	// this is called by iframe indstead of calling closeDivSelectModelsNow directly.
	// I hope is this will defeat bug that I can't reproduce. 
	// I am guessing there was race condition caused by iframe calling fuction of its parent that tries to then removes the iframe that called it.
	// So function was trying to return to a page that no longer existed
	// I hope that by useing timeout, the timeout fired function is returning to the parent page, and there is no race condition
	setTimeout("closeDivSelectModelsNow()", 10); 
}

function closeDivSelectModelsNow() {
//	var theDiv = document.getElementById('divSelectModels');
//	if ( theDiv ) {
//		theDiv.style.display = 'none';
//		var theParent = theDiv.parentNode;
//		theParent.removeChild(theDiv);
//	}
	if ( divSelectModels ) {
		divSelectModels.style.display = 'none';
		var theParent = divSelectModels.parentNode;
		theParent.removeChild(divSelectModels);
		divSelectModels = null;
	}
}

function selectmodels(blnStock) {
	var MyXPos;
	var MyYPos;
	var WinOpts;
	var MyHeight = 450;
	var MyWidth = 700;
	var MyScroll;
	var objMake

	MyScroll = 'no' ;

	MyXPos =  0;
	MyYPos = 0;
	
	objMake = document.getElementsByName("make")[0];
	
	url = "selectmod.asp?";
	if ( blnStock ) url = url + "stock=y&";
	url = url + "make=" + objMake.value

	objAuction = document.getElementsByName("a");
	for ( var i = 0; i < objAuction.length; i++ ){
	  var elm = objAuction[i];
		if ( elm.checked == true ) {
			url = url + "&a=" + elm.value
		}
	}
	
	if ( ! divSelectModels ) {
		var position = findPos(document.getElementById("mod"));
		divSelectModels = PopupDiv(url, 10, position[1]-5, MyWidth, MyHeight);
		//divSelectModels.id = 'divSelectModels';
	}
		
//	WinMods = 'toolbar=no,menubar=no,directories=0,formulabar=no,status=0,location=no,resizable=yes,scrollbars=yes,copyhistory=0,'
//		+ 'left=' + MyXPos + ',top=' + MyYPos + ',height=' + MyHeight + ',width=' + MyWidth;
	
//	OpenMods = window.open(url, "CtrlWindow", WinMods);
	
//	OpenMods.focus();
}

function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}


function onlyAuc(strID) {
	unCheckAll(document.getElementsByName('a'));
	if ( document.getElementById('daychk-3') ) document.getElementById('daychk-3').checked = false;
	if ( document.getElementById('daychk-2') ) document.getElementById('daychk-2').checked = false;
	if ( document.getElementById('daychk-1') ) document.getElementById('daychk-1').checked = false;
	if ( document.getElementById('daychk0') ) document.getElementById('daychk0').checked = false;
	if ( document.getElementById('daychk1') ) document.getElementById('daychk1').checked = false;
	if ( document.getElementById('daychk2') ) document.getElementById('daychk2').checked = false;
	if ( document.getElementById('daychk3') ) document.getElementById('daychk3').checked = false;
	document.getElementById(strID).checked = true;
}

// some of function below depend on variable that must be set in page that includes this js file
// needed: thisSearchForm, yr1val, c1val

function clearModels() {
	thisSearchForm.mod.value = "";
}

function lnkProc(lnkObj) {
	var strHref = lnkObj.href;

	if ( strHref.indexOf("dsp=") <= 0 )
		strHref = AppendQS(strHref, "dsp", getCheckedValue(thisSearchForm.dsp));
	if ( strHref.indexOf("stp=") <= 0 )
		strHref = AppendQS(strHref, "stp", thisSearchForm.stp.value);			

	if ( thisSearchForm.carRegion )
		if ( strHref.indexOf("carRegion=") <= 0 )
			strHref = strHref + "&carRegion=" + thisSearchForm.carRegion.value;;			
	if ( thisSearchForm.showall )
		if ( thisSearchForm.showall.checked )
			if ( strHref.indexOf("showAll=") <= 0 )
				strHref = strHref + "&showAll=y";;;

	lnkObj.href = strHref 
}

function setElemVal(strID, varValue) {
	if (document.getElementById(strID)) document.getElementById(strID).value = varValue;
}
function setElemChk(strID, varValue) {
	if (document.getElementById(strID)) document.getElementById(strID).checked = varValue;
}	

function clearSearchForm() {
	thisSearchForm.reset();
	
	// if recent serach is loaded, need to remove values as below
	setElemVal("cat", "");
	setElemVal("carRegion", "");
	setElemChk("invRgn1", true);

	setElemVal("chas", "");
	setElemVal("make", "");
	setElemVal("mod", "");
	setElemVal("grd", "");
	setElemVal("yr1", yr1val);
	setElemVal("yr2", "");
	setElemVal("ey1", "");
	setElemVal("ey2", "");
	setElemVal("c1", c1val);
	setElemVal("c2", "");
	setElemVal("km1", "");
	setElemVal("km2", "");
	setElemVal("trn", "");
	setElemVal("lot1", "");
	setElemVal("lot2", "");
	setElemVal("cc1", "");
	setElemVal("cc2", "");
	setElemVal("ful", "");
	setElemVal("ac", "");
	setElemVal("clr", "");
	setElemVal("st1", "");
	setElemVal("st2", "");
	setElemChk("pw", false);
	setElemChk("ps", false);
	setElemChk("abs", false);
	setElemChk("abg", false);
	setElemChk("lthr", false);
	setElemChk("tv", false);
	setElemChk("nav", false);
	setElemChk("rs", false);
	setElemChk("sr", false);
	setElemChk("cd", false);
	setElemChk("md", false);
	setElemChk("cs", false);
	setElemChk("aw", false);
}

