// sbss local.js

var registerClear = 0 ;

var faqAnswers = new Array() ;
    faqAnswers[0] = "" ;

function  setDdSelector ()
    {
var baseYyyy = document.getElementById("yyyyselector").value ;
var baseMm   = document.getElementById("mmselector").value ;
var baseDd   = document.getElementById("ddselector").value ;
var dd = new Date(baseYyyy, baseMm, 0) ;
    dd = dd.getDate() ;
    if (dd > document.getElementById("ddselector").length)
        {
var     x = document.getElementById("ddselector") ;
        for (loopCtr=document.getElementById("ddselector").length+1; loopCtr<=dd; loopCtr++)
            {
            x.options[x.options.length] = new Option(loopCtr, loopCtr, false, false) ;
            }
        }
    else if (dd < document.getElementById("ddselector").length)
        {
        document.getElementById("ddselector").length = dd ;
        }
/*
    baseMm-- ;
var todayDate = new Date() ;
var todayYyyy = todayDate.getFullYear() ; 
var todayMm   = todayDate.getMonth() ;
var todayDd   = todayDate.getDate() ;
    if  (baseMm == todayMm)
        {
var     calcYears  = todayYyyy - baseYyyy ;
var     calcMonths = 0 ;
        }
    else if (baseMm < todayMm)
        {
        calcYears  = todayYyyy - baseYyyy ;
        calcMonths = todayMm - baseMm ;
        }
    else
        {
        calcYears  = todayYyyy - baseYyyy - 1 ;
        calcMonths = 12 - (baseMm - todayMm) ;
        }
    document.getElementById("regagecalc").innerHTML = calcYears + ", " + calcMonths ;
*/
    return ;
    }

