
var xmlDom  = null;
var xmlFile = null;

//var selectorDom	= null;
//var answersDom	 = null;
var questionsDom = new Array();
var problemsDom  = new Array();

var questionType	= new Array();
var optionsDom		= new Array();
var answers			= new Array();
var userAnswers		= new Array();
var qarray			= new Array();
var minPass = 0;
selectorHTML = '';
PASS=0;
FAIL=1;

var selectorTitle = null;

function CreateXMLDoc() {
        var progIDs = [ 'Msxml2.DOMDocument.6.0', 
        		'Msxml2.DOMDocument.3.0',
        		'Microsoft.XMLDOM'];
        for (var i = 0; i < progIDs.length; i++) {
            try {
                var xmlDOM = new ActiveXObject(progIDs[i]);
                return xmlDOM;
            }
            catch (ex) {
            }
        }
        return null;
}


function loadXML(filename, moduleId){

xmlFile=filename;
//load xml file
// code for IE
if (window.ActiveXObject){
	// xmlDom=new ActiveXObject("Microsoft.XMLDOM");
	xmlDom = CreateXMLDoc();
	if (xmlDom != null) {
		xmlDom.async=false;
		xmlDom.load(xmlFile);
	}
}// end of if
// code for Mozilla, Firefox, Opera, etc.
if ((xmlDom == null) && document.implementation && document.implementation.createDocument){
		xmlDom=document.implementation.createDocument("","",null);
		xmlDom.async=false;
		xmlDom.load(xmlFile);
}
if (xmlDom == null) {
	alert('Your browser cannot handle this script');
}// end of else
		selectorTitles	=  xmlDom.getElementsByTagName("heading");
		problemsDom		=  xmlDom.getElementsByTagName("question");
		questionsDom	=  xmlDom.getElementsByTagName("ask");
		minPass			=  xmlDom.getElementsByTagName("questions")[0].getAttribute("minPassQuestion");

		// Get Page Title
		if (selectorTitles.length > 0){
			selectorTitle = selectorTitles[0].firstChild.data;
 			} // end of if 
												
			for (var i = 0; i < problemsDom.length; i++){
			  questionKey	= problemsDom[i].getAttribute('key');
              questionType	= problemsDom[i].getAttribute('type');
			  answers[i]	= problemsDom[i].getAttribute('check');
             if (questionKey == null) {
                  questionKey = 'q' + i;
				}
  		      qtemp = "q" + i;
			  qarray[i] = qtemp;
			  if (i < 1) {
			     show = "";
				 } else {
			     show = 'style="visibility:hidden;display:none;"';
					  }// end of else

    
    			selectorHTML += '<DIV id="' + qtemp + '" class="questionBox" ' + show + '>';
    			
    			selectorHTML += ' Question ' + (i+1)+ ' of ' +problemsDom.length+'<BR><BR>';
    			
				selectorHTML += " " + problemsDom[i].getElementsByTagName('ask')[0].firstChild.data + "<BR><BR> ";

				selectorHTML += '<TABLE><TBODY>';
			  
			// For Options 
			  optionsDom = problemsDom[i].getElementsByTagName('option');			
			  for (var j = 0; j < optionsDom.length; j++) {
					  valId = questionKey + j;
					  selectorHTML += '<TR> <TD style="VERTICAL-ALIGN: top">';
					  selectorHTML += '<input type="radio"  name="' + questionKey + '" id="' + valId + '" >';
					  selectorHTML += '</TD>';
					  selectorHTML += '<TD>';
				 	  selectorHTML +=  optionsDom[j].firstChild.data  ;
				 	  selectorHTML += '</TD></TR>';
				  } // end of for loop
					selectorHTML += '</TBODY> </TABLE>';
					selectorHTML += '<BR>';
				  //For Buttons				
					var previousId = "previous_" + qtemp;
					var nextId	   = "next_" + qtemp;
					
					selectorHTML +='<TABLE> <TBODY>'
					selectorHTML += '<TR>'
					selectorHTML += '<TD style="padding-top:15px;"><input id=' + previousId + ' type="button" value="<<Previous" onclick="previousButton(id);" class="button"></TD>' ;
					if((i+1) == problemsDom.length) // For last page showing submit button
					{
					//"/submit_test_result"
					form001='<TD style="padding-top:33px;"><FORM  id="form01" method=POST action="/submit_test_result"><INPUT id=mId TYPE=HIDDEN name="moduleId" VALUE="'+moduleId+'"> <INPUT id=mStatus TYPE=HIDDEN name="moduleStatus" VALUE="" ><INPUT id=mName TYPE=HIDDEN name="moduleName" VALUE="" > ';
					selectorHTML +=form001;
					selectorHTML +='<input id=' + nextId + ' type="Submit" value="Submit" onclick="return calculateSubmit(id);" class="button">' ;
					selectorHTML +='</FORM></TD>';
					}
					else
					selectorHTML += '<TD style="padding-top:15px; "><input id=' + nextId + ' type="button" value="Next>>" onclick="nextButton(id);" class="button" > </TD>' ;
					selectorHTML += '</TR>'
					selectorHTML +='</TBODY></TABLE>'
					selectorHTML += "</DIV>";
					
				} // end of Main for loop for creating div 
				
				document.getElementById('selectorTitle').innerHTML = selectorTitle;
				document.getElementById('showSelector').innerHTML  = selectorHTML;
				hideById("previous_q0");
		
} // end of function 

