var fnameRegxp = /^([a-zA-Z]+)$/;
var mnameRegxp = /^([a-zA-Z]+)$/;
var lnameRegxp = /^([a-zA-Z]+\-?[a-zA-Z]+)$/;
var addressRegxp = /((\d+)\s+(\w+)),\s+(\w+),\s+([A-Z]{2}),\s+(\d{5})/;
var cityRegxp = /^([a-zA-Z]+)$/;
var zipRegxp = /(^\d{5}$)|(^\d{5}-\d{4}$)/;
var phoneRegxp = /^\([1-9]\d{2}\)\s?\d{3}\-\d{4}$/;
var emailRegxp =  /(^[a-z]([a-z_\.]*)@([a-z_\.]*)([.][a-z]{3})$)|(^[a-z]([a-z_\.]*)@([a-z_\.\-]*)(\.[a-z]{3})(\.[a-z]{2})*$)/i;
var urlRegxp = /^(http:\/\/www.|https:\/\/www.|ftp:\/\/www.|www.){1}([\w]+)(.[\w]+){1,2}$/;
var dobRegxp = /^([0-9]){2}(\/|-){1}([0-9]){2}(\/|-)([0-9]){4}$/;
var ccRegxp = /^[1-9][0-9]{3} [0-9]{4} [0-9]{4} [0-9]{4}$/;

function CurrentDate(){
	var now = new Date();
  	var currentdate = (now.getMonth() + 1) + "/" + now.getDate() + "/" + now.getFullYear();       

  	return currentdate;
}

function CurrentTime(){
	var now = new Date();
  	var hours = now.getHours();
  	var minutes = now.getMinutes();
  	var currenttime = "";
  	var ampm = " AM"
 
  	if (hours >= 12)
    	ampm = " PM"; 

  	if (hours > 12)
    	hours = hours - 12;
  
  	currenttime = hours + ":";
  	currenttime += ((minutes < 10) ? "0" : "") + (minutes) + (ampm) + " EST";
   
  	return currenttime
}

function checkbrowser()	{
	browser = navigator.appName;
	version = parseInt(navigator.appVersion);

	if ((browser == "Microsoft Internet Explorer") && (version >= 4)) {
		browser = "ie4+";
	} 
	else {
		browser = "other";
	}
	
	if (browser == "other") {
		alert('Warning: This site was developed using Microsoft Internet Explorer 6.0!  Some functionality may differ when using older versions of IE or another Browser.');
	}
}

//* Display Dynamic Clock
function clock() {
	var t = new Date();
	var units = new String("");
	var spacer = new String("                                                                                                                     "); var hours = t.getHours();
	var min = t.getMinutes();
	var sec = t.getSeconds();
	var sec1 = sec%20 + 2;
	var y = t.getYear();
	if (y < 1000) y += 1900;
	document.clock.seconds.value = units.substring(0, sec1);
	var status = "AM";
	if (hours > 11)
	status = "PM";
	if (hours > 11)
	hours -= 12;
	if (min < 10)
	min = "0" + min;
	if (sec < 10)
	sec = "0" + sec;
	if (hours == 0)
	hours = 12;
	document.clock.time.value = (t.getMonth()+1) + "/" + t.getDate() + "/" + y + " " + hours + ":" + min + ":" + sec + " " + status;
	window.setTimeout("clock()", 900);
}

function init(){
	document.getElementById('ptime').style.display = "none";
	document.getElementById('pnbr').style.display = "none";
	document.contact.fname.focus();
}

function cMethod(){
	if(document.contact.cmethod[0].checked == true){
		document.getElementById('ptime').style.display = "none";
		document.getElementById('pnbr').style.display = "none";
	}
	if(document.contact.cmethod[1].checked == true){
		document.getElementById('ptime').style.display = "block";
		document.getElementById('pnbr').style.display = "block";
	}
}

