/* FORMAT PHONE */
function trim_phone(st) {
	var len = st.length
	var begin = 0, end = len - 1;
	while (st.charAt(begin) == " " && begin < len) {
		begin++;
	}
	while (st.charAt(end) == " " && begin < end) {
		end--;
	}
	return st.substring(begin, end+1);
}

function formatPhone (field) {

	field.value = trim_phone(field.value);

    var ov = field.value;
    var v = "";
    var x = -1;

	// is this phone number 'escaped' by a leading plus?
	if (0 < ov.length && '+' != ov.charAt(0)) {	// format it
	    // count number of digits
	    var n = 0;
		if ('1' == ov.charAt(0)) {	// skip it
			ov = ov.substring(1, ov.length);
		}

	    for (i = 0; i < ov.length; i++) {
	        var ch = ov.charAt(i);

	        // build up formatted number
	        if (ch >= '0' && ch <= '9') {
	            if (n == 0) v += "(";
	            else if (n == 3) v += ") ";
	            else if (n == 6) v += "-";
	            v += ch;
	            n++;
	        }
	        // check for extension type section; 
	        // are spaces, dots, dashes and parentheses the only valid non-digits in a phone number?
	        if (! (ch >= '0' && ch <= '9') && ch != ' ' && ch != '-' && ch != '.' && ch != '(' && ch != ')') {
	            x = i;
	            break;
	        }
	    }
	    // add the extension
	    if (x >= 0) v += " " + ov.substring(x, ov.length);

	    // if we recognize the number, then format it
	    if (n == 10 && v.length <= 40) field.value = v;
	}
    return true;
}

