//JavaScript Document
//Validate Required Fields
function checkField(which) {
if (/[^a-z\s'_-]/gi.test(which.value)) {
alert ("Only alpha characters are valid in this field");  // no spaces, full stops or anything but A-Z
which.value = "";
which.focus();
return false;
}
}

function textCounter(field,counter,maxlimit,linecounter) {
	// text width//
	var fieldWidth =  parseInt(field.offsetWidth);
	var charcnt = field.value.length;        

	// trim the extra text
	if (charcnt > maxlimit) { 
		field.value = field.value.substring(0, maxlimit);
	}

	else { 
	// progress bar percentage
	var percentage = parseInt(100 - (( maxlimit - charcnt) * 100)/maxlimit) ;
	document.getElementById(counter).style.width =  parseInt((fieldWidth*percentage)/100)+"px";
	document.getElementById(counter).innerHTML="Limit: "+percentage+"%"
	// color correction on style from CCFFF -> CC0000
	setcolor(document.getElementById(counter),percentage,"background-color");
	}
}

function setcolor(obj,percentage,prop){
	obj.style[prop] = "rgb(80%,"+(100-percentage)+"%,"+(100-percentage)+"%)";
}

function clearText(field){
     if (field.defaultValue == field.value) field.value = '';
     else if (field.value == '') field.value = field.defaultValue;
}
//Diet Refill Actions

function reload(form) 
{ 
// Setting the variable with the value of selected country's ID 
var val=populate.brandList.options[populate.brandList.options.selectedIndex].value; 

// Sending the country id in the query string to retrieve the city list 
self.location='?page_id=154&brandId=' + val ; 
} 

//Validate Fields

var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()-. ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}
function trim(s)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not a whitespace, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (c != " ") returnString += c;
    }
    return returnString;
}
function checkInternationalPhone(strPhone){
var bracket=3
strPhone=trim(strPhone)
if(strPhone.indexOf("+")>1) return false
if(strPhone.indexOf("(")!=-1 && strPhone.indexOf(")")==-1)return false
if(strPhone.indexOf("(")==-1 && strPhone.indexOf(")")!=-1)return false
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   alert("Invalid E-mail Address")
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("Invalid E-mail Address")
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    alert("Invalid E-mail Address")
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    alert("Invalid E-mail Address")
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    alert("Invalid E-mail Address")
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    alert("Invalid E-mail Address")
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    alert("Invalid E-mail Address")
		    return false
		 }

 		 return true					
	}

