

/////**********************



function validateZIP(field) {
	var valid = "0123456789abcdefghijklmnopqrstuvwxyz-";
	var hyphencount = 0;

	if (field.length>10) {
		alert("Please enter a valid zip code.");
		document.getElementById("txtZip").value = "";
		document.getElementById("txtZip").focus();		
		return false;
	}
	for (var i=0; i < field.length; i++) {
		temp = "" + field.substring(i, i+1);
		if (temp == "-") hyphencount++;
			if (valid.indexOf(temp) == "-1") {
				alert("Please enter a valid zip code.");
				document.getElementById("txtZip").value = "";
				document.getElementById("txtZip").focus();				
				return false;
			}
		}
	return true;
}


function validateTxtField(thename){
	
	var name = thename;
	
	if(thename.length < 2){
		//alert("Please enter your first name.")

		return false;
	}
	
	for (i=0; i< thename.length; i++) {
		if (thename.charCodeAt(i)>127) {
		//	alert("Please enter your first name!");
			return false;
	   	}
	}
	return true;

}


function fixCase(thetext){
	var oldstring = thetext;
	var oldchar = "";
	var newchar = "";
	var newstring = "";
	var holdchar = "";
	var nett;
	var ch;
	
	var reg2 = /[a-zA-Z0-9\.\'\-\ \,]/; 
	
	
	for (i = 0; i < oldstring.length; i++) {
		oldchar = oldstring.substr(i, 1);
		newchar = oldchar.toLowerCase();

		
		if(i == 0){
			newchar = oldchar.toUpperCase();
		}

		if(holdchar == "'"){
			newchar = oldchar.toUpperCase();
		}
		if(holdchar == " "){
			newchar = oldchar.toUpperCase();
		}

		if(holdchar == "-"){
			newchar = oldchar.toUpperCase();
		}
		ch = thetext.charAt(i);
		nett = reg2.test(ch);
		if(nett == false)
		{
			newchar = " ";
		}	
		
		newstring += newchar;
		holdchar = newchar;
	}
	return newstring;
}

function signupPopulateBDays(month){
		document.getElementById("cmbBirthDay").innerHTML = "";
		switch(month){
			case "None":
				//do nothing
				break;
			case "2":
				for(i=0;i<=29;i++){
					if(i==0){
					
						document.getElementById("cmbBirthDay").options[i] = new Option('','None');
						document.getElementById("cmbBirthDay").selectedIndex = i;
					}else{
						document.getElementById("cmbBirthDay").options[i] = new Option(i,i);
					}
				}
				break;
			case "4":
			case "6":
			case "9":
			case "11":
				for(i=0;i<=30;i++){
					if(i==0){
						document.getElementById("cmbBirthDay").options[i] = new Option('','None');
						document.getElementById("cmbBirthDay").selectedIndex = i;
					}else{
						document.getElementById("cmbBirthDay").options[i] = new Option(i,i);
					}
				}
				break;
			default:
				for(i=0;i<=31;i++){
					if(i==0){
						document.getElementById("cmbBirthDay").options[i] = new Option('','None');
						document.getElementById("cmbBirthDay").selectedIndex = i;
					}else{
						document.getElementById("cmbBirthDay").options[i] = new Option(i,i);
					}
				}
		}
	}
function signupPopDates()
{
//alert("runb");
}

	
function signupPopYear(month, day){
			document.getElementById("cmbBirthYear").innerHTML = "";
			var myDate = new Date();
			var curYear = (myDate.getFullYear() - 12);
			var count = 0;
			var leapcount = 1;
			//signupPopulateBDays(document.getElementById("cmbBirthMonth").value);
			for(i=(curYear + 1);i>=1900;--i){
				if(count==0){
					document.getElementById("cmbBirthYear").options[count]= new Option('','None');
					document.getElementById("cmbBirthYear").selectedIndex = count;
				}else
				{
					if((month == 2)&&(day == 29))
					{
						if((  ((i % 4) == 0) && ((i % 100) != 0)  ) ||  (((i % 4) == 0) && ((i % 400) == 0)))
						{
							document.getElementById("cmbBirthYear").options[leapcount] = new Option(i,i);
							leapcount++;
						}
					}

					else
					{
						document.getElementById("cmbBirthYear").options[count] = new Option(i,i);
		
					}		
	
				}
				count++;
			}
		}
	
function checkChar(chkStr)
{
   var nett;
   //var whch = 'F';	
   var reg2 = /[a-zA-Z\.\'\-\ ]/; 
   for (i = 0;  i < chkStr.length;  i++)
   {
		ch = chkStr.charAt(i);
		//alert("a" + ch);
		nett = reg2.test(ch);
		//if(nett == false)
		//{
		//	alert("Please enter your First Name.");
		//	document.getElementById("txtFirstName").focus()
		//	return (false);
		//}
  }
  document.getElementById("txtFirstName").value = fixCase(chkStr);
  return (true);
}

function checkCharL(chkStr){
   var nett;
   var thename;
   //var whch = 'F';	
   var reg2 = /[a-zA-Z0-9\.\'\-\ ]/; 
  for (i = 0;  i < chkStr.length;  i++){
	ch = chkStr.charAt(i);
	//alert("a" + ch);
	nett = reg2.test(ch);
	//if(nett == false){
	//	alert("Please enter your Last Name.");
	//	document.getElementById("txtLastName").focus()
	//	
	//	return (false);
	//}
  }
  thename = document.getElementById("txtLastName").value;
  thename = fixCase(thename);
  thename = thename.replace(" Iii"," III");
  thename = thename.replace(" Ii"," II");
  thename = thename.replace(" Iv"," IV");
		
  document.getElementById("txtLastName").value = thename;
  return (true);
}

function email1LowerCase(emailStr)
{
	document.getElementById("txtEmail1").value = emailStr.toLowerCase();	
}

function email2Confirm(emailStr2)
{
	document.getElementById("txtEmail2").value = emailStr2.toLowerCase();
	if(document.getElementById("txtEmail1").value != document.getElementById("txtEmail2").value )
	{
		alert("Please confirm your Email.");
		document.getElementById("txtEmail2").value ="";
		document.getElementById("txtEmail2").focus();
		return (false);
	} 
}
function isLandingFormValid(control)
{
	alert("contr " + control.id);
	if(control.id == "landingPageForm1_btnSendToParent")
	{
		if(document.getElementById("txtParentEmail").value == "" || document.getElementById("txtParentEmail").value == null)
		{
			alert("Please enter your Parent's Email");
		}
	}
}
///***********************


function isSignupFormValid(showalert)
{
	var success = true;
	var response = 'The following problems must be corrected before continuing:\n';
	response += '----------------------------------------------------------------\n';
	
	var inputFields = document.getElementsByTagName('INPUT');
	var selectBoxes = document.getElementsByTagName('SELECT');
	var memoBoxes = document.getElementsByTagName('TEXTAREA');

	var inputs = new Array();
	
	for(var no=0;no<inputFields.length;no++){
		if (inputFields[no].type == 'text') //Don't catch buttons
			inputs[inputs.length] = inputFields[no];
	}	
	for(var no=0;no<selectBoxes.length;no++){
		inputs[inputs.length] = selectBoxes[no];
	}
	
	for(var no=0;no<memoBoxes.length;no++){
		inputs[inputs.length] = memoBoxes[no];		
	}



	for(var no=0;no<inputs.length;no++){
		//alert(inputFields[no].name + ' - ' + inputFields[no].type);
		if(inputs[no].type == 'text')
		{
			if (inputs[no].className == 'required')
			{
				//Check if we have a manual message override
				
				
				if (inputs[no].getAttribute('requiredMessage') !=  null)
				{	
					response += '- ' + inputs[no].getAttribute('requiredMessage') + '\n';
				}
				else
				{
					response += '- Required Field: ' + inputs[no].id + '\n';
				}
				
				success = false;
			}
			if (inputs[no].className=='invalidInput')
			{
				if (inputs[no].getAttribute('invalidMessage') != null)
				{	
					response += '- ' + inputs[no].getAttribute('invalidMessage') + '\n';
				}
				else
				{
					response += '- The \"' + inputs[no].id + '\" field is invalid.\n';
				}
				
				success = false;
			}
			
		}
	}
	
	//alert("Show Alert: " + showalert +"\nSuccess: " + success);
			
			
	if (showalert && !success)
	{
		response += '----------------------------------------------------------------\n';
		alert(response);
	}
	
	return success;	
}


///***************************

function signupFormValidate(control)
{	
	if(isSignupFormValid(true))
	{
		var isvalid = true;
		var allerr = "";

		if(document.getElementById("txtEmail1").value != document.getElementById("txtEmail2").value)
		{
			alert("Please enter a valid confirmation email");
			return false;
		} 

		if(control.id == "SignupForm1_btnJoin")
		{

			if(document.getElementById("chkOptOut").checked == true)
			{
				allerr = allerr + "Please select the Add Child button. \r\n\n";
				isvalid = false;
			}
			else
			{
				if(document.getElementById("cmbBirthMonth").selectedIndex < 1 || document.getElementById("cmbBirthDay").selectedIndex < 1 || document.getElementById("cmbBirthYear").selectedIndex < 1)
				{
					allerr = allerr + "Please enter your Birthday. \r\n\n";
					//alert("You must enter your Birthday to join");
					isvalid = false;
				}
				if(document.getElementById("rdoGender0").checked == false && document.getElementById("rdoGender1").checked == false)
				{
					allerr = allerr + "Please enter your gender. \r\n\n";
					//alert("You must enter your Birthday to join");
					isvalid = false;
				}
 			}
		}
		else
		{
			if(document.getElementById("chkOptOut").checked == false)
			{
 				if(document.getElementById("cmbBirthMonth").selectedIndex < 1 || document.getElementById("cmbBirthDay").selectedIndex < 1 || document.getElementById("cmbBirthYear").selectedIndex < 1)
				{
					allerr = allerr + "Please enter your Birthday. \r\n\n";
					//alert("You must enter your Birthday to join");
					isvalid = false;
				}
				if(document.getElementById("rdoGender0").checked == false && document.getElementById("rdoGender1").checked == false)
				{
					allerr = allerr + "Please enter your gender. \r\n\n";
					//alert("You must enter your Birthday to join");
					isvalid = false;
				}
			}
	 			
			
		}
		if(isvalid == false)
		{
			alert(allerr);
			return false;
			
		}
	}
	else
	{
		return false;
	}
	
	return isvalid;
}

function childFormValidate(control){
		var childcheck = "";
		
		if(document.getElementById("chkParent").checked == false){
			alert("Please confirm you are the Parent or Legal Guardian of the children listed above.");
			return false;
		}
		//if(document.getElementById("chkParent").checked == true)		
		//{
		//	childcheck = document.getElementById("txtChildName1") + document.getElementById("txtChildName2") + document.getElementById("txtChildName3") + document.getElementById("txtChildName4") + document.getElementById("txtChildName5");
		//	if(childcheck.length < 2)
		//	{
		//		alert("Please enter at least one Child");
		//	}
		//}
		var errcnt = 0;
		var berrcnt = 0;
		var berrmsg = ""
		var errmsg = "";
		var misscnt = 0;
		var allerr = "";
		for (var i = 1; i < 6; i++) {
			var child = document.getElementById("txtChildName" + i);
			var childfix = fixCase(child.value);
			child.value = childfix;
			var bmonth = document.getElementById("cmbBirthMonth" + i);
			var bday = document.getElementById("cmbBirthDay" + i);
			var byear = document.getElementById("cmbBirthYear" + i);
			var cname = child.value
			var sexMale = document.getElementById("rdoGender0" + i);
			var sexFemale = document.getElementById("rdoGender1" + i);
			var missmsg = "";
			if(cname.length == 0 && ((sexMale.checked  || sexFemale.checked) || (bmonth.selectedIndex > 0 || bday.selectedIndex > 0 || byear.selectedIndex > 0))){
					misscnt += 1;
 			}
			if(cname.length > 0){
				if(bmonth.selectedIndex < 1 || bday.selectedIndex < 1 || byear.selectedIndex < 1){
					berrcnt += 1;
					berrmsg += child.value + " and ";
				}
				if(sexMale.checked == false && sexFemale.checked == false){
					errcnt += 1;
					errmsg += child.value + " and ";
 				}
			}
		}
		if( misscnt > 0){
			alert("Please enter your children's names where indicated");
			return false;
		}	
		if(errcnt > 0 || berrcnt > 0){
			if(berrcnt > 0){
				var berrlen = berrmsg.length;
				var bnewerr = berrmsg.substring(0, (berrlen -5));
				allerr += "Please enter the birthday for " + bnewerr + "\r\n\n";
			}
			if(errcnt > 0){
				var errlen = errmsg.length;
				var newerr = errmsg.substring(0, (errlen -5));
				allerr += "Please enter the gender of " + newerr + "\r\n\n";
			}
			alert(allerr);
			return false;	
		}
		//make control hidden when submitted.
		//control.style.visibility = 'hidden';
		return true;
	}
	
function checkChildChar(control, chkStr)
{

   var nett;
 // var childname = "txtChildName" ; 

   //var whch = 'F';	
   var reg2 = /[a-zA-Z0-9\.\'\-\ ]/; 
  for (i = 0;  i < chkStr.length;  i++){
	ch = chkStr.charAt(i);
	//alert("a" + ch);
	nett = reg2.test(ch);
	if(nett == false){
		alert("There is an invalid character in your name. Please replace: " + ch);
		control.value = "";
	    control.focus();
		
		return (false);
	}
  }
  control.value = fixCase(chkStr);
  return (true);
}	
function childPopDates()
{ 

}
function childPopYear(control, month, day)
{
			control.innerHTML = "";
			var myDate = new Date();
			var curYear = (myDate.getFullYear());
			var count = 0;
			var leapcount = 1;
			//signupPopulateBDays(document.getElementById("cmbBirthMonth").value);
			for(i=(curYear + 1);i>=1900;--i){
				if(count==0){
					control.options[count]= new Option('','None');
					control.selectedIndex = count;
				}else
				{
					if((month == 2)&&(day == 29))
					{
						if((  ((i % 4) == 0) && ((i % 100) != 0)  ) ||  (((i % 4) == 0) && ((i % 400) == 0)))
						{
							control.options[leapcount] = new Option(i,i);
							leapcount++;
						}
					}

					else
					{
						control.options[count] = new Option(i,i);
		
					}		
	
				}
				count++;
			}
}
	
function childPopulateBDays(control,month){
		control.innerHTML = "";
		switch(month){
			case "None":
				//do nothing
				break;
			case "2":
				for(i=0;i<=29;i++){
					if(i==0){
						control.options[i] = new Option('','None');
						control.selectedIndex = i;
					}else{
						control.options[i] = new Option(i,i);
					}
				}
				break;
			case "4":
			case "6":
			case "9":
			case "11":
				for(i=0;i<=30;i++){
					if(i==0){
						control.options[i] = new Option('','None');
						control.selectedIndex = i;
					}else{
						control.options[i] = new Option(i,i);
					}
				}
				break;
			default:
				for(i=0;i<=31;i++){
					if(i==0){
						control.options[i] = new Option('','None');
						control.selectedIndex = i;
					}else{
						control.options[i] = new Option(i,i);
					}
				}
		}
	}
	
function chooseStoreNextValidate()
{

   var valid;
   if(document.getElementById("storetest").value=="false"){
    valid=false;
   }else{
    valid=true;
   }
   if(valid==false){alert('Please choose your favorite store.');}
   return valid;
}

function referFormValidate(control)
{	
	if(control.id == "ReferFriendForm1_btnNoThanks")
	{
			document.getElementById("txtEmailFriend1").value="";
			document.getElementById("txtEmailFriend1").focus();
			document.getElementById("txtEmailFriend1").mask="";
			document.getElementById("txtEmailFriend1").click();
			document.getElementById("txtEmailFriend2").click();
			return true;
	}
	else
	{
		if(document.getElementById("txtEmailFriend1").value.length < 3)
		{
			alert("Please enter your friend's email.")
			return false;
		}
		if(isReferFormValid(true))
		{
			return true;
		}

		return false;
		
		
		
	}
}

function isReferFormValid(showalert)
{
		
	var success = true;
	var response = 'The following problems must be corrected before continuing:\n';
	response += '----------------------------------------------------------------\n';
	
	var inputFields = document.getElementsByTagName('INPUT');
	var selectBoxes = document.getElementsByTagName('SELECT');
	var memoBoxes = document.getElementsByTagName('TEXTAREA');

	var inputs = new Array();
	
	for(var no=0;no<inputFields.length;no++){
		if (inputFields[no].type == 'text') //Don't catch buttons
			inputs[inputs.length] = inputFields[no];
	}	
	for(var no=0;no<selectBoxes.length;no++){
		inputs[inputs.length] = selectBoxes[no];
	}
	
	for(var no=0;no<memoBoxes.length;no++){
		inputs[inputs.length] = memoBoxes[no];		
	}



	for(var no=0;no<inputs.length;no++){
		//alert(inputFields[no].name + ' - ' + inputFields[no].type);
		if(inputs[no].type == 'text')
		{
			if (inputs[no].className == 'required')
			{
				//Check if we have a manual message override
				
				
				if (inputs[no].getAttribute('requiredMessage') !=  null)
				{	
					response += '- ' + inputs[no].getAttribute('requiredMessage') + '\n';
				}
				else
				{
					response += '- Required Field: ' + inputs[no].id + '\n';
				}
				
				success = false;
			}
			if (inputs[no].className=='invalidInput')
			{
				if (inputs[no].getAttribute('invalidMessage') != null)
				{	
					response += '- ' + inputs[no].getAttribute('invalidMessage') + '\n';
				}
				else
				{
					response += '- The \"' + inputs[no].id + '\" field is invalid.\n';
				}
				
				success = false;
			}
			
		}
	}
	
	//alert("Show Alert: " + showalert +"\nSuccess: " + success);
			
			
	if (showalert && !success)
	{
		response += '----------------------------------------------------------------\n';
		alert(response);
	}
	
	return success;	
}

