//
// These functions addded by Jeff Johnson
//

function makeArray() {
     for (i = 0; i<makeArray.arguments.length; i++)
         this[i] = makeArray.arguments[i];
}

function getFullYear(d) {
    var y = d.getYear();
    if (y < 1000) {y += 1900};
    return y;
}

function format_time(t) {
    var day = t.getDay();
    var dt = t.getDate();
    var mo = t.getMonth();
    var yr = getFullYear(t);
    timeString = days[day]+", "+months[mo]+" "+dt+", "+yr;
	return timeString;
}

// from http://www.w3schools.com/js/js_form_validation.asp
// generic required field checker (used to validate if form field is null)
function validate_required(field,alerttxt)	{
	with (field)
	{
	if (value==null||value=="")
  		{alert(alerttxt);return false}
	else {return true}
	}
}

// email address checker
function validate_email(field,alerttxt) {
	with (field)
	{
	apos=value.indexOf("@")
	dotpos=value.lastIndexOf(".")
	if (apos<1||dotpos-apos<2) 
  		{alert(alerttxt);return false}
	else {return true}
	}
}

// used to validate Homeowners Insurance Quote form fields
function validate_homeownersform(thisform) {
	with (thisform)
	{
	if (validate_required(fullname,"Please provide your name.")==false)
  		{fullname.focus();return false}
	else if (validate_required(address,"Please provide your street address.")==false)
  		{address.focus();return false}
	else if (validate_required(city,"Please provide your city.")==false)
  		{city.focus();return false}
	else if (validate_required(zip,"Please provide your zip code.")==false)
  		{zip.focus();return false}
	
	// verify that user entered a homephone, workphone or email address
	failcount = 0
	apos=email.value.indexOf("@")
	dotpos=email.value.lastIndexOf(".")
	if (apos<1||dotpos-apos<2) {failcount++}
	if (homephone.value==null||homephone.value=="") {failcount++}
	if (workphone.value==null||workphone.value=="") {failcount++}
	if (failcount == 3) {
		alert("Please provide a phone number or email address so we can contact you.");
		homephone.focus();
		return false
	}
	else {return true}
	}
}

// used to validate Auto Insurance Quote form fields
function validate_autoform(thisform) {
	with (thisform)
	{
	if (validate_required(fullname,"Please provide your name.")==false)
  		{fullname.focus();return false}
	else if (validate_required(address,"Please provide your street address.")==false)
  		{address.focus();return false}
	else if (validate_required(city,"Please provide your city.")==false)
  		{city.focus();return false}
	else if (validate_required(zip,"Please provide your zip code.")==false)
  		{zip.focus();return false}
	else if (validate_required(v1Year,"Please provide a vehicle year.")==false)
  		{v1Year.focus();return false}
	else if (validate_required(v1Make,"Please provide a vehicle make.")==false)
  		{v1Make.focus();return false}
	else if (validate_required(v1Model,"Please provide a vehicle model.")==false)
  		{v1Model.focus();return false}
	else if (validate_required(d1Name,"Please provide the driver's name.")==false)
  		{d1Name.focus();return false}
	else if (validate_required(d1Age,"Please provide the driver's date of birth.")==false)
  		{d1Age.focus();return false}

	// verify that user entered a phone number or email address
	failcount = 0
	apos=email.value.indexOf("@")
	dotpos=email.value.lastIndexOf(".")
	if (apos<1||dotpos-apos<2) {failcount++}
	if (phone.value==null||phone.value=="") {failcount++}
	if (failcount == 2) {
		alert("Please provide a phone number or email address so we can contact you.");
		phone.focus();
		return false
	}
	else {return true}
	}
}

// used to validate Motorcycle Insurance Quote form fields
function validate_motorcycleform(thisform) {
	with (thisform)
	{
	if (validate_required(fullname,"Please provide your name.")==false)
  		{fullname.focus();return false}

	// verify that user entered a phone number or email address
	failcount = 0
	apos=email.value.indexOf("@")
	dotpos=email.value.lastIndexOf(".")
	if (apos<1||dotpos-apos<2) {failcount++}
	if (phone.value==null||phone.value=="") {failcount++}
	if (failcount == 2) {
		alert("Please provide a phone number or email address so we can contact you.");
		phone.focus();
		return false
	}
	else {return true}
	}
}


// used to validate Boat Insurance Quote form fields
function validate_boatform(thisform) {
	with (thisform)
	{
	if (validate_required(fullname,"Please provide your name.")==false)
  		{fullname.focus();return false}

	// verify that user entered a phone number or email address
	failcount = 0
	apos=email.value.indexOf("@")
	dotpos=email.value.lastIndexOf(".")
	if (apos<1||dotpos-apos<2) {failcount++}
	if (phone.value==null||phone.value=="") {failcount++}
	if (failcount == 2) {
		alert("Please provide a phone number or email address so we can contact you.");
		phone.focus();
		return false
	}
	else {return true}
	}
}


// used to validate Life Insurance Quote form fields
function validate_lifeform(thisform) {
	with (thisform)
	{
	if (validate_required(fullname,"Please provide your name.")==false)
  		{fullname.focus();return false}

	// verify that user entered a phone number or email address
	failcount = 0
	apos=email.value.indexOf("@")
	dotpos=email.value.lastIndexOf(".")
	if (apos<1||dotpos-apos<2) {failcount++}
	if (phone.value==null||phone.value=="") {failcount++}
	if (failcount == 2) {
		alert("Please provide a phone number or email address so we can contact you.");
		phone.focus();
		return false
	}
	else {return true}
	}
}


// used to validate Life Insurance Quote form fields
function validate_businessform(thisform) {
	with (thisform)
	{
	if (validate_required(fullname,"Please provide your name.")==false)
  		{fullname.focus();return false}

	// verify that user entered a phone number or email address
	failcount = 0
	apos=email.value.indexOf("@")
	dotpos=email.value.lastIndexOf(".")
	if (apos<1||dotpos-apos<2) {failcount++}
	if (phone.value==null||phone.value=="") {failcount++}
	if (failcount == 2) {
		alert("Please provide a phone number or email address so we can contact you.");
		phone.focus();
		return false
	}
	else {return true}
	}
}


// used to validate email Contact form fields
function validate_emailForm(thisform) {
	with (thisform)
	{
	if (validate_required(name,"Please provide a name.")==false)
  		{name.focus();return false}
	else if (validate_email(email,"Please provide a valid email address.")==false)
  		{email.focus();return false}
	else if (validate_required(message,"Please provide a message.")==false)
  		{message.focus();return false}
	}
}
