// JavaScript Document
function validate_required(field)
{
	with (field)
	{
		if (value==null||value=="")
		{
			return false;
		} else {
			//field.focus();
			return true;
		}
	}
}
function validate_expression(field, expr)
{
	var ex = '';
	switch (expr) {
		case 'alpha':
			ex = /^[a-zA-Z ]+$/;
			break;
		case 'number':
			ex  = /^[0-9]+$/;
			break;
		case 'alphanum':		
			ex = /^[0-9a-zA-Z ]+$/;
			break;
		case 'email':
			ex = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-Z0-9]{2,4}$/;	
			break;
		default: // alpha
			ex = /^[a-zA-Z ]+$/;
			break;
	}

	var val = field.value.replace(/ /,'');
	if (val.match(ex)) {
		return true;	
	} else {
		field.focus();
		return false;
	}
}

function compare_values(field_a, field_b) {
	if (field_a.value == field_b.value) {
		return true;
	} else {
		field_a.focus();
		return false;
	}
}


function confirm_delete(obj_name, id, page) {
	if (confirm("Are you sure you want to delete " + obj_name + "?")) {
		window.location.href = page + "?id=" + id + "&action=remove";
	}
}

function detect_ie() {
	var ver = 0;
	var msg = '';
	var ua = navigator.userAgent;
	var av = navigator.appVersion;
	if (ua != null)
	{
		if (ua.indexOf("MSIE") != -1)
		{
			if (av.indexOf("MSIE")!=-1){
				var temp=av.split("MSIE");
				ver=parseFloat(temp[1]);
			}
		}
	}
	return ver;
}

function gotoUri(uri) {
	window.location = uri;
}

function checkRequestInfoForm(infoForm)
{
	var retval = true;
	var msg = '';
	var name = document.getElementById('name');
	var co = document.getElementById('company');
	var addr = document.getElementById('address');
	var city = document.getElementById('city');
	var st = document.getElementById('state');
	var zip = document.getElementById('zip');
	var country = document.getElementById('country');
	var phn = document.getElementById('phone');
	var fax = document.getElementById('fax');
	var email = document.getElementById('email_address');
	var app = document.getElementById('application');
	var qty1 = document.getElementById('Quantity1');
	var partno1 = document.getElementById('Part1');
	var setp1 = document.getElementById('SetPoint1');
	var del1 = document.getElementById('Delivery1');

	/* BEGIN TEXT FIELDS */
	if(!validate_required(name) || !validate_expression(name, 'alphanum'))
	{
		retval = false;
		document.getElementById('name').focus();
		msg = msg + 'Your Name\n';
	}
	if(!validate_required(co) || !validate_expression(co, 'alphanum'))
	{
		retval = false;
		document.getElementById('company').focus();
		msg = msg + 'Company Name\n';
	}
	if(!validate_required(addr))
	{
		retval = false;
		document.getElementById('address').focus();
		msg = msg + 'Street Address\n';
	}
	if(!validate_required(city) || !validate_expression(city, 'alphanum'))
	{
		retval = false;
		document.getElementById('city').focus();
		msg = msg + 'City\n';
	}
	if(!validate_required(st) || !validate_expression(st, 'alphanum'))
	{
		retval = false;
		document.getElementById('state').focus();
		msg = msg + 'State\n';
	}
	if(!validate_required(country) || !validate_expression(country, 'alphanum'))
	{
		retval = false;
		document.getElementById('country').focus();
		msg = msg + 'Country\n';
	}
	if(!validate_required(zip))
	{
		retval = false;
		document.getElementById('zip').focus();
		msg = msg + 'Zip (Postal) Code\n';
	}
	if(!validate_required(phn))
	{
		retval = false;
		document.getElementById('phone').focus();
		msg = msg + 'Phone Number\n';
	}
	if(!validate_required(fax))
	{
		retval = false;
		document.getElementById('fax').focus();
		msg = msg + 'FAX Number\n';
	}
	if(!validate_required(email) || !validate_expression(email, 'email'))
	{
		retval = false;
		document.getElementById('email_address').focus();
		msg = msg + 'Email Address\n';
	}
	if(!validate_required(app))
	{
		retval = false;
		document.getElementById('application').focus();
		msg = msg + 'Application\n';
	}
	if(!validate_required(qty1) || !validate_expression(qty1, 'number')) {
		retval = false;
		document.getElementById('Quantity1').focus();
		msg = msg + 'Quantity 1\n';
	}
	if(!validate_required(partno1) || !validate_expression(partno1, 'alphanum')) {
		retval = false;
		document.getElementById('Part1').focus();
		msg = msg + 'Part Number 1\n';
	}
	if(!validate_required(setp1)) {
		retval = false;
		document.getElementById('SetPoint1').focus();
		msg = msg + 'Set Point 1\n';
	}
	if(!validate_required(del1)) {
		retval = false;
		document.getElementById('Delivery1').focus();
		msg = msg + 'Requested Delivery 1\n';
	}
	/* END TEXT FIELDS */
	/* BEGIN RADIO BUTTON SETS */
	var howtoContact = -1;
	for(i=infoForm.howtocontact.length-1; i > -1; i--) {
		if(infoForm.howtocontact[i].checked) {
			howtoContact = i;
			i = -1;
		}		
	}
	if(howtoContact == -1) {
		retval = false;
		msg = msg + 'Contact Preference\n';
	}
	
	var findUs = -1;
	for(i=infoForm.findus.length-1; i > -1; i--) {
		if(infoForm.findus[i].checked) {
			findUs = i;
			i = -1;
		}		
	}
	if(findUs == -1) {
		retval = false;
		msg = msg + 'How you found us\n';
	}
	/* END RADIO BUTTON SETS */

	if(msg.length > 0)
	{
		msg = 'Please complete the following:\n' + msg;
		alert(msg);
	}	
	
	return retval;
}