function  submitRegistration ()
    {
var errorFlag = "" ;
    document.getElementById("regchildfirstname").className = "noerror" ;
    document.getElementById("regchildlastname").className = "noerror" ;
    document.getElementById("regchildgender").className = "noerror" ;
    document.getElementById("regparentnames").className = "noerror" ;
    document.getElementById("regstreetaddress").className = "noerror" ;
    document.getElementById("regcity").className = "noerror" ;
    document.getElementById("regzipcode").className = "noerror" ;
    document.getElementById("reghomephoneaaa").className = "noerror" ;
    document.getElementById("reghomephoneppp").className = "noerror" ;
    document.getElementById("reghomephonennnn").className = "noerror" ;
    document.getElementById("regcellphoneaaa").className = "noerror" ;
    document.getElementById("regcellphoneppp").className = "noerror" ;
    document.getElementById("regcellphonennnn").className = "noerror" ;
    document.getElementById("regemail").className = "noerror" ;
    document.getElementById("regphotopermission").className = "noerror" ;
    document.getElementById("regmediapermission").className = "noerror" ;
var regYear   = document.getElementById("regyear").innerHTML ;
var childFirstName = document.getElementById("regchildfirstname").value ;
var editReturn = editText("regchildfirstname", "alpha") ;
    if (editReturn != "")
        {
        errorFlag = "yes" ;
        document.getElementById("regchildfirstname").className = "inerror" ;
        }
var childLastName  = document.getElementById("regchildlastname").value ;
    editReturn = editText("regchildlastname", "alpha") ;
    if (editReturn != "")
        {
        errorFlag = "yes" ;
        document.getElementById("regchildlastname").className = "inerror" ;
        }
var childBirthDate = document.getElementById("yyyyselector").value + "." + document.getElementById("mmselector").value + "." + document.getElementById("ddselector").value ;
var childGrade     = document.getElementById("gradeselector").value ;
var childGender    = "" ;
    if (document.getElementById("regchildgendermale").checked == true)
        childGender = "male" ;
    if (document.getElementById("regchildgenderfemale").checked == true)
        childGender = "female" ;
    if (childGender == "")
        {
        errorFlag = "yes" ;
        document.getElementById("regchildgender").className = "inerror" ;
        }
var parentNames = document.getElementById("regparentnames").value ;
    editReturn = editText("regparentnames", "alpha") ;
    if (editReturn != "")
        {
        errorFlag = "yes" ;
        document.getElementById("regparentnames").className = "inerror" ;
        }
var streetAddress = document.getElementById("regstreetaddress").value ;
    editReturn = editText("regstreetaddress", "alphanumericspecial") ;
    if (editReturn != "")
        {
        errorFlag = "yes" ;
        document.getElementById("regstreetaddress").className = "inerror" ;
        }
var city = document.getElementById("regcity").value ;
    editReturn = editText("regcity", "alpha") ;
    if (editReturn != "")
        {
        errorFlag = "yes" ;
        document.getElementById("regcity").className = "inerror" ;
        }
var stateCode = document.getElementById("stateselector").value ;
var zipCode = document.getElementById("regzipcode").value ;
    editReturn = editText("regzipcode", "numeric") ;
    if ( (editReturn != "") || (zipCode.length < 5) )
        {
        errorFlag = "yes" ;
        document.getElementById("regzipcode").className = "inerror" ;
        }
var homePhone = document.getElementById("reghomephoneaaa").value + "" + document.getElementById("reghomephoneppp").value + "" + document.getElementById("reghomephonennnn").value ;
    editReturn = editText("reghomephoneaaa", "numeric") ;
    if ( (editReturn != "") || (document.getElementById("reghomephoneaaa").value < 3) )
        {
        errorFlag = "yes" ;
        document.getElementById("reghomephoneaaa").className = "inerror" ;
        }
    editReturn = editText("reghomephoneppp", "numeric") ;
    if ( (editReturn != "") || (document.getElementById("reghomephoneppp").value < 3) )
        {
        errorFlag = "yes" ;
        document.getElementById("reghomephoneppp").className = "inerror" ;
        }
    editReturn = editText("reghomephonennnn", "numeric") ;
    if ( (editReturn != "") || (document.getElementById("reghomephonennnn").value < 4) )
        {
        errorFlag = "yes" ;
        document.getElementById("reghomephonennnn").className = "inerror" ;
        }
var cellPhone = "" ;
    if ( (document.getElementById("regcellphoneaaa").value != "") || (document.getElementById("regcellphoneppp").value != "") || (document.getElementById("regcellphonennnn").value != "") )
        {
        cellPhone = document.getElementById("regcellphoneaaa").value + "" + document.getElementById("regcellphoneppp").value + "" + document.getElementById("regcellphonennnn").value ;
        editReturn = editText("regcellphoneaaa", "numeric") ;
        if ( (editReturn != "") || (document.getElementById("regcellphoneaaa").value < 3) )
            {
            errorFlag = "yes" ;
            document.getElementById("regcellphoneaaa").className = "inerror" ;
            }
        editReturn = editText("regcellphoneppp", "numeric") ;
        if ( (editReturn != "") || (document.getElementById("regcellphoneppp").value < 3) )
            {
            errorFlag = "yes" ;
            document.getElementById("regcellphoneppp").className = "inerror" ;
            }
        editReturn = editText("regcellphonennnn", "numeric") ;
        if ( (editReturn != "") || (document.getElementById("regcellphonennnn").value < 4) )
            {
            errorFlag = "yes" ;
            document.getElementById("regcellphonennnn").className = "inerror" ;
            }
        }
   
var email = document.getElementById("regemail").value ;
    editReturn = editText("regemail", "email") ;
    if (editReturn != "")
        {
        errorFlag = "yes" ;
        document.getElementById("regemail").className = "inerror" ;
        }
var extra = document.getElementById("regextra").value ;
    editReturn = editText("regextra", "replaceonly") ;

var photoPermission = "" ;
    if (document.getElementById("regphotopermissionyes").checked == true)
        photoPermission = "yes" ;
    if (document.getElementById("regphotopermissionno").checked == true)
       photoPermission = "no" ;
    if (photoPermission == "")
        {
        errorFlag = "yes" ;
        document.getElementById("regphotopermission").className = "inerror" ;
        }
var mediaPermission = "" ;
    if (document.getElementById("regmediapermissionyes").checked == true)
        mediaPermission = "yes" ;
    if (document.getElementById("regmediapermissionno").checked == true)
       mediaPermission = "no" ;
    if (mediaPermission == "")
        {
        errorFlag = "yes" ;
        document.getElementById("regmediapermission").className = "inerror" ;
        }
var ministryTeam = "" ;
    if (document.getElementById("regministryteamyes").checked == true)
        ministryTeam = "yes" ;
    if (document.getElementById("regministryteamno").checked == true)
        ministryTeam = "no" ;
var helpTeaching = "" ;
    if (document.getElementById("reghelpteaching").checked == true)
        helpTeaching = "yes" ;
var helpGreeting = "" ;
    if (document.getElementById("reghelpgreeting").checked == true)
        helpGreeting = "yes" ;
var helpSnacks = "" ;
    if (document.getElementById("reghelpsnacks").checked == true)
        helpSnacks = "yes" ;
var helpCrafts = "" ;
    if (document.getElementById("reghelpcrafts").checked == true)
        helpCrafts = "yes" ;
var helpOutreach = "" ;
    if (document.getElementById("reghelpoutreach").checked == true)
        helpOutreach = "yes" ;
var helpBirthdays = "" ;
    if (document.getElementById("reghelpbirthdays").checked == true)
        helpBirthdays = "yes" ;
var helpHolidays = "" ;
    if (document.getElementById("reghelpholidays").checked == true)
        helpHolidays = "yes" ;
var helpOther = document.getElementById("reghelpother").value ;
    editReturn = editText("reghelpother", "replaceonly") ;
    if (errorFlag != "")
        {
        registerClear = 0 ;
        document.getElementById("regmessage").innerHTML = "Please correct the highlighted fields." ;
        return ;
        }
    registerClear++ ;
    if (registerClear == 1)
        {
        if (document.getElementById("regbuttondiv")) // admin does not have regbutton
            {
            document.getElementById("regbutton").innerHTML = "submit" ;
            document.getElementById("regmessage").innerHTML = "No errors were found. If you wish to proceed, please click again to submit your registration. Clicking the button represents your electronic signature." ;
            return ;
            }
        else
            {
            document.getElementById("adminregbutton").value = "submit" ;
            document.getElementById("regmessage").innerHTML = "No errors were found. Click again to update the database." ;
            return ;
            }
        }
    if (document.getElementById("regbuttondiv")) // admin does not have regbutton
        {
        document.getElementById("regbuttondiv").style.visibility = "hidden" ;
//      document.getElementById("regbuttondiv").innerHTML = "<div id='regbutton' style='text-align: center' class='link3button'>submit</div>" ;
        callAjax("register", regYear+"~"+childFirstName+"~"+childLastName+"~"+childBirthDate+"~"+childGrade+"~"+childGender+"~"+parentNames+"~"+streetAddress+"~"+city+"~"+stateCode+"~"+zipCode+"~"+homePhone+"~"+cellPhone+"~"+email+"~"+extra+"~"+photoPermission+"~"+mediaPermission+"~"+ministryTeam+"~"+helpTeaching+"~"+helpGreeting+"~"+helpSnacks+"~"+helpCrafts+"~"+helpOutreach+"~"+helpBirthdays+"~"+helpHolidays+"~"+helpOther, "regmessage")
        }
    else
        {
var     rNumber = document.getElementById("rnumber").innerHTML ;
        getHtml(0, 'regupdate', 'regmessage', rNumber+"~"+regYear+"~"+childFirstName+"~"+childLastName+"~"+childBirthDate+"~"+childGrade+"~"+childGender+"~"+parentNames+"~"+streetAddress+"~"+city+"~"+stateCode+"~"+zipCode+"~"+homePhone+"~"+cellPhone+"~"+email+"~"+extra+"~"+photoPermission+"~"+mediaPermission+"~"+ministryTeam+"~"+helpTeaching+"~"+helpGreeting+"~"+helpSnacks+"~"+helpCrafts+"~"+helpOutreach+"~"+helpBirthdays+"~"+helpHolidays+"~"+helpOther) ;
        }
    registerClear = 0 ;
    return ;
    }

