//GPSSearchInputs.js
var CAREERTECHNICALANDAGRICULTURAL = 'Career Technical & Agricultural';
var MODERNLANGUAGESANDLATIN = 'Modern Languages and Latin';

function ToggleAllCheckBoxes(oCheckboxAll, sGradeCheckboxName)
{
	var bChecked = oCheckboxAll.checked;
	var oCheckBoxes = document.getElementsByName(sGradeCheckboxName);
	for(var nIndex = 0; nIndex < oCheckBoxes.length; nIndex++)
		oCheckBoxes[nIndex].checked = bChecked;

}	//end ToggleAllCheckBoxes

function GPSSearchBuildQuerystringStandards(bIncludeAction)
{
	var sKeywords = "";
	var sSubjectID = "";
	var sCognitiveID = "";
	var oGradeCheckboxes = "";
	var sGradeList = "";
	
	if(document.getElementById("gpssiKeywords"))
		sKeywords = document.getElementById("gpssiKeywords").value;
	if(document.getElementById("gpssiSubjectID"))
		sSubjectID  = document.getElementById("gpssiSubjectID").value;
	if(document.getElementById("gpssiCognitiveID"))
		sCognitiveID  = document.getElementById("gpssiCognitiveID").value;
	if(document.getElementsByName("gpssiGradeID"))
		oGradeCheckboxes  = document.getElementsByName("gpssiGradeID");
	
	
	for(var nIndex=0; nIndex < oGradeCheckboxes.length; nIndex++)
	{
		var oNextCheckbox = oGradeCheckboxes[nIndex];
		if (oNextCheckbox.checked)
		{
			if (sGradeList != "")
				sGradeList += ",";
			sGradeList += oNextCheckbox.value;
		}	//end if .checked
	}	//end for nIndex
	
	var sRetval = "gpssiKeywords=" + sKeywords
				+ "&gpssiSubjectID=" + sSubjectID
				+ "&gpssiCognitiveID=" + sCognitiveID
				+ "&gpssiGradeID=" + sGradeList;

	if (bIncludeAction)
		sRetval += "&gpssiAction=SearchStandards";
		
	return sRetval;

}	//end GPSSearchBuildQuerystringStandards


function ShowHideCTAE_Subjects(oSubjectDropDown, sDivName)
{
	var nSubjectID = "";
	var sSubjectText = "";
	var oDivSubjects = "";
	
	if(oSubjectDropDown)
		nSubjectID = oSubjectDropDown.options[oSubjectDropDown.selectedIndex].value;	
		
	if(oSubjectDropDown)
		sSubjectText = oSubjectDropDown.options[oSubjectDropDown.selectedIndex].text;
	
	oDivSubjects = document.getElementById(sDivName);
	
	var ogpssiProgramConcentrationID = ""; 
	var ogpssiCareerPathwayID = ""; 
	var ogpssiCoursesID = "";
	
	switch(sDivName)
	{
		case "CTAE_Subjects":
			ogpssiProgramConcentrationID = document.getElementsByName("gpssiProgramConcentrationID");
			ogpssiCareerPathwayID = document.getElementsByName("gpssiCareerPathwayID");
			ogpssiCoursesID = document.getElementsByName("gpssiCoursesID");			
			break;
		case "CTAE_Subjects_Resource":
			ogpssiProgramConcentrationID = document.getElementsByName("gpssirProgramConcentrationID");
			ogpssiCareerPathwayID = document.getElementsByName("gpssirCareerPathwayID");
			ogpssiCoursesID = document.getElementsByName("gpssirCoursesID");		
			break;
	}
	
	if(sSubjectText == CAREERTECHNICALANDAGRICULTURAL)
	{
		oDivSubjects.style.display = "block";				
	}
	else
	{	
		oDivSubjects.style.display = "none";
		if(ogpssiCoursesID[0]) {
			ogpssiCoursesID[0].options.length=0;
		}
			
		if(ogpssiProgramConcentrationID[0]) {
			ogpssiProgramConcentrationID[0].options.length=0;			
		}
		
		if(ogpssiCareerPathwayID[0]) {
			ogpssiCareerPathwayID[0].options.length=0;			
		}		
	}
}


