function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function getDateTimeString() {
	var date = new Date;
	var y=date.getYear()+"";
	var M=date.getMonth()+1;
	var d=date.getDate();
	var E=date.getDay();
	var H=date.getHours();
	var m=date.getMinutes();
	var s=date.getSeconds();
	return ''+y+M+d+E+H+m+s+'';
}
function domready() {
	// every request will call this function.  use it to bind events to functions or whatever 
}
function ChangeImage(f) {
	document.getElementById("imgPreview").src = "images/item/MainProduct/" + f;
}
function zoomIt() {
	var pimg = document.getElementById('imgPreview').src;
	var pimgA = pimg.split('/');
	plen = pimgA.length - 1;
	theImg = pimgA[plen].split('.')[0];
	theLink = document.getElementById('lbz'+theImg);
	theLink.onclick();
}
function toggleProductDesc() {
	var productDesc = document.getElementById("productDesc");
	var toggleLink1 = document.getElementById("toggleLink1");
	var toggleLink2 = document.getElementById("toggleLink2");

	if (productDesc.style.overflow == "visible") {
		productDesc.style.height = "83px";
		productDesc.style.overflow = "hidden";

		toggleLink1.innerHTML = "More &gt;";
		toggleLink2.innerHTML = "More &gt;";
	} else {
		productDesc.style.height = "auto";
		productDesc.style.overflow = "visible";

		toggleLink1.innerHTML = "Close &lt;";
		toggleLink2.innerHTML = "Close &lt;";
	}
}
function addrStateChange(selVal) {
	var valArr = selVal.split("_");
	var stateCode = valArr[0];
	var countryCode = valArr[1];
	document.AddrEdit.stateID.value = stateCode;
	for (i=0;i < document.AddrEdit.countryID.options.length;i++) {
		if (document.AddrEdit.countryID.options[i].value == countryCode) {
			document.AddrEdit.countryID.selectedIndex = i;
			break;
		}
	}
}
function addrCountryChange(selVal,addrIdx) {
	ColdFusion.navigate('index.cfm/go/XHR.StateProvinceInput/countryID/'+selVal+'/addrIdx/'+addrIdx,'stateDiv');
}

/* -------------------- My Bikes ----------------------------- */
var mycallback = function() {}
var errhandler = function() {}
var hSm = '<input type=\'hidden\' name=\'bikeSelSubmodel\' />';
var hMd = '<input type=\'hidden\' name=\'bikeSelModel\' />';
var hMk = '<input type=\'hidden\' name=\'bikeSelMake\' />';

function selChange(s,v) {
	var targetDivPref = 'divBike';
	var targetSelector = 'Make';
	var targetDiv = targetDivPref + targetSelector;
	switch (s) {
		case 'class':
			document.getElementById('bikeClass').value = v;
			document.getElementById('divBikeSubmodel').innerHTML = hSm;
			document.getElementById('divBikeModel').innerHTML = hMd;
			document.getElementById('divBikeMake').innerHTML = hMk;
			//setSelected('bikeSelClass',v);
			break;
		case 'make':
			document.getElementById('bikeMake').value = v;
			targetSelector = 'Model';
			document.getElementById('divBikeSubmodel').innerHTML = hSm;
			document.getElementById('divBikeModel').innerHTML = hMd;
			//setSelected('bikeSelMake',v);
			break;
		case 'model':
			document.getElementById('bikeModel').value = v;
			targetSelector = 'Submodel';
			document.getElementById('divBikeSubmodel').innerHTML = hSm;
			setSelected('bikeSelModel',v);
			break;
		case 'submodel':
			document.getElementById('bikeSubmodel').value = v;
			targetSelector = 'null';
			setSelected('bikeSelSubmodel',v);
			break;
	}
	targetDiv = targetDivPref + targetSelector;
	ColdFusion.navigate('index.cfm?go=XHR.BikeSelect&dla=1&selector='+targetSelector,targetDiv,mycallback,errhandler,'get','bikeSelects');
}
function setSelected(e,v) {
	var elem = document.getElementById(e);
	for (i=0;i<elem.options.length;i++) {
		if (elem.options[i].value == v) {
			elem.options[i].selected = "true";
		}
	}
}
function submitBike() {
	var valid = true;
	var b = document.bikeForm;
	var f = document.bikeSelects;
	if (b.label.value=='') {
		valid = false;
		b.label.focus();
		alert('Please enter a nickname for this bike.');
		return false;
	}
	if (isNaN(b.year.value) && b.year.value != '' && b.year.value > 1900 && b.year.value < 2030) {
		valid = false;
		b.year.focus();
		alert('Enter a valid year, or leave blank');
		return false;
	}
	if (valid == true) {
		f.bikeLabel.value = b.label.value;
		f.bikeClass.value = b.bikeSelClass.options[b.bikeSelClass.selectedIndex].value;
		f.bikeMake.value = b.bikeSelMake.options[b.bikeSelMake.selectedIndex].value;
		f.bikeModel.value = b.bikeSelModel.options[b.bikeSelModel.selectedIndex].value;
		if (b.bikeSelSubmodel.options) {
			f.bikeSubmodel.value = b.bikeSelSubmodel.options[b.bikeSelSubmodel.selectedIndex].value;
		} else {
			f.bikeSubmodel.value = "0";
		}
		f.bikeYear.value = b.year.value;
		f.custBikeID.value = b.custBikeID.value;
		f.submit();
	}
}
/* end My Bikes */