function calculateSubmit(id){
	score=0;
	var i = 0;
if(Check_Option(id)){
	for(i=0 ; i<qarray.length; i++){
		if (answers[i] == userAnswers [i])	
		score++;
	}// end of for loop

	formElm = document.getElementById("mStatus");

	if (score>=minPass){
		formElm.setAttribute("value",PASS);
	}
	else{
		formElm.setAttribute("value",FAIL);
	}
	formElm = document.getElementById("mName");
	formElm.setAttribute("value",selectorTitle);
	return true;
	} // end of if(Check_Option(id))
	else {
		alert('Please select an Option');
		return false;
	}// end of else
}// end of function calculateSubmit()

function hideById(id){
	tempElm =  document.getElementById(id);
	tempElm.style.visibility = 'hidden';
	tempElm.style.display    = 'none';
}// end of function hideById()

function showById(id){
	tempElm =  document.getElementById(id);
	tempElm.style.visibility = "visible";
	tempElm.style.display    = "";
}// end of function showById()

function nextButton(id){
// FOR NEXT BUTTON PRESSED
var i=0, j=0 ;
var hide01="";
var show01="";
	hide01 = id.substr(5,7);
	show01 = hide01;
	if(Check_Option(id)){
		for(i=0 ; i<qarray.length; i++ ){	
			if(qarray[i]==hide01){
				if(i<qarray.length)
				show01=qarray[i+1].toString();
				break;
			} // end of if
		}// end of for loop
		hideById(hide01);
		showById(show01);
	}// end of if Check_Option
	else {
		alert('Please select an Option');
		}// end of else
}// end of function nextButton()

function previousButton(id){
// FOR PREVIOUS BUTTON PRESSED
var i=0, j=0 ;
var hide01="";
var show01="";
	hide01 = id.substr(9,11);
	show01 = hide01;
	for(i=0 ; i<qarray.length; i++ ){	
		if(qarray[i]==hide01){
			if(i > 0)
			show01=qarray[i-1].toString();
			break;
		} // end of if
	}// end of for loop
			hideById(hide01);
			showById(show01);
}// end of function previousButton()

function Check_Option(id){
// CHECKING OPTIONS STATE 
	id = id.substr(5,7); // for next button get q0,q1, etc..
	var answersKey = null ;
	var i=0;
//  QUESTON OPTIONS LOOP
	for(i=0 ; i<qarray.length; i++ ){	
		if(qarray[i]==id)
		break;
		}// end of for loop
	optionsDom  = problemsDom[i].getElementsByTagName('option');	
	questionKey = problemsDom[i].getAttribute('key');
	for (var j = 0; j < optionsDom.length; j++)	{
		var x =	document.getElementById(questionKey + j) ;
		if(x.checked){
			answersKey	= optionsDom[j].getAttribute('value');
			if(answersKey==null)
			answersKey	= optionsDom[j].firstChild.data;
			userAnswers[i]=answersKey;
			return true;
			}// end of if
	} // end of for loop
			return false;
}// end of function


function select_show(id1,id,size){
	if(size!=0){
		for(var i=0;i<=size;i=i+1){
		var value=id1.options[i+1].value;
		var style = document.getElementById(value).style;
	    style.display = "none";
	   }
	}
  
	var style1 = document.getElementById("new").style;
  	style1.display = "none";
		
	if(id!=""){
		var style = document.getElementById(id).style
		if (style.display == "none"){
			style.display = "block";
			clearOnHide(id,"no");
		}
		else { 
			style.display = "none";
		}
	}
}

function selectShowHide(divId,id){
	var ele=document.getElementById(divId);
	var style=ele.style;
	if(id.match("new")){
		style.display = "none";
		clearOnHide(divId,"");
	}
	else{
		if (style.display== "none")
		     style.display= "block";
		else  
		     style.display= "block";
	}
}


