// JavaScript Document
// Created Gene Kilchenko 08.01.2006 Javascript functions for Homework Help Progect


function openNewWin(url) {
  var winWidth = screen.availWidth;
  var winHeight = screen.availHeight;
  var features = "width=" + winWidth + ", height=" + winHeight + ", top=0, left=0, location=Yes, menubar=Yes, resizable=Yes, scrollbars=Yes, status=Yes, toolbar=Yes"; 
  newWin = window.open(url, "", features);
	
}


function dateValidate(obj) {
    var alrt ="Please input date in valid format - mm/dd/yyyy!";
    var testresult=false;
    var n = obj.value;
	if (n != '') {
        var filter=/(^\d{2}\/{1}\d{2}\/{1}\d{4})/;
        if (filter.test(n))
        testresult=true;
        else {
          alert(alrt);
        }
	} else { alert(alrt); } 	
    return (testresult);
}

function gradeCheck() {
   boxSet=document.assignment_form.grade_box;
      
   var set=" ";
//   var firstComa = true;
   for (i=0; i<boxSet.length; i++) {
      if ( boxSet[i].checked ) {	  
//	     if ( firstComa == true ) firstComa = false; else set = set + ',';
	     set = set + boxSet[i].value+ ', ';	
	  }     	 
   }

   document.assignment_form.Grade.value = set;
}

function annulCheck(n) {
   if ( n.checked == true ) {
      document.assignment_form.Annual.value='yes';
	  } else {
      document.assignment_form.Annual.value='no';	  
	  }
}

function postCheck(n) {
   if ( n.checked == true ) {
      document.assignment_form.Post.value='yes';
	  } else {
      document.assignment_form.Post.value='no';	  
	  }
}

//----------------- Text Max Lemngth check ------------------------------//
function textCounter( field, countfield, maxlimit ) {
  if ( field.value.length > maxlimit )
  {
    field.value = field.value.substring( 0, maxlimit );
    alert( 'Textarea value can only be ' + maxlimit + ' characters in length.' );
    return false;
  }
  else
  {
    countfield.value = maxlimit - field.value.length;
  }
}

function textCount(textobj, textlenobj, n) {
   textCounter(textobj, textlenobj, n);	
}
//--------------------------------------------------------------------//

function validateAssignmentForm(formobj) {
    var arrFields = new Array();
	var arrAlerts = new Array();
 
        arrFields.push('NameFull', 'School', 'Email', 'Phone', 'grade_box', 'Subject', 'NofStudents', 'DateStart', 'DateDue', 'Title', 'Description', 'Materials');
	    arrAlerts.push('Please fill out Name field!', 'Please select your school!', 'Please fill out E-mail field!', 'Please fill out Telephone field!', 'Please select one or more grade!', 'Please fill out Subject field!',  'Please answer question: "About how many students will have this assignment?"', 'Please fill out Date assignment start field!', 'Please fill out Date assignment due field!', 'Please fill out Title field!', 'Please fill out Description field!', 'Please answer question: "What sorts of materials would you like us to hold for your students?"');

	var alertMsg = "";	
	var l_Msg = alertMsg.length;

	for (var i = 0; i < arrFields.length; i++){
		var obj = formobj.elements[arrFields[i]];
		if (obj){
			switch(obj.type){
			case "select-one":
				if (obj.selectedIndex == -1 || obj.selectedIndex == 0){
					alertMsg += arrAlerts[i] + "\n";
				}
				break;
			case "select-multiple":
				if (obj.selectedIndex == -1){
					alertMsg += arrAlerts[i] + "\n";
				}
				break;
			case "text":
			case "textarea":
				if (obj.value == ""){
					alertMsg += arrAlerts[i] + "\n";
				}
				break;
			default:
			}
			if (obj.type == undefined){
				var blnchecked = false;
				for (var j = 0; j < obj.length; j++){
					if (obj[j].checked){
						blnchecked = true;
					}
				}
				if (!blnchecked){
					alertMsg += arrAlerts[i] + "\n";
				}
			}
		}
	}

	if (alertMsg.length != l_Msg){
		alert(alertMsg);
		return false;
	}
	
// validate e-mail
       var n = formobj.Email.value;
	   if (n != "") {
          var filter=/^([\w-]+\.?)*\w+@([\da-zA-z-]+\.)+[a-zA-z]{2,6}$/;		
          if (!filter.test(n)) {
              alert("Please input a valid email address!");
		      return false; 
	      }
       } 
	   
// validete phone
    var n = formobj.Phone.value;
	if (n != "") {
	   var anum=/\((\d{3})\)(\d{7})/;
	   if (!anum.test(n)) {
	      alert("Please re-enter phone number to valid format! E.g. (702)1111111");
		  return false;
	   }
	}

// validete Fax
    var n = formobj.Fax.value;
	if (n != "") {
	   var anum=/\((\d{3})\)(\d{7})/;
	   if (!anum.test(n)) {
	      alert("Please re-enter phone number to valid format! E.g. (702)1111111");
		  return false;
	   }
	}
	
// validete number of students
    var n = formobj.NofStudents.value;
	if (n != "") {
	   var anum=/\d/;
	   if (!anum.test(n)) {
	      alert('Please answer question: "About how many students will have this assignment?"');
		  return false;
	   }
	}

// validete date assignment start
    var n = formobj.DateStart.value;
	if (n != "") {
	   var anum=/(\d{2})\/(\d{2})\/(\d{4})/;
	   if (!anum.test(n)) {
	      alert('Please re-enter Date assignment start to valid format E.g. 01/01/2007!');
		  return false;
	   }
	}
	
// validete date assignment start
    var n = formobj.DateDue.value;
	if (n != "") {
	   var anum=/(\d{2})\/(\d{2})\/(\d{4})/;
	   if (!anum.test(n)) {
	      alert('Please re-enter Date assignment due to valid format E.g. 01/01/2007!');
		  return false;
	   } return true;
	}
}

function validateSearchForm(formobj) {

// validete date assignment start
    var n = formobj.sd.value;
	if (n != "") {
	   var anum=/(\d{2})\/(\d{2})\/(\d{4})/;
	   if (!anum.test(n)) {
	      alert('Please re-enter Date assignment start to valid format E.g. 01/01/2007!');
		  return false;
	   }
	}
	
// validete date assignment start
    var n = formobj.dd.value;
	if (n != "") {
	   var anum=/(\d{2})\/(\d{2})\/(\d{4})/;
	   if (!anum.test(n)) {
	      alert('Please re-enter Date assignment due to valid format E.g. 01/01/2007!');
		  return false;
	   } return true;
	}
}

function changeStar(direction, starClass, rowNum) {
	document.getElementById(starClass+rowNum).className=starClass+direction;
	
}