function GetSchoolTypeMaxGrade(sSearchFrom)
{
	var sGradesDiv = "GradesDIV"+sSearchFrom;	
	var oGradesDiv;	
	
	if(document.getElementById(sGradesDiv))
		oGradesDiv = document.getElementById(sGradesDiv);
		
	var oCheckBoxes = getCheckBoxes(oGradesDiv);
		
		for(i=0; i<oCheckBoxes.length; i++)
		{
			var currentGrade = "";
			if(oCheckBoxes[i].checked)
			{
				currentGrade = oCheckBoxes[i].value;
				
			if(currentGrade.toUpperCase() =='KK') currentGrade = 0;
			
			if((currentGrade > -1) && (currentGrade < 6))
				return  5; //"PRIMARY";
			else if((currentGrade > 5) && (currentGrade < 9))
				return 8; //"MIDDLE";
			else if((currentGrade > 8))
				return 12; //"HIGH";
			else
				return "";
			}
		}
}



function IsHighSchool(sSearchFrom)
{
	try
	{
		var bFlg = false;
		var sGradesDiv = "GradesDIV"+sSearchFrom;	
		var sGPSsiSubjectID = "";
		var oGradesDiv;	
		var oGPSsiSubjectID;
		
		if(sSearchFrom=='SearchResources')
		 sGPSsiSubjectID = "gpssirSubjectID";
		else
		 sGPSsiSubjectID = "gpssiSubjectID";
		
		var sSubjectName;
		
		if(document.getElementById(sGPSsiSubjectID)) 
		{
			oGPSsiSubjectID = document.getElementById(sGPSsiSubjectID);
			sSubjectName = oGPSsiSubjectID.options[oGPSsiSubjectID.selectedIndex].text;
		}
		
		if(document.getElementById(sGradesDiv))
			oGradesDiv = document.getElementById(sGradesDiv);
		
		var oCheckBoxes = getCheckBoxes(oGradesDiv);
		
		for(i=0; i<oCheckBoxes.length; i++)
		{
			if(oCheckBoxes[i].value > 5)
			{
				if(oCheckBoxes[i].checked &&  (sSubjectName == CAREERTECHNICALANDAGRICULTURAL))
				{				
					bFlg = true;
					break;
				}
			}
			else
			{		
				bFlg = false;		
			}				
		}
		return bFlg;
	}
	catch(e)
	{
		return false;
	}
}


function AllowValidGradeToCheck(sSearchFrom, oCurrentCheckBox, sGrade)
{
	//alert(sSearchFrom + ' $$ ' + sGrade + ' $$ ' + oCurrentCheckBox.value);
	
	var sGradesDIV="GradesDIV"+sSearchFrom;
	var oGradesDIV="";
	
	oGradesDIV = document.getElementById(sGradesDIV);		
	var oCheckBoxes = getCheckBoxes(oGradesDIV);	
	
	sGrade = (sGrade=='KK')?0:sGrade;	
	var nCurrentCheckBoxValue = (oCurrentCheckBox.value=='KK')?0:oCurrentCheckBox.value;
	for(var i=0; i<oCheckBoxes.length; i++)
	{
		if(nCurrentCheckBoxValue <= 5)
		{	
		
			for(j=6; j<=12; j++)
			{
				if(oCheckBoxes[i].value == j)
					oCheckBoxes[i].checked = false;				
			}				
				
				switch(sSearchFrom)
				{
					case "SearchStandards":
						if(document.getElementById("gpssiProgramConcentrationID"))
							document.getElementById("gpssiProgramConcentrationID").options.length = 0;
							
						if(document.getElementById("gpssiCareerPathwayID"))
							document.getElementById("gpssiCareerPathwayID").options.length = 0;
						
						if(document.getElementById("CTAE_Subjects"))			
							document.getElementById("CTAE_Subjects").style.display = "none";
						break;
					case "SearchResources":
						if(document.getElementById("gpssirProgramConcentrationID"))
							document.getElementById("gpssirProgramConcentrationID").options.length = 0;
							
						if(document.getElementById("gpssirCareerPathwayID"))
							document.getElementById("gpssirCareerPathwayID").options.length = 0;
						
						if(document.getElementById("CTAE_Subjects_Resource"))			
							document.getElementById("CTAE_Subjects_Resource").style.display = "none";					
						break;
				}
		}
		else if((nCurrentCheckBoxValue >= 6) && (nCurrentCheckBoxValue <= 8))
		{
			for(j=0; j<=5; j++)
			{
				var nCheckValue = oCheckBoxes[i].value;
				nCheckValue = (nCheckValue =='KK')?0:nCheckValue;
				if(nCheckValue == j)
					oCheckBoxes[i].checked = false;				
			}	
			for(j=9; j<=12; j++)
			{
				if(oCheckBoxes[i].value == j)
					oCheckBoxes[i].checked = false;				
			}	
		}
		else
		{				
			if((oCheckBoxes[i].value == 'KK')||(oCheckBoxes[i].value <= 8)) 
			{
				oCheckBoxes[i].checked = false;					
			}					
		}
	}	
}
//clearDropdowns('GradesDIV');
function clearDropdowns(sGradesDIV)
{
	var oGradesDIV = document.getElementById(sGradesDIV);		
	var oCheckBoxes = getCheckBoxes(oGradesDIV);	
	var atLeastOneChecked = false;
	for(var i=0; i<oCheckBoxes.length; i++)
	{
		if(oCheckBoxes[i].checked) {
			atLeastOneChecked = true;
			break;
		}		
	}
	
	if(!atLeastOneChecked)		
	{
		if(document.getElementById("gpssiSubjectID"))
				document.getElementById("gpssiSubjectID").options.length = 0;
				
		if(document.getElementById("gpssiProgramConcentrationID"))
				document.getElementById("gpssiProgramConcentrationID").options.length = 0;
				
		if(document.getElementById("gpssiCoursesID"))
				document.getElementById("gpssiCoursesID").options.length = 0;											
	}	
}

