/*
Global Business Program Form Validation and then some.
*/

var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function submit1_onclick()

 {
	// Check that the contact name is there
	if (LEN(Trim(document.forms['ctl00'].contactname.value)) <=  1)
		{
			alert("Contact name is required");
			return false;
		}

	// Check that the company/org name is there
	if (LEN(Trim(document.forms['ctl00'].company.value)) <=  1)
		{
			alert("Company/Organization name is required");
			return false;
		}

	// Check the address
	if (LEN(Trim(document.forms['ctl00'].address.value)) <= 1 )
		{
			alert("Address is required");
			return false;
		}

	// Check the city
	if (LEN(Trim(document.forms['ctl00'].city.value)) < 2 )
		{
			alert("City is required");
			return false;
		}

	// Check the state
	if (LEN(Trim(document.forms['ctl00'].state.value)) < 2 )
		{
			alert("State is required");
			return false;
		}

	// Check the zip code
	if (LEN(Trim(document.forms['ctl00'].zip.value)) < 5 )
		{
			alert("Zip code is required");
			return false;
		}
	
	// Check that the primary telephone number exists
	if (LEN(Trim(document.forms['ctl00'].phone_primary.value)) <= 1 )
		{
			alert("A primary telephone number is required");
			return false;
		}		

	// Check that the secondary telephone number exists
	if (LEN(Trim(document.forms['ctl00'].phone_secondary.value)) <= 1 )
		{
			alert("A secondary telephone number is required");
			return false;
		}		

	// Check the email address
	if (LEN(Trim(document.forms['ctl00'].email.value)) <= 1 )
		{
			alert("An email address is required");
			return false;
		}

	// Make sure the email is valid
	if (!check_email(document.forms['ctl00'].email.value))
		{
			alert("Invalid email format");
			return false;
		}

	// Check that they have given the industry type
	if (LEN(Trim(document.forms['ctl00'].industry.value)) <= 1 )
		{
			alert("The industry your company/organization is in is required");
			return false;
		}

}
function check_email(e)
{
	ok = "1234567890qwertyuiop[]asdfghjklzxcvbnm.@-_QWERTYUIOPASDFGHJKLZXCVBNM";

	for(i=0; i < e.length ;i++)
	{
		if(ok.indexOf(e.charAt(i))<0)
		{
			return (false);
		}
	}
	if (document.images)
	{
		re = /(@.*@)|(\.\.)|(^\.)|(^@)|(@$)|(\.$)|(@\.)/;
		re_two = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
		if (!e.match(re) && e.match(re_two))
		{
			return (-1);
		}

	}
}

function LTrim(str)
{
   var whitespace = new String(" \t\n\r");

   var s = new String(str);

   if (whitespace.indexOf(s.charAt(0)) != -1) {
      // We have a string with leading blank(s)...

      var j=0, i = s.length;

      // Iterate from the far left of string until we
      // don't have any more whitespace...
      while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
         j++;

      // Get the substring from the first non-whitespace
      // character to the end of the string...
      s = s.substring(j, i);
   }
   return s;
}

function RTrim(str)
{
   // We don't want to trip JUST spaces, but also tabs,
   // line feeds, etc.  Add anything else you want to
   // "trim" here in Whitespace
   var whitespace = new String(" \t\n\r");
   var s = new String(str);
   if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
      // We have a string with trailing blank(s)...
      var i = s.length - 1;       // Get length of string
      // Iterate from the far right of string until we
      // don't have any more whitespace...
      while (i > 0 && whitespace.indexOf(s.charAt(i)) != -1)
         i--;
      // Get the substring from the front of the string to
      // where the last non-whitespace character is...
      s = s.substring(0, i+1);
   }

   return s;
}

function Trim(str)
{
   return RTrim(LTrim(str));
}

function LEN(str)
{
	var s = new String(str);
	var i = s.length; //Get the length of the veriable
	return i;
}

// validate Talk To Us form
function validateTalk()
{
	var formobj = document.talktous;
	if (formobj.firstname.value == '' || formobj.lastname.value == '' || formobj.email.value == '' || formobj.comment.value == '')
	{
		document.getElementById("required").innerHTML = 
                "Please be sure to fill in all fields.";
		// window.scrollTo(0,0);
		return false;
	}
	else if (formobj.email.value != formobj.confirm_email.value)
	{
		document.getElementById("required").innerHTML = 
                "The emails you provided do not match.";
		// window.scrollTo(0,0);
		return false;
	}
	else
	{
		return true;
	}
}

// validate Talk To Us form
function validateGBP()
{

	var formobj = document.ct100;
	if (formobj.contactname.value == '' || formobj.company.value == '' || formobj.address.value == '' || formobj.city.value == '' || formobj.city.value == '' || formobj.industry.value == '' || formobj.state.value == '' || formobj.zip.value == ''|| formobj.industry.value == '' || formobj.phone_primary.value == ''|| formobj.phone_secondary.value == ''|| formobj.email.value == '')
	{
		document.getElementById("required").innerHTML = 
                "Please be sure to fill in all fields.";
		return false;
	}
	else
	{
		return true;
	}
}

// email validator
function is_valid_email(email)
{
  return /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(email);
}

