var typeForm = "";
function checkForm(formName) {
	var form = document.forms[formName];
	var s = true;
	if (form) {
		var rFields = form.elements["requiredFields"];
		if (rFields) {
			rFields = rFields.value.replace(" ", "");
			rFields = rFields.split(",");
			for (var q = 0; q < rFields.length; q++) {
				var second = false;
				if (rFields[q].indexOf("2") > 0) {
					second = true;
					rFields[q] = rFields[q].replace("2", "");
				}
				if (form.elements[rFields[q]]) {
					if (rFields[q]== "BodyStyle") typeForm="btnSStyle";
					else if (rFields[q]== "Make") typeForm="btnSMake";
					var e = form.elements[rFields[q]];
					var lbl = document.getElementById("lbl_" + rFields[q] + (second ? "2" : ""));
					var lblh = document.getElementById("lblh_" + rFields[q] + (second ? "2" : ""));
					if (typeof e.type == "undefined") {
						for (var w = 0; w < e.length; w++) {
							if (checkElement(e[w], lbl, lblh)) {
								s = true;
								break;
							} else s = false;
						}
					} else {
						s = checkElement(e, lbl, lblh);
					}
				}
			}
		}
	}
	return s;
}

function checkElement(e, lbl, lblh) {
	lbl.className = lbl.className.replace("requiredField", "");
	if (lblh) lblh.style.display = "none";
	if (e.type == "checkbox") {
		if (!e.checked) {
			if (lbl) lbl.className = lbl.className + " requiredField";
			return false;
		}
	} else if (e.type == "text") {
		if (e.value == "") {
			if (lbl) lbl.className = lbl.className + " requiredField";
			if (lblh) lblh.style.display = "block";
			return false;
		} else if ((e.name.toLowerCase().indexOf("zip") > -1) && (e.value.length < 5)) {
			if (lbl) lbl.className = lbl.className + " requiredField";
			if (lblh) lblh.style.display = "block";
			return false;
		}
	}
	if (typeForm == "btnSMake") {
		eraseCookie('searchCookie');	
	}
	return true;
}

function clearLabel(name) {
	var lbl = document.getElementById("lbl_" + name);
	lbl.className = lbl.className.replace("requiredField", "");
}

function onlyNumbers(e)
{
	var keynum;
	var keychar;
	var numcheck;

	if (window.event) keynum = e.keyCode;
	else if (e.which) keynum = e.which;
	keychar = String.fromCharCode(keynum);
	numcheck = /\d/;
	if (!numcheck.test(keychar) && (keynum != 8) && (keynum != 9) && (keynum != 13)) return false;
	else return true;
}

function onPriceChange(cb, formName) {
	var form = document.forms[formName];
	if (cb.selectedIndex > 0) {	
		var pFrom = cb.options[cb.selectedIndex].value.split("|")[0];
		var pTo = cb.options[cb.selectedIndex].value.split("|")[1];
		form.FromPrice.value = pFrom;
		form.ToPrice.value = pTo;
	}
}

function onMileageChange(cb, formName) {
	var form = document.forms[formName];
	if (cb.selectedIndex > 0) {	
		var pFrom = cb.options[cb.selectedIndex].value.split("|")[0];
		var pTo = cb.options[cb.selectedIndex].value.split("|")[1];
		form.FromMileage.value = pFrom;
		form.ToMileage.value = pTo;
	}
}

function resortResults(col) {
	var form = document.forms['uisResort'];
	document.getElementById("uisResort_string").value = col;
	if (col == "image") form.sortOrder.value = "descending";
	form.submit();
}

var activePage = 1;

function clearPageLinks(xx) {
	var control = "";
	if (xx != undefined) control = xx;
	var lnkNext = document.getElementById("lnk" + control + "_next");

	while (lnkNext.previousSibling.id == "") {
		lnkNext.parentNode.removeChild(lnkNext.previousSibling);
	}
}

var maxPageLinks = 5;

function pageInRange(pageCount, page) {
	if (pageCount > maxPageLinks) {
		var lowRange = activePage - (Math.ceil(maxPageLinks / 2));
		if (lowRange < 0) lowRange = 0;
		else if (pageCount - maxPageLinks < lowRange) lowRange = pageCount - maxPageLinks;
		
		var highRange = lowRange + maxPageLinks;
		
		return (highRange >= page) && (page > lowRange);
	} else return true;
}

