var CRLF = "\n\r";
var act = "";
var site = "";
isErr = 0;
verbose = false

function alertDebug( s ) {
	if ( verbose ) {
		alert ( s);
	}
}

function getArgs() {
    var args = new Object();
    var query = location.search.substring(1);  // Get query string.
    var pairs = query.split(",");              // Break at comma.
    for(var i = 0; i < pairs.length; i++) {
	var pos = pairs[i].indexOf('=');       // Look for "name=value".
	if (pos == -1) continue;               // If not found, skip.
	var argname = pairs[i].substring(0,pos);  // Extract the name.
	var value = pairs[i].substring(pos+1); // Extract the value.
	args[argname] = unescape(value);          // Store as a property.
    }
    return args;                               // Return the object.
}

function getSite() {
    var args = getArgs();
    return ( args["site"] );
}

// A utility function that returns true if a string contains only 
// whitespace characters.
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 setError(item, values) {
	if (item == "first name") {
		return(" Nombre no puede contener caracteres numéricos ni especiales: " + values + CRLF);
		} 
		if (item == "last name") {
		return(" Apellido no puede contener caracteres numéricos ni especiales: " + values + CRLF);
		} 
		if (item == "parent's email") {
	//	return(item + " is not a valid email address: " + values + CRLF);
		return(" La dirección de correo electrónico del padre proveida no es válida: " + values + CRLF);
		}
		if (item == "child's email") {
		//return(item + " is not a valid email address: " + values + CRLF);
		return(" La dirección de correo electrónico del menor proveida no es válida: " + values + CRLF);
		}
		if (item == "email") {
		return(" La dirección de correo electrónico proveida no es válida: " + values + CRLF);
		} 
		if (item == "city") {
		return(" El nombre de la ciudad no puede contener caracteres numéricos ni especiales: " + values + CRLF);
		} 
		if (item == "state") {
		return(" Escoga el estado de la lista proporcionada: " + values + CRLF);
		} 
		if (item == "new first name") {
		return(" El nombre nuevo no puede contener caracteres numéricos ni especiales: " + values + CRLF);
		} 
		if (item == "new last name") {
		return(" El apellido nuevo no puede contener caracteres numéricos ni especiales: " + values + CRLF);
		} 
		if (item == "new email") {
		return(" La nueva dirección de correo electrónico proveida no es válida: " + values + CRLF);
		}
		if (item == "new email Kid") {
		return(" La nueva dirección de correo electrónico del menor proveida no es válida: " + values + CRLF);
		}
		if (item == "new email Parent") {
		return(" La nueva dirección de correo electrónico del padre proveida no es válida: " + values + CRLF);
		}
		if (item == "new city") {
		return(" La nueva ciudad no puede contener caracteres numéricos ni especiales: " + values + CRLF);
		} 
		if (item == "new state") {
		return(" Escoga el nuevo estado de la lista proporcionada: " + values + CRLF);
		} 
		if (item == "first name") {
		return(" Nombre no puede contener caracteres numéricos ni especiales: " + values + CRLF);
		} 
		if (item == "zip") {
		return(" El código postal debe contener solamente números de 5 dígitos: " + values + CRLF);
		} 
		if (item == "new zip") {
		return(" El nuevo código postal debe contener solamente números de 5 dígitos: " + values + CRLF);
		} 
		if (item == " El campo del nombre no puede estar vacio.") {
		return(item + CRLF);
		}
		if (item == " El campo del apellido no puede estar vacio.") {
		return(item + CRLF);
		}
		if (item == " El campo de la ciudad no puede estar vacio.") {
		return(item + CRLF);
		}
		if (item == " El campo del nuevo nombre no puede estar vacio.") {
		return(item + CRLF);
		}
		if (item == " El campo del nuevo apellido no puede estar vacio.") {
		return(item + CRLF);
		}
		if (item == " El campo de la nueva ciudad no puede estar vacio.") {
		return(item + CRLF);
		}
		if (item == " El apellido debe contener por lo menos dos letras.") {
		return(item + CRLF);
		}
		if (item == " El apellido nuevo debe contener por lo menos dos letras.") {
		return(item + CRLF);
		}
		if (item == " El campo de la dirección no puede estar vacio.") {
		return(item + CRLF);
		}
		if (item == " El campo de la nueva dirección no puede estar vacio.") {
		return(item + CRLF);
		}
		if (item == " El campo de la dirección no puede contener caracteres especiales.") {
		return(item + values + CRLF);
		}
		if (item == " El campo de la nueva dirección no puede contener caracteres especiales.") {
		return(item + values + CRLF);
		}
		if (item == " La dirección de correo electrónico del menor proveida no puede estar vacio.") {
		return(item + CRLF);
		}	
		if (item == " La dirección de correo electrónico del padre proveida no puede estar vacio.") {
		return(item + CRLF);
		}
		if (item == " La nueva dirección de correo electrónico del padre proveida no puede estar vacio.") {
		return(item + CRLF);
		}		
		if (item == " La nueva dirección de correo electrónico del menor proveida no puede estar vacio.") {
		return(item + CRLF);
		}			
}
	