// validate Talk To Us form
function validateTalk()
{
	var formobj = document.talktous;
	if (formobj.firstname.value == '' || formobj.lastname.value == '' || formobj.email.value == '' || formobj.comment.value == '')
	{
		document.getElementById("required").innerHTML = 
                "Please be sure to fill in all fields.";
		// window.scrollTo(0,0);
		return false;
	}
	else if (formobj.email.value != formobj.confirm_email.value)
	{
		document.getElementById("required").innerHTML = 
                "The emails you provided do not match.";
		// window.scrollTo(0,0);
		return false;
	}
	else
	{
		return true;
	}
}
function validateRFP()
{
	var formobj = document.rfp;
	if (formobj.firstname.value == '' || formobj.lastname.value == '' || formobj.company.value == '' || formobj.industry.value == '' || formobj.address1.value == '' || formobj.city.value == '' || formobj.state.value == '' || formobj.postalcode.value == '' || formobj.email.value == '' || formobj.telephone1.value == '' || formobj.telephone2.value == '' || formobj.telephone3.value == '' || formobj.start_date.value == '' )
	{
		document.getElementById("required").innerHTML = 
                "Please be sure to fill in all required fields, denoted by the asterisk *";
		// window.scrollTo(0,0);
		return false;
	}
	else if (is_valid_email(formobj.email.value) == false) {
			document.getElementById("required").innerHTML = 
				"Invalid email address.";
			//window.scrollTo(0,0);
			return false;	
	}
	else
	{
		return true;
	}
}

// automatically move to next phone number field
function moveNext(input) {
	var maxlength = input.maxlength;
	if(input.value.length >= input.maxLength)
	{
		input.form[(getIndex(input)+1)].focus();
	}
}
function getIndex(input) {
	var index = -1, i = 0, found = false;
	while (i < input.form.length && index == -1)
		if (input.form[i] == input)index = i;
		else i++;
	return index;
}

function validateSpa()
{
	var formobj = document.spa_form;
	var services = document.getElementsByClassName("check");
	var checked = 0;
	
	for (i=0; i<services.length; i++) {
		if(services[i].checked == true) {
			checked++;
		}
	}
	
	if (formobj.first.value == '' || formobj.last.value == '' || formobj.email.value == '' || formobj.cemail.value == '' || formobj.phone.value == '' || formobj.time.value == '' || formobj.therapist_pref.value == ''|| formobj.payment.value == '')
	{
		document.getElementById("required").innerHTML = 
                "Please be sure to fill in all fields.";
		return false;
	}
	else if (formobj.email.value != formobj.cemail.value)
	{
		document.getElementById("required").innerHTML = 
                "The emails you provided do not match.";
		// window.scrollTo(0,0);
		return false;
	}
	else if (is_valid_email(formobj.email.value) == false) {
			document.getElementById("required").innerHTML = 
				"Invalid email address.";
			//window.scrollTo(0,0);
			return false;	
	}
	else if (checked==0) {
			document.getElementById("required").innerHTML = 
				"Please select a spa service.";
			//window.scrollTo(0,0);
			return false;	
	}
	else
	{
		return true;
	}
}

// Process Pet Registration
function validatePet()
{

	var formobj = document.pet_form;
	if (formobj.petsname.value == '' || formobj.pettype.value == '' || formobj.petbreed.value == '' || formobj.petweight.value == '')
	{
		document.getElementById("required").innerHTML = 
                "Please be sure to fill in all fields.";
		return false;
	}
	else
	{
		return true;
	}
}

function initDatePets() {

	frm = document.pet_form;

	//
	// Begine creation of Month/Year <select>
	//
	var mnths = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];

	var now = new Date();
	//tomorrowDt   = new Date(now.getTime() + (1 * 86400000));
	currMnth = now.getMonth();
	currYear = now.getFullYear();
	currDay  = now.getDate();

	var mt,yr,dy,mnthYr,len;

	// Day
	for (var dayIdx = 1; dayIdx <= 31; dayIdx++) {
		lenDay = frm.arrDate.options.length;
		if (dayIdx == currDay) {
			selDay = true;
			selDayIdx = dayIdx;
		} else {
			selDay = false;
		}
		
		frm.arrDate.options[lenDay] = new Option(dayIdx, dayIdx, selDay, selDay);
	}

	// Month
	for (var mnthIdx = 0; mnthIdx < 12; mnthIdx++) {
		lenMnth = frm.arrMonth.options.length;
		if (mnthIdx == currMnth) {
			selMnth = true;
			selMnthIdx = mnthIdx;
		} else {
			selMnth = false;
		}
		
		frm.arrMonth.options[lenMnth] = new Option(mnths[mnthIdx], mnthIdx+1, selMnth, selMnth);
	}

	//  Years
	for (var yearIdx = currYear; yearIdx < currYear + 2; yearIdx++) {
		lenYear = frm.arrYear.options.length;
		selYear = (yearIdx == currYear) ? true : false;
		frm.arrYear.options[lenYear] = new Option(yearIdx, yearIdx, selYear, selYear);
	}
}

// Validate Epic Deals page
function validateEpicDeals()
{

	var formobj = document.epicdeals;
	if (formobj.name.value == '' || formobj.title.value == '' || formobj.company.value == '' || formobj.address.value == '' || formobj.city.value == '' || formobj.state.value == '' || formobj.zip.value == '' || formobj.phone.value == '' || formobj.email.value == '')
	{
		document.getElementById("required").innerHTML = 
                "Please be sure to fill in all fields.";
		return false;
	}
	else
	{
		return true;
	}
}