function getCheckBoxes(oDivEle)
{
	var oInputs = oDivEle.getElementsByTagName("input");				
	var oCheckBoxes = new Array();
	for(var x = 0; x < oInputs.length; x++)
	{					
		if(oInputs[x].type=="checkbox") 
		{	
			oCheckBoxes.push(oInputs[x]);						
		}
	}
	return oCheckBoxes;
}

function UnCheckAllGrades()
{
  var oGradesDiv;
  var sGradesDiv = 'GradesDIV';
  
  if(document.getElementById(sGradesDiv))
		oGradesDiv = document.getElementById(sGradesDiv);
  
  var oCheckBoxes = getCheckBoxes(oGradesDiv);
  
  for(i=0; i<oCheckBoxes.length; i++)
  {
	oCheckBoxes[i].checked = false;
  }
  
}

function ShowHideCTAE_Subjects_RES(oSubjectDropDown, sDivName)
{
	
	var nSubjectID = "";
	var sSubjectText = "";
	var oDivSubjects = "";
	
	if(oSubjectDropDown)
		nSubjectID = oSubjectDropDown.options[oSubjectDropDown.selectedIndex].value;	
		
	if(oSubjectDropDown)
		sSubjectText = oSubjectDropDown.options[oSubjectDropDown.selectedIndex].text;
	
	oDivSubjects = document.getElementById(sDivName);
	
	var ogpssiProgramConcentrationID = ""; 
	var ogpssiCareerPathwayID = ""; 
	var ogpssiCoursesID = "";
	
	switch(sDivName)
	{
		case "CTAE_Subjects":
				ogpssiProgramConcentrationID = document.getElementsByName("gpssiProgramConcentrationID");
				ogpssiCareerPathwayID = document.getElementsByName("gpssiCareerPathwayID");
				ogpssiCoursesID = document.getElementsByName("gpssiCoursesID");			
			break;
		case "CTAE_Subjects_Resource":
				ogpssiProgramConcentrationID = document.getElementsByName("gpssirProgramConcentrationID");
				ogpssiCareerPathwayID = document.getElementsByName("gpssirCareerPathwayID");
				ogpssiCoursesID = document.getElementsByName("gpssirCoursesID");		
			break;
	}
	

	
	
	if(sSubjectText == CAREERTECHNICALANDAGRICULTURAL)
	{
		oDivSubjects.style.display = "block";				
	}
	else
	{		
		
		oDivSubjects.style.display = "none";
		if(ogpssiCoursesID[0]) {
			ogpssiCoursesID[0].options.length=0;
		}
			
		if(ogpssiProgramConcentrationID[0]) {
			ogpssiProgramConcentrationID[0].options.length=0;			
		}
		if(ogpssiCareerPathwayID[0]) {
			ogpssiCareerPathwayID[0].options.length=0;			
		}
		
	}
	
}


