// JavaScript Document
//*****************************************************************
function show_waiting()
{
document.getElementById('i_mainbody').style.display = 'none';
document.getElementById('i_waiting_header').style.display = 'block';
document.getElementById('i_waiting_body').style.display = 'block';
var wait_header = 'Processing your request...<br><span style="font-size:medium; ">this may take up to a minute or more</span>';
 var wait_body = '<img src="/bsd/lib/images/waiting.gif">';
 
document.getElementById('i_waiting_header').innerHTML = wait_header; 
document.getElementById('i_waiting_body').innerHTML = wait_body; 

}

//*****************************************************************
function check_ui()
{
var form_inputs = document.form.getElementsByTagName("input");
var msg = '';
for(i=0;i<form_inputs.length;i++)
	msg += form_inputs[i].value + "\n";
}

//*****************************************************************
function check_form()
{

var retval = false;
if(document.form_area.street.value == '' && document.form_area.intersection.value == '')
	{
	alert('Please enter an address or an intersection.');
	document.form_area.street.focus();
	}

if(document.form_area.street.value != '' && document.form_area.intersection.value != '')
	{
	alert('Please enter an address or an intersection, not both.\nPlease delete either the address or the intersection information.');
	document.form_area.street.focus();
	}

if(document.form_area.street.value == '' && document.form_area.intersection.value != '')
	{
	var re = /^[ A-Za-z0-9-_]+@+[ A-Za-z0-9-_]+$/
	var test_result = re.test(document.form_area.intersection.value);

	if(test_result == true)
		{
		document.form_area.address.value = document.form_area.intersection.value;
		retval = true;
		}
	else
		alert("The intersection you entered is incorrect.\nPlease remove any puntuaction and be sure to put the @ symbol between the two streets.");
	}

if(document.form_area.street.value != '' && document.form_area.intersection.value == '')
	{
	var re = /^[0-9]+[ A-Za-z0-9-_]+$/
	var test_result = re.test(document.form_area.street.value);
//alert(test_result);
	if(test_result == true)
		{
		document.form_area.address.value = document.form_area.street.value;
		document.form_area.txt_zip.value = document.form_area.zip.value
		retval = true;
		}
	else
		alert("The address you entered is incorrect.\nPlease remove any puntuaction and be sure to have a street number and street name");

	}
if(retval)
	show_waiting();
return retval;
}

//*****************************************************************
function togglehint(hint,displayval)
{
var hintid = hint.id;
var h_hintid = 'h'+hintid;

if(displayval == 'show')
	{
	document.getElementById(h_hintid).className = 'show';
	document.getElementById(hintid).className = 'highlight';
	}
else
	{
	document.getElementById(h_hintid).className = 'noshow';
	document.getElementById(hintid).className = 'normal';
	}
}
function verifyaddress()
{
document.getElementById('i_address_verified').value = 'true';
return true;
}

//*****************************************************************
function check_menu(inform,classname)
{
//	var num_of_elements = inform.elements.length;
var retval = false;
var theElement;
var element_type;
var element_name = '';
var element_value = '';
var element_id = '';
var form_elements = getElementsByClass(classname);
var num_of_elements = form_elements.length;
var msg = '';
var pr_element_count = 0;
var total_elelement_count = 0;
var ce_element_count = 0;
ce_element_count = document.getElementById('i_ce_count').value;
//alert(num_of_elements);
for (var i=1; i<=num_of_elements; i++)
{
	theElement = document.forms[inform.name].elements[i];
	element_type = theElement.type;
	if(element_type == 'checkbox' && theElement.checked)
	{
		pr_element_count += 1
	}
//		element_name = theElement.name.toString();
//		element_value = theElement.value;
//		element_id = theElement.id.toString();
}
total_element_count = parseFloat(ce_element_count) + parseFloat(pr_element_count);
if(total_element_count == 0)
{
	msg += 'You must choose at least one violation from this menu or\nfrom the menu on Step 3.\nPlease choose a violation that is close to what you observed.\nYou cannot proceed with this process without selecting a violation.'
	alert(msg);
	document.getElementById('backtostep3').style.display = 'block';
}
else
	retval = true;

return retval;
}