// This is the function that performs form verification. It will be invoked
// from the onSubmit() event handler. The handler should return whatever
// value this function returns.
function verify(f, act)
{
    var msg;
    var empty_fields = "";
    var errors = "";
	//var f = document.forms[0]
    // Loop through the elements of the form, looking for all 
    // text and textarea elements that don't have an "optional" property
    // defined. Then, check for fields that are empty and make a list of them.
    // Also, if any of these elements have a "min" or a "max" property defined,
    // then verify that they are numbers and that they are in the right range.
    // Put together error messages for fields that are wrong.
    for(var i = 0; i < f.length; i++) {
        var e = f.elements[i];
        if (((e.type == "text") || (e.type == "textarea")) && !e.optional) {
            // first check if the field is empty
            if ((e.value == null) || (e.value == "") || isblank(e.value)) {
                empty_fields += "\n          " + e.name;
                continue;
            }
		}
	}
	alertDebug( "act=" + act + "<Check input against parameters");
    // Now check against specific field parameters
    if (act == "remove") {
		errors = checkFirstname(values("PERSONAL","firstname"));
		errors += checkLastname(values("PERSONAL","lastname"));
		errors += checkStreet(values("PERSONAL","street"));
		errors += checkStreet2(values("PERSONAL","street2"));
		errors += checkCity(values("PERSONAL","city"));
		errors += checkState(statevalues("PERSONAL","state"));
        errors += checkZip(values("PERSONAL","zip"));
        errors += checkEmail("PERSONAL","parent_email");
    } 
    else if (act == "update") 
    {	
		//If all the fields are empty then ask the user to enter 
		//his previous email and the new email.
		if( isblank( document.UPDATE.parent_email.value )
			&& isblank( document.UPDATE.new_parent_email.value )
			&& isblank( document.UPDATE.firstname.value )
			&& isblank( document.UPDATE.lastname.value )
			&& isblank( document.UPDATE.street.value )
			&& isblank( document.UPDATE.city.value )
			&& isblank( document.UPDATE.state.value )
			&& isblank( document.UPDATE.zip.value )
			&& isblank( document.UPDATE.new_firstname.value )
			&& isblank( document.UPDATE.new_lastname.value )
			&& isblank( document.UPDATE.new_street.value )
			&& isblank( document.UPDATE.new_city.value )
			&& isblank( document.UPDATE.new_state.value )
			&& isblank( document.UPDATE.new_zip.value ) )
		{
			errors = checkEmail("UPDATE","parent_email");
			errors += checkNewEmail("UPDATE","new_parent_email");
			if( errors != "" ) 
				errors += "\n\nPara que actualizemos su dirección de email \ndeberá prover la dirección anterior y la dirección nueva"
		}
		//If atleast one email address is entered then check for valid
		//email addresses
		else if( !isblank( document.UPDATE.parent_email.value ) 
			|| !isblank( document.UPDATE.new_parent_email.value ) )
		{
			errors = checkEmail("UPDATE","parent_email");
			errors += checkNewEmail("UPDATE","new_parent_email");
			if( errors != "" ) 
				errors += "\n\nPara que actualizemos su dirección de email \ndeberá prover la dirección anterior y la dirección nueva"
		}
		else
		{
			errors = checkFirstname(values("UPDATE","firstname"));
			errors += checkLastname(values("UPDATE","lastname"));
			errors += checkStreet(values("UPDATE","street"));
			errors += checkStreet2(values("UPDATE","street2"));
			errors += checkCity(values("UPDATE","city"));
			errors += checkState(statevalues("UPDATE","state"));
			errors += checkZip(values("UPDATE","zip"));
			errors += checkNewFirstname(values("UPDATE","new_firstname"));
			errors += checkNewLastname(values("UPDATE","new_lastname"));
			errors += checkNewStreet(values("UPDATE","new_street"));
			errors += checkNewStreet2(values("UPDATE","new_street2"));
			errors += checkNewCity(values("UPDATE","new_city"));
			errors += checkNewState(statevalues("UPDATE","new_state"));
			errors += checkNewZip(values("UPDATE","new_zip"));
        }
    } else if  (act == "kids_remove") {
		errors = checkFirstname(values("KIDS_REMOVE","firstname"));
		errors += checkLastname(values("KIDS_REMOVE","lastname"));
		errors += checkStreet(values("KIDS_REMOVE","street"));
		errors += checkStreet2(values("KIDS_REMOVE","street2"));
		errors += checkCity(values("KIDS_REMOVE","city"));
		errors += checkState(statevalues("KIDS_REMOVE","state"));
        errors += checkZip(values("KIDS_REMOVE","zip"));
        errors += checkKidEmail("KIDS_REMOVE","kid_email");
        errors += checkParentEmail("KIDS_REMOVE","parent_email");
    } else if  (act == "kids_update") {
		errors = checkFirstname(values("KIDS_UPDATE","firstname"));
		errors += checkLastname(values("KIDS_UPDATE","lastname"));
		errors += checkStreet(values("KIDS_UPDATE","street"));
		errors += checkStreet2(values("KIDS_UPDATE","street2"));
		errors += checkCity(values("KIDS_UPDATE","city"));
		errors += checkState(statevalues("KIDS_UPDATE","state"));
        errors += checkZip(values("KIDS_UPDATE","zip"));
        errors += checkNewFirstname(values("KIDS_UPDATE","new_firstname"));
		errors += checkNewLastname(values("KIDS_UPDATE","new_lastname"));
		errors += checkNewStreet(values("KIDS_UPDATE","new_street"));
		errors += checkNewStreet2(values("KIDS_UPDATE","new_street2"));
		errors += checkNewCity(values("KIDS_UPDATE","new_city"));
		errors += checkNewState(statevalues("KIDS_UPDATE","new_state"));
        errors += checkNewZip(values("KIDS_UPDATE","new_zip"));
        errors += checkKidEmail("KIDS_UPDATE","kid_email");
        errors += checkParentEmail("KIDS_UPDATE","parent_email");
        errors += checkNewKidEmail("KIDS_UPDATE","new_kid_email");
        errors += checkNewParentEmail("KIDS_UPDATE","new_parent_email");
	}

    // Now, if there were any errors, display the messages, and
    // return false to prevent the form from being submitted. 
    // Otherwise return true.
    if (!empty_fields && !errors) {
		isErr = 0; 
        var body = CRLF & CRLF;
        body = body + "Site = " + site + CRLF;
        body = body + "Action = " + act + CRLF + CRLF;
        body = body + "Data in Name-Value-Pair Format Below" + CRLF + CRLF;
        if (act == "remove") {
            body = body + getRemoveFields();
        } else if (act == "update") {
            body = body + getUpdateFields();
        } else if (act == "kids_remove") {
            body = body + getKidsRemoveFields();
        } else if (act == "kids_update") {
            body = body + getKidsUpdateFields();
		}
        subject = "site=" + site + " . " + act
		// send mail
        // Response.Redirect("thanks.asp")
		var args = getArgs();
		// alert (f.site.value);
		//f.site.value =args["site"];
		//return true;
	} else {
    	msg  = "______________________________________________________\n\n"
    	msg += "La forma no ha sido aceptada porque contiene error(es).\n";
    	msg += "Por favor corriga el-(los) error(es) y vuelva a enviar la forma.\n";
    	msg += "______________________________________________________\n\n"

    	if (empty_fields) {
        	msg += "- El (los) siguiente(s) campo(s) requeridos estan vacio(s):" 
                + empty_fields + CRLF;
		} else if (errors) {
			msg += CRLF;
    		msg += errors;
		}
    	alert(msg);
    	return false;
	}
}

