
function checkZIP(val) {
  return (/^[0-9]{5}$/.test(val));
}

function checkPhone(val) {
	return (/^(\d){3}[\s.-]?(\d){3}[\s.-]?(\d){4}$/.test(val));
}

function checkEmail(val) {
	return (/^([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+)\.([a-zA-Z]{2,6})$/.test(val));
}

function checkAddress(val) {
  return val.length;
}

function checkName(val) {
  return (/^[A-Za-z]+[A-Za-z \.\'\-]+$/.test(val));
}

function trim(str) {
	return str.replace(/[\s]+$/, '').replace(/^[\s]+/, '');
}

function enterKey(e) {
  var key = e.which || e.keyCode;
  return (key && key == 13);
}

function check() {
  if ($('ajax_make_id').value == 999 || $('ajax_model_id').value == 999) {
    alert('Please select Make & Model');
    return false;
  } else {
		var zip = trim($('2f_zipcode').value);
    if (checkZIP(zip)) {
      ajaxCheckZIP(zip);
      return false;
    } else {
      alert('Please enter a valid U.S. ZIP code to continue.');
      $('2f_zipcode').select();
      return false;
    }
  }
}

function ajaxCheckZIP(val) {
	var URL = '/ajax/validateZIP.php';
	var pars = 'zip=' + val;
	var myAjax = new Ajax.Request(URL, {method: 'post', parameters: pars, onComplete: resZIP});
}

function check_dealermap() {
  if ($('ajax_make_id').value == 999 || $('ajax_model_id').value == 999) {
    alert('Please select Make & Model');
    return false;
  } else {
		var zip = trim($('2f_zipcode').value);
    if (checkZIP(zip)) {
      ajaxCheckDealerMapZIP(zip);
    } else {
      alert('Please enter a valid U.S. ZIP code to continue.');
      $('2f_zipcode').select();
      return false;
    }
  }
}

function ajaxCheckDealerMapZIP(val) {
	var URL = '/ajax/validateZIP.php';
	var pars = 'zip=' + val;
	var myAjax = new Ajax.Request(URL, {method: 'post', parameters: pars, onComplete: resDealerMapZIP});
	return typeof(valid_dealermap_zip) != 'undefined'?valid_dealermap_zip:false;
}

function resDealerMapZIP(originalRequest, json)	{
	var feed = originalRequest.responseText.evalJSON();
	if (feed > 0) {alert(ZIP_ERROR_MESSAGE); }
	else if (feed["valid"] != "1"){
	  alert('Please enter a valid U.S. ZIP code to continue.');
	}
	else{
	  mvc.submit();
	}
}

function checkUserMVC() {
	if (checkName(mvc.name_first.value) == false) {
		alert('Please enter your first name!');
		$('2f_name_first').select();
		return false;
	}
	if (checkName(mvc.name_last.value) == false) {
		alert('Please enter your last name!');
		$('2f_name_last').select();
		return false;
	}
	if (checkPhone(mvc.phone.value) == false) {
		alert('Please enter a valid U.S. phone number in the following format: ###-###-####.');
		$('2f_phone').select();
		return false;
	}
	if (checkEmail(mvc.email.value) == false) {
		alert('Your e-mail needs to be in the form of name@domain.com.');
		$('2f_email').select();
		return false;
	}
	if (checkAddress(mvc.address.value) == false) {
		alert('Please enter your address!');
		$('2f_address').select();
		return false;
	}
	if (checkZIP(mvc.zipcode.value) == false) {
		alert('Please enter a valid U.S. ZIP code!');
		$('2f_zipcode').select();
		return false;
	}
	return true;
}

function checkDealerMVC() {
	if (mvc.dealer_name.value == "") {
		alert('Please enter dealership name!');
		$('2f_dealer_name').focus();
		return false;
	}
	if (mvc.dealer_type.value == "") {
		alert('Please select dealership type!');
		return false;
	}
	if (checkName(mvc.contact_name.value) == false) {
		alert('Please enter contact name!');
		$('2f_contact_name').select();
		return false;
	}
	if (checkEmail(mvc.email.value) == false) {
		alert('Your e-mail needs to be in the form of name@domain.com.');
		$('2f_email').select();
		return false;
	}
	if (mvc.city.value == "") {
		alert('Please enter city name!');
		$('2f_city').focus();
		return false;
	}
	if (mvc.state.value == "") {
		alert('Please select state!');
		return false;
	}
	if (mvc.county.value == "") {
		alert('Please enter county name!');
		$('2f_county').focus();
		return false;
	}
	if (checkZIP(mvc.dealer_zip.value) == false) {
		alert('Please enter a valid U.S. ZIP code!');
		$('2f_zipcode').select();
		return false;
	}
	if (checkPhone(mvc.phone.value) == false) {
		alert('Please enter a valid U.S. phone number in the following format: ###-###-####.');
		$('2f_phone').select();
		return false;
	}
	return true;
}

function loadIframe() {
  //try{$('jsiframe').src = isrc;}catch(err){}
}

function imageCall(URL) {
  $('omniture_event').innerHTML = '<img src="' + URL + '" />';
}

function pingConfirm(params) {
  var myAjax = new Ajax.Request('/ping.php', {method: 'post', parameters: params});
}

function getYearModel() {
  if (mdi != 999) {
    var URL = '/ajax/model.php';
    var pars = 'model_id=' + mdi + '&year=' + Y;
    var myAjax = new Ajax.Request(URL, {method: 'post', parameters: pars, onComplete: showYearModel});
  }
}