function checkFreeSwitchForm()
{
	var retval = true;
	var msg = '';
	var name = document.getElementById('name');
	var co = document.getElementById('company');
	var addr = document.getElementById('address');
	var city = document.getElementById('city');
	var st = document.getElementById('state');
	var zip = document.getElementById('zip');
	var phn = document.getElementById('phone');
	var email = document.getElementById('email_address');
	if(!validate_required(name) || !validate_expression(name, 'alphanum'))
	{
		retval = false;
		document.getElementById('name').focus();
		msg = msg + 'Your Name\n';
	}
	if(!validate_required(co) || !validate_expression(co, 'alphanum'))
	{
		retval = false;
		document.getElementById('company').focus();
		msg = msg + 'Company Name\n';
	}
	if(!validate_required(addr))
	{
		retval = false;
		document.getElementById('address').focus();
		msg = msg + 'Street Address\n';
	}
	if(!validate_required(city) || !validate_expression(city, 'alphanum'))
	{
		retval = false;
		document.getElementById('city').focus();
		msg = msg + 'City\n';
	}
	if(!validate_required(st) || !validate_expression(st, 'alphanum'))
	{
		retval = false;
		document.getElementById('state').focus();
		msg = msg + 'State\n';
	}
	if(!validate_required(zip))
	{
		retval = false;
		document.getElementById('zip').focus();
		msg = msg + 'Zip (Postal) Code\n';
	}
	if(!validate_required(phn))
	{
		retval = false;
		document.getElementById('phone').focus();
		msg = msg + 'Phone Number\n';
	}
	if(!validate_required(email) || !validate_expression(email, 'email'))
	{
		retval = false;
		document.getElementById('email_address').focus();
		msg = msg + 'Email Address\n';
	}
	
	if(msg.length > 0)
	{
		msg = 'Please complete the following:\n' + msg;
		alert(msg);
	}
	
	return retval;
}