function validatePreExam(thisform){
	with (thisform)
  {
	var first_nameID=first_name
	var last_nameID=last_name
	var catID=cat
	var emailID=email
	var labResultsID=send_lab_results_to
	
	
	if ((first_nameID.value==null)||(first_nameID.value=="")){
		alert("Please enter your first name")
		first_nameID.focus()
		return false
	}
	if ((last_nameID.value==null)||(last_nameID.value=="")){
		alert("Please enter your last name")
		last_nameID.focus()
		return false
	}
	if ((catID.value==null)||(catID.value=="")){
		alert("Please enter your cat's name")
		catID.focus()
		return false
	}
	if ((emailID.value==null)||(emailID.value=="")||(emailID.value=="")){
		alert("Please Enter Your Email Address")
		emailID.focus()
		return false
	}
	if (echeck(emailID.value)==false){
		emailID.value=""
		emailID.focus()
		return false
	}
	if ((labResultsID.value==null)||(labResultsID.value=="")){
		alert("Please indicate laboratory results phone/fax number or email")
		labResultsID.focus()
		return false
	}
	return true
 }
}
function validateAppointment(thisform){
	with (thisform)
  {
	var apt_owner_name=owner_name
	var apt_address=address
	var apt_city=city
	var apt_state=state1
	var apt_zip=zip
	var apt_main_phone=main_phone
	var apt_email=email
	var apt_pet_name=pet_name
	var apt_date=date
	var apt_appt_time=appt_time
	
	if ((apt_owner_name.value==null)||(apt_owner_name.value=="")){
		alert("Please enter your name")
		apt_owner_name.focus()
		return false
	}
	if ((apt_address.value==null)||(apt_address.value=="")){
		alert("Please enter your address")
		apt_address.focus()
		return false
	}
	if ((apt_city.value==null)||(apt_city.value=="")){
		alert("Please enter your city")
		apt_city.focus()
		return false
	}
	if ((apt_state.value==null)||(apt_state.value=="")){
		alert("Please enter your state")
		apt_state.focus()
		return false
	}
	if ((apt_zip.value==null)||(apt_zip.value=="")){
		alert("Please enter your zip")
		apt_zip.focus()
		return false
	}
	if ((apt_main_phone.value==null)||(apt_main_phone.value=="")){
		alert("Please Enter your Phone Number")
		apt_main_phone.focus()
		return false
	}	
	if (checkInternationalPhone(apt_main_phone.value)==false){
		alert("Please Enter a Valid Phone Number")
		apt_main_phone.value=""
		apt_main_phone.focus()
		return false
	}
	if ((apt_email.value==null)||(apt_email.value=="")){
		alert("Please Enter Your Email Address")
		apt_email.focus()
		return false
	}
	if (echeck(apt_email.value)==false){
		apt_email.value=""
		apt_email.focus()
		return false
	}
	if ((apt_pet_name.value==null)||(apt_pet_name.value=="")){
		alert("Please enter your pet's name")
		apt_pet_name.focus()
		return false
	}
	if ((apt_date.value==null)||(apt_date.value=="")){
		alert("Please enter the appointment date")
		apt_date.focus()
		return false
	}
	if (appt_time.selectedIndex == 0 ){
        alert("Please enter the appoinment time")
		appt_time.focus()
		return false
    }
	if (confirmation.selectedIndex == 0 ){
        alert("Please enter the confirmation method")
		confirmation.focus()
		return false
    }
	return true
 }
}
function validateMeds(thisform){
	with (thisform)
  {
	var meds_first_name=first_name
	var meds_last_name=last_name
	var meds_main_phone=main_phone
	var meds_email=email
	var meds_vet=vet
	var meds_pharmacy=pharmacy
	
	if ((meds_first_name.value==null)||(meds_first_name.value=="")){
		alert("Please enter your first name")
		meds_first_name.focus()
		return false
	}
	if ((meds_last_name.value==null)||(meds_last_name.value=="")){
		alert("Please enter your last name")
		meds_last_name.focus()
		return false
	}
	if ((meds_main_phone.value==null)||(meds_main_phone.value=="")){
		alert("Please Enter your Phone Number")
		meds_main_phone.focus()
		return false
	}	
	if (checkInternationalPhone(meds_main_phone.value)==false){
		alert("Please Enter a Valid Phone Number")
		meds_main_phone.value=""
		meds_main_phone.focus()
		return false
	}
	if ((meds_email.value==null)||(meds_email.value=="")){
		alert("Please Enter Your Email Address")
		meds_email.focus()
		return false
	}
	if (echeck(meds_email.value)==false){
		meds_email.value=""
		meds_email.focus()
		return false
	}
	if (meds_vet.selectedIndex == 0 ){
        alert("Please enter your vet's name")
		meds_vet.focus()
		return false
    }
	if (meds_pharmacy.selectedIndex == 0 ){
        alert("Please enter your pharmacy")
		meds_pharmacy.focus()
		return false
    }
	return true
 }
}