function toLowerEmail(form) {
		myString = form.value.toLowerCase();
		form.value = myString;
	}
	function toLower(form) {
		myLength = form.value.length;
		myString = form.value;
		if (myString != "") {
			for(i=0;i<myLength;i++) {
				myLetter=myString.charAt(i);
				if (i == 0) {
					myLetter=myString.charAt(0);
					myNewLetter = myLetter.toUpperCase();
					myNewString = myNewLetter;
				} else if (myLetter == " ") {
					myLetter = myString.charAt(i+1);
					myNewLetter = myLetter.toUpperCase();
					myNewString = myNewString + " " + myNewLetter;
					i++;
				} else {
					myLetter=myString.charAt(i);
					myNewLetter = myLetter.toLowerCase();
					myNewString = myNewString + myNewLetter;
					//alert(myNewString);
				}
			}
			form.value = myNewString;
			myNewString = ""
		}
	}
	function toUpper(form) {
		myLength = form.value.length;
		myString = form.value.toUpperCase();
		form.value = myString;
	}
	
	function validName(checkname) {
		invalidChars="!$%^&{}[]+=~?"
				
		if (checkname == "") {
			return false;
		}
		for (i=0; i<invalidChars.length; i++) {	
			badChars = invalidChars.charAt(i);
			if (checkname.indexOf(badChars,0) > -1) {
				return false;
			}
		}
		if (checkname.charAt(0) == " ") {
			return false;
		}
		return true;
	}

	function validAddress(address) {
		invalidChars="!$%^&{}[]+=~?"	
		
		if (address == "") {
			return false;
		}
		for (i=0; i<invalidChars.length; i++) {	
			badChars = invalidChars.charAt(i);
			if (address.indexOf(badChars,0) > -1) {
				return false;
			}
		}
		if (address.charAt(0) == " ") {
			return false;
		}
		return true;
	}	
	
	function checkNum(obj) {
		v = obj.value
		var regExp = /^[0-9]*$/
		if ( regExp.test(v) == false )   {
	    	alert("Please enter a number.")
			obj.value = v.substr(0,v.length-1)
		}
	}
		
	function validEmail(email) {
		invalidChars = ' !#$%^&*(){}[]+=~`?/:;,"'
		
		if (email == "") {
			return false;
		}
		for (i=0; i<invalidChars.length; i++) { //does it contain any invalid characters?
			badChar = invalidChars.charAt(i);
			if (email.indexOf(badChar,0) > -1) {
				return false;
			}
		}
		atPos = email.indexOf("@",1)  		//there must be one "@" symbol
			if (atPos == -1) {
			return false;
		}
		if (email.indexOf("@",atPos+1) != -1) { //and only one "@"
			return false;
		}
		periodPos = email.indexOf(".",atPos+1)  //and at least one "." after the "@"
			if (periodPos == -1) {
			return false;
		}
		if (email.charAt(atPos+1) == ".") {	//is there a "." right after the "@"
			return false;
		}
		if (periodPos+3 > email.length) {  	//must be at least 2 characters after the "."
			return false;
		}
		return true;
	}
	
	function isNum(passedVal) {			//is this a number?
		if (passedVal == "") {
			return false;
		}
		for (i=0; i<passedVal.length; i++) {
			if (passedVal.charAt(i) < "0") {
				return false;
			}
			if (passedVal.charAt(i) > "9") {
				return false;
			}
		}
		return true;
	}
	
	function toLower(form) {
		myLength = form.value.length;
		myString = form.value;
		if (myString != "") {
			for(i=0;i<myLength;i++) {
				myLetter=myString.charAt(i);
				if (i == 0) {
					myLetter=myString.charAt(0);
					myNewLetter = myLetter.toUpperCase();
					myNewString = myNewLetter;
				} else if (myLetter == " ") {
					myLetter = myString.charAt(i+1);
					myNewLetter = myLetter.toUpperCase();
					myNewString = myNewString + " " + myNewLetter;
					i++;
				} else {
					myLetter=myString.charAt(i);
					myNewLetter = myLetter.toLowerCase();
					myNewString = myNewString + myNewLetter;
					//alert(myNewString);
				}
			}
			form.value = myNewString;
			myNewString = ""
		}
	}

	function submitIt(form) {
////check it out, see if the required form values are nice and proper
		if (!validName(form.fname.value)) {
			alert("A valid name is required.");
			form.fname.focus();
			form.fname.select();
			return false;
		}
		if (!validEmail(form.email.value)) {
			alert("A valid E-mail Address is required.");
			form.email.focus();
			form.email.select();
			return false;
		}

		callback = form.callback.value;
		if (form.callback.value == "") {
			alert("A Call back phone number is required: (999) 999-9999.");
				return false;
		}
		
	select1Choice = form.select1.selectedIndex;
	if (form.select1.options[select1Choice].value == "") {
		alert("A preferred hair stylist is required.");
		return false;
	}
	select2Choice = form.select2.selectedIndex;
	if (form.select2.options[select2Choice].value == "") {
		alert("An alternative hair stylist is required.");
		return false;
	}		

/////////////////pref month, date, then time
	monthChoice1 = form.prefMonth.selectedIndex;
	if (form.prefMonth.options[monthChoice1].value == "") {
		alert("A month selection is required.");
		return false;
	}
	dateChoice1 = form.prefDate.selectedIndex;
	if (form.prefDate.options[dateChoice1].value == "") {
		alert("A month date selection is required.");
		return false;
	}	
	timeChoice1 = form.prefTime.selectedIndex;
	if (form.prefTime.options[timeChoice1].value == "") {
		alert("A time selection is required.");
		return false;
	}

/////////////////alt month, date, then time	
	monthChoice2 = form.altMonth.selectedIndex;
	if (form.altMonth.options[monthChoice2].value == "") {
		alert("A month selection is required.");
		return false;
	}
	dateChoice2 = form.altDate.selectedIndex;
	if (form.altDate.options[dateChoice2].value == "") {
		alert("A month date selection is required.");
		return false;
	}	
	timeChoice2 = form.altTime.selectedIndex;
	if (form.altTime.options[timeChoice2].value == "") {
		alert("A time selection is required.");
		return false;
	}
			
	//if we made it to here, everything's valid, so return true
	return true
}

	function validForm(form) {
////check it out, see if the required form values are nice and proper
		if (!validName(form.fname.value)) {
			alert("A valid first name is required.");
			form.firstname.focus();
			form.firstname.select();
			return false;
		}
		if (!validName(form.lname.value)) {
			alert("A valid last name is required.");
			form.lastname.focus();
			form.lastname.select();
			return false;
		}		
		if (!validEmail(form.email.value)) {
			alert("A valid E-mail Address is required.");
			form.email.focus();
			form.email.select();
			return false;
		}
	//if we made it to here, everything's valid, so return true
	return true
}

function myformSubmit() {
			if (validForm(document.signupForm)) {
				document.signupForm.submit()
			}
}

/* first name textbox */
function ClearName(textbox) {
  if (textbox.value == 'First Name') { textbox.value='';}
}

function FillName(textbox) {
  if (textbox.value == '') { textbox.value='First Name';}
}

/* lastname textbox */
function ClearLname(textbox) {
  if (textbox.value == 'Last Name') { textbox.value='';}
}

function FillLname(textbox) {
  if (textbox.value == '') { textbox.value='Last Name';}
}
/* email textbox */
function ClearEmail(textbox) {
  if (textbox.value == 'Email') { textbox.value='';}
}

function FillEmail(textbox) {
  if (textbox.value == '') { textbox.value='Email';}
}