//*****************************************************************
function check_ui(inform)
{
var retval = false;
var msg = '';
if(document.getElementById('i_name').value != "" && document.getElementById('i_street').value == "" && document.getElementById('i_city').value == "" && document.getElementById('i_zip').value == "" && document.getElementById('i_email').value == "" && document.getElementById('i_anonymous').checked == false)
	{
		if(document.getElementById('i_street').value == "" && document.getElementById('i_city').value == "")
		{
			msg += 'Please provide:\na complete street address\nor\ntelephone number\nor\nan email address\nso we may contact you if we need more information.'
		}
	}
else if(document.getElementById('i_anonymous').checked == false && document.getElementById('i_name').value == "" && (document.getElementById('i_street').value != "" || document.getElementById('i_city').value != "" || document.getElementById('i_zip').value != ""))
	{
		msg += 'Please provide your name.'
	}
	
else if(document.getElementById('i_anonymous').checked == true && (document.getElementById('i_name').value != "" || document.getElementById('i_street').value != "" || document.getElementById('i_city').value != "" || document.getElementById('i_zip').value != "" || document.getElementById('i_email').value != ""))
	{
		msg += "You can't have the anonymous box checked and have personal data.\nPlease uncheck the anonymous box."
	}
else if(document.getElementById('i_anonymous').checked == false && document.getElementById('i_name').value == "" && document.getElementById('i_street').value == "" && document.getElementById('i_city').value == "" && document.getElementById('i_zip').value == "" && document.getElementById('i_email').value == "")
	{
		msg += "Please provide some contact information or check the anonymous box.";
	}

if(document.getElementById('i_email').value != "")
	{
		re = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if(!re.test(document.getElementById('i_email').value))
		msg += "\nPlease verify the format of your email address.\nIt should have the following format:\nemailname@emailprovider.extension\nexample:jdoe@provider.com";
	}
if(msg == "")
	retval = true;
else
	alert(msg);
return retval;

}

//*****************************************************************
function reset_ui(incheck)
{
if(document.getElementById(incheck.id).checked == false && (document.getElementById('i_name').value != "" || document.getElementById('i_street').value != "" || document.getElementById('i_city').value != "" || document.getElementById('i_zip').value != "" || document.getElementById('i_email').value != ""))
	{
		var answer = confirm('This will erase the information you have entered above.');
		if(answer)
		{
			document.form.reset();
			document.getElementById(incheck.id).checked = true;
		}
		else
			document.getElementById(incheck.id).checked = false;
		
	}
}

//*****************************************************************
function StartTheTimer(secondstorun)
{
var secs = secondstorun;
var delay = 1000; // equals one second
//this line should be commented out in the production system.
//this shows the current browser size so that app can be reviewd
//at different window sizes to see how it looks
windowsize(secs);

switch (secs)
{
case 600:
       Start2('alertwindow.cfm?timeout=' + secs / 60,350,275);
       secs = secs - 1; // decrements counter until it reaches zero
       var timerID = self.setTimeout("StartTheTimer(" + secs + ")", delay)
	   break
	   
case 60:
       Start2('alertwindow.cfm?timeout=' + secs / 60,350,275);
       secs = secs - 1; // decrements counter until it reaches zero
       var timerID = self.setTimeout("StartTheTimer(" + secs + ")", delay)
	   break

case 0:
		SetCookieEZ('session_timed_out', 'True');
		self.location = "logout.cfm";// takes them to login form
        Start2('alertwindow.cfm',250,200);
		break
default:
       secs = secs - 1; // decrements counter until it reaches zero
       var timerID = self.setTimeout("StartTheTimer(" + secs + ")", delay)
}

}

//*****************************************************************
function Start2(page, width, height)
{
var	winx = window.screenTop; 
var winy = window.screenLeft;
var winwidth = document.body.clientWidth ;
var winheight = document.body.clientHeight;
var now=new Date();
var left = winx + winwidth/2;
var top = winy + winheight/2;

if(arguments.length == 3)
	{
	left = left - width/2;
	top = top - height/2;	
	features = 'width=' + width + ',height=' + height + ',left=' + left + ',top=' + top +',toolbar=no,menubar=no,location=no,scrollbars=no,resizable=no,alwaysRaised'
	newWindow = window.open(page,name,features);
	}
else
	{
	features = 'left=' + left + ',top=' + top +',toolbar=no,menubar=no,location=no,scrollbars=no,resizable=no,alwaysRaised'
	newWindow = window.open(page, name, 'toolbar=no,menubar=no,location=no,scrollbars=no,resizable=no,alwaysRaised');
	}
}