function hide_show(l,str){

	var val = l.value;
	if(val.match("no")){
		var style = document.getElementById(str).style;
		if(style.display = "block"){
			style.display = "none";
			clearOnHide(str,"");
		}
	}
	if(val.match("yes")){
	  var style = document.getElementById(str).style;
		if(l.checked){
			 style.display = "block";
		}else{
			style.display = "none";
			clearOnHide(str,"");
		}
	}
}

function showHide(l,str)	{
		var style = document.getElementById(str).style;
		if(l.checked){
			style.display = "block"
		}else{
			style.display = "none"
			clearOnHide(str,"");
		}
}


function confirmThis(){
		var answer = confirm ("Are you sure you want to quit? If  you choose 'OK', all data you have entered will be lost")
		if (answer == true) {

			location.href="/educator_portal";
		}
		return false;
	}


function showHideRadio(obj,divId,ansValue){
	var divs = document.getElementsByTagName('DIV');
	var idDiv;
	for(i=0;i<divs.length;i++){
		idDiv = divs[i].getAttribute('id');
		if(idDiv==divId){
			document.getElementById(divId).style.display = "block";
		}
	}
	var eles = document.getElementsByName(obj.name);
	var quesNO = divId.toString();
	quesNO = quesNO.substring(0,quesNO.indexOf("."));
	var notShowDiv,j;
	for(i=0;i<eles.length;i++){
		j = i+1;
		if(j!=ansValue){
			notShowDiv = quesNO+"."+j;
			if(document.getElementById(notShowDiv)!=null){
				document.getElementById(notShowDiv).style.display = "none";
				clearOnHide(notShowDiv,"");
			}
		} 
	}
}

function clearOnHide(divId,defaultValueToClick){
	var eles = document.getElementById(divId).all;
	if(eles!=null){
		for(i=0;i<eles.length;i++){
			var ele = eles.item(i);
			var typ = ele.type;
			if(typ=="text" || typ=="textarea" || typ=="password" ){
				ele.value="";
			}else if(typ=="radio" || typ=="checkbox"){
				if(defaultValueToClick.match("") && ele.value==defaultValueToClick){
					defaultValueToClick="";
					ele.click();
				}
				ele.checked=false;//maynot do the onClick Hide
			}else if(eles.item(i).type=="select-one"){
				eles.item(i).selectedIndex=0;//should this be -1?
			}else{
				//do nothing
				//alert(ele.name+":"+typ);
			}
		}
	}
}

function confirmCancel() {
		var answer = confirm ("Are you sure you want to cancel? Any information you have entered to this point will be lost.")
		if (answer == true) {
			location.href="/educator_portal";
		}
		return false;
}

function agreeTerms(){
	
		var answer = !confirm ("To gain access to the Educators Portal, you must agree to the Terms of Use.\nClick OK to continue with your application.\nMake a selection below.");
		if (answer == true) {
			location.href="/educator_portal";
		}
		document.termsForm.reset();
		return false;
}

function agreeTermsUpdateProfile(){
	
		var answer = !confirm ("To gain access to the Educators Portal, you must agree to the Terms of Use.\nClick OK to continue with your application.\nMake a selection below.");
		if (answer == true) {
			location.href="/educator_portal";
		
	}
	return false;
}


function checkGroupClick(comboVal){

	var valid = true;
	if(comboVal==""){
		valid=false;
	}
	return valid;
}

function confirmCancelAction(ref){
	
	var answer = confirm ("Are you sure you want to cancel? Any information you have entered to this point will be lost.")
	if (answer == true) {
		location.href=ref;
	}
	return false;
}

//confirm_educator_contact_info.jsp | Confirmation_activitystatus.jsp- START
function toEducatorProfile(userId){
		
document.EducatorForm.EduId.value = userId;

document.EducatorForm.action = '/ymc_educator_portal/educator_details';
document.EducatorForm.submit();
}

function toOrgProfile(orgnId){
	
document.EducatorForm.id.value = orgnId;

document.EducatorForm.action = '/ymc_educator_portal/findOrg';
document.EducatorForm.submit();
}
//confirm_educator_contact_info.jsp | Confirmation_activitystatus.jsp-END


