/********************************************
*  inventory.js
*  author: \/\/ick, ///o-o\\\
*  date: 01.08.04
*	 Requires:
*		imagecontrol.js
********************************************/


var sbNames = new Array('SByear','SBmake','SBmodel','SBbodystyle');
var carDiv;
var carImg;
var selectedVehicle;
var compareCount = 0;

function view(vehiclenum,url,invid) {
	if (typeof(links_details) == 'undefined') { // inventory
		if (invid) { document.location.href = vx[invid].link_details+'?vehicleId='+vx[invid][vehiclenum][1]+((url)?'&url='+url+'%3fvehicleId='+vx[invid][vehiclenum][1]:''); }
		else { document.location.href = link_details+'?vehicleId='+vx[vehiclenum][1]+((url)?'&url='+url+'%3fvehicleId='+vx[vehiclenum][1]:''); }
	}
	else { // carfinder
		document.location.href = links_details[vx[vehiclenum][6]-1]+'?vehicleId='+vx[vehiclenum][1];
	}
}

function sortby(sortmethod) {
	document.location.href = link_inventory+'?sortBy='+escape(sortmethod);
}

function smartbrowse(sbKey,sbValue) {
	window.focus();
	var sbStr = '?'+sbKey+'='+sbValue;
	for (i = 0; i < sbNames.length; i++) {
		if (sbNames[i] != sbKey) { sbStr += '&'+sbNames[i]+'=clear'; }
	}
	document.location.href = link_inventory+sbStr+'&start=0';
}

function SBsubmit(selObj,dependent) {
	window.focus();
	var formRef = document.forms['smartbrowseForm'];
	if ((!dependent) && (selObj.value != 'clear') && (selObj.name != 'showCertified')) {
		for (i = 0; i < formRef.elements.length; i++) {
			if (formRef.elements[i].name != selObj.name) {
				formRef.elements[i].selectedIndex = 0;
			}
		}
	}
	else if ((selObj.name == 'SBmake') && (selObj.value == 'clear')) {
		formRef.SBmodel.selectedIndex = 0;
	}
	else if (selObj.name == 'showCertified') {
		if (selObj.checked) { formRef.certified.value = 'true'; }
		else { formRef.certified.value = 'clear'; }
	}
	formRef.submit();
}

function pageInit() {
	if ((typeof(hasImaging) != 'undefined') && (hasImaging)) {
		carDiv = document.getElementById('carthumbDiv');
		carImg = document.getElementById('carthumbImg');
		var selectedVehicle = 0;
		if (vx.length) { updateDiv(0); }
	}
	if ((typeof(hasCompare) != 'undefined') && (hasCompare) && (vx.length)) {
		compareInit();
	}
}

function initBtns(btnNum) {
	if (btnNum == 3) {
		for (i = 0; i < sortBtns.length; i++) {
			if (sortBtns[i][1] == clicked) {
				clicked = sortBtns[i][0];
				break;
			}
		}
		if (clicked == '') {
			if (typeof(document.images['MAKEleft']) != 'undefined') { clicked = 'MAKE'; }
			else if (typeof(document.images['MODELleft']) != 'undefined') { clicked = 'MODEL'; }
		}
		if ((clicked != '') && (typeof(document.images[clicked+'left']) != 'undefined')) { write3Btn(clicked,'_F3'); }
	}
	else { // classified style listing
		sortRef = document.forms['sortbyForm'].sortBy.options;
		if (clicked == '') {
			sortRef.selectedIndex = 1;
		}
		else {
			for (i = 0; i < sortRef.length; i++) {
				if (sortRef[i].value == clicked) {
					sortRef.selectedIndex = i;
					break;
				}
			}
		}
	}
}

function update3Btn(imgName,state,headerColor) {
	if (state == '_F3') {
		if (clicked != '') { write3Btn(clicked,''); } // unclick old button
		clicked = imgName; // necessary if buttons are in a frame that doesn't refresh & if other buttons are clicked while refreshing
		updateStatusBar('Please wait, sorting by '+imgName+'. . .',true);
	}
	if ((state == '') && (imgName == clicked)) { state = '_F3'; } // don't unclick the clicked button onMouseOut
	write3Btn(imgName,state);
}

function write3Btn(imgName,state) {
	btnSrc = eval('sort'+imgName+'Src');
	switchImage(imgName+'left',getsrc(btnSrc,state));
	switchImage(imgName+'mid',getsrc(sortmidSrc,state));
	switchImage(imgName+'right',getsrc(sortrightSrc,state));
}

function getsrc(imgSrc,state) {
	return(imgSrc.substring(0,imgSrc.length-4) + state + imgSrc.substring(imgSrc.length-4,imgSrc.length));
}

var oldSrc = null;

function rowHighlight( element, color ) {
	oldSrc = document.getElementById(element);
	oldSrc.oldBgColor = document.getElementById(element).bgColor;
	document.getElementById(element).bgColor = color;
	oldElement=element;
}

function rowUnhighlight() {
	if( oldSrc != null )
		oldSrc.bgColor = oldSrc.oldBgColor;
}

function updateStatusBar(verbiage, isWarning) {
	statusBar = document.getElementById( "inventoryStatusBar" );
	if (isWarning) statusBar.style.color = "#990000";
	statusBar.innerHTML = verbiage;
}

function compareInit() {
	objRef = document.forms['compareForm'].elements['vehicleId'];
	for (i = 0; i < objRef.length; i++) {
//		objRef[i].checked = false; // reset checkboxes, or..
		if (objRef[i].checked) { compareCount++; } // adjust compareCount for previously checked vehicles
	}
}

function commadelineate(cdata) {
  var cdataln = parseInt((cdata.length - 1) / 3);
	var cdata;
  for (var j = 0; j < cdataln; j++) {
    cdata = cdata.substr(0,(cdata.length - ((j+1)*3)-j))+','+cdata.substr((cdata.length - ((j+1)*3)-j),cdata.length);
  }
  return(cdata);
}

function findPosY(obj) {
	var curtop = 0;
	if (document.getElementById || document.all) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (document.layers)
		curtop += obj.y;
	return curtop;
}

function updateDiv(i) {
	selectedVehicle = i;
	if ((typeof(carImg) != 'undefined') && (typeof(carDiv) != 'undefined')) {
		if (vi[i].indexOf('unavailable') > -1) {
			carDiv.style.display = 'none';
		}
		else {
			carDiv.style.display = 'block';
			carImg.src = vi[i];
			carDiv.style.top = findPosY(document.getElementById('row'+i)) + Yoffset + 'px';
		}
	}
}

function compareClick(checkObj) {
	if ((checkObj.checked) && (compareCount >= 4)) {
		checkObj.checked = false;
		alert('Please select up to 4 vehicles at a time.');
	}
	else {
		if (checkObj.checked) { compareCount++; }
		else { compareCount--; }
	}
}

function compareCheck() {
	if (compareCount > 1) { document.forms['compareForm'].submit(); }
	else { alert('You must select at least 2 vehicles to compare!'); }
}

function lncheck(str,lnlimit) {
	if ((lnlimit) && (str.length > lnlimit)) {
		return(str.substring(0,lnlimit)+'..');
	}
	else { return(str); }
}