function ShowSubjectCourses(sGradesDiv, sHighSchoolCoursesDiv)
{
	var oGradesDiv;		
	var oHighSchoolCoursesDiv;
	var oSubjectCourseLevels;
	
	if(document.getElementById(sGradesDiv))
		oGradesDiv = document.getElementById(sGradesDiv);
		
	if(document.getElementById(sHighSchoolCoursesDiv))
		oHighSchoolCoursesDiv = document.getElementById(sHighSchoolCoursesDiv);
		
	
	var oCheckBoxes = getCheckBoxes(oGradesDiv);
	
	for(i=0; i<oCheckBoxes.length; i++)
	{
		if(oCheckBoxes[i].value > 5)
		{
			if(oCheckBoxes[i].checked)
			{		
				if(oHighSchoolCoursesDiv) 
				{		
					oHighSchoolCoursesDiv.style.display = "block";	
					//oSubjectCourseLevels.style.display = "block";
					break; 				
				}
			}
		}
		else
		{		
			var oCourses;
			
			switch(sGradesDiv)
			{
				case "GradesDIVSearchStandards":
				
					if(document.getElementById('SubjectCourseLevels'))
						oSubjectCourseLevels = document.getElementById('SubjectCourseLevels');
				
					if(document.getElementById("gpssiCoursesID")) 
					{
						oCourses = document.getElementById("gpssiCoursesID");
						oCourses.options.length = 0;
					}
					
					if(document.getElementById("gpssiProgramConcentrationID"))
						document.getElementById("gpssiProgramConcentrationID").options.length = 0;
						
					if(document.getElementById("gpssiCareerPathwayID"))
						document.getElementById("gpssiCareerPathwayID").options.length = 0;
					
					if(document.getElementById("gpssiLevelID"))
						document.getElementById("gpssiLevelID").options.length = 0;
										
					break;
				case "GradesDIVSearchResources":
				
					/*RESOURCE SECTION*/	

					if(document.getElementById('SubjectCourseLevels_Resource'))
						oSubjectCourseLevels = document.getElementById('SubjectCourseLevels_Resource');
					
					if(document.getElementById("gpssirCoursesID")) 
					{
						oCourses = document.getElementById("gpssirCoursesID");
						oCourses.options.length = 0;
					}
					
					if(document.getElementById("gpssirProgramConcentrationID"))
						document.getElementById("gpssirProgramConcentrationID").options.length = 0;	
					
					if(document.getElementById("gpssirCareerPathwayID"))
						document.getElementById("gpssirCareerPathwayID").options.length = 0;
						
					if(document.getElementById("gpssirLevelID"))
						document.getElementById("gpssirLevelID").options.length = 0;							
							
						
					/*END*/	
					break;				
			}
				
			if(oHighSchoolCoursesDiv)
				oHighSchoolCoursesDiv.style.display = "none";			
			if(oSubjectCourseLevels)
				oSubjectCourseLevels.style.display = "none";	
		}				
	}
}