//educator.jsp | notCertifiedModule.jsp- START
function viewModule(testStatus, mdlId, mdlStat){

	document.EducatorForm.moduleId.value = mdlId;
	document.EducatorForm.moduleStatus.value = mdlStat;						
	document.EducatorForm.action = '/ymc_educator_portal/'+ testStatus;
	document.EducatorForm.submit();
}
function takeTest(mdlId)
{
	document.EducatorForm.moduleId.value = mdlId;
	document.EducatorForm.action = '/certification_intro';
	document.EducatorForm.submit();
}	
//educator.jsp | notCertifiedModule.jsp- END


//enroll_organization.jsp - START
function checkDefaultSelect(eleVal)
{

		if(eleVal=="")
		{
			alert("Please select an option");	
			return false;
		}
}
//enroll_organization.jsp - END

//search_admin.jsp | Update_educator_teststatus.jsp - START
function checkAllModules(fmobj, chkAll)
{

	for (var i=0;i<fmobj.elements.length;i++)
	{
		var e = fmobj.elements[i];
		if ((e.name != chkAll.name) && (e.type=='checkbox') && (!e.disabled))
		{
			e.checked = chkAll.checked;
		}
	}
}

//==========================================
// Check all or uncheck all?
//==========================================
function checkUncheckAll(fmobj, chkAll)
{	


	var TotalBoxes = 0;
	var TotalOn = 0;
	for (var i=0;i<fmobj.elements.length;i++)
	{
		var e = fmobj.elements[i];
		if ((e.name != chkAll.name) && (e.type=='checkbox'))
		{
			TotalBoxes++;
			if (e.checked)
			{
				TotalOn++;
			}
		}
	}
	
	if (TotalBoxes==TotalOn)
	{
		chkAll.checked=true;
	}
	else
	{
		chkAll.checked=false;
	}
}

function CheckAll(fmobj)
{
	for (var i=0;i<fmobj.elements.length;i++)
	{
		var e = fmobj.elements[i];
		if ((e.name != 'SELECTTALL') && (e.type=='checkbox') && (!e.disabled))
		{
			e.checked = fmobj.SELECTTALL.checked;
		}
	}
}

//==========================================
// Check all or uncheck all?
//==========================================
function CheckCheckAll(fmobj)
{	
	var TotalBoxes = 0;
	var TotalOn = 0;
	for (var i=0;i<fmobj.elements.length;i++)
	{
		var e = fmobj.elements[i];
		if ((e.name != 'SELECTTALL') && (e.type=='checkbox'))
		{
			TotalBoxes++;
			if (e.checked)
			{
				TotalOn++;
			}
		}
	}
	
	if (TotalBoxes==TotalOn)
	{
		fmobj.SELECTTALL.checked=true;
	}
	else
	{
		fmobj.SELECTTALL.checked=false;
	}
}

function Toggle_All_Module(id){
	var ALLMODULE =document.getElementsByName("emailCheck");

    for(i=0; i<ALLMODULE.length ; i++) {
		if(document.getElementById(id.value).checked == true){
			ALLMODULE[i].checked=true;
        }// end of if 
        if(document.getElementById(id.value).checked==false){             
	        ALLMODULE[i].checked=false;
        }// end of if
    }// end of for
}// end of function Toggle_All_Module()

function validate(){

	var j = 0;
	var str;
	if(document.emailForm.emailCheck.value){//if the form contains only one checkbox
		j++;
	}else{
		for (i=0; i<document.emailForm.emailCheck.length; i++){
			if (document.emailForm.emailCheck[i].checked==true)
			{
				j++;
			}
		}
	}

	if(j>0){
	
		document.emailForm.action = '/ymc_educator_portal/Getemailadd';
		document.emailForm.submit();
	} else { 
		alert("Please Select at least one checkbox");	
	}

}

function showHideDiv(divID, sMinus, sPlus, id){
	var img = document.getElementById(id);   
     if (img!=null) {   
         var bExpand = img.src.indexOf(sPlus) >= 0;   
         if (!bExpand) {
             img.src = sPlus;   
			 img.alt = "click to hide details";
		 } else {
             img.src = sMinus;   
			 img.alt = "click to show details";
		 }
     }   

	var style = document.getElementById(divID).style;
	if (style.display== "none")
		style.display= "block";
	else  
		style.display= "none";
			
}
//search_admin.jsp | Update_educator_teststatus.jsp- END

//Update_educator_activitystatus.jsp - START
function cancelToEducator(eduId){

	document.statusForm.EduId.value = eduId;
	document.statusForm.action="/ymc_educator_portal/educator_details";
	document.statusForm.submit();

}
//Update_educator_activitystatus.jsp - END