/* --------------- DIV scrolling ------------- */
var defaultStep = 1
var step = defaultStep

function scrollToTop(id){
	document.getElementById(id).scrollLeft=0
}

function scrollDivDown(id){
	document.getElementById(id).scrollLeft+=step
	timerDown=setTimeout("scrollDivDown('"+id+"')",10)
}

function scrollDivUp(id){
	document.getElementById(id).scrollLeft-=step
	timerUp=setTimeout("scrollDivUp('"+id+"')",10)
}

function scrollToBottom(id){
	document.getElementById(id).scrollLeft=document.getElementById(id).scrollWidth
}

// general-purpose form ajax submitter
function submitFormXHR(form,div,url) { // 'form' is the ID of the form with the data to submit, 'div' is the container to update with the response
	var f = document.getElementById(form);
	var validate = function(){
		try { return eval('validate' + form + '()');}
		catch(err){return true;}
	} 
	var validated = validate();
	//alert(validated);
	if (validated==true) { // will execute function 'validateLoginForm' if form='LoginForm', etc., to take the place of cfform validation
		ColdFusion.navigate(url, div, mycallback, errhandler, 'post', f);
	} else {
		return false;
	}
}
function validateLoginForm() {
	var f = document.getElementById('LoginForm');
	if (f.username.value.length > 5 && f.pwd.value.length > 4 && f.pwd.value.length < 21) {
		return true;
	} else {
		alert('Enter your email address and password.  Password must be between 5 and 20 characters.');
		return false;
	}
}
function validateregForm() {
	return true;
}
function showHide(el){
	if (document.getElementById(el).style.display == 'none') {
		document.getElementById(el).style.display = 'block';
	}
	else {
		document.getElementById(el).style.display = 'none';
	}
}


/***************** Dealer Locator *****************/

function dealerLocatorCity(selVal) {
	ColdFusion.navigate('index.cfm/go/XHR.DealerLocatorCity/StateID/' + selVal,'city-div');
}

/****************** Cart ***************************/
function checkQuantities() {
	var elem = document.getElementById('addToCartForm').elements;
	var cartTotal = 0;
	for (var i = 0; i < elem.length; i++) {
		if (elem[i].type == 'text' && elem[i].name.substring(0,3) == 'qty' && isNaN(elem[i].value)==false) {
			cartTotal += elem[i].value;
		}
	}
	if (cartTotal != 0) {
		return true;
	} else {
		alert('You have not entered the quanity of product you would like to add to the cart.');
		return false;
	}
}
function checkQuantitiesOld(qFields){
	var aryFields = qFields.split(",");
	var cartTotal = 0;
	var i = 0;
	for (i=0; i<aryFields.length; i++ ){
		if(isNaN(document.getElementById('qty_' + aryFields[i]).value)==false){
			cartTotal += document.getElementById('qty_' + aryFields[i]).value;
		}
	}
	if (cartTotal != 0) {
		return true;
	} else {
		alert('You have not entered the quanity of product you would like to add to the cart.');
		return false;
	}
}
function flashHiderOver() {
	document.getElementById('flashArea-Mouseover').style.display='block';
	document.getElementById('flashArea').style.display='none';
}
function flashHiderOut() {
	document.getElementById('flashArea-Mouseover').style.display='none';
	document.getElementById('flashArea').style.display='block';
}