function createPageLinksSp(xx) {
	var control = "";
	if (xx != undefined) control = xx;
	var lnkNext = document.getElementById("lnk" + control + "_next");
	var pageCount = Math.ceil(resultCount / itemsPage);
	for (var q = 1; q <= pageCount; q++) {
		if (pageInRange(pageCount, q)) {
		var alnk = document.createElement("A");
		if (q != activePage) alnk.href = "javascript:showResultsPage(" + q + ")";
		else alnk.className = "active";
		alnk.innerHTML = q + "";
		lnkNext.parentNode.insertBefore(alnk, lnkNext);
		}
	}
	document.getElementById("lbl" + control + "_totalPages").innerHTML = pageCount + "";
	if (activePage == 1) {
		var lnkPrev = document.getElementById("lnk" + control + "_previous");
		var newPrev = document.createElement("SPAN");
		newPrev.innerHTML = "&nbsp;Anterior";
		newPrev.id = "lnk" + control + "_previous";
		lnkPrev.parentNode.insertBefore(newPrev, lnkPrev);
		lnkPrev.parentNode.removeChild(lnkPrev);
	} else {
		var lnkPrev = document.getElementById("lnk" + control + "_previous");
		var newPrev = document.createElement("A");
		newPrev.innerHTML = "Anterior";
		newPrev.id = "lnk" + control + "_previous";
		newPrev.href = "javascript:goPreviousPage()";
		lnkPrev.parentNode.insertBefore(newPrev, lnkPrev);
		lnkPrev.parentNode.removeChild(lnkPrev);
	}

	if (activePage == pageCount) {
		var newNext = document.createElement("SPAN");
		newNext.innerHTML = "Siguiente&nbsp;";
		newNext.id = "lnk" + control + "_next";
		lnkNext.parentNode.insertBefore(newNext, lnkNext);
		lnkNext.parentNode.removeChild(lnkNext);
	} else {
		var newNext = document.createElement("A");
		newNext.innerHTML = "Siguiente";
		newNext.id = "lnk" + control + "_next";
		newNext.href = "javascript:goNextPage()";
		lnkNext.parentNode.insertBefore(newNext, lnkNext);
		lnkNext.parentNode.removeChild(lnkNext);
	}
	document.getElementById("lbl" + control + "_activePage").innerHTML = activePage + "";
}

function goPreviousPage() {
	showResultsPage(activePage - 1);
}

function goNextPage() {
	showResultsPage(activePage + 1);
}

function refreshResults(cb) {
	activePage = 1;
	itemsPage = cb.options[cb.selectedIndex].value;
	createCookie("vr_rp", itemsPage, 1);
	var control = cb.id.indexOf("2") > 0 ? "" : "2";
	document.getElementById("pages" + control).selectedIndex = cb.selectedIndex;
	control = cb.id.indexOf("2") > 0 ? "2" : "";
	showResultsPage(1);
}

function showResultsPage(page) {
	var tbody = document.getElementById("resultsTBody");
	var idxStart = (page - 1) * itemsPage;
	var idxEnd = page * itemsPage;
	var idx = 0;
	for (var q = 0; q < tbody.childNodes.length; q++) {
		if (tbody.childNodes[q].nodeName == "TR") {
			if ((idx >= idxStart) && (idx < idxEnd)) tbody.childNodes[q].style.display = "";
			else tbody.childNodes[q].style.display = "none";
			idx++;
		}
	}
	
	activePage = page;
	clearPageLinks();
	createPageLinksSp();
	clearPageLinks("2");
	createPageLinksSp("2");
}

function updateSavedLinksSp() {
	var tbody = document.getElementById("resultsTBody");
	for (var q = 0; q < tbody.childNodes.length; q++) {
		if (tbody.childNodes[q].nodeName == "TR") {
			var tr = tbody.childNodes[q];
			var td = tr.lastChild;
			while (td.nodeName != "TD") td = td.previousSibling;
			var vin = td.firstChild.firstChild.innerHTML;
			var txt = "";
			if (isSavedVehicle(vin)) txt = "Quitar";
			else txt = "Guardar";
			td.firstChild.lastChild.innerHTML = txt;
		}
	}
}

function sortResults() {
	if (sortString == "image") {
		var tbody = document.getElementById("resultsTBody");
		for (var q = tbody.childNodes.length - 1; q >= 0; q--) {
			if (tbody.childNodes[q].nodeName == "TR") {
				var lastTR = tbody.childNodes[q].cloneNode(true);
				tbody.appendChild(lastTR);
				tbody.removeChild(tbody.childNodes[q]);
			}
		}
	}
}

function preSelect(p) {
	var cb = document.getElementById(p);
	for (var q = 0; q < cb.options.length; q++) {
		if (cb.options[q].value == itemsPage) cb.selectedIndex = q;
	}
}