function  anotherChild ()
    {
var oneMoreChild = confirm("Your registration has been received. Thank you!\n\nRegister another student for the same parents?") ;
    document.getElementById("regchildfirstname").value      = "" ;
    document.getElementById("regchildlastname").value       = "" ;
    document.getElementById("regchildgendermale").checked   = false ;
    document.getElementById("regchildgenderfemale").checked = false ;
    document.getElementById("regextra").value               = "" ;
    document.getElementById("regministryteamyes").checked   = false ;
    document.getElementById("regministryteamno").checked    = false ;
    document.getElementById("reghelpteaching").checked      = false ;
    document.getElementById("reghelpgreeting").checked      = false ;
    document.getElementById("reghelpsnacks").checked        = false ;
    document.getElementById("reghelpcrafts").checked        = false ;
    document.getElementById("reghelpoutreach").checked      = false ;
    document.getElementById("reghelpbirthdays").checked     = false ;
    document.getElementById("reghelpholidays").checked      = false ;
    document.getElementById("reghelpother").value           = "" ;
    if (!oneMoreChild)
        {
        document.getElementById("regparentnames").value   = "" ;
        document.getElementById("regstreetaddress").value = "" ;
        document.getElementById("regcity").value          = "" ;
        document.getElementById("stateselector").value    = "CA" ;
        document.getElementById("regzipcode").value       = "" ;
        document.getElementById("reghomephoneaaa").value  = "" ;
        document.getElementById("reghomephoneppp").value  = "" ;
        document.getElementById("reghomephonennnn").value = "" ;
        document.getElementById("regcellphoneaaa").value  = "" ;
        document.getElementById("regcellphoneppp").value  = "" ;
        document.getElementById("regcellphonennnn").value = "" ;
        document.getElementById("regemail").value         = "" ;
        document.getElementById("regphotopermissionyes").checked = false ;
        document.getElementById("regphotopermissionno").checked  = false ;
        document.getElementById("regmediapermissionyes").checked = false ;
        document.getElementById("regmediapermissionno").checked  = false ;
        }
    document.getElementById("regbutton").innerHTML = "vailidate" ;
    document.getElementById("regbuttondiv").style.visibility = "visible" ;
    return ;
    }

