function populateDivCatLev(Div,Cat,Lev) {
    var selectDiv = document.getElementById("Division_ID");
    var selectCat = document.getElementById("Category_Num");
    var selectLev = document.getElementById("Level");
    selectDiv.disabled = false;
    selectCat.disabled = false;
    selectLev.disabled = false;
    var i;
    var divIndex;
    //=================Populate Division_ID======================
    selectDiv.options.length = 0;
    selectDiv.options.length = Categories.length;
    
    for (i=0;i<Categories.length-1;i++) {
        selectDiv.options[i] = new Option(Categories[i][0]);
        if (Categories[i][0] == Div) {
            selectDiv.selectedIndex = i;
            divIndex = i;
        } 
    }
    
    //=================Populate Category_Num======================
    var Divisions = Categories[divIndex];
    selectCat.options.length = 0;
    selectCat.options.length = Divisions.length;
    for (i=1;i<=Divisions.length;i++) {
        selectCat.options[i] = new Option(Categories[divIndex][i]);
        if (Categories[divIndex][i] == Cat) {
            selectCat.selectedIndex = i;
        }
    }
    
    //=================Populate Levels===========================
    selectLev.options.length = 0;
    selectLev.options.length = Levels.length;
    for (i=0;i<Levels.length-1;i++) {
        selectLev.options[i] = new Option(Levels[i]);
        if (Levels[i] == Lev) {
            selectLev.selectedIndex = i;
        }
    }
}

function toggleGroupProjectNames(form) {
    if (document.getElementById("GroupProject").checked == true) {
        document.getElementById("GroupProjectNames").disabled = false;
    } else {
        document.getElementById("GroupProjectNames").disabled = true;
    }
}
function toggleDiv(div) {
  var elem, vis;
  if( document.getElementById ) // this is the way the standards work
    elem = document.getElementById(div);
  else if( document.all ) // this is the way old msie versions work
      elem = document.all[div];
  else if( document.layers ) // this is the way nn4 works
    elem = document.layers[div];
  vis = elem.style;
  // if the style.display value is blank we try to figure it out here
  if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined)
    vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none';
  
  if (vis.display==''||vis.display=='block') {
    vis.display = 'none';
    document.getElementById("imgDisplay").src = "images/plus.gif"
    document.getElementById("displayRegisterProject").value = "none";
  } else {
    vis.display = 'block';
    document.getElementById("imgDisplay").src = "images/minus.gif"
    document.getElementById("displayRegisterProject").value = "block";
  }
}

function toggleDivPersist(hideDiv,showDiv,cookieName,cookieValue,Days) {
  function createCookie(name,value,days){
   	if (days){
   		var date = new Date();
   		date.setTime(date.getTime()+(days*24*60*60*1000));
   		var expires = "; expires="+date.toGMTString();
   	}
   	else var expires = "";
   document.cookie = name + "=" + value + expires;
  }
  var elemH, visH, elemS, visS;
  if( document.getElementById ) // this is the way the standards work
    elemH = document.getElementById(hideDiv);
  else if( document.all ) // this is the way old msie versions work
      elemH = document.all[hideDiv];
  else if( document.layers ) // this is the way nn4 works
    elemH = document.layers[hideDiv];
  visH = elemH.style;
  visH.display = 'none';
  if( document.getElementById ) // this is the way the standards work
    elemS = document.getElementById(showDiv);
  else if( document.all ) // this is the way old msie versions work
      elemS = document.all[showDiv];
  else if( document.layers ) // this is the way nn4 works
    elemS = document.layers[showDiv];
  visS = elemS.style;
  visS.display = 'block';
  createCookie(cookieName,cookieValue,Days);
}
function populateNewProject(First_Name,Last_Name,Grade,HideDiv,ShowDiv,EditDiv,CookieName,CookieValue,Days) {
    toggleDivPersist(HideDiv,ShowDiv,CookieName,CookieValue,Days);
    //toggleDivPersist(EditDiv,EditDiv,CookieName,'N',Days);
    document.getElementById("FirstName").value = First_Name;
    document.getElementById("LastName").value = Last_Name;
    
    var index;
    if (IsNumeric(Grade)) {
        index = eval(Grade) + 1;
        document.getElementById("Grade").selectedIndex = index;
        document.getElementById("logo").focus();
        window.scrollTo(0,50);
    } else if (Grade == "K") {
        index = 1;
        document.getElementById("Grade").selectedIndex = index;
        document.getElementById("logo").focus();
        window.scrollTo(0,50);
    } else if (Grade == "FT") {
        index = 14;
        document.getElementById("Grade").selectedIndex = index;
        document.getElementById("logo").focus();
        window.scrollTo(0,50);
    } else {
        index = 0;
        alert("Error: not able to populate 'Grade'.  Please enter your grade before continuing.");
        document.getElementById("Grade").focus();
        window.scrollTo(0,0);
    }
    document.getElementById("FirstName").focus();
}