function breakDealers() {
	var table = document.getElementById("tableResults");
	var cols = new Array();
	for (var q = 0; q < table.childNodes.length; q++) {
		if (table.childNodes[q].nodeName == "THEAD") {
			var thead = table.childNodes[q];
			for (var w = 0; w < thead.childNodes.length; w++) {
				if (thead.childNodes[w].nodeName == "TR") {
					var colCount = 0;
					var tr = thead.childNodes[w];
					for (var e = 0; e < tr.childNodes.length; e++) {
						if (tr.childNodes[e].nodeName == "TH") {
							if (tr.childNodes[e].className.indexOf("breakWord") > -1) cols[cols.length] = colCount;
							colCount++;
						}
					}
				}
			}
		} else if (table.childNodes[q].nodeName == "TBODY") {
			var tbody = table.childNodes[q];
			for (var w = 0; w < tbody.childNodes.length; w++) {
				if (tbody.childNodes[w].nodeName == "TR") {
					var tr = tbody.childNodes[w];
					var colCount = 0;
					for (var e = 0; e < tr.childNodes.length; e++) {
						if (tr.childNodes[e].nodeName == "TD") {
							var td = tr.childNodes[e];
							for (var r = 0; r < cols.length; r++) {
								if (cols[r] == colCount) {
									if (td.firstChild.nodeType == 3) td.innerHTML = breakWord(td.innerHTML);
									else td.firstChild.innerHTML = breakWord(td.firstChild.innerHTML);
								}
							}
							colCount++;
						}
					}
				}
			}
		}
	}
}

function breakBrands() {
	var table = document.getElementById("tableResults");
	var cols = new Array();
	for (var q = 0; q < table.childNodes.length; q++) {
		if (table.childNodes[q].nodeName == "THEAD") {
			var thead = table.childNodes[q];
			for (var w = 0; w < thead.childNodes.length; w++) {
				if (thead.childNodes[w].nodeName == "TR") {
					var colCount = 0;
					var tr = thead.childNodes[w];
					for (var e = 0; e < tr.childNodes.length; e++) {
						if (tr.childNodes[e].nodeName == "TH") {
							if (tr.childNodes[e].className.indexOf("gmcBrand") > -1) cols[cols.length] = colCount;
							colCount++;
						}
					}
				}
			}
		} else if (table.childNodes[q].nodeName == "TBODY") {
			var tbody = table.childNodes[q];
			var mbrand = "";
			for (var w = 0; w < tbody.childNodes.length; w++) {
				if (tbody.childNodes[w].nodeName == "TR") {
					var tr = tbody.childNodes[w];
					var colCount = 0;
					for (var e = 0; e < tr.childNodes.length; e++) {
						if (tr.childNodes[e].nodeName == "TD") {
							var td = tr.childNodes[e];
							for (var r = 0; r < cols.length; r++) {
								if (cols[r] == colCount) {
								  mbrand=td.innerHTML;
								  if (mbrand.length >= 4)
								     mbrand= mbrand.slice(0,3);
								  if (mbrand == 'Gmc')
								  {
									   if (td.firstChild.nodeType == 3) 
									      td.innerHTML = td.innerHTML.toUpperCase();
									   else 
									      td.firstChild.innerHTML = td.firstChild.innerHTML.toUpperCase();
									}
								}
							}
							colCount++;
						}
					}
				}
			}
		}
	}
}

function breakBodyStyle() {
	var table = document.getElementById("tableResults");
	var cols = new Array();
	for (var q = 0; q < table.childNodes.length; q++) {
		if (table.childNodes[q].nodeName == "THEAD") {
			var thead = table.childNodes[q];
			for (var w = 0; w < thead.childNodes.length; w++) {
				if (thead.childNodes[w].nodeName == "TR") {
					var colCount = 0;
					var tr = thead.childNodes[w];
					for (var e = 0; e < tr.childNodes.length; e++) {
						if (tr.childNodes[e].nodeName == "TH") {
							if (tr.childNodes[e].className.indexOf("reduceWord") > -1) cols[cols.length] = colCount;
							colCount++;
						}
					}
				}
			}
		} else if (table.childNodes[q].nodeName == "TBODY") {
			var tbody = table.childNodes[q];
			for (var w = 0; w < tbody.childNodes.length; w++) {
				if (tbody.childNodes[w].nodeName == "TR") {
					var tr = tbody.childNodes[w];
					var colCount = 0;
					for (var e = 0; e < tr.childNodes.length; e++) {
						if (tr.childNodes[e].nodeName == "TD") {
							var td = tr.childNodes[e];
							for (var r = 0; r < cols.length; r++) {
								if (cols[r] == colCount) {
									if (td.firstChild.nodeType == 3) td.innerHTML = reduceWord(td.innerHTML);
									else td.firstChild.innerHTML = reduceWord(td.firstChild.innerHTML);
								}
							}
							colCount++;
						}
					}
				}
			}
		}
	}
}