//Update_educator_teststatus.jsp - START
function updateTestStatus(EduId)
{
	document.statusForm.EduId.value = EduId;
	
	var j = 0;
	var str;
	for (i=0; i<document.statusForm.EXEMPT.length; i++){
		if (document.statusForm.EXEMPT[i].checked==true)
		{
			j++;
		}
	}
	if(j>0){
	
		document.statusForm.action = '/ymc_educator_portal/update_educator_test_status';
		document.statusForm.submit();
	} else { 
		document.statusForm.errorMsg.value = 'Please select an option.'
		document.statusForm.action = '/ymc_educator_portal/view_educator_test_status';
		document.statusForm.submit();	
	}
}	
//Update_educator_teststatus.jsp - END

//view_educator_profile.jsp - START
	function viewActivityStatus(actStatus, userId,fname,lname)
	{
		document.EducatorForm.activityStatus.value = actStatus;
		document.EducatorForm.userId.value = userId;
		document.EducatorForm.firstName.value = fname;
		document.EducatorForm.lastName.value = lname;
		document.EducatorForm.action = '/ymc_educator_portal/view_activity_status';
		document.EducatorForm.submit();
	}

	function viewTestStatus(userId,fname,lname)
	{
		document.EducatorForm.userId.value = userId;
		document.EducatorForm.firstName.value = fname;
		document.EducatorForm.lastName.value = lname;
		document.EducatorForm.action = '/ymc_educator_portal/view_educator_test_status';
		document.EducatorForm.submit();
	}	
	
	function updateContactInfo(userId)
	{
		document.EducatorForm.userId.value = userId;
		document.EducatorForm.action = '/ymc_educator_portal/update_contact_info';
		document.EducatorForm.submit();
	}
	
	function updateOthersContactInfo(userId)
	{
		document.EducatorForm.userId.value = userId;
		document.EducatorForm.action = '/ymc_educator_portal/update_other_contact_info_page';
		document.EducatorForm.submit();
	}
	
	function updateEmailAddress(userId1)
	{
		document.EducatorForm.userId1.value = userId1;
		document.EducatorForm.action = '/ymc_educator_portal/update_email_address';
		document.EducatorForm.submit();
	}
	
	function updateOthersEmailAddress(userId1)
	{
		document.EducatorForm.userId1.value = userId1;
		document.EducatorForm.action = '/ymc_educator_portal/update_others_email_address';
		document.EducatorForm.submit();
	}
	function viewApplication(appId,userId)
	{
		document.EducatorForm.applicationID.value = appId;
		document.EducatorForm.userId.value = userId;
		document.EducatorForm.action = '/ymc_educator_portal/viewAppForEducator';
		document.EducatorForm.submit();
	}
//view_educator_profile.jsp - END

function checkRoleForApproval()
{
	if(document.approvalForm.status[0].checked)
	{
		if(document.approvalForm.role.value=="")
		{
			alert("Please select an option");	
			return false;
		}
	}
}

//view_pending_application.jsp - START
function Uncheck_All_Module(role){

	if(document.getElementById("role").options[0].value==""){
			document.getElementById("role").options[0]=null;
	}		
			
	if(role.name=="role" && (role.value == "4" || role.value == "5") ){
			document.getElementById("EXEMPTALL").checked=true;
			var ALLMODULE =document.getElementsByName("EXEMPT");
			for(i=0; i<ALLMODULE.length ; i++) {
				ALLMODULE[i].checked=true;
			}// end of for 
		}// end of if 	
		else{
			document.getElementById("EXEMPTALL").checked=false;
			var ALLMODULE =document.getElementsByName("EXEMPT");
			for(i=0; i<ALLMODULE.length ; i++) {
				ALLMODULE[i].checked=false;
			}// end of for
		}// end of else
	}// end of function Uncheck_All_Module()

function show_All(id){
		var  PENDING=0, APPROVE=1, DECLINE=2 ;
		if(id.value==APPROVE){
			var divs = document.getElementById("Show_Hide_Approval");
			divs.style.display='block';
		}// end of if
		if(id.value==DECLINE || id.value==PENDING){
			var divs = document.getElementById("Show_Hide_Approval");
			divs.style.display='none';
			Uncheck_All_Module(id);
		} //end of if
} // end of function show_All()
//view_pending_application.jsp - END

function autotab(original, destination){
	if (original.getAttribute && original.value.length == original.getAttribute("maxlength")){
		destination.focus();
		destination.select();
	}
}


//var st1 = new SortableTable(document.getElementById("table-1"),	["None", "CaseInsensitiveString", "CaseInsensitiveString", "CaseInsensitiveString"]);
function openWorkShopPrepList(){
window.open('/ymc_educator_portal/'+orgType+'_workshop_list.pdf');
}