function populateExistingProject(First_Name,Last_Name,Grade,Div_ID,Cat_Num,Level,Description,NumPieces,PartsNotMade,
                                 Group,GroupProjectNames,HideDiv,ShowDiv,EditDiv,CookieName,CookieValue,Days) {
    populateNewProject(First_Name,Last_Name,Grade,HideDiv,ShowDiv,EditDiv,CookieName,CookieValue,Days);
//    populateDivCatLev(Div_ID,Cat_Num,Level);
    //toggleDivPersist(EditDiv,EditDiv,'ShowEditText','N',8);
    document.getElementById("Division_ID").selectedValue = Div_ID;
    document.getElementById("Division_ID").disabled = false;
    document.getElementById("Category_Num").selectedValue = Cat_Num;
    document.getElementById("Category_Num").disabled = false;
    document.getElementById("Level").selectedValue = Level;
    document.getElementById("Level").disabled = false;
    document.getElementById("Description").value = Description;
    document.getElementById("NumPieces").value = NumPieces;
    document.getElementById("PartsNotMadeByStudent").value = PartsNotMade;
    document.getElementById("GroupProject").checked = Group;
    document.getElementById("GroupProjectNames").disabled = !Group;
    if (Group) {
        document.getElementById("GroupProjectNames").value = GroupProjectNames;
    } else {
        document.getElementById("GroupProjectNames").value = '';
    }
    document.getElementById("Description").focus();
}

function checkAll(){
  for (i=0; i<document.forms[1].length; i++)
     if(document.forms[1].elements[i].type=="checkbox") document.forms[1].elements[i].checked = true
  //alert('all checked')
}
function fillFilterString(){
  var filterString = document.getElementById("filterString")
  filterString.value = ""
  for (i=0; i<document.forms[0].length; i++) {
     var elem = document.forms[0].elements[i];
     if(elem.name=="select") {
        if (elem.checked == true) {
            if (filterString.value != "") {
                filterString.value += ","
            }
            filterString.value += elem.value;
        }
     }
  }
  var Teacher_ID;
  Teacher_ID = document.getElementByID('Teacher_ID').value;
  window.location.href="studentsWProjectsFiltered.php?Teacher_ID=" + Teacher_ID + "filterList=" + filterString.value;
}

  //alert('all checked')
