// JavaScript Document
var last_id = 0;
var cur_id = 0;

var last_id_teacher = 0;
var cur_id_teacher = 0;


var win_open = false;

var no_schools = false;
var teacher_selected = false;
//************************************************************************************************************
function jsf_ShowObj(obj, action)
{
	if(action == "yes")
	 {
		 	if(obj)
			{
				document.getElementById(obj).style.display='block';
			}
	 }
	else
	 {
		 	if(obj)
			{
				document.getElementById(obj).style.display='none';
			}
	 }
}

//************************************************************************************************************
function jsf_ShowObj(obj, action)
{
	if(action == "yes")
	 {
		 	if(obj)
			{
				document.getElementById(obj).style.display='block';
			}
	 }
	else
	 {
		 	if(obj)
			{
				document.getElementById(obj).style.display='none';
			}
	 }
}
//************************************************************************************************************
function fnShowAddPanel_Class(obj)
{
	var _mode = document.getElementById('ajax_mode').value;
	
	if(_mode == "district" && teacher_selected == false && obj == "new_class")
	 {
			alert('Add class is not available; you must select a teacher first');
			return;
	 }
	
	if(document.getElementById(obj).className == "new_class")
	 {
		document.getElementById(obj).className = "new_class_add";
		document.getElementById('class_data').style.display="none";
	 }
	else
	 {
		 document.getElementById(obj).className = "new_class";
		 document.getElementById('class_data').style.display="block";
	 }
}
//************************************************************************************************************
function fnShowAddPanel_District(obj)
{
	var _mode = document.getElementById('ajax_mode').value;
	

	if(document.getElementById(obj).className == "new_class")
	 {
		document.getElementById(obj).className = "new_class_add";
		document.getElementById('district_data').style.display="none";
	 }
	else
	 {
		 document.getElementById(obj).className = "new_class";
		 document.getElementById('district_data').style.display="block";
	 }
}

//************************************************************************************************************
function fnShowAddPanel_School(obj)
{
	var _mode = document.getElementById('ajax_mode').value;
	
	if(_mode == "district" && teacher_selected == false && obj == "new_class")
	 {
			alert('Add class is not available; you must select a teacher first');
			return;
	 }
	
	if(document.getElementById(obj).className == "new_school")
	 {
		document.getElementById(obj).className = "new_school_add";
		document.getElementById('school_data').style.display="none";
	 }
	else
	 {
		 document.getElementById(obj).className = "new_school";
		 document.getElementById('school_data').style.display="block";
	 }
}

//************************************************************************************************************
function fnShowAddPanel_Student(obj)
{
	var _mode = document.getElementById('ajax_mode').value;
	
	if(_mode == "district" && teacher_selected == false && obj == "new_class")
	 {
			alert('Add class is not available; you must select a teacher first');
			return;
	 }
	
	if(document.getElementById(obj).className == "new_student")
	 {
		document.getElementById(obj).className = "new_student_add";
		document.getElementById('student_list').style.display="none";
		document.getElementById('scores_data').style.display="none";
	 }
	else
	 {
		 document.getElementById(obj).className = "new_student";
		 document.getElementById('student_list').style.display="block";
		 document.getElementById('scores_data').style.display="block";
	 }
}

