
function popup(u,n,w,h) {
	var newWin = window.open(u,n,'width='+ w +',height='+ h)
}


/* Adapted from a tutorial on mredkj.com - thanks guys! */

// set up allowable characters
var reg = /(\d|\x46|\x08|\x09)/ // digits, backspace, delete & tab chars
var reg2 = /(\x46|\x08|\x09)/ // backspace, delete & tab chars

// function to prevent anything but digits from being entered
function noLetters(e) {

	// set up variables
	var key;
	if (window.event) {
		// for IE, e.keyCode or window.event.keyCode can be used
		key = e.keyCode; 

	} else if (e.which) {
		// netscape
		key = e.which; 

	} else {
		// no event, so pass through
		return true;

	}

	// return the boolean regex test results of the stringified character
	return reg.test( String.fromCharCode(key) )

}

function autoTab(field,nextInput,max,e) {

	// set up variables
	var key;
	if (window.event) {
		// for IE, e.keyCode or window.event.keyCode can be used
		key = e.keyCode; 

	} else if (e.which) {
		// netscape
		key = e.which; 

	} else {
		// no event, so pass through
		return true;

	}

	// if there's a target for the focus call and the field length is at max...
	if (nextInput && field.value.length == max) {

		// do the auto-tab unless the incoming character is backspace, delete, or tab
		if (!reg2.test( String.fromCharCode(key) )) {
			nextInput.focus()
		}

	}

	// return false just for the heck of it - doesn't make a difference
	return false;
	
}

function logOut() {

	if (confirm('Do you want to log out?')) {

		// remove cookie
		this.document.cookie = 'COOKIE=; expires=Fri, 02-Jan-1970 00:00:00 GMT';

		return true;

	} else {

		return false;

	}

}


function subTim(f) {

	// for <select>
/* 			var val = f.domain.value; */
	// for radio buttons
	var val = '';
	for (i = 0; i < f.domain.length; i++) {
		if (f.domain[i].checked) {
			val = f.domain[i].value;
			break;
		}
	}

	switch(val) {
		case '1':
			f.action = '/ppc/clientcenter.cgi';
			break;
		case '2':
			f.action = 'http://www.quotematch.com/cgi-bin/login.cgi';
			f.pass.value = f.password.value;
			break;
		case '3':
			f.action = 'http://www.insurancematch.com/cgi-bin/login.cgi';
			f.pass.value = f.password.value;
			break;
		default:
			f.action = 'http://www.zipsearch.com/setuser2.cgi';
			f.pass.value = f.password.value;
			break;
	}

	return true;
}


function textcounter(field, countfield) {
	var maxlimit = 400;
	if (field.value.length > maxlimit) {
		field.value = field.value.substring(0, maxlimit)
	} else {
		countfield.value = field.value.length;
	}
}


function checkAll(theAll,theForm,boxString) {
	var cnt=0;
	for (var i=0,n=theForm.elements.length;i<n;i++)
		if (theForm.elements[i].name.indexOf(boxString) !=-1)
			if (theAll.checked) {
				theForm.elements[i].checked = true;
			} else {
				theForm.elements[i].checked = false;
			}
}

function checkChecks(theBox,theAll,theForm,boxString,qty) {
	if (!theBox.checked) {
		theAll.checked=false;
	} else {
		var cnt=0;
		for (var i=0,n=theForm.elements.length;i<n;i++)
			if (theForm.elements[i].name.indexOf(boxString) !=-1)
				if (theForm.elements[i].checked) {
					cnt++;
				}
		if (!theAll.checked)
			if (cnt==qty) 
				theAll.checked=true;
	}
}

function checkMin(minField,maxField) {
	if (minField.value) 
		if (maxField.value) 
			if (parseInt(minField.value) >= parseInt(maxField.value)) {
				alert('Must not be set or less than '+maxField.value)
				return false;
			}
}

function checkMax(maxField,minField) {
	if (maxField.value) 
		if (minField.value) 
			if (parseInt(maxField.value) <= parseInt(minField.value)) {
				alert('Must not be set or greater than '+minField.value)
				return false;
			}
}

function isitFutureDate(dateStringField) {
	dateStringValue=dateStringField.value;
	if (dateStringValue.length!=10) {
		alert('Invalid date: Format MM/DD/YYYY')
		return false;
	}
	var now = new Date()
	var today = new Date(now.getYear(),now.getMonth(),now.getDate())
	var testdate = new Date(dateStringValue.substring(6,10),dateStringValue.substring(0,2)-1,dateStringValue.substring(3,5))
	var testyear=dateStringValue.substring(6,10)
	var testmonth=dateStringValue.substring(0,2)-1
	var testday=dateStringValue.substring(3,5)
	if ((testday!=testdate.getDate())||(testmonth!=testdate.getMonth())||(testyear!=testDate.getFullYear())) {
		
		alert('Invalid date')
		return false;
	}
	if (testdate >= now)
		return true;
	else {
		alert('Date occurs in the past')
		return false;
	}
}

function validateDateRange(dateStringField2,dateStringField1) {
	if (isitFutureDate(dateStringField2) == false) 
		return false;
	dateStringValue2=dateStringField2.value;
	var endDate = new Date(dateStringValue2.substring(6,10),dateStringValue2.substring(0,2)-1,dateStringValue2.substring(3,5))
	dateStringValue1=dateStringField1.value;
	var startDate = new Date(dateStringValue1.substring(6,10),dateStringValue1.substring(0,2)-1,dateStringValue1.substring(3,5))
	if (startDate < endDate) 
		return true;
	else {
		alert('End Date is before Start Date')
		return false;
	}
}