function clearAll(){
  for (i=0; i<document.forms[1].length; i++)
     document.forms[1].elements[i].checked = false
  //alert('all cleared')
}
/*splayRegisterProject() {
    if (document.getElementById("registerProject").display == "none") {
        alert("here");
        document.getElementById("displayRegisterProject").value = "block";
        document.getElementById("registerProject").display = "block";
    } else {
        alert("here now");
        document.getElementById("displayRegisterProject").value = "none";
        document.getElementById("registerProject").display = "none";
    }
} */
function srCheck(form) {
    //alert("Description: " + form.Description.value);
    //alert("Num Pieces: " + form.NumPieces.value);
    //alert("PartsNotMadeByStudent: " + form.PartsNotMadeByStudent.value);
    if (form.FirstName.value == "") {
       alert("Please enter your First Name.");
       form.FirstName.focus();
       return false;
    } else if (form.LastName.value == "") {
       alert("Please enter your Last Name.");
       form.LastName.focus();
       return false;   
    } else if (form.Grade.selectedIndex == 0) {
       alert("Please select your grade level or 'FT' for Future Teacher.");
       form.Grade.focus();
       return false;
    } else if (form.Division_ID.selectedIndex == 0) {
       alert("Please select a category");
       form.Division_ID.focus();
       return false;
    } else if (form.Category_Num.selectedIndex == 0) {
        alert("Please select a category number");
        form.Category_Num.focus();
        return false;
    } else if (form.Level.selectedIndex == 0) {
        alert("Please select a level");
        form.Level.focus();
        return false;
    } else if (form.Description.value == "") {
       alert("Please enter a Project Description");
       form.Description.focus();
       return false;
    } else if (form.NumPieces.value == "") {
       alert("Please enter the number of pieces");
       form.NumPieces.focus();
       return false;   
    } else if (!IsNumeric(form.NumPieces.value)) {
       alert("You must enter a number for number of pieces");
       form.NumPieces.focus();
       return false;
    } else if (form.PartsNotMadeByStudent.value == "") {
        alert("Please enter a list of the parts not made by the student registering");
        form.PartsNotMadeByStudent.focus();
        return false;
    } else if (form.GroupProject.checked == false && form.Category_Num.value == "GP") {
        alert("If this is a group project (Category = GP) then you should also check the Group Projects checkbox and enter additional student names in Group Project Names.");
        form.Category_Num.focus();
        return false;
    } else if (form.GroupProject.checked == true && form.Category_Num.value != "GP" && form.Division_ID.value != "AT" && form.Division_ID.value != "CT") {
        alert("If this is a group project, choose Category GP (except in Division AT and CT).");
        form.Category_Num.focus();
        return false;
    } else if (form.GroupProject.checked == true && form.GroupProjectNames.value == "") {
        alert("If this is a group project, please enter one student name at the top of the form(firstname lastname), and remaining members of the group in Group Project Names (ex: John Doe, Jane Smith).");
        form.GroupProjectNames.focus();
        return false;
    }
    return true;     
}
function divChange() {
    document.getElementById("Category_Num").disabled = false;
    document.getElementById("Level").disabled = true;
    var form = document.getElementById("studentRegistration");
    form.setAttribute('action','studentRegistration.php');
    form.submit();
}
function catNumChange() {
    document.getElementById("Level").selectedIndex = 0;
    var form = document.getElementById('studentRegistration');
    form.setAttribute('action','studentRegistration.php');
    form.submit();
}
function LevNumChange() {
    //document.getElementById("Project").submit();
    var form = document.getElementById('studentRegistration');
    form.setAttribute('action','studentRegistration.php');
    form.submit();
}

