﻿
function disableEnter(e)
{
    var key = (window.event) ? window.event.keyCode : e.which;
    return (key != 13);
}

function alertError(field, mesg)
{
	alert(mesg);
	field.focus();
	if (field.select) field.select();
	return false;
}

function trim(str) 
{
	var	str = str.replace(/^\s\s*/, ''),
		ws = /\s/,
		i = str.length;
	while (ws.test(str.charAt(--i)));
	return str.slice(0, i + 1);
}

function isBlank(str)
{
	return (trim(str)=="") ? true : false;
}

function WebForm_OnSubmit(form) 
{
    if (isBlank(form.elements['mileage'].value))
    {
		return alertError(form.elements['mileage'], 'Vehicle Mileage is required.');
    }
    if (!(form.elements['mileage'].value.match(/^\d+$/)))
    {
		return alertError(form.elements['mileage'], 'Vehicle Mileage must be a valid number.');
    }
    else if(form.elements['mileage'].value>150000)
    {
		return alertError(form.elements['mileage'], 'Maximum mileage covered is 150000.');
    }
    if (isBlank(form.elements['year'].options[form.elements['year'].selectedIndex].value))
    {
		return alertError(form.elements['year'], 'Vehicle Year is required.');
    }
    if (isBlank(form.elements['make'].options[form.elements['make'].selectedIndex].value))
    {
		return alertError(form.elements['make'], 'Vehicle Make is required.');
    }
    if (isBlank(form.elements['model'].value))
    {
		return alertError(form.elements['model'], 'Vehicle Model is required.');
    }
    if (isBlank(form.elements['firstname'].value))
    {
		return alertError(form.elements['firstname'], 'First Name is required.');
    }
    if (isBlank(form.elements['lastname'].value))
    {
		return alertError(form.elements['lastname'], 'Last Name is required.');
    }
    if (isBlank(form.elements['zipcode'].value))
    {
		return alertError(form.elements['zipcode'], 'Zip Code is required.');
    }
    if (!(form.elements['zipcode'].value.match(/^\d{5}$/)))
    {
		return alertError(form.elements['zipcode'], 'Zip Code is invalid.');
    }
    if (form.elements['zipcode'].value.match(/^4[012]\d{3}$/))
    {
		return alertError(form.elements['zipcode'], 'SmartAutoWarranty.com currently does not offer coverage for Kentucky.');
    }
    if (form.elements['zipcode'].value.match(/^6[345]\d{3}$/))
    {
		return alertError(form.elements['zipcode'], 'SmartAutoWarranty.com currently does not offer coverage for Missouri.');
    }
    if (form.elements['zipcode'].value.match(/^9([0-5]\d|6[01])\d{2}$/))
    {
		return alertError(form.elements['zipcode'], 'SmartAutoWarranty.com currently does not offer coverage for California.');
    }
    if (form.elements['zipcode'].value.match(/^9(8\d|9[0-4])\d{2}$/))
    {
		return alertError(form.elements['zipcode'], 'SmartAutoWarranty.com currently does not offer coverage for Washington state.');
    }
    if (isBlank(form.elements['email'].value))
    {
		return alertError(form.elements['email'], 'Email Address is required.');
    }
    if (!(form.elements['email'].value.match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z]{2,6})$/)))
    {
		return alertError(form.elements['email'], 'Email Address is invalid.');
    }
    if (isBlank(form.elements['workphone'].value))
    {
		return alertError(form.elements['workphone'], 'Primary Phone is required. (Ten digits are required.)');
    }
    if (!(form.elements['workphone'].value.match(/^\d{3}-?\d{3}-?\d{4}$/)))
    {
		return alertError(form.elements['workphone'], 'Primary Phone is invalid. (Ten digits, no symbols.)');
    }
    if (form.elements['homephone'].value!='' && !(form.elements['homephone'].value.match(/^\d{3}-?\d{3}-?\d{4}$/)))
    {
		return alertError(form.elements['homephone'], 'Alternate Phone is invalid. (Ten digits, no symbols.)');
    }

    return true;
}

function isnavkey(e) {
	// this is primarily executed for netscape because IE doesnt give us nav keys.
	if (e.which == 9)
		{
		//added for safari tabbing on number controls
		return true;
		}
	if (document.all) {
		return false;  // ie never uses this.
	} else if (parseInt(e.which)>0 && parseInt(e.which)!=8) {
		return false;
	}
	return true;		
//	if (k==8 || k==0)//(k>33 && k<47))
//		return true;
}
function isnumerickey(e) {
	if (isnavkey(e))
		return true;
	var key = String.fromCharCode(e.which?e.which:e.keyCode);
	if ((key>='0' && key<='9')) {
		return true;
	}
	return false;
}
function isphonekey(e) {
	if (isnavkey(e))
		return true;
	var key = String.fromCharCode(e.which?e.which:e.keyCode);
	if ((key>='0' && key<='9') || key=='-') {
		return true;
	}
	return false;
}

function popup(url, windowName, width, height)
{
	if (windowName==null) windowName = '_blank';
	if (width==null) width=612;
	if (height==null) height=260;
	if (width==0) width=document.body.offsetWidth;
	if (height==0) height=document.body.offsetHeight;
	if (width>screen.availWidth-16) width=screen.availWidth-16;
	if (height>screen.availHeight-24) width=screen.availHeight-24;
	var left   = (screen.availWidth - width) / 2;
	var top    = (screen.availHeight - height) / 4;

	var popup = window.open(
		url,
		windowName,
		'left=' + left + ',top=' + top + ',width=' + width + ',height=' + height + ',scrollbars=yes,status=no,toolbar=no,location=no',
		'replace = true'
	);
	if (popup==null) alert('You must allow popup windows for this site');
	else popup.focus();
}


function openChatWindow()
{
	var w=490;
	var h=404;
	var l=(screen.availWidth-w)/2;
	var t=(screen.availHeight-h)/3;
	var f = 'left='+l+',top='+t+',width='+w+',height='+h+',toolbar=0,location=0,directories=0,menubar=0,status=0,scrollbars=0,resizable=0,replace=0';
	var url = 'https://chat.smartautowarranty.com:446/SightMaxAgentInterface/PreChatSurvey.aspx?accountID=1&siteID=1&queueID=1';
	url += '&fullname=' + escape(fullname);
	url += '&email=' + escape(email);
	url += '&state=' + escape(state);
	url += '&vehicle=' + escape(vehicle);
	url += '&mileage=' + escape(mileage);
	url += '&leadid=' + escape(leadid);
	url += '&autosubmit=true';
	var win_chat = window.open(url, 'chatWindow', f);
	win_chat.focus();
}