// ***********************************************************************************************************
function fnOpenViedo()
{
		var _url = "http://www.google.com";
		settings="toolbar=no,location=no,status=yes,member=no,scrollbars=yes,resizable=yes,width=1000,height=700,left=100,top=125";
		window.open(_url ,'Viedo',settings);
}	
// ***********************************************************************************************************
function fnPopOpen(_url)
{
		settings="toolbar=no,location=no,status=yes,member=no,scrollbars=yes,resizable=yes,width=1000,height=700,left=100,top=125";
		window.open(_url ,'ACCEL_DATA',settings);
}
// ***********************************************************************************************************
function fnValidateDate(obj)
{
	var validformat=/^\d{2}\/\d{2}\/\d{4}$/ //Basic check for format validity
	var returnval=false
	if (!validformat.test(obj.value))
	{
		alert("Invalid Date Format. Please correct and submit again.")
		obj.value = '';
	}
	else
	{
		//Detailed check for valid date ranges
		var monthfield=obj.value.split("/")[0]
		var dayfield=obj.value.split("/")[1]
		var yearfield=obj.value.split("/")[2]
		var dayobj = new Date(yearfield, monthfield-1, dayfield)
		
		if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield))
		{
			alert("Invalid Day, Month, or Year range detected. Please correct and submit again.")
			obj.value = '';
		}
	}
}
// ************************************************************************************************************
function fnClearAddNewClass()
{
		var _mode = document.getElementById('ajax_mode').value;
		if(_mode == "school")
		{
			document.getElementById('new_title').value = "";
			document.getElementById('new_grade').value = "";
			document.getElementById('new_notes').value = "";
		}
		else
		{
			document.getElementById('new_title_district').value = "";
			document.getElementById('new_grade_district').value = "";
			document.getElementById('new_notes_district').value = "";
		}
}
// ************************************************************************************************************
function fnClearAddNewSchool()
{
	document.getElementById('new_title').value = "";	
}
// ************************************************************************************************************
function fnClearAddNewDistrict()
{
	document.getElementById('district').value = "";
}	
// ************************************************************************************************************
function fnClearAddNewStudent()
{
		document.getElementById('new_student_firstname').value = "";
		document.getElementById('new_student_lastname').value = "";
		document.getElementById('new_student_dob').value = "";
	
}
// ************************************************************************************************************
function fnValidateGender(obj)
{
	var _gender = document.getElementById(obj);

	_gender.value = _gender.value.toUpperCase();
	
	if(_gender.value == "M" || _gender.value == "F")
	 {
		return true;
	 }
	 else
	 {
		 
		alert('Invalid gender code. Only M or F are allowed');
		document.getElementById(obj).value = '';
		return;
	 }
	
	
}
// ************************************************************************************************************
function fnValidateNumeric(obj, lbl)
{
	var _field	= document.getElementById(obj).value;
	if(!IsNumeric(_field))
	 {
		alert(lbl + ' must be numeric.');
		document.getElementById(obj).value = '0';
		return;
	 }
}
// ************************************************************************************************************
function fnValidateGrade(obj)
{
	var grade = document.getElementById(obj).value;
	
	if(IsNumeric(grade))
	 {
		if(grade > 12 || grade < 0)
		 {
			alert('Grades can only have values between 1 and 12');
			document.getElementById(obj).value = '';
			return;
		 }
		else
		 {
			return true;	 
		 }
		
	 }
	else
	 {
		alert('Grade must be numeric and between 1-12');
		document.getElementById(obj).value = '';
		return;
	 }
}
// ************************************************************************************************************
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) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
}
// ************************************************************************************************************
function fnApplyMask(str,textbox,loc,delim)
{
var locs = loc.split(',');
for (var i = 0; i <= locs.length; i++)
{
	for (var k = 0; k <= str.length; k++)
	{
	 if (k == locs[i])
	 {
	  if (str.substring(k, k+1) != delim)
	  {
	    str = str.substring(0,k) + delim + str.substring(k,str.length)
	  }
	 }
	}
 }
textbox.value = str
}
// ************************************************************************************************************
function fnDisplaySysMsg(_msg)
{
	var msg_div = '<div class="loading">' + _msg + '</div>';
	return msg_div;
}
// ************************************************************************************************************
function fnCalcBMI(_ht, _pnds, _target)
{
	var __ht = document.getElementById(_ht).value;
	var height = __ht.split("`");
	
	var feet = height[0];
	var inches = height[1];
	var pounds = document.getElementById(_pnds).value;
	
	//alert('feet ' + feet);
	//alert('inches ' + inches);
	//alert('pounds ' + pounds);
	

	 TotalInches = eval(feet*12) + eval(inches)
	 Meters      = TotalInches/39.36
	 Kilos       = pounds/2.2
	 Square      = Meters * Meters
	 document.getElementById(_target).value = eval(Kilos/Square);
}
// ************************************************************************************************************
function fnSelectRow(_id)
{
		if(cur_id == 0)
		 {
			cur_id = _id;
			last_id = _id;
			document.getElementById(cur_id).className = "class_selected";
		 }
		else
		 {
			last_id = cur_id;
			cur_id = _id;
			document.getElementById(last_id).className="";
			document.getElementById(cur_id).className = "class_selected";
		 }
	
}
// ************************************************************************************************************
function fnSelectRowTeacher(_id)
{
		teacher_selected=true;
		
		if(cur_id_teacher == 0)
		 {
			cur_id_teacher = _id;
			last_id_teacher = _id;
			document.getElementById(cur_id_teacher).className = "class_selected";
		 }
		else
		 {
			last_id_teacher = cur_id_teacher;
			cur_id_teacher = _id;
			document.getElementById(last_id_teacher).className="";
			document.getElementById(cur_id_teacher).className = "class_selected";
		 }
		 
	
}
// ************************************************************************************************************
function fnGetSelectedSchools(_dir)
{
  var schools = window.opener.document.getElementsByName('SCHOOLS');
  var schools_list = "";
  
  for (d = 0; d < schools.length; d++)
    {
	  if(schools[d].checked==true)
	   {
	  	  if(_dir == "on")
	   		{
	  			if(schools_list.length == 0)
		 			{
						schools_list = schools[d].value ;
		 			}
		 		else
		 			{
			 			schools_list += "|" + schools[d].value ;
		 			}
					document.getElementById('new_schools_list').value = schools_list + "|";   
			}
	  	   else
	  		{
				schools[d].checked = false;	
			}
	   }
	}
	
}
// ************************************************************************************************************
function fnChangeAJAXMode(_mode)
{
	document.getElementById('ajax_mode').value = _mode;		
}
// ************************************************************************************************************
function fnPrepDistrictDIVS()
{
	document.getElementById('teacher').innerHTML = "";
	document.getElementById('stu').innerHTML = "";
	document.getElementById('class_data').innerHTML = "";
	document.getElementById('stu_data').innerHTML = "";
	
}
// ************************************************************************************************************
function fnCheckForSelectedSchools()
{
  var schools = window.opener.document.getElementsByName('SCHOOLS');
  var selected = 0;
  for (d = 0; d < schools.length; d++)
    {
	  if(schools[d].checked==true)
	   {
			selected++;
	   }
	}
	if(selected == 0)
	 {
		no_schools = true; 
		alert('You must select at least one school before attmpting to add a teacher');
		self.close();
		return;
	 }
}
// ************************************************************************************************************
function fnSetAccelScoreSaveMode(_mode)
{
	document.getElementById('mode').value=_mode	;
}
// ************************************************************************************************************
function fnGetNewFields(_table)
{
	var JF_FIELDS =document.getElementsByName('GEN_FIELED');
	document.getElementById('SQL_CHANGE').value = "";
	
	var JF_CURRENT= 0;
	for(var f=0; f<=JF_FIELDS.length; f++)
	 {
		if(JF_FIELDS[f])
		{
			JF_CURRENT = JF_FIELDS[f].value;
			for(var g=f+1; g<=JF_FIELDS.length; g++)
			 {
				if(JF_FIELDS[g])
				{
					if(JF_FIELDS[g].value === JF_CURRENT && JF_FIELDS[g].value != "SKIP")
					 {
						alert("Duplicate Fields");
						return;
					 }
				}
			 }
		}
	 }
	 
	 for(var x=0; x<=JF_FIELDS.length; x++)
	  {
		  	if(JF_FIELDS[x])
			{
				if(JF_FIELDS[x].value == "Field")
				 {
					alert('Invalid field name');
					return;
				 }
			}
	  }
	 
	 
	 var SQL_TEXT = document.getElementById('SQL_CHANGE').value;
	 for(var s=0; s<=JF_FIELDS.length; s++)
	  {
		  
			if(JF_FIELDS[s])
			 {
				if(JF_FIELDS[s].value == "SKIP")
				 {
					
				 }
				else
				 {
					 if(JF_FIELDS[s].value == "Field_" +s)
					 {
						 alert(JF_FIELDS[s].value);
						 	alert('Invalid field name');
							return;
					 }
					else
					 {
							if(SQL_TEXT.length == 0)
							 {
								SQL_TEXT = "ALTER TABLE " + _table + "  CHANGE `" + JF_FIELDS[s].id + "` `" + JF_FIELDS[s].value + "` VARCHAR( 50 ) NOT NULL"	;	 
							 }
							else
							 {
								 SQL_TEXT += ", CHANGE `" + JF_FIELDS[s].id + "` `" + JF_FIELDS[s].value + "` VARCHAR( 50 ) NOT NULL"	
							 }
					 }
				 }
			 }
	  }
	  document.getElementById('SQL_CHANGE').value = SQL_TEXT;
	  ajax_CompleteUpload(_table);
}
// ************************************************************************************************************
function $(v) { return(document.getElementById(v)); }
function agent(v) { return(Math.max(navigator.userAgent.toLowerCase().indexOf(v),0)); }
function xy(e,v) { return(v?(agent('msie')?event.clientY+document.body.scrollTop:e.pageY):(agent('msie')?event.clientX+document.body.scrollTop:e.pageX)); }

function dragOBJ(d,e) {

	function drag(e) { if(!stop) { d.style.top=(tX=xy(e,1)+oY-eY+'px'); d.style.left=(tY=xy(e)+oX-eX+'px'); } }

	var oX=parseInt(d.style.left),oY=parseInt(d.style.top),eX=xy(e),eY=xy(e,1),tX,tY,stop;

	document.onmousemove=drag; document.onmouseup=function(){ stop=1; document.onmousemove=''; document.onmouseup=''; };

}