function checkContactForm() {
	var retval = true;
	var msg = '';
	var name = document.getElementById('name');
	var phn = document.getElementById('phone');
	var email = document.getElementById('email_address');
	var comment = document.getElementById('comment');

	/* BEGIN TEXT FIELDS */
	if(!validate_required(name) || !validate_expression(name, 'alphanum'))
	{
		retval = false;
		document.getElementById('name').focus();
		msg = msg + 'Your Name\n';
	}
	if(!validate_required(comment) || !validate_expression(comment, 'alphanum'))
	{
		retval = false;
		document.getElementById('comment').focus();
		msg = msg + 'Comments\n';
	}
	if(!validate_required(phn))
	{
		retval = false;
		document.getElementById('phone').focus();
		msg = msg + 'Phone Number\n';
	}
	if(!validate_required(email) || !validate_expression(email, 'email'))
	{
		retval = false;
		document.getElementById('email_address').focus();
		msg = msg + 'Email Address\n';
	}
	/* END TEXT FIELDS */

	if(msg.length > 0)
	{
		msg = 'Please complete the following:\n' + msg;
		alert(msg);
	}	
	
	return retval;

}

function checkSubscribe()
{
	var retval = true;
	var msg = '';
	var eml = document.getElementById('email');
	if(!validate_required(eml) || !validate_expression(eml, 'email'))
	{
		retval = false;
		document.getElementById('email').focus();
		msg = msg + 'Please enter a valid email address to subscribe to the newsletter.\n';		
	}
	
	if(msg.length > 0)
	{
		alert(msg);
	}
	return retval;
}

function checkAppData() {
	var form = document.fAppData;
	var msg = '';
	// contact name, address, city, state, zip, phone, date, switch application
	if(!validate_required(form.switchapplication)) {
		msg = msg + 'Switch Application\n';
		form.switchapplication.style.backgroundColor = '#ffaaaa';
		form.switchapplication.focus();
	}
	if(!validate_required(form.submitdate)) {
		msg = msg + 'Date\n';
		form.submitdate.style.backgroundColor = '#ffaaaa';
		form.submitdate.focus();
	}
	if(!validate_required(form.phone)) {
		msg = msg + 'Phone\n';
		form.phone.style.backgroundColor = '#ffaaaa';
		form.phone.focus();
	}
	if(!validate_required(form.zip)) {
		msg = msg + 'Zip\n';
		form.zip.style.backgroundColor = '#ffaaaa';
		form.zip.focus();
	}
	if(!validate_required(form.state)) {
		msg = msg + 'State\n';
		form.state.style.backgroundColor = '#ffaaaa';
		form.state.focus();
	}
	if(!validate_required(form.city)) {
		msg = msg + 'City\n';
		form.city.style.backgroundColor = '#ffaaaa';
		form.city.focus();
	}	
	if(!validate_required(form.address)) {
		msg = msg + 'Address\n';
		form.address.style.backgroundColor = '#ffaaaa';
		form.address.focus();
	}
	if(!validate_required(form.name)) {
		msg = msg + 'Contact Name\n';
		form.name.style.backgroundColor = '#ffaaaa';
		form.name.focus();
	}

	if(msg.length > 0) {
		alert('Please completed the following:\n' + msg);
		return false;
	} else {
		return true;
	}
}
function checkField(elem) {
	if(validate_required(elem))
		elem.style.backgroundColor = '#ffffff';
	else
		elem.style.backgroundColor = '#ffaaaa';
}
function clearField(form, elem, type) {
	var toggleElem;// = form.RLcleared;
	switch(type) { // RL, SP, M, C
		case 'rl': //  Required Life
			toggleElem = form.RLcleared;
			break;
		
		case 'sp': //  SetPoint
			toggleElem = form.SPcleared;
			break;
			
		case 'm': //  Medium
			toggleElem = form.Mcleared;
			break;
			
		case 'c': //  Contaminants
			toggleElem = form.Ccleared;
			break;

		default:
			break;
	}
	if(toggleElem.value == 0) { // hasn't already been cleared, so clear it
		elem.value = '';
		toggleElem.value = 1;
	}
}


function doHover(elem, cls)
{
	document.getElementById(elem).className = cls;
}