function validateDiet(thisform){
	with (thisform)
  {
	var diet_brand=brandList
	
	var diet_cats_name=cats_name
	var diet_first_name=first_name
	var diet_last_name=last_name
	var diet_main_phone=main_phone
	var diet_email=email
	var diet_vet=vet
	var diet_pharmacy=pharmacy
	
	if (diet_brand.selectedIndex == 0 ){
        alert("Please choose the brand")
		diet_brand.focus()
		return false
    }
	if (diet_brand.selectedIndex != 0 ){
	  var diet_product=itemList
	  if (diet_product.selectedIndex == 0 ){
		  alert("Please choose your product")
		  diet_product.focus()
		  return false
	  }
	}
	if ((diet_cats_name.value==null)||(diet_cats_name.value=="")){
		alert("Please enter your cat's name")
		diet_cats_name.focus()
		return false
	}
	if ((diet_first_name.value==null)||(diet_first_name.value=="")){
		alert("Please enter your first name")
		diet_first_name.focus()
		return false
	}
	if ((diet_last_name.value==null)||(diet_last_name.value=="")){
		alert("Please enter your last name")
		diet_last_name.focus()
		return false
	}
	if ((diet_main_phone.value==null)||(diet_main_phone.value=="")){
		alert("Please Enter your Phone Number")
		diet_main_phone.focus()
		return false
	}	
	if (checkInternationalPhone(diet_main_phone.value)==false){
		alert("Please Enter a Valid Phone Number")
		diet_main_phone.value=""
		diet_main_phone.focus()
		return false
	}
	if ((diet_email.value==null)||(diet_email.value=="")){
		alert("Please Enter Your Email Address")
		diet_email.focus()
		return false
	}
	if (echeck(diet_email.value)==false){
		diet_email.value=""
		diet_email.focus()
		return false
	}
	if (diet_vet.selectedIndex == 0 ){
        alert("Please enter your vet's name")
		diet_vet.focus()
		return false
    }
	if (diet_pharmacy.selectedIndex == 0 ){
        alert("Please enter your pharmacy")
		diet_pharmacy.focus()
		return false
    }
	return true
 }
}

function validateNewClient(thisform){
	with (thisform)
  {
	var new_owner_name=owner_name
	var new_address=address
	var new_city=city
	var new_state=state
	var new_zip=zip
	var new_main_phone=home_phone
	var new_email=email
	var new_owner_employer=owner_employer
	var new_owners_employer_address=owners_employer_address
	var new_best_time_to_call_about_cat=best_time_to_call_about_cat
	var new_number_to_call_about_cat=number_to_call_about_cat
	var new_emergency_contact=emergency_contact
	var new_emergency_number=emergency_number
	
	if ((new_owner_name.value==null)||(new_owner_name.value=="")){
		alert("Please enter your name")
		new_owner_name.focus()
		return false
	}
	if ((new_address.value==null)||(new_address.value=="")){
		alert("Please enter your address")
		new_address.focus()
		return false
	}
	if ((new_city.value==null)||(new_city.value=="")){
		alert("Please enter your city")
		new_city.focus()
		return false
	}
	if ((new_state.value==null)||(new_state.value=="")){
		alert("Please enter your state")
		new_state.focus()
		return false
	}
	if ((new_zip.value==null)||(new_zip.value=="")){
		alert("Please enter your zip")
		new_zip.focus()
		return false
	}
	if ((new_main_phone.value==null)||(new_main_phone.value=="")){
		alert("Please Enter your Phone Number")
		new_main_phone.focus()
		return false
	}	
	if (checkInternationalPhone(new_main_phone.value)==false){
		alert("Please Enter a Valid Phone Number")
		new_main_phone.value=""
		new_main_phone.focus()
		return false
	}
	if ((new_email.value==null)||(new_email.value=="")){
		alert("Please Enter Your Email Address")
		new_email.focus()
		return false
	}
	if (echeck(new_email.value)==false){
		new_email.value=""
		new_email.focus()
		return false
	}
	if ((new_owner_employer.value==null)||(new_owner_employer.value=="")){
		alert("Please enter your employer")
		new_owner_employer.focus()
		return false
	}
	if ((new_owners_employer_address.value==null)||(new_owners_employer_address.value=="")){
		alert("Please enter your employer's address")
		new_owners_employer_address.focus()
		return false
	}
	if ((new_best_time_to_call_about_cat.value==null)||(new_best_time_to_call_about_cat.value=="")){
		alert("Please enter the best time to call")
		new_best_time_to_call_about_cat.focus()
		return false
	}
	if ((new_number_to_call_about_cat.value==null)||(new_number_to_call_about_cat.value=="")){
		alert("Please enter number to call")
		new_number_to_call_about_cat.focus()
		return false
	}
	if ((new_emergency_contact.value==null)||(new_emergency_contact.value=="")){
		alert("Please enter your emergency contact")
		new_emergency_contact.focus()
		return false
	}
	if ((new_emergency_number.value==null)||(new_emergency_number.value=="")){
		alert("Please enter your emergency contact's number")
		new_emergency_number.focus()
		return false
	}
	return true
 }
}