function SetSubjectValue(fromName)
{
	var ogSubjectID = "";
	var ogProgramConcentrationID = "";	
	var ogCareerPathwayID = "";	
	var ogCoursesID = "";
	var ogLevelID = "";
	var ohdnSubjectID="";
	
	var sSubjectID = "";
	var sProgramConcentrationID = "";
	var sCareerPathwayID = "";
	var sCoursesID = ""; 
	var sLevelID = "";
	
	var sValues = "";
	
	if(fromName=='STD')
	{
		//hdngpssiSubjectID
		if(document.getElementById("hdngpssiSubjectID"))
			ohdnSubjectID =document.getElementById("hdngpssiSubjectID");
			
		if(document.getElementById("gpssiSubjectID"))	
		{
			ogSubjectID =document.getElementById("gpssiSubjectID");
			if(ogSubjectID.selectedIndex>0)
				sSubjectID = ogSubjectID.options[ogSubjectID.selectedIndex].value;
		}
		
		if(document.getElementById("gpssiProgramConcentrationID")) 
		{	
			ogProgramConcentrationID = document.getElementById("gpssiProgramConcentrationID");	
			if(ogProgramConcentrationID.selectedIndex>0)
				sProgramConcentrationID = ogProgramConcentrationID.options[ogProgramConcentrationID.selectedIndex].value;
		}
		if(document.getElementById("gpssiCareerPathwayID")) 
		{	
			ogCareerPathwayID = document.getElementById("gpssiCareerPathwayID");	
			if(ogCareerPathwayID.selectedIndex>0)
				sCareerPathwayID = ogCareerPathwayID.options[ogCareerPathwayID.selectedIndex].value;
		}
			
		if(document.getElementById("gpssiCoursesID"))
		{
			ogCoursesID = document.getElementById("gpssiCoursesID");
			if(ogCoursesID.selectedIndex>0)
				sCoursesID = ogCoursesID.options[ogCoursesID.selectedIndex].value;
		}
		if(document.getElementById("gpssiLevelID"))
		{
			ogLevelID = document.getElementById("gpssiLevelID");
			if(ogLevelID.selectedIndex>0)
				sLevelID = ogLevelID.options[ogLevelID.selectedIndex].value;
		}		
	}
	else
	{
		if(document.getElementById("hdngpssirSubjectID"))
			ohdnSubjectID =document.getElementById("hdngpssirSubjectID");
			
		if(document.getElementById("gpssirSubjectID"))
		{	
			ogSubjectID =document.getElementById("gpssirSubjectID");
			if(ogSubjectID.selectedIndex>0)
				sSubjectID = ogSubjectID.options[ogSubjectID.selectedIndex].value;
		}
		
		if(document.getElementById("gpssirProgramConcentrationID"))	
		{
			ogProgramConcentrationID = document.getElementById("gpssirProgramConcentrationID");				
			if(ogProgramConcentrationID.selectedIndex>0)
				sProgramConcentrationID = ogProgramConcentrationID.options[ogProgramConcentrationID.selectedIndex].value;
		}
		if(document.getElementById("gpssirCareerPathwayID"))	
		{
			ogCareerPathwayID = document.getElementById("gpssirCareerPathwayID");				
			if(ogCareerPathwayID.selectedIndex>0)
				sCareerPathwayID = ogCareerPathwayID.options[ogCareerPathwayID.selectedIndex].value;
		}	
		if(document.getElementById("gpssirCoursesID"))
		{
			ogCoursesID = document.getElementById("gpssirCoursesID");
			if(ogCoursesID.selectedIndex>0)
				sCoursesID = ogCoursesID.options[ogCoursesID.selectedIndex].value;
		}
		if(document.getElementById("gpssirLevelID"))
		{
			ogLevelID = document.getElementById("gpssirLevelID");
			if(ogLevelID.selectedIndex>0)
				sLevelID = ogLevelID.options[ogLevelID.selectedIndex].value;
		}
		//hdngpssirSubjectID	
	}
	
	sValues += sSubjectID;
	
	if(sProgramConcentrationID!="" && sSubjectID!="")
		sValues += ", "+sProgramConcentrationID;
		
	if(sCareerPathwayID!="" && sProgramConcentrationID!="" && sSubjectID!="")
		sValues += ", "+sCareerPathwayID;	

	if(sCoursesID!="" && sSubjectID!="")
		sValues += ", "+sCoursesID;
		
	if(sLevelID!="" && sSubjectID!="")
		sValues += ", "+sLevelID;				
	
	ohdnSubjectID.value= sValues;
}



function LoadCareerPathways(sSubjectID,sSearchFrom)
{	

	switch(sSearchFrom)
	{
		case "SearchStandards":		
			LoadSubjectsBySelectedSubjectID('gpssiCareerPathwayID', sSubjectID, sSearchFrom);
			break;
		case "SearchResources":
			LoadSubjectsBySelectedSubjectID('gpssirCareerPathwayID', sSubjectID, sSearchFrom);	
			break;
	}

}

function LoadCareerPathwaysCourses(sSubjectID,sSearchFrom)
{	

	switch(sSearchFrom)
	{
		case "SearchStandards":
			LoadSubjectsBySelectedSubjectID('gpssiCoursesID', sSubjectID, sSearchFrom);	
			break;
		case "SearchResources":
			LoadSubjectsBySelectedSubjectID('gpssirCoursesID', sSubjectID, sSearchFrom);
			break;
	}

			
}



function fnLoadProgramConcentrationsAndCoursesForSTD(sSubjectID, sSearchFrom)
{
	if(IsHighSchool('SearchStandards'))
		LoadSubjectsBySelectedSubjectID('gpssiProgramConcentrationID', sSubjectID, sSearchFrom);		
	else
		LoadSubjectsBySelectedSubjectID('gpssiCoursesID', sSubjectID, sSearchFrom);		
}