function isEmpty(item) {
	if (item == null || item == ""){
		return true
	}
	return false
}

function verifyForm(f, s) {
//    args = getArgs();
    //act = args["act"];
 //   act = s;
    site = args["site"];
    if ( act != "" ) {
		status = verify(f);
		return ( status );
	}	
}
function checkFirstname(item) {
	if (isEmpty(item)) {
		return ( setError(" El campo del nombre no puede estar vacio.", item) );
		}
	inputStr = item.toString()
		var pattern = new RegExp(/\<|\>|\"|\%|\;|\(|\)|\&|\+/g);
	    var result = inputStr.match(pattern);
			 if (result){
				return ( setError("first name", item) );
		}
	for (var i = 0; i < inputStr.length; i++) {
		var oneChar = inputStr.charAt(i)
		if (oneChar == "0" || oneChar  == "1" || oneChar  == "2" || oneChar  == "3" 
			|| oneChar  == "4" || oneChar  == "5" || oneChar  == "6" || oneChar  == "7"
			|| oneChar  == "8" || oneChar  == "9" || oneChar  == "`" || oneChar  == "~" 
			|| oneChar  == "!" || oneChar  == "@" || oneChar  == "$" || oneChar == ";" 
			|| oneChar  == "#" || oneChar  == "%" || oneChar  == "^" || oneChar  == "&" 
			|| oneChar  == "*" || oneChar  == "_" || oneChar  == "+" || oneChar  == "=" 
			|| oneChar  == "," || oneChar  == "?" || oneChar  == "/" || oneChar  == "<" 
			|| oneChar  == ">" || inputStr == "test" || inputStr == "Test" || inputStr == "TEST"){
			return ( setError("first name", item) );
		}   
		
	}
	return ("");
}
function checkLastname(item) {
	if (isEmpty(item)) {
		return ( setError(" El campo del apellido no puede estar vacio.", item) );
		}
	if (item.length < 2) {
		return ( setError(" El apellido debe contener por lo menos dos letras.", item) );
		}
	inputStr = item.toString()
		var pattern = new RegExp(/\<|\>|\"|\%|\;|\(|\)|\&|\+/g);
	    var result = inputStr.match(pattern);
			 if (result){
				return ( setError("last name", item) );
		}
	for (var i = 0; i < inputStr.length; i++) {
		var oneChar = inputStr.charAt(i)
		if (oneChar == "0" || oneChar  == "1" || oneChar  == "2" || oneChar  == "3" 
			|| oneChar  == "4" || oneChar  == "5" || oneChar  == "6" || oneChar  == "7"
			|| oneChar  == "8" || oneChar  == "9" || oneChar  == "`" || oneChar  == "~" 
			|| oneChar  == "!" || oneChar  == "@" || oneChar  == "$" || oneChar == ";" 
			|| oneChar  == "#" || oneChar  == "%" || oneChar  == "^" || oneChar  == "&" 
			|| oneChar  == "*" || oneChar  == "_" || oneChar  == "+" || oneChar  == "=" 
			|| oneChar  == "," || oneChar  == "?" || oneChar  == "/" || oneChar  == "<" 
			|| oneChar  == ">" || inputStr == "test" || inputStr == "Test" || inputStr == "TEST"){
			return ( setError("last name", item) );
		}   
		
	}
	return ("");
}

function checkStreet(item) {
	if (isEmpty(item)) {
		return ( setError(" El campo de la dirección no puede estar vacio.", item) );
		}
	inputStr = item.toString()
	var pattern = new RegExp(/[^a-zA-Z0-9^\-^ ^.]/);
	var result = inputStr.match(pattern);	
			 if (result){
			return ( setError(" El campo de la dirección no puede contener caracteres especiales.", item) );
		}	
	for (var i = 0; i < inputStr.length; i++) {
		var oneChar = inputStr.charAt(i)
		if (oneChar  == "`" || oneChar  == "~" 
					|| oneChar  == "!" || oneChar  == "@" || oneChar  == "$" || oneChar  == ";"
					|| oneChar  == "#" || oneChar  == "%" || oneChar  == "^" || oneChar  == "&" 
					|| oneChar  == "*" || oneChar  == "_" || oneChar  == "+" || oneChar  == "=" 
					|| oneChar  == "," || oneChar  == "?" || oneChar  == "/" || oneChar  == "<" 
					|| oneChar  == ">" || inputStr == "test" || inputStr == "Test" || inputStr == "TEST"){
			return ( setError(" El campo de la dirección no puede contener caracteres especiales.", item) );
		} 
	}
		return ("");
}

function checkStreet2(item) {
	if (isEmpty(item)) {
		return ("");
		}
	inputStr = item.toString()
	var pattern = new RegExp(/[^a-zA-Z0-9^\-^ ^.]/);
	var result = inputStr.match(pattern);	
			 if (result){
			return ( setError(" El campo de la dirección no puede contener caracteres especiales.", item) );
		}	
	for (var i = 0; i < inputStr.length; i++) {
		var oneChar = inputStr.charAt(i)
		if (oneChar  == "`" || oneChar  == "~" 
					|| oneChar  == "!" || oneChar  == "@" || oneChar  == "$" || oneChar  == ";"
					|| oneChar  == "#" || oneChar  == "%" || oneChar  == "^" || oneChar  == "&" 
					|| oneChar  == "*" || oneChar  == "_" || oneChar  == "+" || oneChar  == "=" 
					|| oneChar  == "," || oneChar  == "?" || oneChar  == "/" || oneChar  == "<" 
					|| oneChar  == ">" || inputStr == "test" || inputStr == "Test" || inputStr == "TEST"){
			return ( setError(" El campo de la dirección no puede contener caracteres especiales.", item) );
		} 
	}
		return ("");
}

function checkCity(item) {
	if (isEmpty(item)) {
		return ( setError(" El campo de la ciudad no puede estar vacio.", item) );
		}
	inputStr = item.toString()
		var pattern = new RegExp(/[^a-zA-Z0-9^\-^ ^.]/);
	    var result = inputStr.match(pattern);
		if (result){
			return ( setError("city", item) );
		}	
	
	for (var i = 0; i < inputStr.length; i++) {
		var oneChar = inputStr.charAt(i)
		if (oneChar == "0" || oneChar  == "1" || oneChar  == "2" || oneChar  == "3" 
			|| oneChar  == "4" || oneChar  == "5" || oneChar  == "6" || oneChar  == "7"
			|| oneChar  == "8" || oneChar  == "9" || oneChar  == "`" || oneChar  == "~" 
			|| oneChar  == "!" || oneChar  == "@" || oneChar  == "$" 
			|| oneChar  == "#" || oneChar  == "%" || oneChar  == "^" || oneChar  == "&" 
			|| oneChar  == "*" || oneChar  == "_" || oneChar  == "+" || oneChar  == "=" 
			|| oneChar  == "," || oneChar  == "?" || oneChar  == "/" || oneChar  == "<" 
			|| oneChar  == ">" || inputStr == "test" || inputStr == "Test" || inputStr == "TEST"){
			return ( setError("city", item) );
		}   
		
	}
	return ("");
}
function checkState(item) {
	inputStr = item.toString()
		if (inputStr == "ST" || inputStr == null || inputStr == "" || inputStr == "--" ){
			return ( setError("state", item) );
		
	}
	return ("");
}
function checkNewFirstname(item) {
	if (isEmpty(item)) {
		return ( setError(" El campo del nuevo nombre no puede estar vacio.", item) );
		}
	inputStr = item.toString()
		var pattern = new RegExp(/\<|\>|\"|\%|\;|\(|\)|\&|\+/g);
	    var result = inputStr.match(pattern);
			 if (result){
				return ( setError("new first name", item) );
		}
	for (var i = 0; i < inputStr.length; i++) {
		var oneChar = inputStr.charAt(i)
		if (oneChar == "0" || oneChar  == "1" || oneChar  == "2" || oneChar  == "3" 
			|| oneChar  == "4" || oneChar  == "5" || oneChar  == "6" || oneChar  == "7"
			|| oneChar  == "8" || oneChar  == "9" || oneChar  == "`" || oneChar  == "~" 
			|| oneChar  == "!" || oneChar  == "@" || oneChar  == "$" || oneChar == ";"
			|| oneChar  == "#" || oneChar  == "%" || oneChar  == "^" || oneChar  == "&" 
			|| oneChar  == "*" || oneChar  == "_" || oneChar  == "+" || oneChar  == "=" 
			|| oneChar  == "," || oneChar  == "?" || oneChar  == "/" || oneChar  == "<" 
			|| oneChar  == ">" || inputStr == "test" || inputStr == "Test" || inputStr == "TEST"){
			return ( setError("new first name", item) );
		}   
		
	}
	return ("");
}
function checkNewLastname(item) {
	if (isEmpty(item)) {
		return ( setError(" El campo del nuevo apellido no puede estar vacio.", item) );
		}
	if (item.length < 2) {
		return ( setError(" El apellido nuevo debe contener por lo menos dos letras.", item) );
		}
	inputStr = item.toString()
		var pattern = new RegExp(/\<|\>|\"|\%|\;|\(|\)|\&|\+/g);
	    var result = inputStr.match(pattern);
			 if (result){
				return ( setError("new last name", item) );
		}
	for (var i = 0; i < inputStr.length; i++) {
		var oneChar = inputStr.charAt(i)
		lnameLength=inputStr.length
		if (oneChar == "0" || oneChar  == "1" || oneChar  == "2" || oneChar  == "3" 
			|| oneChar  == "4" || oneChar  == "5" || oneChar  == "6" || oneChar  == "7"
			|| oneChar  == "8" || oneChar  == "9" || oneChar  == "`" || oneChar  == "~" 
			|| oneChar  == "!" || oneChar  == "@" || oneChar  == "$" || oneChar == ";"
			|| oneChar  == "#" || oneChar  == "%" || oneChar  == "^" || oneChar  == "&" 
			|| oneChar  == "*" || oneChar  == "_" || oneChar  == "+" || oneChar  == "=" 
			|| oneChar  == "," || oneChar  == "?" || oneChar  == "/" || oneChar  == "<" 
			|| oneChar  == ">" || inputStr == "test" || inputStr == "Test" || inputStr == "TEST"){
			return ( setError("new last name", item) );
		}   
		
	}
	return ("");
}

function checkNewStreet(item) {
	if (isEmpty(item)) {
		return ( setError(" El campo de la nueva dirección no puede estar vacio.", item) );
		}
	inputStr = item.toString()
	var pattern = new RegExp(/[^a-zA-Z0-9^\-^ ^.]/);
	var result = inputStr.match(pattern);	
			 if (result){
				return ( setError(" El campo de la nueva dirección no puede contener caracteres especiales.", item) );
		}		
	for (var i = 0; i < inputStr.length; i++) {
		var oneChar = inputStr.charAt(i)
		if (oneChar  == "`" || oneChar  == "~" 
					|| oneChar  == "!" || oneChar  == "@" || oneChar  == "$" || oneChar  == ";"
					|| oneChar  == "#" || oneChar  == "%" || oneChar  == "^" || oneChar  == "&" 
					|| oneChar  == "*" || oneChar  == "_" || oneChar  == "+" || oneChar  == "=" 
					|| oneChar  == "," || oneChar  == "?" || oneChar  == "/" || oneChar  == "<" 
					|| oneChar  == ">" || inputStr == "test" || inputStr == "Test" || inputStr == "TEST"){
			return ( setError(" El campo de la nueva dirección no puede contener caracteres especiales.", item) );
		}   
	  }	
		return ("");
}
function checkNewStreet2(item) {
	if (isEmpty(item)) {
		return ("");
		}
	inputStr = item.toString()
	var pattern = new RegExp(/[^a-zA-Z0-9^\-^ ^.]/);
	var result = inputStr.match(pattern);	
			 if (result){
				return ( setError(" El campo de la nueva dirección no puede contener caracteres especiales.", item) );
		}		
	for (var i = 0; i < inputStr.length; i++) {
		var oneChar = inputStr.charAt(i)
		if (oneChar  == "`" || oneChar  == "~" 
					|| oneChar  == "!" || oneChar  == "@" || oneChar  == "$" || oneChar  == ";"
					|| oneChar  == "#" || oneChar  == "%" || oneChar  == "^" || oneChar  == "&" 
					|| oneChar  == "*" || oneChar  == "_" || oneChar  == "+" || oneChar  == "=" 
					|| oneChar  == "," || oneChar  == "?" || oneChar  == "/" || oneChar  == "<" 
					|| oneChar  == ">" || inputStr == "test" || inputStr == "Test" || inputStr == "TEST"){
			return ( setError(" El campo de la nueva dirección no puede contener caracteres especiales.", item) );
		}   
	  }	
		return ("");
}
function checkNewCity(item) {
	if (isEmpty(item)) {
		return ( setError(" El campo de la nueva ciudad no puede estar vacio.", item) );
		}
	inputStr = item.toString()
		var pattern = new RegExp(/[^a-zA-Z0-9^\-^ ^.]/);
	    var result = inputStr.match(pattern);
		if (result){
			return ( setError("new city", item) );
		}	
	for (var i = 0; i < inputStr.length; i++) {
		var oneChar = inputStr.charAt(i)
		if (oneChar == "0" || oneChar  == "1" || oneChar  == "2" || oneChar  == "3" 
			|| oneChar  == "4" || oneChar  == "5" || oneChar  == "6" || oneChar  == "7"
			|| oneChar  == "8" || oneChar  == "9" || oneChar  == "`" || oneChar  == "~" 
			|| oneChar  == "-" || oneChar  == "!" || oneChar  == "@" || oneChar  == "$" 
			|| oneChar  == "#" || oneChar  == "%" || oneChar  == "^" || oneChar  == "&" 
			|| oneChar  == "*" || oneChar  == "_" || oneChar  == "+" || oneChar  == "=" 
			|| oneChar  == "," || oneChar  == "?" || oneChar  == "/" || oneChar  == "<" 
			|| oneChar  == ">" || inputStr == "test" || inputStr == "Test" || inputStr == "TEST"){
			return ( setError("new city", item) );
		}   
		
	}
	return ("");
}
function checkNewState(item) {
	inputStr = item.toString()
		if (inputStr == "ST" || inputStr == null || inputStr == "" || inputStr == "--" ){
			return ( setError("new state", item) );
		
	}
	return ("");
}
function checkZip(item) {
	if ( isNaN( item ) ) {
		return ( setError("zip", item) );	
	    } else {
		if ( item.length != 5 ) {
			return ( setError("zip", item) );
		}
	} 
	return ("");
}
function checkNewZip(item) {
	if ( isNaN( item ) ) {
		return ( setError("zip", item) );	
	    } else {
		if ( item.length != 5 ) {
			return ( setError("new zip", item) );
		}
	} 
	return ("");
}
function checkEmail(f, label)
{
	if (isEmpty(label)) 
	{
		return ( setError("blank", label) );
	}
	email = values(f, label);
	alertDebug ( email );
	var oRegExp = /^[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9\.\-]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/g;
	if (oRegExp.test(email))
	{
	 	return ("");
	}
	else
	{
	 	return ( setError("email", email) );
	}
}
function checkParentEmail(f, label)
{
	email = values(f, label);
	var strEmail = new String(email);
	if (isEmpty(strEmail)) 
	{
		return ( setError(" La dirección de correo electrónico del padre proveida no puede estar vacio.", strEmail) );
	}
	var oRegExp = /^[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9\.\-]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/;
	if( oRegExp.test(strEmail) )
	{
	 	return ("");
	}
	else
	{
	 	return ( setError("parent's email", strEmail) );
	}
}
function checkKidEmail(f, label)
{
	email = values(f, label);
	var strEmail = new String(email);
	if (isEmpty(strEmail)) 
	{
		return ( setError(" La dirección de correo electrónico del menor proveida no puede estar vacio.", strEmail) );
	}
	var oRegExp = /^[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9\.\-]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/;
	if( oRegExp.test(strEmail) )
	{
	 	return ("");
	}
	else
	{
	 	return ( setError("child's email", strEmail) );
	}
}
function checkEmailoutdated(f, label) {
	if (isEmpty(label)) {
		return ( setError("blank", label) );
		}
    email = values(f, label);
	alertDebug ( email );	
	var elen = email.length;
	var dname = elen - email.lastIndexOf(".") - 1
  	if ((email.indexOf("@") < 2) | (dname != 3) ) {
		return ( setError("email", email) );
	}	
	return ("");
}

function checkNewEmail(f, label)
{
	if (isEmpty(label)) 
	{
		return ( setError("blank", label) );
	}
	email = values(f, label);
	alertDebug ( email );
	var oRegExp = /^[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9\.\-]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/g;
	if (oRegExp.test(email))
	{
	 	return ("");
	}
	else
	{
	 	return ( setError("new email", email) );
	}
}
function checkNewParentEmail(f, label)
{
	email = values(f, label);
	var strEmail = new String(email);
	if (isEmpty(strEmail)) 
	{
		return ( setError(" La nueva dirección de correo electrónico del padre proveida no puede estar vacio.", strEmail) );
	}
	var oRegExp = /^[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9\.\-]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/;
	if( oRegExp.test(strEmail) )
	{
	 	return ("");
	}
	else
	{
	 	return ( setError("new email Parent", strEmail) );
	}
}
function checkNewKidEmail(f, label)
{
	email = values(f, label);
	var strEmail = new String(email);
	if (isEmpty(strEmail)) 
	{
		return ( setError(" La nueva dirección de correo electrónico del menor proveida no puede estar vacio.", strEmail) );
	}
	var oRegExp = /^[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9\.\-]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/;
	if( oRegExp.test(strEmail) )
	{
	 	return ("");
	}
	else
	{ 
	 	return ( setError("new email Kid", strEmail) );
	}
}

function checkNewEmailoutdated(f, label) {
if (isEmpty(label)) {
		return ( setError("blank", label) );
		}
    email = values(f, label);
	alertDebug ( email );	
	var elen = email.length;
	var dname = elen - email.lastIndexOf(".") - 1
  	if ((email.indexOf("@") < 2) | (dname != 3) ) {
		return ( setError("new email", email) );
	}	
	return ("");
}
function getRemoveFields() {
    return getRemoveFields = +
    "FIRST NAME = " + values("PERSONAL","firstname") + CRLF +
    "LAST NAME  = " + values("PERSONAL","lastname") + CRLF +
    "EMAIL      = " + values("PERSONAL","parent_email") + CRLF +
    "STREET     = " + values("PERSONAL","street") + CRLF +
    "CITY       = " + values("PERSONAL","city") + CRLF +
    "STATE      = " + values("PERSONAL","state") + CRLF +
    "ZIP        = " + values("PERSONAL","zip");
}

function getUpdateFields() {
    return getUpdateFields = +
    "FIRST NAME = " + values("UPDATE","firstname") + CRLF +
    "LAST NAME  = " + values("UPDATE","lastname") + CRLF +
    "EMAIL      = " + values("UPDATE","parent_email") + CRLF +
    "STREET     = " + values("UPDATE","street") + CRLF +
    "CITY       = " + values("UPDATE","city") + CRLF +
    "STATE      = " + values("UPDATE","state") + CRLF +
    "ZIP        = " + values("UPDATE","zip") + CRLF +
    CRLF +
    "NEW FIRST NAME = " + values("UPDATE","new_firstname") + CRLF +
    "NEW LAST NAME  = " + values("UPDATE","new_lastname") + CRLF +
    "NEW EMAIL      = " + values("UPDATE","new_parent_email") + CRLF +
    "NEW STREET     = " + values("UPDATE","new_street") + CRLF +
    "NEW CITY       = " + values("UPDATE","new_city") + CRLF +
    "NEW STATE      = " + values("UPDATE","new_state") + CRLF +
    "NEW ZIP        = " + values("UPDATE","new_zip") + CRLF;
}

function getKidsRemoveFields() {
    return getKidsRemoveFields = +
    "FIRST NAME = " + values("KIDS_REMOVE","firstname") + CRLF +
    "LAST NAME  = " + values("KIDS_REMOVE","lastname") + CRLF +
    "CHILD EMAIL      = " + values("KIDS_REMOVE","kid_email") + CRLF +
    "PARENT EMAIL     = " + values("KIDS_REMOVE","parent_email") + CRLF +
    "STREET           = " + values("KIDS_REMOVE","street") + CRLF +
    "CITY             = " + values("KIDS_REMOVE","city") + CRLF +
    "STATE            = " + values("KIDS_REMOVE","state") + CRLF +
    "ZIP              = " + values("KIDS_REMOVE","zip");
}

function getKidsUpdateFields() {
    return getKidsUpdateFields = +
    "FIRST NAME   = " + values("KIDS_UPDATE","firstname") + CRLF +
    "LAST NAME    = " + values("KIDS_UPDATE","lastname") + CRLF +
    "CHILD EMAIL  = " + values("KIDS_UPDATE","kid_email") + CRLF +
    "PARENT EMAIL = " + values("KIDS_UPDATE","parent_email") + CRLF +
    "STREET       = " + values("KIDS_UPDATE","street") + CRLF +
    "CITY         = " + values("KIDS_UPDATE","city") + CRLF +
    "STATE        = " + values("KIDS_UPDATE","state") + CRLF +
    "ZIP          = " + values("KIDS_UPDATE","zip") + CRLF +
    CRLF +
    "NEW FIRST NAME   = " + values("KIDS_UPDATE","new_firstname") + CRLF +
    "NEW LAST NAME    = " + values("KIDS_UPDATE","new_lastname") + CRLF +
    "NEW CHILD EMAIL  = " + values("KIDS_UPDATE","new_kid_email") + CRLF +
    "NEW PARENT EMAIL = " + values("KIDS_UPDATE","new_parent_email") + CRLF +
    "NEW STREET       = " + values("KIDS_UPDATE","new_street") + CRLF +
    "NEW CITY         = " + values("KIDS_UPDATE","new_city") + CRLF +
    "NEW STATE        = " + values("KIDS_UPDATE","new_state") + CRLF +
    "NEW ZIP          = " + values("KIDS_UPDATE","new_zip") + CRLF;
}
function values( f, s ) {
	return ( eval ("document." + f + "." + s + ".value") );
}

//needed to retrieve the state value becuase it is in a select statement
function statevalues( f, s ) {
	//var selectedState = "document.forms[0]." + s + ".options[document.form[0]." + s + ".selectedIndex].value";
	var selectedState = "document." + f + "." + s + ".options[document." + f + "." + s + ".selectedIndex].value";
	return ( eval (selectedState) );
}