function validateBehavior1(thisform){
	with (thisform)
  {
	var behavior1_owner_name=owner_name
	var behavior1_email=email
	var behavior1_main_phone=main_phone
	
	if ((behavior1_owner_name.value==null)||(behavior1_owner_name.value=="")){
		alert("Please enter your name")
		behavior1_owner_name.focus()
		return false
	}
	if ((behavior1_main_phone.value==null)||(behavior1_main_phone.value=="")){
		alert("Please Enter your Phone Number")
		behavior1_main_phone.focus()
		return false
	}	
	if (checkInternationalPhone(behavior1_main_phone.value)==false){
		alert("Please Enter a Valid Phone Number")
		behavior1_main_phone.value=""
		behavior1_main_phone.focus()
		return false
	}
	if ((behavior1_email.value==null)||(behavior1_email.value=="")){
		alert("Please Enter Your Email Address")
		behavior1_email.focus()
		return false
	}
	if (echeck(behavior1_email.value)==false){
		behavior1_email.value=""
		behavior1_email.focus()
		return false
	}

	return true
 }
}

function validatePatientConsent(thisform){
	with (thisform)
  {
	var consent_owner_name=owner_name
	var consent_main_phone=main_phone
	var consent_email=email
	var consent_last_meal=last_meal
	var consent_initial1=lab_test_consent
	var consent_initial2=consent
	
	
	
	
	if ((consent_owner_name.value==null)||(consent_owner_name.value=="")){
		alert("Please enter your name")
		consent_owner_name.focus()
		return false
	}
	if ((consent_main_phone.value==null)||(consent_main_phone.value=="")){
		alert("Please Enter your Phone Number")
		consent_main_phone.focus()
		return false
	}	
	if (checkInternationalPhone(consent_main_phone.value)==false){
		alert("Please Enter a Valid Phone Number")
		consent_main_phone.value=""
		consent_main_phone.focus()
		return false
	}
	if ((consent_email.value==null)||(consent_email.value=="")){
		alert("Please Enter Your Email Address")
		consent_email.focus()
		return false
	}
	if (echeck(consent_email.value)==false){
		consent_email.value=""
		consent_email.focus()
		return false
	}
	if ((consent_last_meal.value==null)||(consent_last_meal.value=="")){
		alert("Please Enter the Time of Cat's Last Meal")
		consent_last_meal.focus()
		return false
	}
	 if ( consent_initial1.checked == false )
    {
        alert ( "Please Check the Recommended/Required Pre-Operative In-House Lab Tests Box." );
        return false
    }

	 if ( consent_initial2.checked == false )
    {
        alert ( "Please Check the Consent Box." );
        return false
    }


	return true
 }
}

function validateBoarding(thisform){
	with (thisform)
  {
	var boarding_owner_name=owner_name
	var boarding_owner_cat=cats_name
	var boarding_drop_off=drop_off
	var boarding_pick_up=pick_up
	var boarding_emergency_name=emergency_name
	var boarding_emergency_relationship=emergency_relationship
	var boarding_emergency_phone=emergency_phone
	
	if ((boarding_owner_name.value==null)||(boarding_owner_name.value=="")){
		alert("Please enter your name")
		boarding_owner_name.focus()
		return false
	}
	
	if ((boarding_owner_cat.value==null)||(boarding_owner_cat.value=="")){
		alert("Please enter your cat's name")
		boarding_owner_cat.focus()
		return false
	}
	
	if ((boarding_drop_off.value==null)||(boarding_drop_off.value=="")){
		alert("Please enter your drop-off date")
		boarding_drop_off.focus()
		return false
	}
	
	if ((boarding_pick_up.value==null)||(boarding_pick_up.value=="")){
		alert("Please enter your pick-up date")
		boarding_pick_up.focus()
		return false
	}
	
	if ((boarding_emergency_name.value==null)||(boarding_emergency_name.value=="")){
		alert("Please enter your emergency contact name")
		boarding_emergency_name.focus()
		return false
	}
	
	if ((boarding_emergency_relationship.value==null)||(boarding_emergency_relationship.value=="")){
		alert("Please enter your emergency contact relationship")
		boarding_emergency_relationship.focus()
		return false
	}
	if ((boarding_emergency_phone.value==null)||(boarding_emergency_phone.value=="")){
		alert("Please enter your emergency contact phone number")
		boarding_emergency_phone.focus()
		return false
	}	
	
	return true
 }
}