function fnLoadProgramConcentrationsAndCoursesForRES(sSubjectID, sSearchFrom)
{
	if(IsHighSchool('SearchResources'))
		LoadSubjectsBySelectedSubjectID('gpssirProgramConcentrationID', sSubjectID, sSearchFrom);		
	else
		LoadSubjectsBySelectedSubjectID('gpssirCoursesID',sSubjectID, sSearchFrom);
}



function ShowSubjectCourseLevels(sCourseID, sSearchFrom)
{
	var oSubjectCourseLevels = "";
	var oSub = ""; 
	var sSubText="";
			
	switch(sSearchFrom)
	{
		case "SearchStandards":
			oSubjectCourseLevels = document.getElementById('SubjectCourseLevels');
			oSub = document.getElementById('gpssiSubjectID');			
			LoadSubjectsBySelectedSubjectID('gpssiLevelID', sCourseID, sSearchFrom);
			break;
		case "SearchResources":
			oSubjectCourseLevels = document.getElementById('SubjectCourseLevels_Resource');
			oSub = document.getElementById('gpssirSubjectID');			
			LoadSubjectsBySelectedSubjectID('gpssirLevelID', sCourseID, sSearchFrom);
			break;
	}
	
	if(oSub)
	{	
		sSubText=oSub.options[oSub.selectedIndex].text;
		if(sSubText==MODERNLANGUAGESANDLATIN)
			oSubjectCourseLevels.style.display = "block";
	}
	
}

function LoadProgramCourses(sSubjectID,sSearchFrom)
{

	switch(sSearchFrom)
	{
		case "SearchStandards":
			fnLoadProgramConcentrationsAndCoursesForSTD(sSubjectID, sSearchFrom);			
			break;
		case "SearchResources":
			fnLoadProgramConcentrationsAndCoursesForRES(sSubjectID, sSearchFrom);
			break;
	}


	
}

function LoadAllSubjectsByGrade(oCheckedBox, sSearchFrom)
{	
	var sGrade = oCheckedBox.value;
		
	var oGradesDiv;	
	var bAtleastOneChecked = false;
	
	var sGradesDIV = "GradesDIV"+sSearchFrom;
	
	if(document.getElementById(sGradesDIV))
			oGradesDiv = document.getElementById(sGradesDIV);
		
	var oCheckBoxes = getCheckBoxes(oGradesDiv);
	
	for(i=0; i<oCheckBoxes.length; i++)
	{	
			if(oCheckBoxes[i].checked) {
				bAtleastOneChecked = true;
				break;	
			}
	}
	
	switch(sSearchFrom)
	{
		case "SearchStandards":
			if(bAtleastOneChecked)
				LoadSubjectsBySelectedGrade('gpssiSubjectID',sGrade);
			else
				document.getElementById('gpssiSubjectID').options.length=0;
			break;
		case "SearchResources":
			if(bAtleastOneChecked)
				LoadSubjectsBySelectedGrade('gpssirSubjectID',sGrade);
			else
				document.getElementById('gpssirSubjectID').options.length=0;
			break;
	}
	ShowSubjectCourses(sGradesDIV,'HighSchoolSubjectCourses');
	
}

function LoadSubjectsBySelectedGrade(lstControlName,sGrade)
{	
		var sSubjectID = 0;
		Ajax.Init();
		Ajax.Variables= [lstControlName,'/root//GPSSubject','SubjectID','SubjectName',true];
		Ajax.PostProcess = fnFillDynamicDropDown;			
		Ajax.PostUrl = 'AjaxCall.aspx?async=true&action=SUBJECTSBYPARENTSUBJECTID&subjectid='+sSubjectID+'&grade='+sGrade;
		Ajax.ResponseFormat = "text";
		Ajax.OnError = function() { alert("Error occured during loading Subjects. Please retry.")};
		Ajax.Request();
}

function LoadSubjectsBySelectedSubjectID(lstControlName, sSubjectID, sSearchFrom)
{
		var sGrade = GetSchoolTypeMaxGrade(sSearchFrom);
		Ajax.Init();
		Ajax.Variables= [lstControlName,'/root//GPSSubject','SubjectID','SubjectName',true];
		Ajax.PostProcess = fnFillDynamicDropDown;
		Ajax.PostUrl = 'AjaxCall.aspx?async=true&action=SUBJECTSBYPARENTSUBJECTID&subjectid='+sSubjectID+'&grade='+sGrade;
		Ajax.ResponseFormat = "text";
		Ajax.OnError = function() { alert("Error occured during loading Subjects. Please retry.")};
		Ajax.Request();
}