function validate(form){
	if(isBlank(form.fname.value)){
		alert("Please enter a first name and try again!");
		form.fname.focus();
		form.fname.style.background = 'Yellow';
		return false;
	}
	else if(fnameRegxp.test(form.fname.value) != true){
		alert("Please enter a valid first name and try again!");
		form.fname.focus();
		form.fname.style.background = 'Yellow';
		return false;		
	}
	else if (isBlank(form.lname.value)){
		alert("Please enter a last name and try again!");
		form.lname.focus();
		form.lname.style.background = 'Yellow';
		return false;
	}
	else if(lnameRegxp.test(form.lname.value) != true){
		alert("Please enter a valid last name and try again!");
		form.lname.focus();
		form.lname.style.background = 'Yellow';
		return false;		
	}
	else if(isBlank(form.address.value)){
		alert("Please enter an address and try again!");
		form.address.focus();
		form.address.style.background = 'Yellow';
		return false;
	}
	/*else if(addressRegxp.test(form.address.value) != true){
		alert("Please enter a valid address and try again!");
		form.address.focus();
		form.address.style.background = 'Yellow';
		return false;
	}*/
	else if(!isNumeric(form.address.value.charAt(0))){
		alert("Address must start with a number!");
		form.address.focus();
		form.address.style.background = 'Yellow';
		return false;
	}	
	else if(isBlank(form.city.value)){
		alert("Please enter a city and try again!");
		form.city.focus();
		form.city.style.background = 'Yellow';
		return false;
	}
	else if(cityRegxp.test(form.city.value) != true){
		alert("Please enter a valid city and try again!");
		form.city.focus();
		form.city.style.background = 'Yellow';
		return false;
	}	
	else if(isBlank(form.zipcode.value)){
		alert("Please enter a Zip Code and try again!");
		form.zipcode.focus();
		form.zipcode.style.background = 'Yellow';
		return false;
	}
	else if(isNaN(form.zipcode.value)){
		alert("Zip Code must be numeric, please try again!");
		form.zipcode.focus();
		form.zipcode.style.background = 'Yellow';
		return false;
	}
	else if(zipRegxp.test(form.zipcode.value) != true){
		alert("Please enter a valid zip code and try again!");
		form.zipcode.focus();
		form.zipcode.style.background = 'Yellow';
		return false;
	}
	else if(document.contact.cmethod[1].checked == true){
		if(isBlank(form.phone.value)){
			alert("Please enter a Phone Number and try again!");
			form.phone.focus();
			form.phone.style.background = 'Yellow';
			return false;
		}	
		else if(phoneRegxp.test(form.phone.value) != true){
			alert("Please enter a valid phone and try again!");
			form.phone.focus();
			form.phone.style.background = 'Yellow';
			return false;
		}		
		else if(isBlank(form.email.value)){
			alert("Please enter a Email Address and try again!");
			form.email.focus();
			form.email.style.background = 'Yellow';
			return false;
		}
		else if(emailRegxp.test(form.email.value) != true){
			alert("Please enter a valid email and try again!");
			form.email.focus();
			form.email.style.background = 'Yellow';
			return false;
		}	
		else{
			return true;
		}		
	}	
	else if(isBlank(form.email.value)){
		alert("Please enter a Email Address and try again!");
		form.email.focus();
		form.email.style.background = 'Yellow';
		return false;
	}
	else if(emailRegxp.test(form.email.value) != true){
		alert("Please enter a valid email and try again!");
		form.email.focus();
		form.email.style.background = 'Yellow';
		return false;
	}	
	else{
		return true;
	}
}

function isBlank(s){
	for( var i = 0;i < s.length ; i++){
		var c = s.charAt(i)
		if( ( c != ' ') && ( c != '\n') && ( c != '\t') ){
			return false;       
		}
	}
	return true;
}

function jReset(){
	document.getElementById('ptime').style.display = "none";
	document.getElementById('pnbr').style.display = "none";
	document.contact.fname.focus();
}

function trim(s)
{
  return s.replace(/^\s+|\s+$/, '');
} 

function isNumeric(sText){
	var validChars = "0123456789";
	var isNumber = true;
	var char;
 
	for (i = 0; i < sText.length && isNumber == true; i++){ 
		char = sText.charAt(i); 
      
		if (validChars.indexOf(char) == -1){
			isNumber = false;
		}
   }
   return isNumber;
}

function clearYellow(fld){
	fld.style.background = 'White';
}