function check(form) {
     if (form.Division_ID.options[form.Division_ID.selectedIndex].value == '') {
        alert("Please select a Division");
        form.Division_ID.focus();
        return false;
    } 
     if (!form.Category_Num.disabled) {
        if (form.Category_Num.options[form.Category_Num.selectedIndex].value == '') {
            alert("Please select a Category Number");
            form.Category_Num.focus();
            return false;
        }
    }
    if (!form.Level.disabled) {
        if (form.Level.options[form.Level.selectedIndex].value == '') {
            alert("Please select a level (A,B,C,D,E,U)");
            form.Level.focus();
            return false;
        }
    }
    if (form.Description.value == "") {
        alert("Please enter a description.");
        form.Description.focus();
        return false;   
     } else if (form.NumPieces.value == "") {
        alert("Please select the number of pieces in your project.");
        form.NumPieces.focus();
        return false;
     } else if (!IsNumeric(form.NumPieces.value)) {
        alert("Number of pieces must be a number.");
        form.NumPieces.focus();
        return false;
     } else if (form.PartsNotMadeByStudent.value == "") {
        alert("Please enter the parts not made by you.");
        form.PartsNotMadeByStudent.focus();
        return false;
     }
    return true;
}
function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
   { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
      {
        return false;
      }
   }
   return true;
}
function trim(stringToTrim) {
    return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
    return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
    return stringToTrim.replace(/\s+$/,"");
}
function toggleIndividualProject(IndividualProject) {
    var form = document.getElementById("Project");
    var division_id = document.getElementById("Division_ID");
    var category_num = document.getElementById("Category_Num");
    var individual_project = document.getElementById("IndividualProject");
    var group_project_names = document.getElementById("GroupProjectNames");
    if ((division_id.selectedIndex==0) || (category_num.disabled==true) ||
        (division_id.disabled==true) || (category_num.selectedIndex==0)) {
        individual_project.checked = true;
        individual_project.disabled = false;
        group_project_names.disabled = true;
    } else {
        var division = division_id[division_id.selectedIndex].value;
        //var category = form.Category_Num[form.Category_Num.selectedIndex].value;
        var category = division + "-" + category_num[category_num.selectedIndex].value;
        //alert(document.getElementById("Project").Division_ID.selectedIndex);
        //var division = document.getElementById("Division_ID")[document.getElementById("Division_ID").selectedIndex].value;
        //var category_num = document.getElementById("Category_Num")[document.getElementById("Category_Num").selectedIndex].value;
        
        var group_project_names = document.getElementById("GroupProjectNames");
        //alert("here");
        individual_project.checked = IndividualProject;
        group_project_names.disabled = individual_project.checked;
        
        //alert("groupprojectnames=" + group_project_names.disabled);
        //alert("individualproject=" + individual_project.checked);
                                                                 
        
        //Group Project Only
        if (category == "CT-1") {
            document.getElementById("IndividualProject").checked = false;   
            document.getElementById("IndividualProject").disabled = true;
            document.getElementById("GroupProjectNames").disabled = false;
        }
        //Individual Project Only
        else if  ((category == "AT-4") || (category == "AT-5") || (category == "AT-6") ||
                    (category == "AT-7")) {
            document.getElementById("IndividualProject").checked = true;   
            document.getElementById("IndividualProject").disabled = true;
            document.getElementById("GroupProjectNames").text = "";
            document.getElementById("GroupProjectNames").disabled = true;
        }
        //Either Individual or Project
        else {
            document.getElementById("GroupProjectNames").disabled = document.getElementById("IndividualProject").checked;
            /*if (IndividualProject == true) {
            //if (document.getElementById("IndividualProject").checked == true) {
                document.getElementById("IndividualProject").checked = true;
                document.getElementById("GroupProjectNames").disabled = true;
            } else {
                document.getElementById("IndividualProject").checked = false;
                document.getElementById("GroupProjectNames").disabled = false;
            } */
            /*
            individual_project.disabled = false;    
            if (IndividualProject == true) {
                group_project_names.disabled = true;
                individual_project.checked = true;
            } else {
                group_project_names.disabled = false;
                individual_project.checked = false;
            } */
        }
    }
}
function doNothing() {

}
function validatePlace(txtField) {
   /* alert('invalidatePlace');
    if (!isValidCategory()) {
        alert('Please enter a valid Category.  This number should be scanned from the header of the category you are entering results for from the regional judging list.'); 
        //The setTimeout fixes a stupid bug existent in FireFox that doesn't fire these
        //two events properly.
        setTimeout("document.getElementById('Category').select();",1);
        setTimeout("document.getElementById('Category').focus();",1);
        //Results.Category.focus();  
        return false;
    } else {*/
        var strProjectID = trim(txtField.value);
        var blnWarn = document.getElementById("chkWarn").checked;
        if (IsNumeric(strProjectID) && (strProjectID != "") &&
            (blnWarn? projectRegisteredInCategory(txtField):true)) {
            if (txtField.name == "place10") {
                document.getElementById("btnContinue").focus();
            } else {
                var num = txtField.name.substring(5);
                Field = "place" + eval(parseInt(num)+1)
                //The setTimeout fixes a stupid bug existent in FireFox that doesn't fire 
                //these two events properly.
                setTimeout('document.getElementById(Field).focus();',1);
                document.getElementById(Field).select();
                //setTimeout('document.getElementById(Field).select();',1);
            }
        return true;
        } else {
            Field = txtField;
            //alert(Field.name.substring(5));
            var place = Field.name.substring(5);
            if (place=="1") {
                place = place + "st";
            } else if (place=="2") {
                place = place + "nd";
            } else if (place=="3") {
                place = place + "rd";
            } else {
                place = place + "th";   
            }
            alert("The value you have entered is not a valid Project ID. Please scan the barcode now next to the winning project for " + place + " place.");
            //Field.value = "";
            setTimeout("Field.select();",1);
            setTimeout("Field.focus();",1);
            return false;
        }
   /* }*/
 }
 function isValidCategory() {
    //alert("in isValidCategory");
    var C;
    for (C in Categories) {
        var cat = document.getElementById("Category").value;
        if (Categories[C].toUpperCase() == cat.toUpperCase()) {
            //document.getElementById("place1").focus();
            document.getElementById("place1").select();
            blnCategoryOK = true;
            //alert("returning true");
            return true;
        }
    }
    //alert("returning false");
    return false;
 }
 /*function validateCategory() {
    alert("in validateCategory()");
    if (isValidCategory()) {
        //alert("Here with " + txtField.name + " textfield value: " + txtField.value);
        return true;
    } else {
        alert('Please enter a valid Category.  This number should be scanned from the header of the category you are entering results for from the regional judging list.'); 
        //The setTimeout fixes a stupid bug existent in FireFox that doesn't fire these
        //two events properly.
        setTimeout("document.getElementById('Category').select();",1);
        setTimeout("document.getElementById('Category').focus();",1);
        //Results.Category.focus();  
        return false;
    }
 } */
 function validateCategory(txtField) {
    alert("in validateCategory(txtField)");
    if (isValidCategory()) {
        //alert("Here with " + txtField.name + " textfield value: " + txtField.value);
        Field = txtField;
        setTimeout("Field.select();",1);
        setTimeout("Field.focus();",1);
        return true;
    } else {
        alert('Please enter a valid Category.  This number should be scanned from the header of the category you are entering results for from the regional judging list.'); 
        //The setTimeout fixes a stupid bug existent in FireFox that doesn't fire these
        //two events properly.
        setTimeout("document.getElementById('Category').select();",1);
        setTimeout("document.getElementById('Category').focus();",1);
        //Results.Category.focus();  
        return false;
    }
 }
 
function projectRegisteredInCategory(txtProject) {
    var strProjectID = ProjectIDs[txtProject.value];
    var strCategory = document.getElementById('Category').value; 
    if (strProjectID == strCategory) {
        return true;
        alert('true');
    } else {
        alert('false');
        return false;
    }
}    

function validate(strSearchString,strSearchPattern) {
    regExp = new RegExp(strSearchPattern,"I");
    alert("in validate with " + strSearchString + ", " + strSearchPattern);
    if (regExp.test(strSearchString)) {
        alert("The string was found.");
    } else {
    alert("No match found.");
    }
}

function cuCheck(form) {
   if (form.myName.value == "") {
       alert("Please enter your name.");
       form.myName.focus();
       return false;
   } else if (form.email.value == "") {
       alert("Please enter your email address.");
       form.email.focus();
       return false;
   } else if (form.Topic.selectedIndex == 0) {
       alert("Please select a Topic");
       form.Topic.focus();
       return false;
   } else if (form.Desc.value == "") {
       alert("Message is blank, please enter your message.");
       form.Desc.focus();
       return false;
   }
 return true;
}