function  openEvent (dateNumber)
    {
var textValue  = document.getElementById("date"+dateNumber).innerHTML.replace(/datetitle/g, "opentitle") ;
    textValue  = textValue.replace(/datetext/g, "opentext") ;
    document.getElementById("showevent").innerHTML = textValue ;
    document.getElementById("openevent").style.display = "block" ;
    return ;
    }

function  changeFaqSelector ()
    {
var x = document.getElementById("faqselector") ;
    if ( (x.selectedIndex==0) && (faqAnswers[0]=="") )
        {
        faqAnswers[0] = "" ;
        for (loopCtr=1; loopCtr<faqAnswers.length; loopCtr++)
            {
            faqAnswers[0] = faqAnswers[0] + "<div class='faqquestion' style='margin-top:10px'>" + x.options[loopCtr].text + "</div><div style='margin-top: 5px'>" + faqAnswers[loopCtr] + "</div>" ;
            }
        }
    document.getElementById("faqanswers").innerHTML = faqAnswers[x.selectedIndex] ;
    return ;
    }

function  editText (editId, editType)
    {
var editReturn = "" ;
var textValue = document.getElementById(editId).value ;
    textValue = textValue.replace(/>/g, ")") ;
    textValue = textValue.replace(/</g, "(") ;
    textValue = textValue.replace(/\[/g, "(") ;
    textValue = textValue.replace(/\]/g, ")") ;
    textValue = textValue.replace(/\\/g, "") ;
    textValue = textValue.replace(/`/g, "'") ;
    textValue = textValue.replace(/~/g, "") ;
    textValue = textValue.replace(/&/g, "and") ;
    textValue = textValue.replace(/{/g, "(") ;
    textValue = textValue.replace(/}/g, ")") ;
    textValue = textValue.replace(/\|/g, "") ;
    textValue = textValue.replace(/"/g, "'") ;
    if (editType == "replaceonly")
        return ;
    if (editType == "alpha")
        {
var     regText = /^[a-zA-Z .,']+$/ ;
        }
    if (editType == "numeric")
        {
var     regText = /^[0-9]+$/ ;
        }
    if (editType == "alphanumeric")  
        {
        regText = /^[a-zA-Z0-9 .,']+$/ ;
        }
    if (editType == "alphanumericspecial")
        {
        regText = /^[a-zA-Z0-9 !@#$%^*()-_=+;:',.?]+$/ ;
        }
    if (editType == "email")
        {
        regText = /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9])+(\.[a-zA-Z0-9_-]+)+$/ ;
        }
    if ( (regText.test(textValue) == false) || (textValue == "") )
        {
        editReturn = editId ;
        }
    return editReturn ;
    }

