	/*to give background text for year text box*/
	function disableText() {
		document.getElementById('date-year').value = "";
	}

	/*
	 * AjaxObject is a hypothetical object that encapsulates the transaction
	 *     request and callback logic.
	 *
	 * handleSuccess( ) provides success case logic
	 * handleFailure( ) provides failure case logic
	 * processResult( ) displays the results of the response from both the
	 * success and failure handlers
	 * call( ) calling this member starts the transaction request.
	 */
	function roll_over(img_name, img_src) {
	   document[img_name].src = img_src;
	   return
	}
	
	var AjaxObject = {
		handleSuccess:function(o){
			var div = document.getElementById(o.argument.div);
			//o.argument.loadingPanel.hide();
			if(o.argument.loadingPanel){
				o.argument.loadingPanel.hide();
			}
			if(o.responseText != undefined && o.responseText != "DUMMY"){ 
				if(o.responseText.indexOf('redirect')==0){
				  window.location=o.responseText.substring(9);
				  return;
				} else if(o.responseText.indexOf('concurrentSessionFailure')>0){
					  alert("This session has been expired due to multiple concurrent logins being attempted as the same user.");
					  window.location.href = ctx+ "/logout.action";
					  return;
				}
				
		     	// if String then assume innerHTML, else an elem object
				var type = typeof(o.responseText);
				if(div){
					if(type == 'string') {
						div.innerHTML = o.responseText;
					} else {
						div.appendChild(o.responseText);
					}
				} else {
					// Case for adding image in lbv Creator
					if(o.argument.div.indexOf("box") >= 0){
						var myIFrame = document.getElementById("canvasFrame");
						var frameDocument = myIFrame.contentWindow.document;
						var parentDiv = frameDocument.getElementById(o.argument.div);
						parentDiv.style.zIndex = 10002;
						var imageBox = YAHOO.util.Dom.getChildrenBy(parentDiv, function (node) {
					           return node.className == "boxImage";
					       })[0];
						imageBox.src = ctx+"/"+o.responseText;
						var target = SWCanvas.getBoxByDivId(o.argument.div);
						sendImagePosition(target);
						
					}

				}
				handleAfterInit(o.argument.div);
			}
		},
	
		handleFailure:function(o){
			o.argument.loadingPanel.hide();
			var redirectURL = o.getResponseHeader['Location'];
			document.location = redirectURL;
		},
	
		startRequest:function(sUrl, args, div) {
			var loadingPanel = new yuiLoadingPanel();
			loadingPanel.show();
			callback.argument.loadingPanel = loadingPanel;
			callback.argument.div = div;
			YAHOO.util.Connect.asyncRequest('GET', sUrl+'?ajax=true&div='+div+'&'+args, callback);
		},
	
		startPostRequest:function(sUrl, args, div) {
		 	if(div && div != 'sidenav-myinfo'){
				var loadingPanel = new yuiLoadingPanel();
				loadingPanel.show();
				callback.argument.loadingPanel = loadingPanel;			
				callback.argument.div = div;
				args = args + '&ajax=true&div='+div;
			}else{
				args = args + '&ajax=true'
			}
	       YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, args);
		},

		startFileUploadRequest:function(sUrl, args, div) {
			if(div){
				var loadingPanel = new yuiLoadingPanel();
				loadingPanel.show();
				callback.argument.loadingPanel = loadingPanel;			
				callback.argument.div = div;
				args = args + '&ajax=true&div='+div;
			}else{
				args = args + '&ajax=true'
			}
	       YAHOO.util.Connect.asyncRequest('POST', sUrl, callback);
		}
	};

	/*
	 * Define the callback object for success and failure
	 * handlers as well as object scope.
	 */
	var callback =
	{
		success:AjaxObject.handleSuccess,
		failure:AjaxObject.handleFailure,
		upload:AjaxObject.handleSuccess,
		argument: { div:"not-defined" },
		cache:false,
		scope: AjaxObject
	};
	
	var renderAction = function(sUrl, args, div) {
		AjaxObject.startRequest(sUrl, args, div);
	};
	
	var renderPostAction = function(sUrl, args, div) {
		AjaxObject.startPostRequest(sUrl, args, div);
	};
	var postAction = function(sUrl, args) {
		AjaxObject.startPostRequest(sUrl, args);
	};
	var formPostAction = function(sUrl, formId, args, div) {
		var formObject = document.getElementById(formId); 
		YAHOO.util.Connect.setForm(formObject);   
		AjaxObject.startPostRequest(sUrl, args, div);
	};

	var fileUploadAction = function(sUrl, formId, args, div) {
		var formObject = document.getElementById(formId); 
		YAHOO.util.Connect.setForm(formObject, true);
		//AjaxObject.startFileUploadRequest(sUrl, args, div);
		callback.argument.div = div;
       YAHOO.util.Connect.asyncRequest('POST', sUrl, callback);
	};

	var renderViewWithHist = function(module,url,args,div){
		var state = module + ',' + url + ',' + args + ',' + div;
        try {
            YAHOO.util.History.navigate("nav", state);
        } catch (e) {
            loadState(state);
        }
	}
	
    function loadState(state) {
    	var stateVars = state.split(",");
    	if (stateVars[0] == "cb") {
		    renderCourseBrowser();
		} else if (stateVars[0] == "report") {
			renderReportView(stateVars[1], stateVars[2], stateVars[3]);
		} else if (stateVars[0] == "home") {
			var bodyDiv = document.getElementById('body-content');
 			renderAction(homeUrl, '', 'body-content');
		}  else if (stateVars[0] == "editor") {
			renderAction(ctx+'/secure/contentDisplay.action', stateVars[2], stateVars[3]);
		}  else if (stateVars[0] != "home" && stateVars[1] && stateVars[3]){
			renderAction(stateVars[1], stateVars[2], stateVars[3]);
		} else if(stateVars[1] && !stateVars[2] && !stateVars[3]){ // No div tag defined, so its not Ajax request.
			window.location = stateVars[1];
		}
    }
   function showInitBodyContent(){
		var content = YAHOO.util.Dom.get("body-content-wrapper");
		  if(content){
		    if (content.style.display == "none"){
		    	content.style.display = "block";
		    }
		  }
    }
    function updateSideNavMyInfo(){
    	var myinfodiv = "sidenav-myinfo";
    	var div = document.getElementById(myinfodiv);
    	renderAction(ctx+'/secure/sidenavmyinfo.action', '', myinfodiv);    	
    }
	function handleAfterInit(div) {
		if(div == "adaptiveWrapper"){// if request is from adaptive course browser
		disableSubjectsTab();
		}
	    if (div == "body-content"){
        	loadQuestionEditor();
        	showPreparationReport();
        	displayVideoExplanationOnLoad();
        	displayUserSkillSummaryChart();
		}
		if (div == "question-editor" || div == "editorOverlay") {
			loadQuestionEditorTabs();
		} 	
		if (div == "lessonEditorOverlay"){
			loadLessonEditorTabs();		
		}	
		if (div == "questionNav") {
			change_question();
		}
		if (div == "questionsNewBody") {
			displayQuestions();
		}	
		var _repData = YAHOO.util.Dom.get("reportData");
		if (_repData && _repData.value){
			showReport();
		}
		var _repStackData = YAHOO.util.Dom.get("reportStackChartData");
		if(_repStackData && _repStackData.value){
			showReport();		   
		}
		if (div != "sidenav-myinfo"){
			var updatedMyInfo = YAHOO.util.Dom.get("updatedMyInfo");
			if(updatedMyInfo && updatedMyInfo.value=='true'){
				updateSideNavMyInfo();			
			}
		}
		if (div == "swpanelChild") {
			showSolutionPopup();
			displayVideoExplanationOnLoad();
		}
		if (div == "userPanelViewWrapper"){
			showUserPreparationSummaryPopUp();
			showPreparationReport();
		}
		if(div == "diagReportDiv"){
			displayUserSkillSummaryChart();
		}
		if (div == "demo"){ // if request is from enterprise course browser
			changeMoreSubjectTabColor();
		}
		if (div == "qcontent"){
		   displayVideoExplanationOnLoad();
		   changeBackgroundColorForUserResponse();
		}
		if (div == "catbody"){ // to set test body height in SAT adaptive test UI page
			toSetTestBodyHeight();
		}
		if(div == "wordAppQuestionDiv"){
			updateWordAppChallengerGameScore();
		}
		if(div == "reviseWordQuestionDiv"){
			dispalyDivToShowWordMeaning(); // for revise word App 
		}
		if(div == "body"){
			if(document.getElementById('time') != null && document.getElementById('time') != undefined){
				stopClockForward();
				startClockForward("0", "cntdwn");
			}
		}
		if (div == "catbody"){ // to set test body height in SAT adaptive test UI page
			var numquestionsTag = document.getElementById("numquestions");
			var numquestions = -1;
			if(numquestionsTag != undefined && numquestionsTag != null)
				numquestions = parseInt(numquestionsTag.value);

			var iTag = document.getElementById("i");
			var iInt = -1;
			if(iTag !== undefined && iTag != null)
				iInt = parseInt(iTag.value);
			if(iInt < numquestions) {
				document.getElementById('qindex').style.display = "block";
				document.getElementById('current-qindex').innerHTML = iInt+1;
				document.getElementById('total-qindex').innerHTML = numquestions;
				if(CountActive ==  false){
					var duration = document.getElementById('duration').value;
					var testSubType = document.getElementById('assessmentSubType').value;
  				    stopClock();
  				    startClock(duration, "cntdwn", "start", testSubType);
				}
			} else {
				document.getElementById('qindex').style.display = "none";
				if(iInt > numquestions){
					document.getElementById('one-timerShow').style.display = "none";
				} 
			}
		}
		if(div == "wordAppChallengerDiv"){ // word Bowl - onclick of start over button
			onClickStartOverStartTimerClock();
		}
	}
	
	function hideQuestionIndexDisplay(){
		var questionIndex = document.getElementById("questionIndex");
		var qIndex = document.getElementById('qindex');
		if(questionIndex){
			if(questionIndex.value == "TRUE"){
				qIndex.style.display = "none";
			} else {
				qIndex.style.display = "block";
			}
		}
	}

	function delay(naptime){
	      //naptime = naptime * 1000;
	      var sleeping = true;
	      var now = new Date();
	      var alarm;
	      var startingMSeconds = now.getTime();
//	      alert("starting nap at timestamp: " + startingMSeconds + "\nWill sleep for: " + naptime + " ms");
	      while(sleeping){
	         alarm = new Date();
	         alarmMSeconds = alarm.getTime();
	         if(alarmMSeconds - startingMSeconds > naptime){ sleeping = false; }
	      }      
	   }

	function showExplanation(type, mode, explFileUrl) {	
		var videoWrapper;
		if (type == 'FLV') {
			videoWrapper = document.getElementById("videowrapper_flv");
		}
		else if (type == 'LBV') {
			videoWrapper = document.getElementById("videowrapper_lbv");		
		}
		
		if(mode == 0){
			if(document.getElementById("textlink") != null && document.getElementById("discussionlink")!= null){
				document.getElementById("textlink").style.textDecoration = 'none'
				document.getElementById("discussionlink").style.textDecoration = 'underline' 
				document.getElementById("textlink").title = "";
				document.getElementById("discussionlink").title = "Discussion";
				document.getElementById("textlink").style.cursor = "text";
				document.getElementById("discussionlink").style.cursor = "pointer";
			}
			findAndHideDiv('discussionwrapper');
			findAndHideDiv('videowrapper_flv');
			findAndHideDiv('videowrapper_lbv');
			if (videoWrapper && videoWrapper.style != null) {
				stopVideo('Explanation');
			}
			findAndShowDiv('textwrapper');
		} else if(mode == 1) {
			videoWrapper.style.display = "block";
			findAndHideDiv('discussionwrapper');
			findAndHideDiv('textwrapper');
			if (type == 'FLV') {
				findAndShowDiv('videowrapper_flv');
				writeExplanation(explFileUrl);
			} else if (type == 'LBV'){
				findAndShowDiv('videowrapper_lbv');
				showSnapWizPlayer(explFileUrl);
				var conf = new Array();
				conf.modal = true;
				var loadingPanel = new yuiLoadingPanel(conf);
				loadingPanel.show();
				if(whiteboard.ready){
					whiteboard.ready = false;
					SWCanvas.clear();
				}
				WhiteBoard_init();
				loadingPanel.hide();
				setDrawMode(SWVState.View);
			}
			window.scroll(0,1200); 
		} else if(mode == 2){
			if(document.getElementById("textlink") != null && document.getElementById("discussionlink")!= null){
				document.getElementById("discussionlink").style.textDecoration = 'none' 
				document.getElementById("textlink").style.textDecoration = 'underline'
				document.getElementById("discussionlink").title = "";
				document.getElementById("textlink").title = "Text Explanation";
				document.getElementById("discussionlink").style.cursor = "text";
				document.getElementById("textlink").style.cursor = "pointer";
			}
			findAndHideDiv('videowrapper_flv');
			findAndHideDiv('videowrapper_lbv');
			if (videoWrapper && videoWrapper.style != null) {
				stopVideo('Explanation');
			}
			findAndHideDiv('textwrapper');
			var discussionWrapper = findAndShowDiv('discussionwrapper');
			if (discussionWrapper && discussionWrapper.style != null) {
				renderAction(ctx+'/secure/forumHome.action', '&qId='+explFileUrl, discussionWrapper.id);
			}
		}
	}
		
	function closeExplanation() {	
		stopVideo('Explanation');
		findAndHideDiv('videowrapper_flv');
		findAndHideDiv('videowrapper_lbv');
		findAndHideDiv('textwrapper');
		findAndHideDiv('discussionwrapper');		
		return true;
	}

	function findAndHideDiv(divName) {
		var div = document.getElementById(divName);
		if (div && div.style != null) {
			div.style.display = "none";
			div.style.visibility = 'hidden';
		}
		return div;
	}
	
	function findAndShowDiv(divName) {
		var div = document.getElementById(divName);
		if (div) {
			div.style.visibility = 'visible';
			div.style.display = "block";
		}
		return div;
	}
	
	function handleComment(divid, id) {
		var div = document.getElementById(divid);
		if(div.style.display == "none") {
			div.style.display = "block";
			var newComment = document.getElementById("commentText");
			newComment.value = "";
			var button = document.getElementById("comment-b1");
			button.innerHTML = "Submit";
			var cancelbutton = document.getElementById("comment-b2");
			cancelbutton.style.display = "block";		
		} else {		
			var newCommentText = document.getElementById("commentText").value;
			renderPostAction(ctx+'/secure/learn.action', 'q='+id+'&msg='+newCommentText, 'commentsDIV')		
			var newComment = document.getElementById("commentText");
			newComment.value = "";
			var button = document.getElementById("comment-b1");
			button.innerHTML = "Add Comment";				
			var cancelbutton = document.getElementById("comment-b2");
			cancelbutton.style.display = "none";
			div.style.display = "none";
		}
	}
	
	function cancelComment(divid) {
		var div = document.getElementById(divid);
		if(div.style.display == "none") {
			div.style.display = "block";
			var button = document.getElementById("green-button-a");
			button.innerHTML = "Submit";
		} else {
			div.style.display = "none";
			var button = document.getElementById("comment-b1");
			button.innerHTML = "Add Comment";
			var cancelbutton = document.getElementById("comment-b2");
			cancelbutton.style.display = "none";
		}
	}
	
	function getUserResponse(form) {
		var e=form.elements;
		var str = '';
		for (var i=0;i<e.length;++i) {
			if (i < e.length-1) str=str+'&';
			str=str+e[i].id+'='+e[i].checked;
		}
		return str;
	}

	function writeExplanation(explFileUrl) {
		var explUrl = mediaurl + "&id=" + explFileUrl;		
		var so = new SWFObject(ctx + "/mediaplayer/mediaplayer.swf", "Explanation", "600", "450", "9.0.124", "");
		so.addParam("menu", "true");	
		so.addParam("swliveconnect", "true");			
		so.addParam("wmode", "transparent");
		so.useExpressInstall(ctx + '/expressinstall.swf');	
		so.addVariable("JSESSIONID", readCookie('JSESSIONID'));	
		so.addParam('allowfullscreen','true');
		so.addVariable('width','600');
		so.addVariable('height','450');	
		so.addVariable('javascriptid','Explanation');
		so.addVariable('autostart','true');
		so.addParam('allowscriptaccess','always');
		so.addVariable('enablejs','true');
		so.addVariable("file",explUrl);
		so.write("explanationDiv");
		document.getElementById("explanationDiv").style.visibility="visible";
	}
	
	function showSnapWizPlayer(videoId) {
		var so = new SWFObject(ctx + "/flex/SnapWizCreator.swf", "SnapWizCreator", "700", "25", "9", "");
		so.addParam("menu", "true");	
		so.addParam("swliveconnect", "true");			
		so.addParam("wmode", "transparent");
		so.addVariable("JSESSIONID", readCookie('JSESSIONID'));	
		so.addVariable("VIEW", 'PLAYER');		
		so.addVariable("VIDEOID", videoId);		
		so.addVariable("AUTOPLAY", 'true');		
		so.addVariable("MEDIACONNECTIONURL", mediaurl);		
		so.write("swPlayerModeDiv");
	}
	
	function readCookie(cookieName) {
		 var theCookie=""+document.cookie;
		 var ind=theCookie.indexOf(cookieName);
		 if (ind==-1 || cookieName=="") return ""; 
		 var ind1=theCookie.indexOf(';',ind);
		 if (ind1==-1) ind1=theCookie.length; 
		 return unescape(theCookie.substring(ind+cookieName.length+1,ind1));
	}
	
	function enableSelectBox() {
		var state = !arguments[arguments.length-1];
		for(var i=1; i<arguments.length-1; i++) {
			document.forms[arguments[0]][arguments[i]].disabled = state;
		}
		if(state == true){
		document.getElementById("cbvalue").value="no";
		}
		else{
		document.getElementById("cbvalue").value="yes";
		}
	}
	
	
	function showUnit(startDate , endDate ,anchor_id, status_index, total_index, index ,systemDate){
		document.getElementById(anchor_id).style.color='red'; 
		for(var i=1; i<=total_index; i++)
		{
			if(!(status_index == i))
			{
				document.getElementById("lu"+i).style.color='black'; 
			}
		}
	
		for(var i=0; i<=2 ; i++) {
			if(status_index == i) {
				var startdd = startDate.substring(0,2);
				var startmm = startDate.substring(4,7);
				var startyy = startDate.substring(9,12);
				
				var enddd = endDate.substring(0,2);
				var endmm = endDate.substring(4,7);
				var endyy = endDate.substring(9,12);
				
				var systemdd = systemDate.substring(0,2);
				var systemmm = systemDate.substring(4,7);
				var systemyy = systemDate.substring(9,12);
				
				if((systemdd >= startdd && systemdd <= enddd)){  
					if((systemmm >= startmm && systemmm <= endmm)){  
						if((systemmm >= startyy && systemmm <= endyy)){  
							document.getElementById("show-unit").innerHTML="";	
						}
					}
				}
				else{
					var showCurrentLearnUnit=document.getElementById("show-unit").innerHTML="Show Current Learning Unit";	
				}	
			} 
		}
	}
		
	function hightlightUnit(status_index , anchor_id){
		document.getElementById(anchor_id).style.color='red';	
		for(var i=1; i<=2; i++)	{
			if(!(status_index == i)) {
				document.getElementById("lu"+i).style.color='black';
			}
		}
	}

    function update_summary(selected){
      	var selected_array = selected.split("_");
      	var questionLabel = selected_array[1];
      	var test = eval("document.questionsForm.choice"+selected_array[1]); 
		if(test === undefined || test === null) {
			  test =  YAHOO.util.Dom.getElementsBy(function (node) {
		        var name = node.getAttribute("NAME");   
		    	return (name === "choice"+selected_array[1]);
		       });
			}
      	
      	var num_checked = 0;		
		var str = "";
		var foundChoice = 0;            		
		var foundSlash = 0;
		var finalAnswer = 0.0;
		var finalStr = "";
		var tmp = "";
		var numerator = 0.0;
		var denominator= 1.0;
		if(test.type == "textarea" || test.type == "text"){
			var id = test.id;
			var myRe = /_qsetid_(.*)_qdisp_(.*)_qid_(.*)_qtype_(.*)_chid_(.*)_/;
			var myArray = myRe.exec(id);
			var qsetid = myArray[1];
			var qdisp = myArray[2];
			var qid = myArray[3];
			var qtype = myArray[4];
			var chid = myArray[5];
			qdisp = qsetid+"_"+qdisp;
			var previousResponseObj;
			var previousResponseValue;
			var textResponseObj;
			var textResponseValue;
			if(qtype == 3 ||qtype == 5){
				previousResponseObj = document.getElementById("prev_response_"+qsetid+"_"+questionLabel);
       		    if(previousResponseObj !== null && previousResponseObj !== undefined){
       		    	previousResponseValue = previousResponseObj.value;
       		    }
				if(qtype == 3){
	        	    textResponseObj = document.getElementById("t_Response_"+questionLabel+"_"+qid);
				} else if(qtype == 5){
	        	    textResponseObj = document.getElementById("ta_Response_"+questionLabel+"_"+qid);
				}
       		    if(textResponseObj !== null && textResponseObj !== undefined){
       		    	textResponseValue = textResponseObj.value       		    	
       		    }
       		    str = trim(test.value,'');
       		    if(str !== ""){
			    	if(previousResponseValue.length > 0){
       		    		num_checked = 0;	
       		    	} else {
       		    		num_checked = 1;
       		    		previousResponseObj.value = test.value;	
       		    	}
       		    } else {
       		    	if(previousResponseObj.value.length > 0 && str.length == 0){
       		    		previousResponseObj.value = '';
       		    		textResponseObj.value = '';
			    		num_checked = -1;
			    	} else {
			    		num_checked = 0;
			    	}
       		    }	
			}
		} else {
			for (i=0; i<test.length; i++)
			{
				var id = test[i].id;
				var myRe = /_qsetid_(.*)_qdisp_(.*)_qid_(.*)_qtype_(.*)_chid_(.*)_/;
				var myArray = myRe.exec(id);
				var qsetid = myArray[1];
				var qdisp = myArray[2];
				var qid = myArray[3];
				var qtype = myArray[4];
				var chid = myArray[5];
				qdisp = qsetid+"_"+qdisp;
				
				if (test[i].checked == true) 
				{
				    num_checked++;
				    if(qtype == 4){
				    	str = str+test[i].value
				    } else {
						str = str+test[i].value+"<br>";
					}
					var img = document.getElementsByName("ans-result-image_"+qsetid+"_"+
					                                     qid+"_"+chid);
					if(typeof(img) != "undefined" && img != null && img.length > 0)
					{
						img[0].style.display = "inline";
					}
				} else {
					var img = document.getElementsByName("ans-result-image_"+qsetid+"_"+qid+"_"+chid);
					if(typeof(img) != "undefined" && img != null && img.length > 0)
					{
						img[0].style.display = "none";
					}
					if(qtype == 7)
					{
	      					if(test[i].value!= "/")
	                       {
	                		   tmp = tmp+test[i].value;
	              			} else 
	              			{
							foundSlash = 1;
			   				numerator = parseFloat(tmp);
							tmp = "";
						}
					    str = str+test[i].value;
					    if(str !== "")
					    {
					          num_checked = str.length;
					    }
					    finalStr = finalStr+test[i].value 
					} 
				}
			}
		}
		if(foundSlash)
		{
		   denominator = tmp;
		   if(denominator !== "" && denominator != 0){
		      finalAnswer = Math.round(numerator*10000/denominator)/10000;
		   } else {
		      finalAnswer = "INVALID";
		   }
		   str = finalAnswer;
		   str = finalStr;
		} else 
		{
		   finalAnswer = tmp;
		   if(finalAnswer === "." ||finalAnswer.indexOf("..") > 0){
		     finalAnswer = "INVALID";
		     str = finalAnswer;
		     str = finalStr;
		   }
		}
 	
	   
		var dataRow = document.getElementById(selected);
		if(dataRow !== undefined && dataRow !== null)
		{
	        var myArray = dataRow.cells;
					
			if(str.length > 0)
			{
				var x = myArray[2].innerHTML;
				if(x.length > 0) {
					dataRow.setAttribute("className","data-marked");
					dataRow.setAttribute("class","data-marked");
				} else {
					dataRow.setAttribute("className","data-answered");
					dataRow.setAttribute("class","data-answered");
				}
				if(qtype == 4){
					if(str == "True"){
						myArray[1].innerHTML == "true";
					} else if (str == "False"){
						myArray[1].innerHTML == "false";
					}
				}
				if(str.length < 6 ||str.indexOf("<br>") == 1){
					myArray[1].innerHTML = str;
				} else {
					if((qtype == 3 || qtype == 5) && str.length > 6) {
						myArray[1].innerHTML = str.substring(0,6); 
					}
				}
			}
			else 
			{	
				var x = myArray[2].innerHTML;
				if(x.length > 0) {
					dataRow.setAttribute("className","data-marked");
					dataRow.setAttribute("class","data-marked");
				} else {
					dataRow.setAttribute("className","data");
					dataRow.setAttribute("class","data");
				}
				if(qtype == 4){
					if(str == "True"){
						myArray[1].innerHTML == "true";
					} else if (str == "False"){
						myArray[1].innerHTML == "false";
					}
				}
				if(str.length < 6 ||str.indexOf("<br>") == 1){
					myArray[1].innerHTML = str;
				}
			}
		} 
		return num_checked;
    }
    
    function update_question_count(change){
    
    	var totalTagNode = document.getElementById("total_q");
		if(typeof(totalTagNode) != "undefined" && totalTagNode != null)
		{
			var totalTag = totalTagNode.innerHTML;
			var ansTag = document.getElementById("num_ans");
			var current_ans = parseInt(ansTag.innerHTML);
			var total_ans = current_ans + change;  
			ansTag.innerHTML = total_ans;
			var remTag = document.getElementById("num_rem");
			remTag.innerHTML = totalTag-total_ans;
		}
    }

    function handle_answer_enhanced(selected, obj)
    {
       var className = obj.getAttribute("class");
       if(className === '' || className == null || className == undefined){
    	   className = obj.getAttribute("className");    	   
       }
       if(className === "qtn-label-selected"){
    	   obj.setAttribute("className","qtn-label");
    	   obj.setAttribute("class","qtn-label");
       } else {
    	   obj.setAttribute("className","qtn-label-selected");
    	   obj.setAttribute("class","qtn-label-selected");
       }
		
       var parentNode = obj.parentNode;
       var chkBox = YAHOO.util.Dom.getChildrenBy(parentNode, function (node) {
           return node.className == "qtn-chkbox";
       });
       var inputTagTD = chkBox[0];
       var inputTag = YAHOO.util.Dom.getChildrenBy(inputTagTD, function (node) {
           return node.nodeName == "INPUT";
       });
       var st = inputTag[0].id;
       var type = 1;
	   if(st.indexOf("qtype_0") > 0 || st.indexOf("qtype_4") > 0||st.indexOf("qtype_8") > 0)
	   {
	     type = 0;	    	    	
	   }
       if(inputTag[0].checked == true){
    	   inputTag[0].checked = false;
       } else {
    	   if(type == 0)
    		   clear_choices(selected);
    	   inputTag[0].checked = true;    	 
       }
       handle_answer(selected, inputTag[0]);
    }
    
	function handle_answer(selected, obj)
	{
		var st = obj.id;
		var selectedArray = st.split("_");
		var qId = selectedArray[6];
		var selected_question_array = selected.split("_");
		var questionLabel = selected_question_array[1];
		submit_question_response(selected, obj);
	    var num_checked = update_summary(selected);
		var checked = 0;
		var previousResponseObj;
		var previousResponseValue;
		var textResponseObj;
		var textResponseValue;
		if(st.indexOf("qtype_3") > 0 || st.indexOf("qtype_5") > 0){
			previousResponseObj = document.getElementById("prev_response_"+selected)
       		if(previousResponseObj !== null && previousResponseObj !== undefined){
       		   	previousResponseValue = previousResponseObj.value;
       		}
			if(st.indexOf("qtype_3") > 0){
	            textResponseObj = document.getElementById("t_Response_"+questionLabel+"_"+qId);
			} else if(st.indexOf("qtype_5") > 0){
				textResponseObj = document.getElementById("ta_Response_"+questionLabel+"_"+qId);
			}
       		if(textResponseObj !== null && textResponseObj !== undefined){
       		   	textResponseValue = textResponseObj.value       		    	
       		}
       		if(num_checked == 1){
       			if(previousResponseValue.length > 0 && textResponseValue.length > 0){
       				checked = 0;
       			}
       			if(previousResponseValue.length > 0 && textResponseValue.length == 0){
       				checked = 1;
       			}
       		} else if(num_checked == -1){
       			if(previousResponseValue.length == 0 && textResponseValue.length == 0){
       				checked = -1;
       			}
       		} else if(num_checked == 0){
       			checked = 0;
       		}
		} else {
			if(num_checked == 0){
		 		checked = -1;
		 		var selectedValue = document.getElementById("a_"+questionLabel);
		 		if(selectedValue != undefined){
		  			selectedValue.value = "FALSE";
		 		}
			} else if(num_checked == 1) {
		  		if(obj.checked) {
		    		checked = 1;
		  		} else {
		    		if(st.indexOf("qtype_7") > 0){
		    			var selected_question_array = selected.split("_");
		    			var questionLabel = selected_question_array[1];
						var selectedValue = document.getElementById("a_"+questionLabel);
		      			if(obj.value === ""){
		        			checked = 0;
		        			selectedValue.value = "FALSE";
		      			} else {
		      				selectedValue = document.getElementById("a_"+questionLabel);
		      				if(selectedValue.value == "TRUE"){
		      					checked = 0;
		      				} else {
		      					checked = 1;
								selectedValue.value = "TRUE";
		      				}
		      			}
		    		} 
		  		}
			}		
		}
		update_question_count(checked);
	}
	
	function review_later(selected, obj)
	{
		var btnID = "a"+selected;
		var btn = document.getElementById(btnID);
		var btnChild = YAHOO.util.Dom.getFirstChild(btn);
		if(btn.innerHTML == "Review Later" || (btnChild != null && btnChild.nodeName == "IMG"&& btnChild.src.indexOf("reviewLater.png") > 0))
		{
			if(btn.innerHTML == "Review Later") {
				btn.innerHTML = "Undo Review";
				var dataRow = document.getElementById(selected);
				if(dataRow) {
					var myArray = dataRow.cells;
					myArray[2].innerHTML = "X"; 
					dataRow.setAttribute("className","data-marked");
					dataRow.setAttribute("class","data-marked");
				}
			} else if(btnChild.nodeName == "IMG"&& btnChild.src.indexOf("reviewLater.png") > 0) {
				btnChild.src = "../images/reviewLatered.png";
			}
		} else {
			if(btnChild != null && btnChild.nodeName == "IMG"&& btnChild.src.indexOf("reviewLatered.png") > 0){
				btnChild.src = "../images/reviewLater.png";
			} else {
				btn.innerHTML = "Review Later";
				var dataRow = document.getElementById(selected);
				if(dataRow) {
					var myArray = dataRow.cells;
					myArray[2].innerHTML = "";
					var ans = myArray[1].innerHTML.length;
					if(ans == 0) { 
						dataRow.setAttribute("className","data");
						dataRow.setAttribute("class","data");
		            } else {
						dataRow.setAttribute("className","data-answered");
						dataRow.setAttribute("class","data-answered");
		            }
				}
			}
		}
		submit_question_response(selected, obj);		
	}
	
	function clear_choices(selected)
	{
	   	var selected_array = selected.split("_");
      	var test = eval("document.questionsForm.choice"+selected_array[1]);
		var cleared = false;
		if(test.type == "text" || test.type == "textarea"){
			if(test.value.length > 0){			
				test.value = '';
				cleared = true;
			} else {
				cleared = false;
			}
			if(cleared)
				handle_answer(selected, test);			
		} else {
			for (i=0; i<test.length; i++)
			{
				if(test[i].type === "checkbox")
			    {
					if (test[i].checked == true) 
					{
		  			  test[i].checked = false;
		  			  cleared = true;		  			  
		  			  var obj = test[i];
		  		      var parentNode = obj.parentNode;
		  		       var label = YAHOO.util.Dom.getNextSiblingBy(parentNode, function (node) {
		  		           return (node.className == "qtn-label-selected");
		  		       });
		  		       if(label !== null){
			  		     label.setAttribute("className","qtn-label");
			  		     label.setAttribute("class","qtn-label");
		  		       }
					}
				} else if(test[i].type === "select-one"){
					if (test[i].value !== "") 
					{
		  			  test[i].value = "";
		  			  cleared = true;
					}
				}
			}
			if(cleared)
				handle_answer(selected, test[0]);
		}
        	
	}

	function cannot_go(clicked)
	{
	  if(clicked == 'next')
	  {
	    alert("You need to complete the current section before you can access this section!!")
	  } else if(clicked == 'prev')
	  {
	    alert("You have already completed this section and cannot acces it since it has been submitted.")
	  }
	}
	
	function submit_response(target,action,startclock,assessmentType)
	{
	    var mainAr = new Array();
		var qidAr = document.questionsForm.q;
		var num_ans= "";
		var essArray ="";
		var postStr = "";
		var secIdTag = document.questionsForm.secId;
		var secId = "";
		var booleanAnswer;
		if(secIdTag !== undefined)
		  secId = secIdTag.value;
		if(qidAr != undefined)
		{    var qtypeValue = document.questionsForm.qType.value;
		    if(qtypeValue == 6){
		    	var qidValue = document.questionsForm.q.value;
				var essayData = escape(document.getElementById("essayContent").value);
				essArray = qidValue +"_SWTWO_" + qtypeValue + "_SWTWO_" + secId + "_SWTWO_" + "" + "_SWTWO_" + essayData +"_SWTHREE_"+encodeURI(choice);
				postStr = essArray;
			} else {
			var qtypeAr = document.questionsForm.qType;
			var num = qidAr.length;
			var compAid;
			for (j=0; j<num; j++)
			{
				mainAr[qidAr[j].value] = qidAr[j].value+"_SWTWO_"+qtypeAr[j].value;
			}
			
			var test = document.forms["questionsForm"].elements;
			var sz = test.length;
			var str = "";
			var prevQid = "";
			for (i=0; i<sz; i++)
			{
				if (test[i].checked == true)
				{
					var id = test[i].id;
					var myRe = /_qsetid_(.*)_qdisp_(.*)_qid_(.*)_qtype_(.*)_chid_(.*)_/;
					var myArray = myRe.exec(id);
					var qsetid = myArray[1];
					var qdisp = myArray[2];
					
					var rl = "a"+qsetid+"_"+qdisp;
					var review_later = 0;
					var btn = document.getElementById(rl);
					if(btn.innerHTML == "Undo Review")
					{	
			           review_later = 1;
					}
					
					var qid = myArray[3];
					var qtype = myArray[4];
					var choice = "SNAP_DUMMY";
					var choiceId = myArray[5];
					var tmp = mainAr[qid];
					if(qtype == 4){
						booleanAnswer = test[i].value;
					}
					if(qid !== prevQid){
						if(qtype != 4){
							mainAr[qid] = tmp+ "_SWTWO_" + secId + "_SWTWO_"+review_later+"_SWTWO_"+choiceId+"_SWTHREE_"+encodeURI(choice); 
						} else {
							mainAr[qid] = tmp+ "_SWTWO_" + secId + "_SWTWO_"+review_later+"_SWTWO_"+booleanAnswer;
						}
					} else {
						mainAr[qid] = tmp+"_SWTWO_"+choiceId+"_SWTHREE_"+encodeURI(choice);
					}
					prevQid = qid;
					str = str + test[i].id;
				}
			}
			var unAns = "";
			var num_unAns = 0;
			for (j=0; j<num; j++)
			{
			    var key = qidAr[j].value;
			    var val = mainAr[key];
			    if(val.indexOf("_SWTHREE_") > 0)
			    {
					postStr = postStr+val+"_SWONE_";
				} else {
				  unAns = unAns+","+key;
				  num_unAns++;
				}
			}	
		}
		}
		var iStr = parseInt(document.questionsForm.i.value);
		var currentPage = iStr; 
		var eidobj = document.questionsForm.eid;
		
		if(eidobj !== undefined)
		{
		  if(eidobj.value === undefined)
		  { 
		     eid = eidobj[0].value;
		  } else 
		  {
		     eid = eidobj.value;
		  }
		}
		
		var isLastPage = "";
		var isLastPageObj = document.questionsForm.isLastPage;
		if(isLastPageObj !== undefined)
		  isLastPage = secIdTag.value;

		var uAid = "";
		var uAidObj = document.questionsForm.uAid;
		if(uAidObj !== undefined)
		  uAid = uAidObj.value;

		var cid = "";
		var cidObj = document.questionsForm.courseId;
		if(cidObj !== undefined)
		  cid = cidObj.value;
		 
		var secIdTag = document.questionsForm.secId;
		var secId = "";
		if(secIdTag !== undefined)
		  secId = secIdTag.value;

        if(qtypeValue == 6){
        	num_ans =1 ;
        } else {
        	num_ans = num - num_unAns;
        }
             
		if(isLastPage == "n")
		{
			iStr = iStr+1;
			compAid = uAid;
			if(target != 'undefined')
			{
			   iStr = target;
			}		
		} else {
		  iStr = iStr+1;
		  
		  if(action == 'undefined'){
		     action = 'continue';
		  }
		  if(action=='completed'){
		  	compAid = uAid;
		  	//If its last section submission, hide test summary side pannel.
		  	var testControlDiv = document.getElementById("controls");
		  	testControlDiv.style.display = "none";
		  }
		  if(target != 'undefined')
		  {
			iStr = target;
		  }		
		}
		var qouterDiv = document.getElementById("qouter");
		var questionsDiv = document.getElementById("questions");
		if(qouterDiv)
			qouterDiv.removeChild(questionsDiv);
		if(postStr === undefined || postStr === '')
		{
		  postStr="EMPTY";
		}	
		if(assessmentType === undefined || assessmentType === ''){
			assessmentType = 'test'
		}		
		if(qtypeValue == 6){
			renderPostAction(ctx+'/secure/'+assessmentType+'.action', 'r='+postStr+'&i='+iStr+'&eid='+eid +'&uAid='+uAid
			+'&compAid='+compAid+'&action='+action+"&currentPage="+currentPage+"&secId="+secId+"&cid="+cid, 'body');
        } else {
        // to fix UI issue in intermediate page after test/exercise submission
        if(action == 'completed'){
        	document.getElementById('qouter').style.background ='#FFFFFF'; 
        	document.getElementById('qouter').style.height='500px';
        }
        	renderPostAction(ctx+'/secure/'+assessmentType+'.action', 'r='+postStr+'&i='+iStr+'&eid='+eid +'&uAid='+uAid
			+'&compAid='+compAid+'&action='+action+"&currentPage="+currentPage+"&secId="+secId+"&cid="+cid, 'qouter');			
        }
		
		YAHOO.util.Event.onContentReady("questionsForm", function(){
			var timer_mode_obj = document.questionsForm.timer_mode;
			var  timer_mode_str = '';
			if(timer_mode_obj !== undefined)
				timer_mode_str = timer_mode_obj.value;

			if(startclock === undefined) 
	  		{
	  		  startclock = true;
	  		} 
	  		
	  		if(timer_mode_str !== 'middle' && startclock)
				stopClock();
				
			var timer_mode = document.questionsForm.timer_mode;	  		
	  		if(timer_mode !== undefined)
	  		{
	  		   if(timer_mode.value === "break")
	  		   {
	  		      YAHOO.util.Event.onContentReady("cntdwn_break", function()
			          {
				        var breakDurationTag = document.questionsForm.breakduration;
				        if(breakDurationTag !== undefined && startclock)
				        {
							var breakDuration = breakDurationTag.value;				        
							stopClock();
							startClock(breakDuration,'cntdwn', 'break', '');
							
							document.getElementById('total_q').innerHTML = 0;
							document.getElementById("num_ans").innerHTML = 0;
			                document.getElementById("num_rem").innerHTML = 0;
							
							
							var parent = document.getElementById('paginationValuesTable');
  							var child = document.getElementById('paginationValues');
						  	if(parent && child !== null)
						  	   parent.removeChild(child);
							
						}
			       	  }
		       	  );
	  		   } 
	  		   if(timer_mode.value === "start")
	  		   {
	  		     	YAHOO.util.Event.onContentReady("cntdwn", function()
			          {
				        var breakDurationTag = document.questionsForm.breakduration;
				        if(breakDurationTag !== undefined && startclock)
				        {
							var breakDuration = breakDurationTag.value;				        
							document.getElementById('cntdwn').style.display = 'inline';
							//stopClock();
							startClock(breakDuration,'cntdwn','start','');
							
							var numquestionsTag = document.questionsForm.numquestions;
							if(numquestionsTag !== undefined && startclock) 
							{
							  var numquestions = numquestionsTag.value;
							  document.getElementById('total_q').innerHTML = numquestions;
							  var ansTag = document.getElementById("num_ans");
			                  ansTag.innerHTML = 0;
			                  var remTag = document.getElementById("num_rem");
			                  remTag.innerHTML = numquestions;
						    }
						    
						    var qsummaryTag = document.questionsForm.qsummary;
						    if(qsummaryTag !== undefined) 
						    {
						    	var parent = document.getElementById('paginationValuesTable');
  								var child = document.getElementById('paginationValues');
						  		if(parent && child !== null)
						  		   parent.removeChild(child);
						      var qsummary = qsummaryTag.value;
						      qsummary = qsummary.substring(1,qsummary.length-1);
						      qsummary = qsummary.replace(/\s/g,"");
						      var QSummaryAr = qsummary.split(",");

							  if(parent !== undefined)
							  { 
							      var tBody = document.createElement("tbody");
							      parent.appendChild(tBody);
							      tBody.setAttribute("id","paginationValues");
						  
								  for(l=0; l<QSummaryAr.length; l++)
								  {
								  
								    var newrow = document.createElement("tr");
								    tBody.appendChild(newrow);
								    var tStr = QSummaryAr[l];
									if(tStr.indexOf("Section_") >= 0)
									{
	                                  var tAr = tStr.split("_");
	                                  newrow.setAttribute("class","title");
	                                  newrow.setAttribute("className","title");
	                                  var newcell = document.createElement("th");
	                                  newrow.appendChild(newcell);
								      newcell.setAttribute("colSpan","3");
								      newcell.innerHTML = tAr[1];
									  //rows = rows+"<tr class=\"title\"><th COLSPAN=3>"+tAr[1]+"</th></tr>";
	                                } else {
	                                  var tAr = tStr.split("_");
	                                  var idStr = tAr[0]+"_"+tAr[1];
	                                  var param  = tAr[2]+"_"+tAr[1];
	                                  
	                                  newrow.setAttribute("class","data");
	                                  newrow.setAttribute("className","data");
	                                  newrow.setAttribute("id",idStr);
	                                  var newcell = document.createElement("td");
	                                  newrow.appendChild(newcell);
	                                  var alink = document.createElement("a");
	                                  alink.setAttribute("href","javascript:scrollToQuestion('"+param+"');");
	                                  alink.innerHTML = tAr[1];
								      newcell.appendChild(alink);
	                                  
	                                  var newcell = document.createElement("td");
	                                  newrow.appendChild(newcell);
	                                  newcell.innerHTML="";
	                                  
	                                  var newcell = document.createElement("td");
	                                  newrow.appendChild(newcell);
	                                  newcell.innerHTML="";
	                                }
								  }
							      pager = new Pager('paginationValues', 16); 
						          pager.init(); 
						          pager.showPageNav('pager', 'pageNavPositionNext' ,'pageNavPositionPrev' ); 
						          pager.showPage(1);
                              }
						     }
						 }
			       	  }
		       	  );
	  		   }
	  		   if(timer_mode.value === "middle")
	  		   {
	  		     var sidepagenumberTag = document.questionsForm.sidepagenumber;
			     if(sidepagenumberTag !== undefined) 
				 {
				   var sidepagenumber = parseInt(sidepagenumberTag.value);
				   pager.showPage(sidepagenumber);
				 }
	  		   }	  		   
	  		   
	  		}
       	  });

  }
    function scrollToQuestion(page,assessmentType)
    {
       var ar = page.split("_");
       var i = document.questionsForm.i.value
       submit_response(ar[0]-1, "continue", false,assessmentType);
       
       YAHOO.util.Event.onContentReady("questions", function() {
	       var al = document.getElementById("_"+ar[1]);
	       var ancestor = YAHOO.util.Dom.getAncestorByClassName(al,"sc_qdiv");
	       var id = ancestor.getAttribute("id");
	       var x = YAHOO.util.Dom.getXY(id)[0]; 
	       var y = YAHOO.util.Dom.getXY("_"+ar[1])[1];
	       var offset = YAHOO.util.Dom.getViewportHeight("_"+ar[1])/2;  
	       var attributes = {scroll: { to: [0, y-offset] }}; 
	       var anim = new YAHOO.util.Scroll(id, attributes);
           anim.animate();
         }
       ); 
    }		
	
	function replaceAll(OldString,FindString,ReplaceString) 
	{
  		var SearchIndex = 0;
  		var NewString = ""; 
  		while (OldString.indexOf(FindString,SearchIndex) != -1)    {
	    	NewString += OldString.substring(SearchIndex,OldString.indexOf(FindString,SearchIndex));
	    	NewString += ReplaceString;
	    	SearchIndex = (OldString.indexOf(FindString,SearchIndex) + FindString.length);         
 		}
  		NewString += OldString.substring(SearchIndex,OldString.length);
  		return NewString;
	}
	
	function renderReportView(url,args,div){
	  	renderAction(url,args,div);
	}
	
	var showReport = function(){
		var _reportDataInput = YAHOO.util.Dom.get("reportData");
		if(!_reportDataInput){
			return;
		}
		var _repData = _reportDataInput.value;
		var _chartType = YAHOO.util.Dom.get("chartType").value;
		if(_chartType == 'NONE'){
			return;
		}
		if(_chartType == 'BAR'){
			var _repDataComp = YAHOO.util.Dom.get("reportDataComparision");
			var _repDataForFocusMore = YAHOO.util.Dom.get("reportDataForFocusMore");
			if(_repDataComp){
				render_chart(_repData,"chart",'n');
				render_chart(_repDataComp.value,"comp_chart",'y');
			}else if(_repDataForFocusMore){
				render_userPrepardnessReport_chart(_repData,"chart",'y'); // report data for user performing well
				render_userPrepardnessReport_chart(_repDataForFocusMore.value,"chartForFocusMore",'y'); //report data for user focus more
			}else{
				render_chart(_repData,"chart",'y');
			}
		}
		var _repStackData = YAHOO.util.Dom.get("reportStackChartData");
		if(_repStackData){
			render_stacked_bar_chart(_repStackData.value,"stackedChart");		   
		}
		
        if(_chartType == 'STACKED'){
            render_stacked_bar_chart(_repData,"chart");
        }
		
		if(_chartType == 'LINE'){
			render_line_chart(_repData);
		}
	};
	
	function render_chart(_reportData,div,setmax)
	{
		if(_reportData === undefined || _reportData === "") 
			return;
		
		var reportData = replaceAll(_reportData, '&#034;', '"');
		YAHOO.widget.Chart.SWFURL = "http://yui.yahooapis.com/2.8.0r4/build/charts/assets/charts.swf";
		var prod;
		try { 
			    prod = YAHOO.lang.JSON.parse(reportData); 
		} 
		catch (e) { 
			    alert("Invalid product data :: "+e); 
		} 
	
		var testData = new YAHOO.util.DataSource(prod.reportData);
		testData.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
		
		var tmpAr = new Array();
		var i = 0;
		for(key in prod.reportData[0])
		{
		  tmpAr[i] = key;
		  i++;		
		}
		
		testData.responseSchema = { fields: tmpAr };
		
		  //--- chart
	    var seriesDef = new Array();
	    var xField = "xField";
	    var yField = "yField";
	    //if maximum is defined, then use it.
		var maximumScore = YAHOO.util.Dom.get("maximumScore");			
		var axisWithMinMax = new YAHOO.widget.NumericAxis();   
		axisWithMinMax.minimum = 0;  
		 
	    /* for report level-1 first(LeftGraph) graph */ 
		if(div == "comp_chart" && setmax == "y"){ 
			seriesDef = returnSeriesDefForReportLevelOneLeftGraph(tmpAr);
			axisWithMinMax.minimum = 0;
			/* to set the Y-axis max value to 100 for CAT */
			if(document.getElementById("reportLevelOne") != null) {
				axisWithMinMax.maximum = maximumScore.value;
				axisWithMinMax.title = "Percentile";
			}
		}
		/* for report level-1 second graph(RightGraph)*/ 
		if(div == "chart" && setmax == "n"){
			seriesDef = returnSeriesDefForReportLevelOneRightGraph(tmpAr);
			var axisWithMinMax = new YAHOO.widget.NumericAxis();  
		 	axisWithMinMax.minimum = 0;
		 	/* to set the Y-axis label for CAT */
		 	if(document.getElementById("reportLevelOne") != null) {
		 		axisWithMinMax.title = "Number of Questions";
		 	}
		}
	
		/* for report level-0 , student dash board graph & report level-2(bar chart) first graph*/ 
		if(div == "chart" && setmax == "y"){
			var reportLevelObj = document.getElementById("reportLevel2");
			axisWithMinMax.minimum = 0;
			if(maximumScore != undefined && maximumScore != null){
				axisWithMinMax.maximum = maximumScore.value;
			}
		 	if(!reportLevelObj || reportLevelObj == null || reportLevelObj == "" || reportLevelObj == undefined ){
		 	/* to set the Y-axis max value to 100 for CAT in student dashboard*/
		 		if(document.getElementById("reportingType") != null && document.getElementById("reportingType").value == "PERCENTILE"){
		 			axisWithMinMax.title = "Percentile";
		 		}
		 	}	
		 	if(document.getElementById("reportLevelTwo") != null) {
		 		axisWithMinMax.title = "Time Spent ( Mins & Seconds )";
		 		axisWithMinMax.labelFunction = function(value, major) 
		        { 
		             var iVal = value;
		             var minutes = 0;
		             while (iVal > 59)
		             {
		                iVal = iVal - 60;
		                minutes = minutes+1;
		             }		             
		             var str = "";
		             if(minutes > 0)
		             {
		                str = minutes+" m";
		                if(iVal > 0) {
		                    str = str+" "+iVal+" s";
		                }
		             } else {
		               if(iVal > 0) {
		                  str = iVal+" s";
		               }
		               
		             }
		             return str;		              
		        };
			}	 	
			seriesDef = returnSeriesDefForReportLevelAndDashBoard(tmpAr);
		}
		
		var reportingType = YAHOO.util.Dom.get("reportingType");	
		var mychart = new YAHOO.widget.ColumnChart( div, testData,
		{
			series: seriesDef,
			yAxis: axisWithMinMax,
			xField: xField,
			wmode: "transparent",
			style:
			{
				border: {color: 0x96acb4, size: 0},
				font: {name: "Arial Black", size: 12, color: 0x586b71},
				dataTip:
				{
					border: {color: 0x2e434d, size: 2},
					font: {name: "Arial Black", size: 13, color: 0x586b71}
				},
				xAxis:
				{
					color: 0x2e434d
				},
				yAxis:
				{
					color: 0x2e434d,
					majorTicks: {color: 0x2e434d, length: 4},
					minorTicks: {color: 0x2e434d, length: 2},
					titleRotation:-90,
					titleFont:{color:0x586b71}
				},
				legend:
				{
					display: "bottom",
					padding: 5,
					spacing: 5,
					font:
					{
						family: "Arial",
						size: 9
					}
				}
			},
			//only needed for flash player express install
			expressInstall: "/expressinstall.swf"
		});

		
	}
	
	function render_line_chart(_reportData)
	{
        var reportData = replaceAll(_reportData, '&#034;', '"');
		YAHOO.widget.Chart.SWFURL = "http://yui.yahooapis.com/2.8.0r4/build/charts/assets/charts.swf";
		try { 
			    var prod = YAHOO.lang.JSON.parse(reportData); 
		} 
		catch (e) { 
			    alert("Invalid product data :: "+e);
		} 
		//--- data
		var testData = new YAHOO.util.DataSource(prod.reportData);
		testData.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;

		var tmpAr = new Array();
		var i = 0;
		for(key in prod.reportData[0])
		{
	  		tmpAr[i] = key;
	  		i++;		
		}
		testData.responseSchema = { fields: tmpAr };

		//--- chart
	    var seriesDef = new Array();
	    var j = 0;
	    var xField = "xField";
	    /* to return the series Def for report level-2 for line chart */
	    seriesDef = returnSeriesDefForLineChartInReportLevel(tmpAr);

        var axis = new YAHOO.widget.NumericAxis(); 
        axis.labelFunction = function(value, major) 
        { 
             var iVal = value;
             var minutes = 0;
             while (iVal > 59)
             {
                iVal = iVal - 60;
                minutes = minutes+1;
             }
             
             var str = "";
             if(minutes > 0)
             {
                str = minutes+" mins";
                if(iVal > 0) {
                    str = str+" "+iVal+" secs";
                }
             } else {
               if(iVal > 0) {
                  str = iVal+" secs";
               }
               
             }
             return str;
              
        };
        
        var course_id = YAHOO.util.Dom.get("course_id");
        if(course_id !== null && course_id !== undefined && course_id.value == 6){
            // set scale for SAT
            axis.majorUnit = 60;
            axis.minorUnit = 30;
        } else {
           // set scale for IIT
            axis.majorUnit = 120;
            axis.minorUnit = 60;
        
        }  

		var mychart = new YAHOO.widget.LineChart("line_chart", testData,
		{
			series: seriesDef,
			xField: xField,
			yAxis: axis,
			style:
			{
				padding: 20,
				legend:
				{
					display: "top",
					padding: 5,
					spacing: 5,
					font:
					{
						family: "Arial",
						size: 9
					}
				}
			},
			expressInstall: "/expressinstall.swf"
		});
	}

	var CountActive = false;
	var LeadingZero = true;
	var timer;
	var timerMode = "start";
	function calcage(secs, num1, num2) 
	{
		  s = ((Math.floor(secs/num1))%num2).toString();
		  if (LeadingZero && s.length < 2)
			s = "0" + s;
		  return "<b>" + s + "</b>";
	}
    
	function startClock(secs, div, mode, testSubType) 
	{
		if(CountActive == false) {
		   CountActive = true;
		   timerMode = mode;
		   CountBack(secs, div, mode,testSubType);
		}
	}
	
	function stopClock() 
	{
	   clearTimeout(timer);
       CountActive = false;
	}

	function startClockForward(secs, div) 
	{
		if(CountActive == false) {
		   CountActive = true;
		   CountForward(secs, div)
		}
	}
	
	function stopClockForward() 
	{
	   clearTimeout(timer);
       CountActive = false;
	}
	
	function nextDiagnosticQuestion(cid, eid){
		var hasUserAnswered = false;
		var qType = document.getElementById('qType').value;
		if(qType != 7){
			var answerChoiceClass = YAHOO.util.Dom.getElementsByClassName('qtn-chkbox','td');
			if(answerChoiceClass != undefined && answerChoiceClass != null){
				for(var i=0; i<answerChoiceClass.length ; i++){
					var inputTag = YAHOO.util.Dom.getFirstChild(answerChoiceClass[i]);
					if(inputTag.checked == true){						
						hasUserAnswered = true;		
						break;			 
					} 
				}
			} 
		} else {
			var selectedValue = document.getElementById("a_"+document.getElementById('qLabel').value);
			if((selectedValue != null || selectedValue != undefined) && selectedValue.value == 'TRUE'){
				hasUserAnswered = true;
			}
		}
		if(hasUserAnswered == true){
			stopClockForward();
			renderAction('dianosticTest.action','cid='+cid+'&eid='+eid,'body');
	        var current_time = new Date();        		
	        var current_time_ms = current_time.getTime();
	        last_question_savetime = current_time_ms;
		} else {
			document.getElementById('diagErrorMsg').innerHTML = "Please answer the question, to navigate to next question";
			return;
		}
	}
	
	function gotoResponseAdaptiveQuestion(cid, eid, i, navMode,reqSeq){
		var nMode = 0;
		var qid = 0;
		var aSectionId = 0;
		if(navMode != undefined){
			nMode = parseInt(navMode);
		}
		var avgTime = 0;
		var markedForReview = 0;
		var numquestionsTag = document.getElementById("numquestions");
		var numquestions = 0;
		if(numquestionsTag !== undefined && numquestionsTag!=null)
			numquestions = parseInt(numquestionsTag.value);
		
		var uaidTag = document.getElementById("uaid");
		var uaid=null;
		if(uaidTag !== undefined && uaidTag!=null){
			uaid = parseInt(uaidTag.value);
		}
		var questionSequence = document.getElementById("currentSequence");		
		var iInt = parseInt(i);
		var qLabel = document.getElementById("qLabel");
		if(qLabel != null && qLabel != undefined){
			avgTime = getTimeForNotAttemptedQuestion(qLabel.value);
			var isMarked = isQuestionMarkedForReview(qLabel.value);
			if(isMarked == true){
				markedForReview = 1;
			}
		}
		if(avgTime != 0){
			qid = document.getElementById("qId");
			aSectionId = document.getElementById("secId");
		}
		if(!isNaN(nMode) && isNaN(iInt)){
			renderAction('responseAdaptiveTest.action', '&cid='+cid+'&eid='+eid+'&uAid='+uaid+'&i='+i+'&testPage=y','catbody');
		} else { 	
			if(iInt == 0 || iInt < numquestions) {
				if(avgTime == 0){
					renderAction('responseAdaptiveTest.action', '&cid='+cid+'&eid='+eid+'&uAid='+uaid+'&i='+i+'&navMode='+navMode+'&reqSeq='+reqSeq,'catbody');
				} else {
					renderAction('responseAdaptiveTest.action', '&cid='+cid+'&eid='+eid+'&uAid='+uaid+'&i='+i+'&navMode='+navMode+'&reqSeq='+reqSeq+'&avgTime='+avgTime+'&qid='+qid.value+'&aSectionId='+aSectionId.value+'&markedForReview='+markedForReview,'catbody');
				}
			} else {
				if(iInt == numquestions) {
					if(avgTime == 0){					
						renderAction('responseAdaptiveTest.action', '&cid='+cid+'&eid='+eid+'&uAid='+uaid+'&review=1','catbody');
					} else {
						renderAction('responseAdaptiveTest.action', '&cid='+cid+'&eid='+eid+'&uAid='+uaid+'&review=1'+'&avgTime='+avgTime+'&qid='+qid.value+'&aSectionId='+aSectionId.value+'&markedForReview='+markedForReview,'catbody');
					} 
				} else {
					renderAction('responseAdaptiveTest.action', '&cid='+cid+'&eid='+eid+'&uAid='+uaid+'&review=2','catbody');
				}
			}
		}
	}
	
	function CountBack(secs, div, mode, testSubType) 
	{
		   CountStepper = -1;
		   DisplayFormat = "%%H%% : %%M%% : %%S%%";
		   FinishMessage = "Expired";
		   var SetTimeOutPeriod = (Math.abs(CountStepper)-1)*1000 + 990;
		  if (secs < 0 || mode !== timerMode) 
		  {
		    if(secs < 0)
		    {
		    	if(testSubType != undefined && testSubType == 'ASSESSMENT_NONADAPTIVE_TEST'){
		    		var course = document.getElementById("courseId");
		    		var cid = null;
		    		if(course && course != null && course != undefined){
		    			cid = parseInt(course.value);
		    		}
		    		var assessment = document.getElementById("eid");
		    		var eid = null;
		    		if(assessment && assessment != undefined && assessment!= null){
		    			eid = parseInt(assessment.value);
		    		}
		    		var numQuestions = document.getElementById("numquestions");
		    		var i = null;
		    		if(numQuestions && numQuestions != null && numQuestions != undefined){
		    			i = parseInt(numQuestions.value) + 1;
		    		}
		    		gotoResponseAdaptiveQuestion(cid, eid, i, '', '');
		    	} else {	
					var timeouttarget = document.questionsForm.timeouttarget;
		  		    if(timeouttarget !== undefined)
				    {
				      var timeouttargetValue = parseInt(timeouttarget.value);
				      var isLastPageGroup = document.questionsForm.isLastPageGroup;
				      if(isLastPageGroup !== undefined){
				         if(isLastPageGroup.value === "y")
				         {
				           submit_response(timeouttargetValue, "completed");
				         } else {
				      	   submit_response(timeouttargetValue, "continue");   
				         }
				      }
		      		 }
		    	}
	      	 }
 			 return;
		  }
		  DisplayStr = DisplayFormat.replace(/%%D%%/g, calcage(secs,86400,100000));
		  DisplayStr = DisplayStr.replace(/%%H%%/g, calcage(secs,3600,24));
		  DisplayStr = DisplayStr.replace(/%%M%%/g, calcage(secs,60,60));
		  DisplayStr = DisplayStr.replace(/%%S%%/g, calcage(secs,1,60));

		  //alert("Restarting displayStr = ["+DisplayStr+"] CountActive = ["+CountActive+"]");
		  YAHOO.util.Event.onContentReady(div, function() 
		  	{
		      document.getElementById(div).innerHTML = DisplayStr;
			  if (CountActive == true){
			    var expr = "CountBack"+"("+(secs-1)+",\""+div+"\",\""+mode+"\",\""+testSubType+"\")";
			  	timer = setTimeout(expr, SetTimeOutPeriod);
			  }
		  	}
		  );
	}

	function CountForward(secs, div) 
	{
		   var CountStepper = -1;
		   DisplayFormat = "%%H%% : %%M%% : %%S%%";
		   FinishMessage = "Expired";
		   var SetTimeOutPeriod = (Math.abs(CountStepper)-1)*1000 + 990;

		  DisplayStr = DisplayFormat.replace(/%%D%%/g, calcage(secs,86400,100000));
		  DisplayStr = DisplayStr.replace(/%%H%%/g, calcage(secs,3600,24));
		  DisplayStr = DisplayStr.replace(/%%M%%/g, calcage(secs,60,60));
		  DisplayStr = DisplayStr.replace(/%%S%%/g, calcage(secs,1,60));

		  //alert("Restarting displayStr = ["+DisplayStr+"] CountActive = ["+CountActive+"]");
		  YAHOO.util.Event.onContentReady(div, function() 
		  	{
		      document.getElementById(div).innerHTML = DisplayStr;
		      var expr = "CountForward"+"("+(secs+1)+",\""+div+"\")";
		  	  timer = setTimeout(expr, SetTimeOutPeriod);
		  	}
		  );
	}

	
	function change_question()
	{
	  var snode = document.getElementById('secsel');
	  var courseId = document.questionsForm.courseId.value;
	  if( snode && snode.tagName == "SELECT" )
	  {
	  	var section = snode.options[snode.selectedIndex].value;
	    var node = document.getElementById('qsel');
  	  	if( node && node.tagName == "SELECT" ) 
  	  	{
	  	  	var aid = document.questionsForm.aid.value;
	  	  	var uaid = document.questionsForm.uaid.value;
			var question = node.options[node.selectedIndex].value;
  	 		renderPostAction(ctx+'/secure/reports.action', 
  	 			'aid='+aid+
  	 			'&selq='+question+
  	 			'&uaid='+uaid+
  	 			'&secId='+section+
  	 			'&courseId='+courseId+
  	 			'&level=3', 'qcontent');
  	  	}
  	  }
  	}
  	
  	function change_section() {	
		var node = document.getElementById('secsel');
		var courseId = document.questionsForm.courseId.value;
		if( node && node.tagName == "SELECT" ) {
			var aid = document.questionsForm.aid.value;
			var uaid = document.questionsForm.uaid.value;
			var section = node.options[node.selectedIndex].value;
			if(document.getElementById('updatedMyInfo')) { // checking for updatedMyInfo value true 
				document.getElementById('updatedMyInfo').value = false;
			}
			renderPostAction(ctx+'/secure/reports.action',
			'aid='+aid+
			'&uaid='+uaid+
			'&secId='+section+
			'&courseId='+courseId+
			'&level=3', 'questionNav');
		}
	}

	YAHOO.namespace("snapwiz.parent");
	YAHOO.namespace("calendar");
	YAHOO.namespace("selectedDate");

	var ripDate = function(type, args) 
	{
	var dates = args[0];
	var date = dates[0];
	var theYear = date[0];
	var theMonth = date[1];
	var theDay = date[2];
	YAHOO.selectedDate = "Selected Date is "+theDay+" - "+theMonth+" - "+theYear;
	renderAction(ctx+'/secure/parentDashboard.action', '&month='+theMonth+'&year='+theYear, 'events_div');
	}
	YAHOO.snapwiz.parent.launchCal = function() 
	{
		var navConfig = 
		{
		strings:{submit:"Go To"}
		}
		YAHOO.calendar = new YAHOO.widget.Calendar("calendar-content-left", {navigator:navConfig, LOCALE_WEEKDAYS:"1char", HIDE_BLANK_WEEKS:true});
		YAHOO.calendar.render();
		showCal();
	}
	var showCal = function() 
	{
	YAHOO.calendar.show();
	YAHOO.calendar.selectEvent.subscribe(ripDate);
	}
	// parentHome Graph method
	function render_line_chart_parent(_reportData)
	{
		
		var reportData = '{"reportData":[{ "xField": "Aug12", "Logins": 100, "Exersice": 120 },'+
			'{ "xField": "Aug15", "Logins": 120, "Exersice": 130 },'+
			'{ "xField": "Aug18", "Logins": 130, "Exersice": 110 },'+
			'{ "xField": "Aug21", "Logins": 90, "Exersice": 100},'+
			'{ "xField": "Aug24", "Logins": 100, "Exersice": 90 },'+
			'{ "xField": "Aug27", "Logins": 100, "Exersice": 80 },'+
			'{ "xField": "Aug30", "Logins": 110, "Exersice": 90 },'+
			'{ "xField": "Oct 3", "Logins": 110, "Exersice": 70 },'+
			'{ "xField": "Oct 6", "Logins": 120, "Exersice": 100 },'+
			'{ "xField": "Oct 9", "Logins": 140, "Exersice": 90 },'+
			'{ "xField": "Oct 12", "Logins": 100, "Exersice": 110 },'+
			'{ "xField": "Oct 30", "Logins": 150, "Exersice": 140 }]}';
		YAHOO.widget.Chart.SWFURL = "http://yui.yahooapis.com/2.8.0r4/build/charts/assets/charts.swf";
		try { 
			    var prod = YAHOO.lang.JSON.parse(_reportData); 
			   
		} 
		catch (e) { 
			    alert("Invalid product data :: "+e);
		} 
		//--- data
		
		var testData = new YAHOO.util.DataSource(prod.reportData);
		testData.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;

		var tmpAr = new Array();
		var i = 0;
		for(key in prod.reportData[0])
		{
	  		tmpAr[i] = key;
	  		i++;		
		}
		testData.responseSchema = { fields: tmpAr };
		
		//--- chart
	    var seriesDef = new Array();
	    var j = 0;
	    var xField = "xField";
	    for(k=0; k < tmpAr.length; k++)
		{
			if(tmpAr[k] != "xField")
			{
				var assocAr = new Array();
				var assocAr1 = new Array();
				assocAr["yField"] = tmpAr[k];
				assocAr["displayName"] = tmpAr[k];
				seriesDef[j] = assocAr;
				j++; 
			}
		}
		var seriesDef = 
	[ 
    	{ 
	        displayName: "Logins", 
	        yField: "Logins", 
	        style: 
	        { 
	            color: 0x8ce729	             
	        } 
	    }, 
	    { 
	        displayName: "Exersice", 
	        yField: "Exersice", 
	        style: 
	        { 
	            color: 0xe72018
	        } 
	    },
	     { 
	        displayName: "Tests", 
	        yField: "Tests", 
	        style: 
	        { 
	            color: 000031
	        } 
	    } 
	    
	     
	]; 
		
		var mychart = new YAHOO.widget.LineChart("line_chart", testData,
		{
			series: seriesDef,
			xField: xField,
			style:
			{
				padding: 20,
				legend:
				{
					display: "right",
					padding: 5,
					spacing: 5,
					font:
					{
						family: "Arial",
						size: 9
					}
				}
			},
			expressInstall: "assets/expressinstall.swf"
		});
	}
	
// method for replying messages for teacher 
function replyMessage(reply ,disableCanelbutn){
document.getElementById(disableCanelbutn).innerHTML="";
document.getElementById(reply).style.display='';
}

function disableDiv(rm){
document.getElementById(rm).style.display='none';
}

YAHOO.namespace("snapwiz.parent.sidenavtree");
YAHOO.snapwiz.parent.sidenavtree.initTree = function() {

var tree = new YAHOO.widget.TreeView("report_outer");

var root = tree.getRoot();

var report = new YAHOO.widget.TextNode("Reports",root,false);
var arr1 = document.getElementsByName("child_name_hidden");
var arr2 = document.getElementsByName("child_href");
for(var i = 0;i<arr1.length;i++)
{
var name =""+arr1[i].value;
var link =""+arr2[i].value; 
new YAHOO.widget.TextNode({label:name, href:link},report);
}
tree.setCollapseAnim(YAHOO.widget.TVAnim.FADE_OUT);
tree.setExpandAnim(YAHOO.widget.TVAnim.FADE_IN);
tree.draw();
}



// Method for pagination of Mark for Review
function Pager(tbodyName, questionsPerPage) {
    this.tbodyName = tbodyName;
    this.questionsPerPage = questionsPerPage;
    this.currentPage = 1;
    this.pages = 0;
    this.inited = false;
    var rows ;
    this.showQuestions = function(from, to) {    
        rows = document.getElementById(tbodyName).rows;
        // i starts from 1 to skip table header row
        for (var i = 0; i < rows.length; i++) {
           if (i < from || i > to)  
                rows[i].style.display = 'none';
            else
                rows[i].style.display = '';
        }
    }
       
    this.showPage = function(pageNumber) {
  	if (! this.inited) {
    		return;
    	}
		
		if(document.getElementById('pg'+this.currentPage)){
        //var oldPageAnchor = document.getElementById('pg'+this.currentPage);
        //oldPageAnchor.className = 'pg-normal';
        
        this.currentPage = pageNumber;
        //var newPageAnchor = document.getElementById('pg'+this.currentPage);
        //newPageAnchor.className = 'pg-selected';
        var from = (pageNumber - 1) * questionsPerPage;
        var to = from + questionsPerPage - 1;
       	this.showQuestions(from, to);
        if(pageNumber == 1){
           var prevDiv = document.getElementById('pageNavPositionPrev');
           prevDiv.style.display='none';
           var nextDiv = document.getElementById('pageNavPositionNext');
           // if no of questions is more than questions per page display "next" button
           if( (questionsPerPage) < rows.length && (questionsPerPage) != rows.length) {  
           	nextDiv.style.display='block';
           } 
           else {
           	nextDiv.style.display='none';
           }
        } else if(pageNumber == this.pages){
           var prevDiv = document.getElementById('pageNavPositionPrev');
           prevDiv.style.display='block';
           var nextDiv = document.getElementById('pageNavPositionNext');
           nextDiv.style.display='none';
        } else {
           var prevDiv = document.getElementById('pageNavPositionPrev');
           prevDiv.style.display='block';
           var nextDiv = document.getElementById('pageNavPositionNext');
           nextDiv.style.display='block';
        }
    }
    }   
    
    this.prev = function() {
       if (this.currentPage > 1){
            this.showPage(this.currentPage - 1);
       }
    }
    
    this.next = function() {
       if (this.currentPage < this.pages) {
            this.showPage(this.currentPage + 1);
        }
    }                       
    
    this.init = function() {
    if(document.getElementById(tbodyName)!= null){
      var rows = document.getElementById(tbodyName).rows;
        var records = (rows.length); 
        this.pages = Math.ceil(records / questionsPerPage);
        this.inited = true;
    }
    }

    this.showPageNav = function(pagerName, positionIdNext, positionIdPrev) {
 	if (! this.inited) {
    		return;
    	}
    	var elementNext = document.getElementById(positionIdNext);
    	var elementPrev = document.getElementById(positionIdPrev);
    	var pagerHtmlNext = '<span onclick="' + pagerName + '.next();" class="pg-normal" style="cursor:pointer" ><IMG id="nextImg" title="Next" alt="Next" src="../images/or_arrow_down.gif" /></span>';
        for (var page = 1; page <= this.pages; page++) 
            pagerHtmlNext += '<span id="pg' + page + '" class="pg-normal"  style="cursor:pointer" onclick="' + pagerName + '.showPage(' + page + ');"></span> ';
        pagerHtmlprev = '<span onclick="'+pagerName+'.prev();" class="pg-normal" style="cursor:pointer" ><IMG id="prevImg" title="Prev" alt="Prev" src="../images/or_arrow_up.gif" /></span>';            
        elementNext.innerHTML = pagerHtmlNext;
        elementPrev.innerHTML = pagerHtmlprev;
    }
}
	
function handleSubscriptionChoice(checkbox){
	var id = checkbox.id;
	var val = id.split("^");
	var type = val[0];
	var sid = val[1];
	if(type == 'PREMIUM_TESTS') {
		var free = document.getElementById("FREE_TESTS^"+val[1]);
		if(checkbox.checked == true && free!=undefined && free.disabled == false)
			free.checked = true;
	} else if(type == 'FREE_TESTS') {
		document.getElementById("PREMIUM_TESTS^"+val[1]).checked = false;
	}
	manageSubscrioptionCheckbox(val[1]);
}

function handleCourseSubscriptionChoice(selectedItem){
	var id = selectedItem.id;
	var val = id.split("~");
	var type = val[0];
	var sid = val[1];
	if(type == 'PREMIUM_TESTS') {
		var free = document.getElementById("FREE_TESTS~"+val[1]);
		if(selectedItem.checked == true && free!=undefined && free.disabled == false)
			free.checked = true;
		else if(selectedItem.checked == false && free!=undefined && free.disabled == false)
			free.checked = false;
	} 
	manageSubscrioptionCheckbox(val[1]);
}	
	
function billingSection(){
	document.getElementById("errorDisplay").innerHTML="";
	var cbox = document.getElementsByName("si_cboxs");
	var idParam="";
	var uncheckedEnabledCheckBoxes = 0;
	for (i=0; i<cbox.length; i++) {
		if(cbox[i].checked == true && cbox[i].disabled == false) {
			var cbox_id = cbox[i].id;
			var val = cbox_id.split("^");
			var id = document.getElementById(val[1]+"^"+val[0]).value;
			idParam=idParam+"&ssi="+id;
		} else {
			uncheckedEnabledCheckBoxes++;
		}
	}
	var subItemChbox = document.getElementsByName("items_chbox");
	for (i=0; i<subItemChbox.length; i++) {
		if(subItemChbox[i].checked == true && subItemChbox[i].disabled == false) {
			var subItemChbox_id = subItemChbox[i].id;
			var val = subItemChbox_id.split("~");
			var id = document.getElementById(val[1]+"~"+val[0]).value;
			idParam=idParam+"&ssi="+id;
		} else {
			uncheckedEnabledCheckBoxes++;
		}
	}
	if(uncheckedEnabledCheckBoxes == (cbox.length + subItemChbox.length)) {
    	document.getElementById("errorDisplay").innerHTML="You need to select at least one item";
	} else {
		renderAction(ctx+'/secure/billingDetailsForm.action', idParam, 'body-content');
	}
} 

function openPaymentOption(type){
	document.getElementById("submit").style.display='';
	var controlCheque = document.getElementById("divCheque");
	var controlDD = document.getElementById("divDD");
	var controlDP = document.getElementById("divDP");
	var controlCC = document.getElementById("divCC");
	var proceedToPayButton = document.getElementById("proccedToPay");
	var submitButton = document.getElementById("submit");
	var controlHiddenPayment;
	controlCheque.style.visibility = "hidden";
	controlCheque.style.display = "none";
	controlDD.style.visibility = "hidden";
	controlDD.style.display = "none";
	controlDP.style.visibility = "hidden";
	controlDP.style.display = "none";
	controlCC.style.visibility = "hidden";
	controlCC.style.display = "none";
	var controlHiddenPayment = document.getElementById("hdnPaymentType");
	submitButton.style.visibility = "visible";
	submitButton.style.display = "block";
	proceedToPayButton.style.visibility = "hidden";
	if(type == "CHEQUE"){
		document.getElementById("submit").style.display='';
		controlCheque.style.visibility = "visible";
		controlCheque.style.display = "block";
		setPaymentType('CHEQUE');
	}
	else if(type == "DD"){
		controlDD.style.visibility = "visible";
		controlDD.style.display = "block";
		setPaymentType('DD');
	}else if(type == "DP"){
		controlDP.style.visibility = "visible";
		controlDP.style.display = "block";
		setPaymentType('DP');
	} else if(type == "CC"){
		controlCC.style.visibility = "visible";
		controlCC.style.display = "block";
		submitButton.style.display = "none";
		proceedToPayButton.style.visibility = "visible";
		setPaymentType('CC');
		document.getElementById("")
	}
}

function setPaymentType(ptvalue){
	document.getElementById("pType").value=ptvalue;
}
	
function calculateAmmount(checkbox){
	var totalAmount = 0;
	var cvalue = 0 ;
	var cvalue = parseFloat(checkbox.value);
	var totalAmount = parseFloat(document.getElementById("totalAmount").value);
	if(checkbox.checked == true){
		totalAmount = totalAmount + cvalue;
	}else{
		totalAmount = totalAmount - cvalue;
	}
	document.getElementById("totalAmount").value = totalAmount;
	document.getElementById("totalAmountDisplay").innerHTML = totalAmount;
}



YAHOO.namespace("snapwiz.billing");
YAHOO.namespace("billing.calendar");
	var insertDate = function(type, args) 
	{
	var dates = args[0];
	var date = dates[0];
	var theYear = date[0];
	var theMonth = date[1];
	var monthStr = YAHOO.billing.calendar.cfg.getProperty("MONTHS_SHORT")[theMonth];
	var theDay = date[2];
	var selectedDate = theDay+"-"+monthStr+"-"+theYear;
	var isProfileObjectiveDate = document.getElementById("isAdaptiveCourse");
	if(isProfileObjectiveDate!=null && isProfileObjectiveDate.value){
		var profileObjectiveDate = YAHOO.util.Dom.get("targetDateId");
		profileObjectiveDate.value = selectedDate;
	} else {
		var ddDate = YAHOO.util.Dom.get("txtDDDate");
		var checkDate = YAHOO.util.Dom.get("chequeDate");
		ddDate.value = selectedDate;	
		checkDate.value = selectedDate;
	}
	YAHOO.billing.calendar.hide();
	}
	YAHOO.snapwiz.billing.launchCalendar = function(divId) 
	{		
		YAHOO.billing.calendar = new YAHOO.widget.Calendar(divId, {LOCALE_WEEKDAYS:"1char", HIDE_BLANK_WEEKS:true,title:"Select date",close:true});
		YAHOO.billing.calendar.cfg.setProperty("MONTHS_SHORT",["","Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]); 
		var selectedTargetTestDate = null;
		if(document.getElementById("targetDateId") != null)
			selectedTargetTestDate = document.getElementById("targetDateId").value;
		
		if(selectedTargetTestDate != undefined && selectedTargetTestDate != null  && selectedTargetTestDate != ''){
			var monthArray = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",];
			var targetDateArray = selectedTargetTestDate.split("-");
			if(targetDateArray[0] != null && targetDateArray[1] != null && targetDateArray[2] != null){
				var selectedMonth;
			    for (i=0;i<monthArray.length;i++) {
			        if(monthArray[i]==targetDateArray[1]) {
			        	selectedMonth = i+1;
			        	break;
			        }
			    }
			   var showSelectedDate = selectedMonth + "/" + targetDateArray[0] + "/" + targetDateArray[2];
			   YAHOO.billing.calendar.select(showSelectedDate); 
			   YAHOO.billing.calendar.cfg.setProperty("pagedate", selectedMonth + "/" + targetDateArray[2]); 
		   }
       }
		YAHOO.billing.calendar.render();
		showCalendar();
	}
	var showCalendar = function() 
	{
	YAHOO.billing.calendar.show();
	YAHOO.billing.calendar.selectEvent.subscribe(insertDate);
	}
	
function subscription(){
	var body = document.getElementById("body-content");
	var graphDiv = document.getElementById("subscription_chart");
	if(graphDiv){
		var graphDiv = document.getElementById("subscription_chart");
		body.removeChild(graphDiv);
	}
	renderAction(ctx+'/secure/subscription.action', '', 'body-content');
}
YAHOO.util.Event.onContentReady("subscription_chart",graph_link);

function graph_link(){
	var data = document.getElementById("repdata").value;
	render_chart_subscription(data,"subscription_chart");
}
function render_chart_subscription(_reportData,div){
		var reportData = replaceAll(_reportData, '&#034;', '"');
		YAHOO.widget.Chart.SWFURL = "http://yui.yahooapis.com/2.8.0r4/build/charts/assets/charts.swf";
		try { 
			    var prod = YAHOO.lang.JSON.parse(reportData); 
		} 
		catch (e) { 
			    alert("Invalid product data :: "+e); 
		} 
		var testData = new YAHOO.util.DataSource(prod.reportData);
		testData.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
		
		var tmpAr = new Array();
		var i = 0;
		for(key in prod.reportData[0])
		{
		  tmpAr[i] = key;
		  i++;		
		}
		
		testData.responseSchema = { fields: tmpAr };
		
	//--- chart
	
	    var seriesDef = new Array();
	    var j = 0;
	    var xField = "xField";
	    //var color = new Array();
	    //color[0] = 0x000000;
	    ///color[1] = 0x4590FF;
	    ///color[2] = 0x5690FF;
	    var color = 0x1E90FF;
		for(k=0; k < tmpAr.length; k++)
		{
			if(tmpAr[k] != "xField")
			{
				var assocAr = new Array();
				assocAr["yField"] = tmpAr[k];
				assocAr["displayName"] = tmpAr[k]+ "Count";
				var styleAr = new Array();
				styleAr["image"] =  "assets/tube.png";
				styleAr["mode"] =  "no-repeat";
				styleAr["color"] = 0x000000;
				styleAr["size"] = 10;
				assocAr["style"] = styleAr;
				seriesDef[j] = assocAr;
				j++; 
			}
		}
		//if maximum is defined, then use it.
		var maximumScore = 20;			
		 var axisWithMinMax = new YAHOO.widget.NumericAxis();   
		 axisWithMinMax.minimum = 0;   
		 axisWithMinMax.maximum = maximumScore.value;   
 

		var mychart = new YAHOO.widget.ColumnChart( div, testData,
		{
			series: seriesDef,
			yAxis: axisWithMinMax,
			xField: xField,
			style:
			{
				border: {color: 0x96acb4, size: 0},
				font: {name: "Arial Black", size: 12, color: 0x586b71},
				dataTip:
				{
					border: {color: 0x2e434d, size: 2},
					font: {name: "Arial Black", size: 13, color: 0x586b71}
				},
				xAxis:
				{
					color: 0x2e434d
				},
				yAxis:
				{
					color: 0x2e434d,
					majorTicks: {color: 0x2e434d, length: 4},
					minorTicks: {color: 0x2e434d, length: 2},
					majorGridLines: {size: 0}
				},
				legend:
				{
					display: "bottom",
					padding: 5,
					spacing: 5,
					font:
					{
						family: "Arial",
						size: 9
					}
				}
			},
			//only needed for flash player express install
			expressInstall: "/expressinstall.swf"
		});

		
	}

	function displaysubCities(){
		var cities = document.reg.billingCountry.selectedIndex;
		if ((cities == null)) return;
		if (cities == 0){
			var ProvState = new Array;
			ProvState[0] = new Option("Andhra Pradesh");
			ProvState[1] = new Option("Arunachal Pradesh");
			ProvState[2] = new Option("Assam");
			ProvState[3] = new Option("Bihar");
			ProvState[4] = new Option("Chhattisgarh");
			ProvState[5] = new Option("Goa");
			ProvState[6] = new Option("Gujarat");
			ProvState[7] = new Option("Haryana");
			ProvState[8] = new Option("Himachal Pradesh");
			ProvState[9] = new Option("Jammu and Kashmir");
			ProvState[10] = new Option("Jharkhand");
			ProvState[11] = new Option("Karnataka");
			ProvState[12] = new Option("Kerala");
			ProvState[13] = new Option("Madhya Pradesh");
			ProvState[14] = new Option("Maharashtra");
			ProvState[15] = new Option("Manipur");
			ProvState[16] = new Option("Meghalaya");
			ProvState[17] = new Option("Mizoram");
			ProvState[18] = new Option("Nagaland");
			ProvState[19] = new Option("Orissa");
			ProvState[20] = new Option("Punjab");
			ProvState[21] = new Option("Rajasthan");
			ProvState[22] = new Option("Sikkim");
			ProvState[23] = new Option("Tamil Nadu");
			ProvState[24] = new Option("Tripura");
			ProvState[25] = new Option("Uttar Pradesh");
			ProvState[26] = new Option("Uttarakhand");
			ProvState[27] = new Option("West Bengal");
			ProvState[28] = new Option("Andaman and Nicobar Islands");
			ProvState[29] = new Option("Chandigarh");
			ProvState[30] = new Option("Dadra and Nagar Haveli");
			ProvState[31] = new Option("Daman and Diu");
			ProvState[32] = new Option("Lakshadweep");
			ProvState[33] = new Option("National Capital Territory of Delhi");
			ProvState[34] = new Option("Puducherry");
		}	
		if (cities == 1){
			var ProvState = new Array;
			ProvState[0] = new Option("Alabama");
			ProvState[1] = new Option("Alaska");
			ProvState[2] = new Option("Arizona");
			ProvState[3] = new Option("Arkansas");
			ProvState[4] = new Option("California");
			ProvState[5] = new Option("Colorado");
			ProvState[6] = new Option("Connecticut");
			ProvState[7] = new Option("South Carolina");
			ProvState[8] = new Option("South Dakota");
			ProvState[9] = new Option("Texas");
			ProvState[10] = new Option("Washington");
			ProvState[11] = new Option("West Virginia");
			ProvState[12] = new Option("Wisconsin");
			ProvState[13] = new Option("Wyoming");
		}	
		if (cities == 2){
			var ProvState = new Array;
			ProvState[0] = new Option("Others");
		}	
		
		for (i=document.reg.billingState.options.length; i>0; i--) {
			document.reg.billingState.options[i] = null;
		}
		for(i=0; i<ProvState.length; i++) {
			document.reg.billingState.options[i] = ProvState[i];
		}
		document.reg.billingState.options[0].selected = true;	
	}

	// Initialize global variable for the tabs
	var questionEditorTabs = null;
		
	function loadQuestionEditorTabs() {
		questionEditorTabs = new YAHOO.widget.TabView("questionEditorTabs");  
		var passage = questionEditorTabs.getTab(0);
		var formatedPassage = questionEditorTabs.getTab(1);
		var preview = questionEditorTabs.getTab(2); 
		var question = questionEditorTabs.getTab(3);
		var choice1 = questionEditorTabs.getTab(4);
		var choice2 = questionEditorTabs.getTab(5);
		var choice3 = questionEditorTabs.getTab(6);
		var choice4 = questionEditorTabs.getTab(7);
		var choice5 = questionEditorTabs.getTab(8);
		var explanation = questionEditorTabs.getTab(9);
		var solutionScript = questionEditorTabs.getTab(10);
		var videoText = questionEditorTabs.getTab(11);
		
		passage.addListener('click',displayEditor);
		formatedPassage.addListener('click',showPassageContent);
	    preview.addListener('click', updatePreviewData); 
	    question.addListener('click',displayEditor);
	    choice1.addListener('click',displayEditor);
	    choice2.addListener('click',displayEditor);
	    choice3.addListener('click',displayEditor);
	    choice4.addListener('click',displayEditor);
	    choice5.addListener('click',displayEditor);
	    explanation.addListener('click',displayEditor);
	    solutionScript.addListener('click',displayEditor);	
	    videoText.addListener('click',displayEditor);	
	}
		
	var selectedNode = null;
	var questionEditor = null;
	function displayEditor(e){
		questionEditor = FCKeditorAPI.GetInstance('questionEditor') ;
		var elTarget = YAHOO.util.Event.getTarget(e);
		selectedNode = elTarget.parentNode.id;
		document.getElementById("previewTab").style.visibility = 'hidden'; 
		document.getElementById("editorTab").style.visibility = 'visible';
		document.getElementById('editorTab').style.display='block';
		var qtnEditor = YAHOO.util.Dom.getElementsByClassName("yui-hidden", "div");
		for (i = 0; i < qtnEditor.length; i++) {
			var qtnEditorObj = qtnEditor[i];
			document.getElementById("previewTab").style.display = "none";
			document.getElementById("paragraphTab1").style.display = "none";
			qtnEditorObj.className = "";
		}
		if(elTarget.parentNode.id == 'qTab'){			
			document.getElementById("questionTab").style.visibility = 'visible';
			questionEditor.SetHTML(document.getElementById('question').innerHTML);
		} else if(elTarget.parentNode.id == 'chTab1'){
			document.getElementById("choice1Tab").style.visibility = 'visible';			
			questionEditor.SetHTML(document.getElementById('answerChoice1').innerHTML);
		} else if(elTarget.parentNode.id == 'chTab2'){
			document.getElementById("choice2Tab").style.visibility = 'visible';
			questionEditor.SetHTML(document.getElementById('answerChoice2').innerHTML);
		} else if(elTarget.parentNode.id == 'chTab3'){
			document.getElementById("choice3Tab").style.visibility = 'visible';
			questionEditor.SetHTML(document.getElementById('answerChoice3').innerHTML);
		} else if(elTarget.parentNode.id == 'chTab4'){
			document.getElementById("choice4Tab").style.visibility = 'visible';
			questionEditor.SetHTML(document.getElementById('answerChoice4').innerHTML);
		} else if(elTarget.parentNode.id == 'chTab5'){
			document.getElementById("choice5Tab").style.visibility = 'visible';
			questionEditor.SetHTML(document.getElementById('answerChoice5').innerHTML);
		} else if(elTarget.parentNode.id == 'expTab'){
			document.getElementById("explanation").style.visibility = 'visible';
			questionEditor.SetHTML(document.getElementById('explanation').innerHTML);
		} else if(elTarget.parentNode.id == 'passageTab'){
			document.getElementById("paragraphTab").style.visibility = 'visible';
			questionEditor.SetHTML(document.getElementById('passageData').innerHTML);
		} else if(elTarget.parentNode.id == 'solutionTab'){
			document.getElementById("solutionScriptTab").style.visibility = 'visible';
			questionEditor.SetHTML(document.getElementById('solutionScriptData').innerHTML);
		}  else if(elTarget.parentNode.id == 'videoTab'){
			document.getElementById("videoTextTab").style.visibility = 'visible';
			questionEditor.SetHTML(document.getElementById('videoTextData').innerHTML);
		} 
	}
	
	function FCKeditor_OnComplete(editorInstance) {
		if(editorInstance.Name == "questionEditor"){
			editorInstance.Events.AttachEvent( 'OnSelectionChange', selectionTabChanged);
		} else if(editorInstance.Name == "forumEditor") {
			editorInstance.Events.AttachEvent( 'OnSelectionChange', getQuestionContent);
		} else if(editorInstance.Name == "forumQuestionEditor"){
		editorInstance.Events.AttachEvent( 'OnSelectionChange', getRepliedAnswer);
		} else if(editorInstance.Name == "lessonEditor"){
			editorInstance.Events.AttachEvent( 'OnSelectionChange', getLessonData);
		}else if(editorInstance.Name == "userResponseEditor"){ // to get data from fck in report section
			editorInstance.Events.AttachEvent( 'OnSelectionChange', getUserComment);
		}else if(editorInstance.Name == "qaModeratorEditor"){
			editorInstance.Events.AttachEvent( 'OnSelectionChange', getQAForAdmin);
		}
	}
	
	function selectionTabChanged() {
		var questionEditorData = questionEditor.GetHTML();
		var data = questionEditor.GetHTML();
		var filteredQuestionData;
		var temp = new Array();
		temp = data.split('</p>');
		if(data.startsWith("<p>") ){
			var questionEditorData1 = questionEditorData.slice(0,(temp[0].length));
			var questionEditorData12 = questionEditorData.slice((temp[0].length)+4,(questionEditorData.length))
			var combinedData = questionEditorData1 + questionEditorData12;
			filteredQuestionData = combinedData.slice(3);
		} else {
			filteredQuestionData = data;
		}
		if(selectedNode == 'qTab'){
			document.getElementById('rawQuestionContent').value = filteredQuestionData;
			document.getElementById('question').innerHTML = filteredQuestionData;
		} else if(selectedNode == 'chTab1'){
			document.getElementById('rawChoice1Content').value = filteredQuestionData;
			document.getElementById('answerChoice1').innerHTML = filteredQuestionData;
		} else if(selectedNode == 'chTab2'){
			document.getElementById('rawChoice2Content').value = filteredQuestionData;
			document.getElementById('answerChoice2').innerHTML = filteredQuestionData;
		} else if(selectedNode == 'chTab3'){
			document.getElementById('rawChoice3Content').value = filteredQuestionData;
			document.getElementById('answerChoice3').innerHTML = filteredQuestionData;
		} else if(selectedNode == 'chTab4'){
			document.getElementById('rawChoice4Content').value = filteredQuestionData;
			document.getElementById('answerChoice4').innerHTML = filteredQuestionData;
		} else if(selectedNode == 'chTab5'){
			document.getElementById('rawChoice5Content').value = filteredQuestionData;
			document.getElementById('answerChoice5').innerHTML = filteredQuestionData;
		} else if(selectedNode == 'expTab'){
			document.getElementById('rawExplanation').value = filteredQuestionData;
			document.getElementById('explanation').innerHTML = filteredQuestionData;
		}  else if(selectedNode == 'passageTab'){
			document.getElementById("passageData").innerHTML = filteredQuestionData;
		} else if(selectedNode == 'solutionTab'){
			document.getElementById("solutionScriptData").innerHTML = filteredQuestionData;
		} else if(selectedNode == 'videoTab'){
			document.getElementById("videoTextData").innerHTML = filteredQuestionData;
		}
	}
	function updatePreviewData(e) {
		document.getElementById("editorTab").style.visibility = 'hidden'; 
		document.getElementById("paragraphTab").style.visibility = 'hidden';
		document.getElementById("passageData").style.visibility = 'hidden'; 
		document.getElementById("previewTab").style.visibility = 'visible'; 
		document.getElementById("previewTab").style.display = "block";
		showChoiceDataByQuestionType(); 
	}
	function showChoiceDataByQuestionType(){
		if(document.getElementById("questionType").value == 7){
			if(document.getElementById("questionId").value == "" && document.getElementById("questionId").value == 0){
				document.getElementById("gridType1").style.visibility = 'visible';
				document.getElementById("nonGridType1").style.visibility = 'hidden';
				document.getElementById("nonGridType2").style.visibility = 'hidden';
				document.getElementById("nonGridType3").style.visibility = 'hidden';
				document.getElementById("nonGridType4").style.visibility = 'hidden';
				document.getElementById("nonGridType5").style.visibility = 'hidden';
			}
			if(document.getElementById('answerChoice2').innerHTML != null && document.getElementById('answerChoice2').innerHTML != '')
				document.getElementById("separatorAnsChoice2").style.visibility = 'visible'; 			
			if(document.getElementById('answerChoice3').innerHTML != null && document.getElementById('answerChoice3').innerHTML != '')
				document.getElementById("separatorAnsChoice3").style.visibility = 'visible'; 
			if(document.getElementById('answerChoice4').innerHTML != null && document.getElementById('answerChoice4').innerHTML != '')
				document.getElementById("separatorAnsChoice4").style.visibility = 'visible';
			if(document.getElementById('answerChoice5').innerHTML != null && document.getElementById('answerChoice5').innerHTML != '')
				document.getElementById("separatorAnsChoice5").style.visibility = 'visible'; 
		} else if(document.getElementById("questionType").value == 4){
			document.getElementById("gridType1").style.visibility = 'hidden'; 
			document.getElementById("separatorAnsChoice2").style.visibility = 'hidden'; 
			document.getElementById("separatorAnsChoice3").style.visibility = 'hidden'; 
			document.getElementById("separatorAnsChoice4").style.visibility = 'hidden'; 
			document.getElementById("separatorAnsChoice5").style.visibility = 'hidden'; 
			document.getElementById("nonGridType1").style.visibility = 'hidden';
			document.getElementById("nonGridType2").style.visibility = 'hidden';
			document.getElementById("nonGridType3").style.visibility = 'hidden';
			document.getElementById("nonGridType4").style.visibility = 'hidden';
			document.getElementById("nonGridType5").style.visibility = 'hidden';
		} else {
			if(document.getElementById("questionId").value == "" && document.getElementById("questionId").value == 0){
				document.getElementById("gridType1").style.visibility = 'hidden'; 
				document.getElementById("separatorAnsChoice2").style.visibility = 'hidden'; 
				document.getElementById("separatorAnsChoice3").style.visibility = 'hidden'; 
				document.getElementById("separatorAnsChoice4").style.visibility = 'hidden'; 
				document.getElementById("separatorAnsChoice5").style.visibility = 'hidden'; 
				document.getElementById("nonGridType1").style.visibility = 'visible';
				document.getElementById("nonGridType2").style.visibility = 'visible';
				document.getElementById("nonGridType3").style.visibility = 'visible';
				document.getElementById("nonGridType4").style.visibility = 'visible';
				document.getElementById("nonGridType5").style.visibility = 'visible';
			}
		}
	}
	function showPassageContent(e){	
		document.getElementById("editorTab").style.visibility = 'hidden'; 
		document.getElementById("previewTab").style.visibility = 'hidden'; 
		document.getElementById("passageData").style.visibility = 'hidden';
		document.getElementById("paragraphTab1").style.visibility = 'visible'; 
		document.getElementById("paragraphTab1").style.display = "block";
	}
	
	function saveQuestionDetail(role,questionIndex) {
		document.forms["questionEditorForm"].questionHTML.value = document.getElementById("rawQuestionContent").value;
		document.forms["questionEditorForm"].choice1HTML.value = document.getElementById('rawChoice1Content').value;
		document.forms["questionEditorForm"].choice2HTML.value = document.getElementById('rawChoice2Content').value;
		document.forms["questionEditorForm"].choice3HTML.value = document.getElementById('rawChoice3Content').value;
		document.forms["questionEditorForm"].choice4HTML.value = document.getElementById('rawChoice4Content').value;
		document.forms["questionEditorForm"].choice5HTML.value = document.getElementById('rawChoice5Content').value;
		document.forms["questionEditorForm"].explanationHTML.value = document.getElementById('rawExplanation').value;
		document.forms["questionEditorForm"].passageContentRaw.value = document.getElementById('passageData').innerHTML;
		document.forms["questionEditorForm"].isVideoExplanationEnabled.value = document.getElementById("videoExplanationEnabled").checked;
		
		document.forms["questionEditorForm"].videoText.value = document.getElementById('videoTextData').innerHTML;
		document.forms["questionEditorForm"].solutionScript.value = document.getElementById('solutionScriptData').innerHTML;
		if(questionIndex != undefined && questionIndex != null && questionIndex != '')
			document.forms["questionEditorForm"].questionIndex.value = questionIndex;
		var hasProperContent = true;
		var videoExplanationRawString = document.getElementById('videoExplanationRawContentString').value;
		if(videoExplanationRawString !== undefined && videoExplanationRawString != null && videoExplanationRawString != ''){
			var videoExplanationType = document.getElementById('videoExplanationContentType');
			if(videoExplanationType != undefined && videoExplanationType.value == 0){
				alert("Please select video explanation type");
				hasProperContent = false;
			}
		}
		if(hasProperContent == true){
			if(document.getElementById('formattedText') != null && document.getElementById('formattedText').checked){
				document.forms["questionEditorForm"].isFormatParagraphContetntText.value = true;
			} else if(document.getElementById('noChangeInParagraphFormat') != null && document.getElementById('noChangeInParagraphFormat').checked){
				document.forms["questionEditorForm"].isNoChangeInParagraphFormat.value = true;
			} else if(document.getElementById('unFormattedText') != null && document.getElementById('unFormattedText').checked){
				document.forms["questionEditorForm"].isUnFormatParagraphContetntText.value = true;
			}
			if(document.getElementById('textExplanationActivated') != null && document.getElementById('textExplanationActivated').checked){
				document.forms["questionEditorForm"].textExplanationStatus.value = 0;
			} else if(document.getElementById('textExplanationDisabled') != null && document.getElementById('textExplanationDisabled').checked){
				document.forms["questionEditorForm"].textExplanationStatus.value = 1;
			} else if(document.getElementById('textExplanationDeactivated') != null && document.getElementById('textExplanationDeactivated').checked){
				document.forms["questionEditorForm"].textExplanationStatus.value = 2;
			}
			if(document.getElementById("questionType").value == 4){
				if(document.getElementById('trueAnswer').checked){
					document.forms["questionEditorForm"].correctBooleanAnswer.value = true;
				} else {
					document.forms["questionEditorForm"].correctBooleanAnswer.value = false;
				}
			}
			formPostAction(ctx+'/secure/contentManager.action', 'questionEditorForm', '', 'question-editor');
			if(role == '1'){
				document.getElementById("editorOverlay").style.display='none';
				backToTeacherContentManage(0);
			}
		}
	}
	
	function setSelectChoice(id,selected_chbox){
		var selectedId =new Number(id)+1;
		var chid = document.getElementById("ch"+id);
		var checkBoxId = document.getElementById("checkBox"+id);
		if(selected_chbox.checked == true){
			if(document.getElementById("choiceId"+selectedId).value != null && document.getElementById("choiceId"+selectedId).value != ''){
				chid.value = document.getElementById("choiceId"+selectedId).value;
			} else {
				chid.value = id;
			}
			checkBoxId.checked = true;
		} else {
			chid.value = -1;
			checkBoxId.checked = false;
		}
	}
	
	var questionSetId = null;
	function displayQuestions() {
	var qsetId = document.getElementById('qSetId');
		if( qsetId && qsetId.tagName == "SELECT" ) {
		  	var setId = qsetId.options[qsetId.selectedIndex].value;
		  	if(setId != 0) {
				questionSetId = setId;
				var assessmentId = document.getElementById("assessmentId").value;
				renderViewWithHist('editor',ctx+'/secure/contentDisplay.action', '&qsid='+questionSetId+'&aid='+assessmentId, 'questionsNewBody');
				document.getElementById('achrId').style.visibility='visible';
				document.getElementById('achrId').style.display='block';
			}
		}
	}
	
	function onCreateNewQuestionClick(){
		var assessmentId = document.getElementById("assessmentId").value;
		renderViewWithHist('',ctx+'/secure/contentManager.action', '&qsid='+questionSetId+'&aid='+assessmentId, 'question-editor');
	}
	
	function  displayContentDetails(assessmentId) {
		renderViewWithHist('editor',ctx+'/secure/contentDisplay.action', '&aid='+assessmentId, 'wholewidthwrapper');
	}
	
	function displayQuestionsList(qsetId) {
		var assessmentId = document.getElementById("assessmentId").value;
		renderViewWithHist('editor',ctx+'/secure/contentDisplay.action', '&qsid='+qsetId+'&aid='+assessmentId, 'qe-iv');
		document.getElementById("saveQuestion").style.visibility = 'hidden'; 
		document.getElementById("cancel").style.visibility = 'hidden'; 
		document.getElementById("back").style.visibility = 'visible'; 
		document.getElementById("questionNavigationDiv").style.visibility = 'hidden';
		document.getElementById('editor-header').innerHTML = document.getElementById("questionSetName").value;
		document.getElementById("questionEditorBack").style.position = 'absolute';
		document.getElementById("questionEditorBack").style.marginLeft = '219';
	}
	 
	function displayQuestion(qid,qsetId) {		
		if(qid == null){
			renderAction(ctx+'/secure/contentManager.action', '&qsid='+qsetId, 'editorOverlay');
		} else {
			renderAction(ctx+'/secure/contentManager.action','&qid='+qid+'&qsid='+qsetId+'&t=1'+'&qp=1', 'editorOverlay');
		}
		if(document.getElementById("editorOverlay") != undefined && document.getElementById("editorOverlay") != null)
			document.getElementById("editorOverlay").style.display='block';
		var overlay = new YAHOO.widget.Overlay("editorOverlay"); 
		overlay.cfg.setProperty("x", 7);
		overlay.cfg.setProperty("y", 80); 
		overlay.cfg.setProperty("xy", [8,80]); 
		overlay.render(); 
		document.getElementById("previewTab").style.visibility = 'visible';
		document.getElementById("explanation").style.visibility = 'visible';
		loadQuestionEditorTabs();
	}
	
	function backToTeacherContentManage(content){	
		if(content == '0'){
			document.getElementById("editorOverlay").style.visibility = 'hidden';
			document.getElementById("editorOverlay").style.display = 'none';
			document.getElementById("editorTab").style.visibility = 'hidden';
			document.getElementById("previewTab").style.visibility = 'hidden';
			document.getElementById("explanation").style.visibility = 'hidden';
			document.getElementById("paragraphTab1").style.visibility = 'hidden';
			if(document.getElementById("showCorrectAnswer")!=null)
				document.getElementById("showCorrectAnswer").style.visibility = 'hidden';
			if(document.getElementById("questionType").value == 7){
				document.getElementById("gridType1").style.visibility = 'hidden'; 
				document.getElementById("separatorAnsChoice2").style.visibility = 'hidden'; 
				document.getElementById("separatorAnsChoice3").style.visibility = 'hidden'; 
				document.getElementById("separatorAnsChoice4").style.visibility = 'hidden'; 
				document.getElementById("separatorAnsChoice5").style.visibility = 'hidden'; 
			} else {
				document.getElementById("nonGridType1").style.visibility = 'hidden';
				document.getElementById("nonGridType2").style.visibility = 'hidden';
				document.getElementById("nonGridType3").style.visibility = 'hidden';
				document.getElementById("nonGridType4").style.visibility = 'hidden';
				document.getElementById("nonGridType5").style.visibility = 'hidden';
			}
		} else if(content == '1'){
			document.getElementById("lessonEditorOverlay").style.visibility = 'hidden';
			document.getElementById("lessonEditorTab").style.visibility = 'hidden';
			document.getElementById("lessonPreviewTab").style.visibility = 'hidden';
			document.getElementById("lesson").style.visibility = 'hidden';
			document.getElementById('lessonEditorOverlay').style.display='none';
		}	
	}
	
    var last_question_savetime = "";
    /* method to save the question response*/ 
	function submit_question_response(id ,objValue){
		var qid_array = id.split("_");
		var queresp = eval("document.questionsForm.choice"+qid_array[1]);
		var booleanAnswer;
		var userResponseForReviseWord ="";
		if(queresp === undefined) {
		  queresp =  YAHOO.util.Dom.getElementsBy(function (node) {
	        var name = node.getAttribute("NAME");   
	    	return (name === "choice"+qid_array[1]);
	       });
		}
		var qrArray = "";
		var foundChoice = 0;
		var tmpStr = "";
		var id;
		if(queresp.type == "text" || queresp.type == "textarea" || queresp.type == "hidden"){
			id = queresp.id;
			var qRe = /_qsetid_(.*)_qdisp_(.*)_qid_(.*)_qtype_(.*)_chid_(.*)_/;
        	var qArray = qRe.exec(id);
        	var qSetId = qArray[1];
        	var qId = qArray[2];
        	var qid = qArray[3];
        	var qtype = qArray[4];
        	var choice = "SNAP_DUMMY";
        	var choiceId = qArray[5];
        	var tmp = "";
		}		
		var secIdTag = document.questionsForm.secId;
		var secId = "";
		if(secIdTag !== undefined)
		  secId = secIdTag.value;
		
        var review_later = 0;
		var btnID = "a"+qSetId+"_"+qId;
		var btn = document.getElementById(btnID);
		if(btn !== undefined && btn !== null) {
			var btnChild = YAHOO.util.Dom.getFirstChild(btn);
			if(btn.innerHTML == "Undo Review" || (btnChild != null && btnChild.nodeName == "IMG"&& btnChild.src.indexOf("reviewLatered.png") > 0)){
	           review_later = 1;
			}
		}
		if(qtype == 3 || qtype == 5){
			var inputElementValue = queresp.value;			
            if(inputElementValue !== null && inputElementValue !== undefined){
               	finalAnswer = inputElementValue;
               	qrArray = qid + "_SWTWO_" + qtype +"_SWTWO_"+secId+"_SWTWO_" +review_later+ "_SWTWO_" +finalAnswer + "_SWTHREE_"+encodeURI(choice);
               	foundChoice = 1;
            }
		}
		if(queresp.type == "hidden" && qtype == 9){
			foundChoice = 1;
			userResponseForReviseWord = document.getElementById("userResponseForReviseWord").value;
			qrArray = qid + "_SWTWO_" + qtype +"_SWTWO_"+secId+ "_SWTWO_" +review_later+ "_SWTWO_" + userResponseForReviseWord + "_SWTWO_"+encodeURI(choiceId);
		}
		else {
			for(var i=0; i<queresp.length ; i++){
				// get the wrong answer choiceId from the wordBowl App after flip 
				var wrongAnswerChoiceId = "";
				var wrongAnswerChoiceObjId = document.getElementById('wrongAnswerChoiceId');
				if(wrongAnswerChoiceObjId != null &&  wrongAnswerChoiceObjId != undefined){
					wrongAnswerChoiceId = wrongAnswerChoiceObjId.value;
				}
				if (queresp[i].checked == true || (wrongAnswerChoiceId != null && wrongAnswerChoiceId != ""))
   				{
   					id = queresp[i].id;
            		var qRe = /_qsetid_(.*)_qdisp_(.*)_qid_(.*)_qtype_(.*)_chid_(.*)_/;
            		var qArray = qRe.exec(id);
            		var qSetId = qArray[1];
        			var qId = qArray[2];
            		var qid = qArray[3];
            		var qtype = qArray[4];
            		var choice = "SNAP_DUMMY";
            		var choiceId = "";
            		// assign wrong answer choice Id to choiceId
            		if(wrongAnswerChoiceId != null && wrongAnswerChoiceId != ""){
            			choiceId = wrongAnswerChoiceId;
            			document.getElementById('wrongAnswerChoiceId').value = "";
            		} else {
            			choiceId = qArray[5];
            		}
            		var tmp = "";
            		var btnID = "a"+qSetId+"_"+qId;
					var btn = document.getElementById(btnID);
					if(btn !== undefined && btn !== null) {	
						var btnChild = YAHOO.util.Dom.getFirstChild(btn);
						if(btn.innerHTML == "Undo Review" || (btnChild != null && btnChild.nodeName == "IMG"&& btnChild.src.indexOf("reviewLatered.png") > 0)){
				           review_later = 1;
						}
					}
            		if(qrArray.length == 0 && qtype != 4) {
            			tmp = qid + "_SWTWO_" + qtype+"_SWTWO_"+secId+"_SWTWO_" +review_later;
            		  	qrArray =  qrArray+tmp +"_SWTWO_"+encodeURI(choiceId);
            		}else if(qtype == 4){
            			booleanAnswer = queresp[i].value;
            		 	qrArray = qid + "_SWTWO_" + qtype+"_SWTWO_"+secId+"_SWTWO_" +review_later+ "_SWTWO_" + booleanAnswer;
            		} else {
            		  	qrArray =  qrArray+"_SWTWO_"+encodeURI(choiceId);
            		}
            		foundChoice = 1;
            		
         		 } else { 
         		 	var id = queresp[i].id;
            		var qRe = /_qsetid_(.*)_qdisp_(.*)_qid_(.*)_qtype_(.*)_chid_(.*)_/;
            		var qArray = qRe.exec(id);
            		var qSetId = qArray[1];
        			var qId = qArray[2];
            		var qid = qArray[3];
            		var qtype = qArray[4];
            		var choice = "SNAP_DUMMY";
            		var choiceId = qArray[5];
            		tmpStr = qid + "_SWTWO_" + qtype+"_SWTWO_"+secId+"_SWTWO_"+review_later;
            		var btnID = "a"+qSetId+"_"+qId;
					var btn = document.getElementById(btnID);
					if(btn !== undefined && btn !== null) {	
						var btnChild = YAHOO.util.Dom.getFirstChild(btn);
						if(btn.innerHTML == "Undo Review" || (btnChild != null && btnChild.nodeName == "IMG"&& btnChild.src.indexOf("reviewLatered.png") > 0)){
				           review_later = 1;
						}
					}
            		if(qtype == 7){
            			var finalStr = "";
            		    foundChoice = 1;            		
           				var foundSlash = 0;
						var finalAnswer = 0.0;
						var tmp = "";
						var numerator = 0.0;
						var denominator= 1.0;
           		    	var selOption = queresp[0].value + queresp[1].value+ queresp[2].value + queresp[3].value;
           		    	for( var m=0 ; m < queresp.length; m++)
           		    	{
           					if(queresp[m].value!= "/")
           					{
                    				 tmp = tmp+queresp[m].value
                  			} else 
                  			{
  								foundSlash = 1;
  				   				numerator = parseFloat(tmp);
  								tmp = "";
  							}
  							finalStr = finalStr+queresp[m].value
  						}
           				if(foundSlash)
           				{
              						denominator = tmp;
									if(denominator !== "" && denominator != 0){
										finalAnswer = Math.round(numerator*10000/denominator)/10000;
									} else {
										finalAnswer = "INVALID";
									}
						} else 
						{
								finalAnswer = tmp;
								if(finalAnswer === ".")
								  finalAnswer = "INVALID";
		  				}
		  				finalAnswer = finalStr;
 				  		qrArray = qid + "_SWTWO_" + qtype +"_SWTWO_"+secId+"_SWTWO_" +review_later+ "_SWTWO_" +finalAnswer + "_SWTHREE_"+encodeURI(choice);
            		} else if(qtype == 4) {
            			qrArray = qid + "_SWTWO_" + qtype +"_SWTWO_"+secId+"_SWTWO_" +review_later + "_SWTWO_" + booleanAnswer;
            		}
         		 }
   			 }
        }
        if(foundChoice < 1){
         qrArray =  tmpStr;
        }
        var avg_time = 0;
        var current_time = new Date();        		
        var current_time_ms = current_time.getTime();
        if(last_question_savetime !== ""){
          avg_time = Math.ceil((current_time_ms - last_question_savetime)/1000); 
        }
        last_question_savetime = current_time_ms;   
		var eidobj = document.questionsForm.eid;   
        if(eidobj !== undefined){
          if(eidobj.value === undefined){
             eid = eidobj[0].value;
          } else {
             eid = eidobj.value;
          }
        } 
        var cid = document.questionsForm.courseId.value;
        postAction(ctx+'/secure/questionSubmit.action', 'r='+qrArray+'&eid='+eid+"&avgtime="+avg_time+'&cid='+cid);      
 }
      
   /* function to load the question editor for forum*/ 
   function loadQuestionEditor(){
   	var tabView = new YAHOO.widget.TabView('forumTab');
 }
 
 function onForumSelect(){
 	var forum = document.getElementById('forum');
	forumId = forum.options[forum.selectedIndex].value;
 }
 
 function displayLesson(lessonId,courseId,courseUnitId) {
 	if(lessonId == null){
 		renderAction(ctx+'/secure/lessonEditor.action', '&lessonId='+lessonId+'&courseId='+courseId+'&courseUnitId='+courseUnitId, 'lessonEditorOverlay');
 	} else {
		renderAction(ctx+'/secure/lessonEditor.action', '&lessonId='+lessonId+'&courseId='+courseId+'&courseUnitId='+courseUnitId, 'lessonEditorOverlay');
	}
	if(document.getElementById('lessonEditorOverlay') != undefined && document.getElementById('lessonEditorOverlay') != null){
		document.getElementById('lessonEditorOverlay').style.display='block';
	}
	var overlay = new YAHOO.widget.Overlay("lessonEditorOverlay"); 
	overlay.cfg.setProperty("x", 25);
	overlay.cfg.setProperty("y", 80); 
	overlay.cfg.setProperty("xy", [25,80]); 
	overlay.render(); 
	loadLessonEditorTabs();
 }
 
 function loadLessonEditorTabs() {
	var lessonEditorTabs = new YAHOO.widget.TabView("lessonEditorTabs", { activeIndex: 0});  
	var lesssonPreview = lessonEditorTabs.getTab(0);
	var lessonTab = lessonEditorTabs.getTab(1);
	lesssonPreview.addListener('click',showLesson);
	lessonTab.addListener('click',showLessonContent);
 }
 
 function showLesson(e) {
	document.getElementById("lessonEditorTab").style.visibility = 'hidden'; 
	document.getElementById("lessonPreviewTab").style.visibility = 'visible'; 
 }
 
 function showLessonContent(e){
	var lessonEditor = FCKeditorAPI.GetInstance('lessonEditor');
	document.getElementById("lessonEditorTab").style.visibility = 'visible';
	lessonEditor.SetHTML(document.getElementById('lesson').innerHTML);
 }

 function getLessonData(){
	var lessonEditor = FCKeditorAPI.GetInstance('lessonEditor');
	var lessonContent = lessonEditor.GetHTML();
	document.getElementById('lessonRawContent').value = lessonContent;
	document.getElementById('lesson').innerHTML = lessonEditor.GetHTML();
 }
 
  function saveLessonData(){
  	document.forms["lessonEditorForm"].lessonData.value = document.getElementById('lessonRawContent').value;
	formPostAction(ctx+'/secure/lessonEditor.action', 'lessonEditorForm', '', 'editorDiv');
	backToTeacherContentManage(1);
 }
 
 var avatarPhotoName = "";
 function addAvatarPhoto(photoName) {
   avatarPhotoName = photoName;
 }
 
 function upLoadAvatar(){
 if(avatarPhotoName != null && avatarPhotoName != "") {
   	formPostAction(ctx+'/secure/uploadPhoto.action', 'avatarUpload', '&photoName='+avatarPhotoName, 'body-content');
   	avatarPhotoName ="";
   } else {
   	 document.getElementById("uploadAvatarError").innerHTML ="Please select avatar";
   }
 }
 
 /* validate the postQuestionForm in log in page & in guest user forum page*/
function validatePostQuestionForm(){
	var postedQuestionData = document.getElementById("postedQuestionData").value;
	var courseId = document.getElementById("courseId").value;
	  if(postedQuestionData == "" && courseId == "- Select a Topic -"){
	  		document.getElementById("ErrorPostMessage").innerHTML = "Please enter question and select topic name";
			return false;
		}  else if(postedQuestionData == ""){
			document.getElementById("ErrorPostMessage").innerHTML ="Please enter question";
			return false;
		}  else if (courseId == "- Select a Topic -") {
			document.getElementById("ErrorPostMessage").innerHTML ="Please select topic name";
			return false;
		} else {
			return true;
		}
}
 
/* Method to navigate onclick of canel button in the report level-3*/
 function cancelYourQtnComment(qIdvalue) {
    renderPostAction(ctx+'/secure/forumHome.action', '&qId='+qIdvalue, 'discussion-outline');
}

  /* Method to navigate onclick of comment in the report level-3*/ 
 function commentYourQtn(forumTopicId, qIdvalue, targetDivId) {
   var targetDiv = document.getElementById(targetDivId);
   var discussionWrapperDiv = getAncestorTagStartsWith(targetDiv, "discussionwrapper");
   renderPostAction(ctx+'/secure/forumQuestionResponse.action', 'forumTopicId='+forumTopicId+'&qId='+qIdvalue, discussionWrapperDiv.id);
}

function getAncestorTagStartsWith(startTag, ancestorName) {
    var ancestorTag = YAHOO.util.Dom.getAncestorBy(startTag, function (node) {
        return node.id.startsWith(ancestorName);
    });
    return ancestorTag;
}
 
String.prototype.startsWith = function(str) {
	return (this.match("^"+str)==str)
}

 function photoUpload() {
 	var fileName = document.getElementById("file").value;
 	if (fileName == '') {
		document.getElementById("photoUploadError").innerHTML ="Please select photo path";
 	} else {
 		fileUploadAction(ctx+'/secure/uploadPhoto.action', 'photoUpload', '&file='+fileName, 'body-content');
 	}
 }

 function viewEssayReportDetails(essayReportRequest){
 	var level = document.getElementById("level").value;
 	var secId = document.getElementById("secId").value;
 	var uaId = document.getElementById("uaid").value;
 	if(essayReportRequest == 'VE'){
 		renderViewWithHist('report',ctx+'/secure/reports.action', '&level='+level+'&secId='+secId+'&uaid='+uaId+'&VE=1', 'viewEssaySectionOverlay');
 	} else {
 		renderViewWithHist('report',ctx+'/secure/reports.action', '&level='+level+'&secId='+secId+'&uaid='+uaId+'&ER=1', 'viewEssaySectionOverlay');
 	}
	var overlay = new YAHOO.widget.Overlay("viewEssaySectionOverlay"); 
	overlay.cfg.setProperty("x", 205);
	overlay.cfg.setProperty("y", 400); 
	overlay.cfg.setProperty("xy", [213,480]); 
	overlay.render(); 
 }
 
 function limitText(limitField, limitNum) {
  	if (limitField.value.length > limitNum) {
   		limitField.value = limitField.value.substring(0, limitNum);
  	} 
 }
 
 function onQuestionTypeChange(){
	if(document.getElementById("questionType").value == 4){
	 	document.getElementById("showCorrectAnswer").style.visibility = 'hidden';
	 	document.getElementById("booleanAnswer").style.visibility = 'visible';
	 } else if(document.getElementById("questionType").value == 7){
		document.getElementById("showCorrectAnswer").style.visibility = 'hidden';
		document.getElementById("booleanAnswer").style.visibility = 'hidden';
	} else {
		document.getElementById("booleanAnswer").style.visibility = 'hidden';
		document.getElementById("showCorrectAnswer").style.visibility = 'visible';
	}
	if(document.getElementById("questionType").value != 0 && document.getElementById("questionType").value != 1){
		document.getElementById('answerChoice1').innerHTML = "";
		document.getElementById('answerChoice2').innerHTML = "";
		document.getElementById('answerChoice3').innerHTML = "";
		document.getElementById('answerChoice4').innerHTML = "";
		document.getElementById('answerChoice5').innerHTML = "";
	}
	showChoiceDataByQuestionType();
}
 
    YAHOO.util.Event.onContentReady("reportData",displayYUIChart);
    
    function displayYUIChart(){
    	var chartType = document.getElementById("chartType");
    	if(chartType != null && chartType != undefined && chartType != ""){
    		if(chartType.value == 'LINE'){
    			var data = document.getElementById("reportData").value;
    			render_line_chart(data);
    		} else if(chartType.value == 'BAR'){
    			var dashboardGraph = document.getElementById("studentDashBoardGraph").value;
    	    	if(dashboardGraph != null && dashboardGraph != undefined && dashboardGraph == 'true'){
    		        var data = document.getElementById("reportData").value;
    		        render_chart(data,"chart",'y');
    		    }
    		}
    	}    	
    }
    
    function render_stacked_bar_chart(_reportData,div){
        var reportData = replaceAll(_reportData, '&#034;', '"');
        YAHOO.widget.Chart.SWFURL = "http://yui.yahooapis.com/2.8.0r4/build/charts/assets/charts.swf";
        try { 
            var prod = YAHOO.lang.JSON.parse(reportData); 
        } catch (e) { 
            alert("Invalid product data :: "+e); 
        }   
        var testData = new YAHOO.util.DataSource(prod.reportData);
        testData.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
        var tmpAr = new Array();
        var i = 0;
        for(key in prod.reportData[0]){
          tmpAr[i] = key;
          i++;      
        }
        testData.responseSchema = { fields: tmpAr };
        var seriesDef = new Array();
        var j = 0;
        var xField = "xField";
        var yField = "yField";
        var color = 0x1E90FF;
        
        var numericAxis = new YAHOO.widget.NumericAxis(); 
        numericAxis.title = "Number of Questions";
        /* to return the series Def for report level-2 stack bar chart (right side graph) */
        seriesDef = returnSeriesDefForReportLevelStackbarChart(tmpAr);
        var mychart = new YAHOO.widget.StackedColumnChart(div, testData, 
        { 
            series: seriesDef, 
            xField: xField,
            /*yAxis: numericAxis,*/
            style:
				{
					border: {color: 0x96acb4, size: 0},
					font: {name: "Arial Black", size: 12, color: 0x586b71},
					dataTip:
					{
						border: {color: 0x2e434d, size: 2},
						font: {name: "Arial Black", size: 13, color: 0x586b71}
					},
					xAxis:
					{
						color: 0x2e434d
					},
					yAxis:
					{
						color: 0x2e434d,
						majorTicks: {color: 0x2e434d, length: 4},
						minorTicks: {color: 0x2e434d, length: 2},
						titleRotation:-90,
						titleFont:{color:0x586b71} 
					},
					legend:
					{
						display: "bottom",
						padding: 5,
						spacing: 5,
						font:
						{
							family: "Arial",
							size: 9
						}
					}
				},
            //only needed for flash player express install 
            expressInstall: "assets/expressinstall.swf" 
        });
    }
    
    
var iLengthValue = ""
var maxCharLength = 1900;

/* Method to get the length of the charater */
function getLength(iLength ,oEditor){
// Get the Editor Area DOM (Document object). 
 var oDOM = oEditor.EditorDocument ;
 	if(document.all) {// if contains characters 
		iLength = oDOM.body.innerText.length ;
	} else {
		var r = oDOM.createRange() ;
		r.selectNodeContents( oDOM.body ) ;
		iLength = r.toString().length ;
	} 
	return iLength;
} 

/* to get the data from fck editor instance forumEditor in forumQuestionView.jsp for post question*/
function getQuestionContent(){
 var iLength ; 
 var oEditor = FCKeditorAPI.GetInstance('forumEditor');
 iLengthValue = getLength(iLength ,oEditor); // call the method to get length of character
}

/* to Post the question details and subject name in forumQuestionView.jsp*/
function postQuestionDetails(){
 	if(document.getElementById("subjectValue").value == "" || iLengthValue <= maxCharLength) {
	 	var subjectValue = document.getElementById("subjectValue").value;
	 	subjectValue = trim(subjectValue,'')
	 	if(subjectValue == "") {
	 		document.getElementById("subjectError-Message").innerHTML ="Please enter subject name";
	 	} else {
	 		var postQuestionFck = FCKeditorAPI.GetInstance('forumEditor');
	 		var questionContent = postQuestionFck.GetHTML();
	 		questionContent = trim(questionContent,'');
	 		document.forms["postQuestionEditor"].postQuestion.value = questionContent;
	 		var subjectName = subjectValue;
	 		subjectName = trim(subjectName,'');
	 		document.forms["postQuestionEditor"].tn.value = subjectValue;
			formPostAction(ctx+'/secure/forumValidation.action', 'postQuestionEditor', '&forumQtn='+1+'&yq='+1, 'ur-answer-content');
		} 
	} else {
		document.getElementById("postQuestionError-Message").innerHTML ="The Question characters must be at less than " +maxCharLength+ " characters in length.";
	}
}

 function trim(str, chars){ 	
    return ltrim(rtrim(str, chars), chars);
 }
  
 function ltrim(str, chars){
     chars = chars || "\\s";
     return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
 }
  
 function rtrim(str, chars){
     chars = chars || "\\s";
     return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
 }

/* to get the data from fck editor instance forumQuestionEditor in forumQuestionResponse.jsp for post Answer*/
 function getRepliedAnswer(){
  var iLength ; 
  var forumQuestionEditor = FCKeditorAPI.GetInstance('forumQuestionEditor');
  iLengthValue = getLength(iLength ,forumQuestionEditor);
 }
  
/* to Post the Answer in forumQuestionResponse.jsp */
function postAnswer() {
 var forumQuestionFck = FCKeditorAPI.GetInstance('forumQuestionEditor');
 	if(forumQuestionFck.GetHTML() == "") {
 	document.getElementById("yourAnswerError-Message").innerHTML ="Please Enter Your Answer";
 	}else if(iLengthValue > maxCharLength) {
 		document.getElementById("yourAnswerError-Message").innerHTML ="The Answer characters must be at less than " +maxCharLength+ " characters in length.";
 	} else {
 		var userAnswerData = forumQuestionFck.GetHTML();
 		document.forms["aswerQuestion"].qd.value = userAnswerData;
 		formPostAction(ctx+'/secure/forumValidation.action', 'aswerQuestion', '', 'body-content');
 	}
}

/* to get the data from fck editor instance userResponseEditor in forumQuestionResponse.jsp for post Comment*/
function getUserComment() {
 var iLength ; 
 var userResponseEditor = FCKeditorAPI.GetInstance('userResponseEditor');
 iLengthValue = getLength(iLength ,userResponseEditor);
 }
 
/* to Post the Comment in forumQuestionResponse.jsp at report level 3*/
function postComment(ur, qIdValue, forumTopicId){
	var forumQuestionEditor = FCKeditorAPI.GetInstance('userResponseEditor');
	var qd = forumQuestionEditor.GetHTML();
	if((forumQuestionEditor.GetHTML() == "" || forumQuestionEditor.GetXHTML(true) == null)) {
		document.getElementById("postErrorMessage").innerHTML ="Please Enter Your comments";
 	} else if(iLengthValue > maxCharLength) {
		document.getElementById("postErrorMessage").innerHTML ="The Comments characters must be at less than " +maxCharLength+ " characters in length.";
	} else {
		document.forms["postComment"].qd.value = qd;
		formPostAction(ctx+'/secure/forumValidation.action', 'postComment', 'ur='+1+'&qId='+qIdValue+'&forumTopicId='+forumTopicId, 'ur-answer-content');
	}
} 

/* for Prev navigation both in recent and popular topic section */ 
function getPrevTopicForPagination(value ,miniResult){
	if(value == "rt") { // if request from recent topic section
		renderPostAction(ctx+'/secure/forumHome.action', 'rt='+1+'&prt='+miniResult, 'popDiv');
	} else if(value == "pt"){ // if request from popular topic section
		renderPostAction(ctx+'/secure/forumHome.action', 'pt='+1+'&prt='+miniResult, 'popularViewDiv');
	}
}

/* for Next navigation both in recent and popular topic section */
function getNextTopicForPagination(value ,miniResult){
	if(value == "rt") { // if request from recent topic section
		renderPostAction(ctx+'/secure/forumHome.action', 'rt='+1+'&nrt='+miniResult, 'popDiv');
	} else if(value == "pt"){ // if request from popular topic section
		renderPostAction(ctx+'/secure/forumHome.action', 'pt='+1+'&nrt='+miniResult, 'popularViewDiv');
	}
}

/* function to dispay the score disclaimer pop window in the report level and dash board */
function displayReportLevelAndProjectedTestScoreDisclaimer(scoreType){
var x,y,X,Y = "";
		if(scoreType == "projectTestScore"){
			x = 275;
			y = 950;
			X = 283;
			Y = 550;
		} else if(scoreType == "reportLevelScore"){			
			x = 275;
			y = 950;
			X = 253;
			Y = 190;		
		}
	document.getElementById("score_popup").style.display = 'block';
	var overlay = new YAHOO.widget.Overlay("score_popup" ,{ constraintoviewport: true }); 
	overlay.cfg.setProperty("x", x);
	overlay.cfg.setProperty("y", y); 
	overlay.cfg.setProperty("xy", [X,Y]); 
	overlay.render();
}

/* function to hide the score disclaimer pop window in the report level and dash board */
function hideReportLevelAndProjectedTestScoreDisclaimer(){
	document.getElementById("score_popup").style.visibility = 'hidden';
}

/* Get the list of questions for assessment for refview */
function displayQuestionsByAssessmentForReview(assessmentId) {
	renderViewWithHist('editor',ctx+'/secure/contentDisplay.action', '&aid='+assessmentId+'&ra=1', 'wholewidthwrapper');
}

/** Display the Auestion / Answer page to edit in pop-up screen*/
function displayForumQAForModerator(forumTopicId,forumTopicPostId){
    if(forumTopicId != null && forumTopicId!= ""){
 		renderAction(ctx+'/secure//qaModerator.action', '&forumTopicId='+forumTopicId, 'forumEditorOverlay');
 	} else if(forumTopicPostId != null && forumTopicPostId!= ""){
 		renderAction(ctx+'/secure//qaModerator.action', '&forumTopicPostId='+forumTopicPostId, 'forumEditorOverlay');
 	} 
	var overlay = new YAHOO.widget.Overlay("forumEditorOverlay"); 
	overlay.cfg.setProperty("x", 180);
	overlay.cfg.setProperty("y", 275); 
	overlay.cfg.setProperty("xy", [220,250]); 
	overlay.render();
}

function backToAdminQAModeratorPage(){
	document.getElementById("forumEditorOverlay").style.visibility = 'hidden';
	document.getElementById("forum-question-editor").style.visibility = 'hidden';
}

/*Get the forum topics / topic posts for Q&A moderator*/
function getQAForAdmin(){
	var qaData = FCKeditorAPI.GetInstance('qaModeratorEditor');
	if(document.getElementById('forumTopicId')!=null){
		document.getElementById('topicBody').value = qaData.GetHTML();
	} else if(document.getElementById('forumTopicPostId')!=null){
		document.getElementById('topicPostBody').value = qaData.GetHTML();
	}
}

/* Saves the forum topic and forum topic posts data */
function saveQAData(){
	if(document.getElementById('forumTopicId')!=null){
		document.forms["qaModeratorForm"].topicBody.value = document.getElementById('topicBody').value;
	} else if(document.getElementById('forumTopicPostId')!=null){
		document.forms["qaModeratorForm"].topicPostBody.value = document.getElementById('topicPostBody').value;	
	}
	formPostAction(ctx+'/secure/qaModerator.action', 'qaModeratorForm', '', 'qaModeratorDiv');
	backToAdminQAModeratorPage();
}

/* Next navigation for comment section in report level-3 ,where qId - question Id,npb -nextPostBodySet*/
function getNextCommentsForPagination(qId,npb) {
renderPostAction(ctx+'/secure/forumHome.action', 'qId='+qId+'&npb='+npb, 'discussionwrapper');
}

/* Prev navigation for comment section in report level-3, where qId-question Id,ppb-prevPostBodySet*/ 
function getPrevCommentsForPagination(qId,ppb) {
renderPostAction(ctx+'/secure/forumHome.action', 'qId='+qId+'&ppb='+ppb, 'discussionwrapper');
}

function showSolution(id,qLabel) {
	renderAction(ctx+'/secure/questionExplanation.action','qid='+id+'&qLabel='+qLabel, 'swpanelChild');
}

function showSolutionPopup() {
    var panelElement = document.getElementById("swpanelChild");
	if(panelElement !== undefined && panelElement !== "")
    { 
		var parentNode = panelElement.parentNode;
		parentNode.style.display = "inline";
		parentNode.style.visibility = "visible";
   }
    
    var ancestor = document.getElementById("questiondiv");
	var x = YAHOO.util.Dom.getX(ancestor)+75; 
	
	var panel = new YAHOO.widget.Panel("swpanelChild", {
		xy:[x,125],
		width:"800px", height:"500px", 
		constraintoviewport:false,
		visible:true,
		draggable:true,
		zindex:1000,
		modal:true} );
    panel.render();
       
    showExplanation('', 0, '');
            
    panel.hideEvent.subscribe(function(){
		closeExplanation();
	    var panelElement = document.getElementById("swpanelChild");
		if(panelElement !== undefined && panelElement !== "")
	    { 
			var parentNode = panelElement.parentNode;
			parentNode.style.display = "none";
			parentNode.style.visibility = "hidden";
	    }
		return true;
	}); 
    
}
 
//function to show video explanation in panel for CMS in Admin module
function showVideoExplanationPopUpInCMS(explFileUrl){

    var panelElement = document.getElementById("swpanelChild");
	if(panelElement !== undefined && panelElement !== "") { 
		var parentNode = panelElement.parentNode;
		parentNode.style.display = "inline";
		parentNode.style.visibility = "visible";
   }
    
	var ancestor = document.getElementById("displayQuestionsDiv");
	var x = YAHOO.util.Dom.getX(ancestor)+175; 
	var panel = new YAHOO.widget.Panel("swpanelChild", {
		xy:[x,210],
		width:"629px", height:"200px", 
		constraintoviewport:false,
		visible:true,
		draggable:true} );	
	
    panel.render();
    
    panel.hideEvent.subscribe(function(){
		closeExplanation();
	    var panelElement = document.getElementById("swpanelChild");
		if(panelElement !== undefined && panelElement !== "") { 
			var parentNode = panelElement.parentNode;
			parentNode.style.display = "none";
			parentNode.style.visibility = "hidden";
	    }
		return true;
	});   
	writeExplanation(explFileUrl);
	window.scroll(0,200);
}

/*function to enable description and summary tag in userSummaryNotification page*/
function enableSummaryTag(announcementId){
  var description =  document.getElementById("description_"+announcementId);
    description.style.visibility = 'visible';
   description.style.display='block';
}

/* Prev navigation for user notification */
function getPrevCommentsForNotificationPagination(pt) {
renderPostAction(ctx+'/secure/userNotification.action', '&pt='+pt, 'wholewidthwrapper');
}

/* Next navigation for user Notification*/
function getNextCommentsForNotificationPagination(nt) {
renderPostAction(ctx+'/secure/userNotification.action', '&nt='+nt, 'wholewidthwrapper');
}

//function to display description div in User subscription details table
function getUserPaymentDetails(id){
	 var paymentInfoDiv = document.getElementById("userPaymentInfo_"+id);
	 paymentInfoDiv.style.display ="block";
	 paymentInfoDiv.style.visibility="visible";
}

var sessionID = 90326;
var userID = 344213;

function showUserPreparationSummaryPopUp() {
var panelElement = document.getElementById("userPanelViewWrapper");
	if(panelElement !== undefined && panelElement !== "")
    { 
		var parentNode = panelElement.parentNode;
		parentNode.style.display = "inline";
		parentNode.style.visibility = "visible";
   }    
   var ancestor = document.getElementById("userPrepWrapper");
   var x = 193.10000610351562; // value to center align the popup panel 
   var panel = new YAHOO.widget.Panel("userPanelViewWrapper", {
	    xy:[x,150],
		width:"700px", height:"250px", 
		constraintoviewport:true,
		visible:true,
		draggable:true,
		close:true,
		modal:true,
		zindex:786} );
    	panel.render();
    	panel.hideEvent.subscribe(function(){
	    var panelElement = document.getElementById("userPanelViewWrapper");
		if(panelElement !== undefined && panelElement !== "") { 
			var parentNode = panelElement.parentNode;
			parentNode.style.display = "none";
			parentNode.style.visibility = "hidden";
	   }
		return true;
	});  
}

// Sending the request to controller onclick of "your current preparation" in Dashboard
function showUserObjectiveFieldsInPanel(cid) {
	renderAction(ctx+'/secure/userPreparationSummary.action','&cid='+cid,'userPanelViewWrapper');
}

// On mouse over getting the value of clicked value from pop up form
var actionName ="";
function checkValue(actName) {
	actionName = actName;
}

function validateuserPrepSummaryForm() {
var targetDate = trim(document.getElementById("targetDateId").value,'');
var studyHoursPerWeek = trim(document.getElementById("studyHoursPerWeek").value,'');
var currentPrepLevel = trim(document.getElementById("currentPrepLevel").value,'');
var mostrecentScore = trim(document.getElementById("most-recent-score").value,'');
var targetScore = trim(document.getElementById("target-score").value,'');

document.getElementById("errorMessageForTargetDate").innerHTML ="";
document.getElementById("errorMessageForStudyHoursPerWeek").innerHTML ="";
document.getElementById("errorMessageForCurrentPrepLevel").innerHTML ="";
document.getElementById("errorMostRecentScore").innerHTML ="";
document.getElementById("errorTargetScore").innerHTML ="";
	
var success = true;
// to validate if all the fileds empty
	if(targetDate == "" && studyHoursPerWeek == "" && currentPrepLevel == "000") {
		document.getElementById("errorMessageForTargetDate").innerHTML ='Please enter ' + ' "' + ' target test date'+' " ';
		document.getElementById("errorMessageForStudyHoursPerWeek").innerHTML = 'Please enter ' + ' "' + ' study hours per week' + ' " ';
		document.getElementById("errorMessageForCurrentPrepLevel").innerHTML ='Please enter ' + ' "'+ 'current preparation level' + ' " ';
		success = false;
	} 	
	if(targetDate == "") { // to validate if targetDate empty
		document.getElementById("errorMessageForTargetDate").innerHTML ='Please enter ' + ' "' + ' target date' + ' " ';
		success = false;
	}	
	if(currentPrepLevel == "000") { // to validate if currentPrepLevel empty
		document.getElementById("errorMessageForCurrentPrepLevel").innerHTML ='Please enter ' + ' "' + 'current preparation level' + ' " ';
		success = false;
	}
	if(studyHoursPerWeek == "") { // to validate if studyHoursPerWeek empty
		document.getElementById("errorMessageForStudyHoursPerWeek").innerHTML ='Please enter ' + ' "' + 'study hours per week' + ' " ';
		success = false;
	}
	
	if(targetDate != null && targetDate != ""){
		var error = validateTargetDate(targetDate);
		if(error){
			document.getElementById("errorMessageForTargetDate").innerHTML = 'Target date must be at least 7 days away';
			success = false;
		} else {
			document.getElementById("errorMessageForTargetDate").innerHTML = '';
		}
	}
	// to validate if studyHoursPerWeek is string and less than 168 hours
	if(studyHoursPerWeek != ""){
		if(isNaN(studyHoursPerWeek)){		
			document.getElementById("errorMessageForStudyHoursPerWeek").innerHTML ="Study hours should be numeric value";
			success = false;
		} else {
			if(studyHoursPerWeek.indexOf(".") >= 0 || studyHoursPerWeek.indexOf("/") >= 0){
				document.getElementById("errorMessageForStudyHoursPerWeek").innerHTML ="Study hours should be numeric value";
				success = false;
			}
			if(studyHoursPerWeek < 1 || studyHoursPerWeek > 168){
				document.getElementById("errorMessageForStudyHoursPerWeek").innerHTML ="";
				document.getElementById("errorMessageForStudyHoursPerWeek").innerHTML ="Please enter hours between 1 and 168";
				success = false;
			}
		}			
	} 
	if(mostrecentScore != "") {
		if(isNaN(mostrecentScore)){		
			document.getElementById("errorMostRecentScore").innerHTML ="Most recent score should be a numeric value";
			success = false;
		} else {
			if(mostrecentScore.indexOf(".") >= 0 || mostrecentScore.indexOf("/") >= 0){
				document.getElementById("errorMostRecentScore").innerHTML ="Most recent score should be a numeric value";
				success = false;
			} 
		}			
	}
	if(targetScore != "") {
		if(isNaN(targetScore)){		
			document.getElementById("errorTargetScore").innerHTML ="Target score should be a numeric value";
			success = false;
		} else {
			if(targetScore.indexOf(".") >= 0 || targetScore.indexOf("/") >= 0){
				document.getElementById("errorTargetScore").innerHTML ="Target score should be a numeric value";
				success = false;
			} 
		}		
	}
	if(success == false)
	    return false;
	if(actionName == "diag"){ // assign value diag, if user click on save and procced diagnostic test button 
			document.getElementById("action").value="";
			document.getElementById("action").value="diag";
			success = true;
	} if (actionName == undefined || actionName =="plan") { // assign value plan, if user click on create learning plan link 
			document.getElementById("action").value="";
			document.getElementById("action").value="plan";
			document.userPrepSummaryForm.submit();
			success = true;
	}
	return success;
}

function expandLessonContent(lid){
 	var expandLesson = findAndShowDiv("lesson-topics-cont"+lid);
	findAndShowDiv("lessonRawContent-div"+lid);
	var minusImageTag = document.getElementById("topic-minus-img"+lid);
	minusImageTag.style.display = "block";
	minusImageTag.style.visibility = "visible";
	var plusImageTag = document.getElementById("topic-plus-img"+lid);
	plusImageTag.style.display = "none";
	plusImageTag.style.visibility = "hidden";
 }

function collapseLessonContent(lid){
	var collapseLesson = findAndHideDiv("lesson-topics-cont"+lid);
	var pdfCollapseLesson = findAndHideDiv("lessonRawContent-div"+lid);
	
	var minusImageTag = document.getElementById("topic-minus-img"+lid);
	minusImageTag.style.display = "none";
	minusImageTag.style.visibility = "hidden";		
	var plusImageTag = document.getElementById("topic-plus-img"+lid);
	plusImageTag.style.display = "block";
	plusImageTag.style.visibility = "visible";			
	plusImageTag.style.visibility = "visible";	
 }

function validateTargetDate(targetDate){
	var oneWeekMilliSeconds = 604800000;
    var error = false;
    var monthArray = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",];
    var targetDateArray = targetDate.split("-");
    var currentDate = new Date();
    var selectedMonth = -1;
    for (i=0;i<monthArray.length;i++) {
        if(monthArray[i]==targetDateArray[1]) {
        	selectedMonth = i;
        	break;
        }
    }
    var effDateDate = new Date(targetDateArray[2], selectedMonth, targetDateArray[0]);
    var timeDiff = effDateDate.getTime() - currentDate.getTime();    
    if(timeDiff < oneWeekMilliSeconds){
    	error = true;
    } 
    return error;
}

var showPreparationReport = function(){
	var _preparationReportInput = YAHOO.util.Dom.get("preparationReport");
		if(!_preparationReportInput){
			return;
		} 
		var _preparationRepData = _preparationReportInput.value;
		render_preparationReportChart(_preparationRepData,"chart",'y');
}

var displayUserSkillSummaryChart =  function(){
	var _userSkillSummaryReportInput = YAHOO.util.Dom.get("skillSummaryReport");
		if(!_userSkillSummaryReportInput){
			return;
		} 
		var _userSkillRepData = _userSkillSummaryReportInput.value;
		render_userSkillSummaryReportChart(_userSkillRepData,"chart",'y');
}

function render_userSkillSummaryReportChart(_reportData,div,setmax)
	{	
		if(_reportData === undefined || _reportData === "") 
			return;
		
		var reportData = replaceAll(_reportData, '&#034;', '"');
		YAHOO.widget.Chart.SWFURL = "http://yui.yahooapis.com/2.8.0r4/build/charts/assets/charts.swf";
		try { 
			    var prod = YAHOO.lang.JSON.parse(reportData); 
		} 
		catch (e) { 
			    alert("Invalid product data :: "+e); 
		} 
		var testData = new YAHOO.util.DataSource(prod.reportData);
		
		testData.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
		var tmpAr = new Array();
		var i = 0;
		var j = 0;
		while(i<= 3) {
			for(key in prod.reportData[i])
			{
			  tmpAr[j] = key;
			  j++;
			}
			 i++;
		}
		testData.responseSchema = { fields: tmpAr };
	
	    var seriesDef = new Array();
	    var j = 0;
	    var xField = "xField";
	    var yField = "yField";
	    /* To get the series def for preparation report chart */
	    seriesDef = returnSeriesDefForPreparationReportChart(tmpAr);
	    
		 var maximumScore = YAHOO.util.Dom.get("maximumScore");			
		 var axisWithMinMax = new YAHOO.widget.NumericAxis();   
		 axisWithMinMax.minimum = 0;  
		 var maximumScore = YAHOO.util.Dom.get("maximumScore");
		 if(maximumScore != undefined && maximumScore != null){
			axisWithMinMax.maximum = maximumScore.value;
		 }
		 axisWithMinMax.title = "Score";
		 if(document.getElementById("yAxisMaxValue") != null){
			axisWithMinMax.maximum = document.getElementById("yAxisMaxValue").value;    
		 } 
		
		YAHOO.example.formatDataTipText = function(item, index, series) 
		 	{ 
		 	    var toolTip =  item.displayName ; 
		 	   toolTip += "\n" + item[series.yField];
		 	    return toolTip; 
		 	}
		 	
		 var mychart = new YAHOO.widget.ColumnChart( div, testData,
		{
			series: seriesDef,
			yAxis: axisWithMinMax,
			xField: xField,
			wmode: "transparent",
			dataTipFunction:YAHOO.example.formatDataTipText,
			style:
			{
				border: {color: 0x96acb4, size: 0},
				font: {name: "Arial Black", size: 12, color: 0x586b71},
				dataTip:
				{
					border: {color: 0x2e434d, size: 2},
					font: {name: "Arial Black", size: 12, color: 0x586b71}
				},
				xAxis:
				{
					color: 0x2e434d
				},
				yAxis:
				{
					color: 0x2e434d,
					majorTicks: {color: 0x2e434d, length: 4},
					minorTicks: {color: 0x2e434d, length: 2},
					majorGridLines: {size: 0},
					titleRotation:-90,
					titleFont:{color:0x586b71, size:16}
				}
			},
			expressInstall: "/expressinstall.swf"
		});
	}
	
 
 function render_preparationReportChart(_reportData,div,setmax)
	{	
		if(_reportData === undefined || _reportData === "") 
			return;
		var reportData = replaceAll(_reportData, '&#034;', '"');
		YAHOO.widget.Chart.SWFURL = "http://yui.yahooapis.com/2.8.0r4/build/charts/assets/charts.swf";
		try { 
			    var prod = YAHOO.lang.JSON.parse(reportData); 
		} 
		catch (e) { 
			    alert("Invalid product data :: "+e); 
		} 
		var testData = new YAHOO.util.DataSource(prod.reportData);
		
		testData.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
		var tmpAr = new Array();
		var i = 0;
		var j = 0;
		while(i<= 3) {
			for(key in prod.reportData[i])
			{
			  tmpAr[j] = key;
			  j++;
			}
			 i++;
		}
		testData.responseSchema = { fields: tmpAr };
	
	    var seriesDef = new Array();
	    var j = 0;
	    var xField = "xField";
	    var yField = "yField";
	    /* To get the series def for preparation report chart */
	    seriesDef = returnSeriesDefForPreparationReportChart(tmpAr);
	    
		 var maximumScore = YAHOO.util.Dom.get("maximumScore");			
		 var axisWithMinMax = new YAHOO.widget.NumericAxis();   
		 axisWithMinMax.minimum = 0;  
		 if(document.getElementById("yAxisMaxValue") != null){
			axisWithMinMax.maximum = document.getElementById("yAxisMaxValue").value;    
		 } 
		
		 YAHOO.example.formatDataTipText = function(item, index, series) 
		 	{ 
		 	    var toolTip =  item.displayName ; 
		 	   toolTip += "\n" + item[series.yField];
		 	    return toolTip; 
		 	}   
			
		 var mychart = new YAHOO.widget.ColumnChart( div, testData,
		{
			series: seriesDef,
			yAxis: axisWithMinMax,
			xField: xField,
			wmode: "transparent",
			dataTipFunction:YAHOO.example.formatDataTipText,
			style:
			{
				border: {color: 0x96acb4, size: 0},
				font: {name: "Arial Black", size: 9, color: 0x586b71},
				dataTip:
				{
					border: {color: 0x2e434d, size: 2},
					font: {name: "Arial Black", size: 9, color: 0x586b71}
				},
				xAxis:
				{
					color: 0x2e434d
				},
				yAxis:
				{
					color: 0x2e434d,
					majorTicks: {color: 0x2e434d, length: 4},
					minorTicks: {color: 0x2e434d, length: 2},
					majorGridLines: {size: 0}
				}
			},
			expressInstall: "/expressinstall.swf"
		});
	}
	
/**
*function for displaying video explanation on load
**/
function displayVideoExplanationOnLoad(){

	if(document.getElementById("videoexpType") != undefined && document.getElementById("videoexpType") != null && document.getElementById("videoexpcontentType") != null) {
	 	var type = document.getElementById("videoexpType").value; 
		var explFileUrl = document.getElementById("videoexpcontentType").value;
	    showExplanation(type, 1, explFileUrl);
	}
}

// to set test body height in SAT adaptive test UI page on onload
YAHOO.util.Event.onContentReady("catbody", function(){
	toSetTestBodyHeight();
	hideQuestionIndexDisplay();
});

// to set test body height in SAT adaptive test UI page 
var headerDivHeight = 0;
var titleBarDivHeight = 0;
var footerDivHeight = 0;
var mainControlButtonDivHeight = 0;
var  myHeight = 0;
var questionDivHeight = 0;

function toSetTestBodyHeight() {
      if(document.getElementById('catbody') != null) {
     	document.getElementById('catbody').style.display = "block";
	  	document.getElementById('footer').style.marginTop = "";
	    }
	  // assigning questionDivHeight height to div in responseAdaptiveTestSubmit.jsp depending on client height 
	  if(document.getElementById("submit-content-secn")!= null) {
      	document.getElementById("submit-content-secn").style.height = questionDivHeight;
       }	
      if( typeof( window.innerWidth ) == 'number' ) { //Non-IE
      	 myHeight = window.innerHeight;
      } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
        //IE 6+ in 'standards compliant mode'
        myHeight = document.documentElement.clientHeight;
      } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { //IE 4 compatible
        myHeight = document.body.clientHeight;
      }
      // Get the height of header, title bar, button div , and footer 
      if(document.getElementById("test-header")!= null && document.getElementById("footer") != null && document.getElementById("title-bar") != null) { 
      headerDivHeight = document.getElementById("test-header").clientHeight;
      titleBarDivHeight = document.getElementById("title-bar").clientHeight;
      footerDivHeight = document.getElementById("footer").clientHeight;
      	if(document.getElementById("main-control-button") != null) {
      			mainControlButtonDivHeight = document.getElementById("main-control-button").clientHeight;
      			questionDivHeight = myHeight - (headerDivHeight+titleBarDivHeight+mainControlButtonDivHeight+footerDivHeight);
      			if(document.getElementById("questiondiv")!= null) {
     			document.getElementById("questiondiv").style.height = questionDivHeight;
        		}
      	} else if(document.getElementById("main-control-button") == null && document.getElementsByName("testend-summary-table").item(0) != null) {
      			var reviweScrollDiv = document.getElementsByName("testend-summary-table").item(0);
     			var reviweScrollDivHeight = myHeight - (headerDivHeight+titleBarDivHeight+footerDivHeight) - 224; // 204 = height of the div tags of button controll and table header in the reviwe page
     			reviweScrollDiv.style.height = reviweScrollDivHeight;
      	}
      
      }
      
    }

function showDialogBox(cid, eid, i, navMode, reqSeq, testSubType){
	stopClock();
	var timeRemaning = document.getElementById("cntdwn").innerHTML;
	var tmpHrs = timeRemaning.substring(3,5);
	var tmpMins = timeRemaning.substring(15,17);
	var tmpSecs = parseInt(timeRemaning.substring(27,29));
	var tmpStr = "";
	if(tmpHrs != 0){
		tmpStr = tmpHrs + " hr "; 
	} 
	if(tmpMins != 0 || tmpMins != 00){
		if(tmpHrs != 0)
			tmpStr = tmpStr + " and " +  tmpMins + " minutes ";
		else if(tmpMins != 1 || tmpMins != 01){
			tmpStr = tmpMins + " minutes ";
		} else {
			tmpStr = " a minute and " + tmpSecs + " seconds ";
		}			
	} 
	if(tmpSecs != 0 || tmpSecs != 00){
		if(tmpHrs == 0 && tmpMins == 0)
			tmpStr = tmpSecs + " seconds ";
	}
	var panelElement = document.getElementById("dialogViewWrapper");
	if(panelElement !== undefined && panelElement !== "")
    { 
		var parentNode = panelElement.parentNode;
		parentNode.style.display = "inline";
		parentNode.style.visibility = "visible";
   	} 
   	var dialogBox = new YAHOO.widget.SimpleDialog("dialogViewWrapper", {  
    width: "30em",
    effect:{effect:YAHOO.widget.ContainerEffect.FADE, duration:0.25},  
    fixedcenter:true, 
    modal:true, 
    visible:false, 
    draggable:false 
    }); 
	dialogBox.setHeader("Warning!"); 
	if(tmpHrs == 0 && (tmpMins == 0 || tmpMins == 00) && (tmpSecs == 0 || tmpSecs == 00)){
		gotoResponseAdaptiveQuestion(cid, eid, i, navMode, reqSeq);
	} else {
		dialogBox.setBody("You still have " + tmpStr + " remaining to complete the test. Do you really want to submit the test?"); 
		dialogBox.cfg.setProperty("icon",YAHOO.widget.SimpleDialog.ICON_WARN); 
		var handleYes = function() {	 
			gotoResponseAdaptiveQuestion(cid, eid, i, navMode, reqSeq);
		 	this.hide(); 
		} 
		var handleNo = function() { 
			this.hide();	
			startClock(parseInt((parseInt(tmpHrs)*60*60) + (parseInt(tmpMins)*60) + parseInt(tmpSecs)), "cntdwn" , "start",testSubType);
		} 
		var myButtons = [ { text:"Submit",  
		                    handler:handleYes }, 
		                  { text:"Cancel",  
		                    handler:handleNo, 
		                    isDefault:true } ]; 
		dialogBox.cfg.queueProperty("buttons", myButtons); 
		dialogBox.render(document.body); 
		dialogBox.show();  
	}
}
	
/* for report level-1 first(LeftGraph) graph */
function returnSeriesDefForReportLevelOneLeftGraph(tmpAr){
		var colorValue = new Array();
		colorValue[0] = "0xBFBFBF";
		colorValue[1] = "0xFFFF3B";
		colorValue[2] = "0xFFC979"; // 4th color - #89C4FF
		if(tmpAr.length == 2){
			seriesDef =
				[
					{
					yField: tmpAr[0],
					displayName: tmpAr[0],
					style:{color:colorValue[0],size:20}
					}
				];	
			
		}
		if(tmpAr.length == 3){
			seriesDef =
				[
					{
						yField: tmpAr[0],
						displayName: tmpAr[0],
						style:{color:colorValue[0],size:20}
					},
					{
						yField: tmpAr[1],
						displayName: tmpAr[1],
						style:{color:colorValue[1],size:20}
					}
				];	
			
		}
		if(tmpAr.length == 4) {
			seriesDef =
			[
				{
					yField: tmpAr[0],
					displayName: tmpAr[0],
					style:{color:colorValue[0],size:20}
				},
				{
					yField: tmpAr[1],
					displayName: tmpAr[1],
					style:{color:colorValue[1],size:20}
				},
				{
					yField: tmpAr[2],
					displayName: tmpAr[2],
					style:{color:colorValue[2],size:20}
				}
			];
			}
		return seriesDef;
}

/* for report level-1 second graph(RightGraph)*/ 
function returnSeriesDefForReportLevelOneRightGraph(tmpAr){
	        var colorValue = new Array();
	        colorValue[0] = "0xC0967A";
			colorValue[1] = "0x41B4A3";
			colorValue[2] = "0xFF664B"; // 4th color - #57B7FF
	        seriesDef =
	        [
	         {
	            yField: tmpAr[0],
	            displayName: tmpAr[0],
	            style:{color:colorValue[0],size:20}
	        },
	        {
	            yField: tmpAr[1],
	            displayName: tmpAr[1],
	            style:{color:colorValue[1],size:20}
	        },
	        {
	            yField: tmpAr[2],
	            displayName: tmpAr[2],
	            style:{color:colorValue[2],size:20}
	        }
	       ];
	       return seriesDef;

}

/* for report level-0 , student dash board graph & report level-2(bar chart) first graph*/
function returnSeriesDefForReportLevelAndDashBoard(tmpAr){
        var colorValue = new Array();
        var reportLevelObj = document.getElementById("reportLevel2");
        if(!reportLevelObj || reportLevelObj == null || reportLevelObj == "" || reportLevelObj == undefined ){
        	colorValue[0] = "0xB7DBDA";
            colorValue[1] = "0xFAAD60";
            colorValue[2] = "0xECE811";
        } else {
        	colorValue[0] = "0x41B4A3";
            colorValue[1] = "0xFF664B";
            colorValue[2] = "0xECE811";
        }
        if(tmpAr.length == 1){
        	return;
        }
        if(tmpAr.length == 4){
        	seriesDef =
	        [
	         {
		        yField: tmpAr[0],
		        displayName: tmpAr[0],
		        style:{color:colorValue[0],size:20}
	        },
	        {
	            yField: tmpAr[1],
	            displayName: tmpAr[1],
	            style:{color:colorValue[1],size:20}
	        },
	        {
	            yField: tmpAr[2],
	            displayName: tmpAr[2],
	            style:{color:colorValue[2],size:20}
	        }
	       ];
        }
        if(tmpAr.length == 3){
        	seriesDef =
	        [
	         {
		        yField: tmpAr[0],
		        style:{color:colorValue[0],size:20}
	        },
	        {
	            yField: tmpAr[1],
	            displayName: tmpAr[1],
	            style:{color:colorValue[1],size:20}
	        }
	       ];
        }
        if(tmpAr.length == 2){
        	seriesDef =
	        [
	         {
		        yField: tmpAr[0],
		        displayName: tmpAr[0],
		        style:{color:colorValue[0],size:20}
	        }
	       ];
        }
	   return seriesDef;

}

/* to return the series Def for report level-2 for line chart */
function returnSeriesDefForLineChartInReportLevel(tmpAr){
	var colorValue = new Array();
        colorValue[0] = "0xa8e61d";
        colorValue[1] = "0xfff200";
        seriesDef =
        [
         {
            yField: tmpAr[0],
            displayName: tmpAr[0],
            style:{color:colorValue[0],size:20}
        },
        {
            yField: tmpAr[1],
            displayName: tmpAr[1],
            style:{color:colorValue[1],size:20}
        }
       ];
	   return seriesDef;
}

 /* To get the series def for preparation report chart */
function returnSeriesDefForPreparationReportChart(tmpAr){
	var colorValue = new Array();
        colorValue[0] = "0xa8e61d";
        colorValue[1] = "0xfff200";
        colorValue[2] = "0xe5aa7a";
        // yField: tmpAr[9] for to give space between x-axis and first bar
        seriesDef =
        [
		{
		    yField: tmpAr[9],
		    displayName: tmpAr[9],
		    style:{color:colorValue[9],size:40}
		},
         {
            yField: tmpAr[0],
            displayName: tmpAr[0],
            style:{color:colorValue[0],size:40}
        },
        {
            yField: tmpAr[3],
            displayName: tmpAr[3],
            style:{color:colorValue[1],size:40}
        },
        {
            yField: tmpAr[6],
            displayName: tmpAr[6],
            style:{color:colorValue[2],size:40}
        }
       ];
	   return seriesDef;
}

/* to return the series Def for report level-2 stack bar chart (right side graph) */
function returnSeriesDefForReportLevelStackbarChart(tmpAr){
var colorValue = new Array();
        colorValue[0] = "0x41B4A3";
        colorValue[1] = "0xFF664B";
        colorValue[2] = "0xECE811";
        seriesDef =
        [
         {
            yField: tmpAr[0],
            displayName: tmpAr[0],
            style:{color:colorValue[0],size:20}
        },
        {
            yField: tmpAr[1],
            displayName: tmpAr[1],
            style:{color:colorValue[1],size:20}
        },
        {
            yField: tmpAr[2],
            displayName: tmpAr[2],
            style:{color:colorValue[2],size:20}
        }
       ];
	   return seriesDef;
}

/* to expand and collpase the passage content in report level-3*/
function togglePassageContent(){
	var passageDiv = document.getElementById("paragraph-cont");
	if(passageDiv.style.display == "none" && passageDiv.style.visibility == "hidden"){
		passageDiv.style.visibility = 'visible';
		passageDiv.style.display = "block";
		document.getElementById("paragraph-expand-btn").src = ctx + "/images/sat/optional_minus_sign.jpg";
		document.getElementById("paragraph-cont-scroll").style.height = "250px";
	}else if(passageDiv.style.display == "block" && passageDiv.style.visibility == "visible") {
		passageDiv.style.display = "none";
		passageDiv.style.visibility = "hidden";
		document.getElementById("paragraph-expand-btn").src= ctx + "/images/sat/optional_plus_sign.jpg";
		document.getElementById("paragraph-cont-scroll").style.height = "";
		} 
}
function getCouponDetails(){
	var couponText = document.forms["couponForm"].couponCodeStr;
	if(couponText != null && couponText != undefined && couponText.value != ''){
		document.forms["reg"].couponCodeText.value = couponText.value;
	}
	var totalCost = document.forms["couponForm"].totalCost;
	if(totalCost != null && totalCost != undefined && totalCost.value != ''){
		document.forms["reg"].totalCost.value = totalCost.value;
	}	
}

/* to hide the Email Notification Section in student dash board */
function hideEmailNotificationDivSection(){
	var userEmailExistSection = document.getElementById("userEmailExists-sectn");
	userEmailExistSection.style.visibility = "hidden";
	userEmailExistSection.style.display = "none";
	renderPostAction(ctx+'/secure/studentDashboard.action', '&emailNotification='+true, 'body-content');
	 
}

function getTimeForNotAttemptedQuestion(id){
	var avg_time = 0;
	var isUnChecked = false;
	var queresp = YAHOO.util.Dom.getElementsByClassName("choice"+id,'input');
	if(queresp!= undefined && queresp!= null){
		for(var i=0; i<queresp.length ; i++){
	   		if (queresp[i].checked == true)
	   		{
				return null;	
			} else {
				isUnChecked = true;			
			}
		}
		if(isUnChecked){
			var current_time = new Date();        		
		    var current_time_ms = current_time.getTime();
		    if(last_question_savetime !== ""){
		      avg_time = Math.ceil((current_time_ms - last_question_savetime)/1000); 		      
		    }
		    last_question_savetime = current_time_ms; 
		}
	}
	return avg_time;
}

function changeBackgroundColorForUserResponse(){
	var previousQuestionResponse = document.getElementById('prevSelectedImage').value;
	var previousQuestion = document.getElementById('prevSelectedId');
	var selectedQuestion = document.getElementById('selectedId');
	var prevDivObj = document.getElementById(previousQuestion.value);
	prevDivObj.style.backgroundImage = "url(" + previousQuestionResponse + ")";
	var prevAnchorList = YAHOO.util.Dom.getElementsByClassName('a_'+previousQuestion.value,'a');
	var prevAnchorObj = prevAnchorList[0];
	prevAnchorObj.style.color = 'white';
	prevAnchorObj.style.fontWeight = 'normal';
	prevAnchorObj.style.textDecoration = 'none';
	var spanObj = document.getElementById("span_"+previousQuestion.value);
	spanObj.style.textDecoration = "none";
	var currDivObj = document.getElementById(selectedQuestion.value);
	var currAnchorList = YAHOO.util.Dom.getElementsByClassName('a_'+selectedQuestion.value,'a');
	var currAnchorObj = currAnchorList[0];
	currAnchorObj.style.color = 'black';
	currAnchorObj.style.fontWeight = 'bold';
	currAnchorObj.style.textDecoration = 'underline';
	currAnchorObj.style.fontSize = '11px';
	currDivObj.style.backgroundImage = "";
	previousQuestion.value = selectedQuestion.value;
}

function onChangeQuestionClick(question,selectedUQH) {
	  var courseId = document.questionsForm.courseId.value;
	  var aid = document.questionsForm.aid.value;
	  var uaid = document.questionsForm.uaid.value;	  
	  var previousQuestion = document.getElementById('prevSelectedId');
	  var currentQuestion = document.getElementById('selectedId');
	  var selectedQuestion = document.getElementById('selectedId');
	  if(previousQuestion != undefined && 
			  previousQuestion != null && 
			  currentQuestion != undefined && 
			  currentQuestion != null){
		  previousQuestion.value = currentQuestion.value;
		  currentQuestion.value = selectedUQH;
	  }
	  var isDiag = document.getElementById('isDiag');
	  if(isDiag == null || isDiag == undefined || isDiag == ""){
	  	renderPostAction(ctx+'/secure/reports.action',
	  					'aid='+aid+
	  					'&selq='+question+
	  					'&uaid='+uaid+
	  					'&courseId='+courseId+
	  					'&selectedQId='+selectedQuestion.value+
	  					'&prevSelectedQId='+previousQuestion.value+
 						'&level=3', 
 						'qcontent');
	  } else {
	  	renderPostAction(ctx+'/secure/adaptiveTestViewSolution.action',
	  					'aid='+aid+
	  					'&selq='+question+
	  					'&uaid='+uaid+
	  					'&courseId='+courseId+
	  					'&selectedUQHId='+selectedUQH+
	  					'&prevSelectedUQHId='+previousQuestion.value,	  					
	  					'qcontent');
	  } 	  
}

function isQuestionMarkedForReview(id){
	var isMarked = false;
	var qSetId = document.getElementById("qSetId").value;
	var btnID = "a"+qSetId+"_"+id;
	var btn = document.getElementById(btnID);
	if(btn !== undefined && btn !== null) {
		var btnChild = YAHOO.util.Dom.getFirstChild(btn);
		if(btnChild != null && btnChild.nodeName == "IMG" && btnChild.src.indexOf("reviewLatered.png") > 0){
			isMarked = true;
		}
	}
	return isMarked;
}

function getSchoolApplicationDetailsByCountryCode(countryCode){
	renderPostAction(ctx+'/schoolApp.action','&cc='+countryCode, 'main-body');
}

var disableMouseEvents = false;
function handleWordAppChallengerAnswer(qSetAndLabel, qChoice, checkedAnswer){
	clearTimeout(timerCount); // stop the timer on check the answer choice
	if(disableMouseEvents == false){
		disableMouseEvents = true;
		var hasUserAnsweredCorrectly = false;
		var correctAnswerId = document.getElementById("ccId").value;
		var questionObj = document.getElementById("qId");
		var livesRemaining = document.getElementById("livesRemaining");
		var userAnsweredCorrectly = document.getElementById("answeredCorrectly");
		if(questionObj != null && questionObj != undefined){
			var answerChoiceClass = YAHOO.util.Dom.getElementsByClassName('qtn-chkbox','td');
			if(answerChoiceClass != undefined && answerChoiceClass != null){
				for(var i=0; i<answerChoiceClass.length ; i++){
					var inputTag = YAHOO.util.Dom.getFirstChild(answerChoiceClass[i]);
					if(answerChoiceClass[i].id == checkedAnswer){
						inputTag.checked = true;
					} else {
						inputTag.checked = false;
					}
			   		if (answerChoiceClass[i].id == checkedAnswer && answerChoiceClass[i].id == correctAnswerId){
			   			answerChoiceClass[i].style.backgroundImage = "url(" + ctx + "/images/wordApp/correct.jpg)";
			   			hasUserAnsweredCorrectly = true;
			   			var correctQuestions = parseInt(document.getElementById('correctQuestions').value);
						document.getElementById('correctQuestions').value = "" + (correctQuestions + 1);												
					} else {
						if(answerChoiceClass[i].id == checkedAnswer){
							answerChoiceClass[i].style.backgroundImage = "url(" + ctx + "/images/wordApp/wrong.jpg)";	
							// display the 'Meaning' button to view word meaning on select wrong answer choice
							if(document.getElementById('meaning-nav') != null){  
								document.getElementById('meaning-nav').style.visibility = 'visible';
								document.getElementById('meaning-nav').style.display = 'block';
							}
						} else if(hasUserAnsweredCorrectly == false){
							document.getElementById(correctAnswerId).style.backgroundImage = "url(" + ctx + "/images/wordApp/correct.jpg)";						
						}			
					}
				}
			}
			// to check the condition not to display for 'your Answer' image if user not select any answer choice
			if(checkedAnswer != null){ 
				var rawContentData = document.getElementById(checkedAnswer+"-qtn-rawcontent");
				rawContentData.innerHTML = rawContentData.innerHTML + "&nbsp;&nbsp;" + "<img id=your_answer src="+ctx+"/images/your-answer.png >";
			}
			submit_question_response(qSetAndLabel, qChoice);
			updateWordAppChallengerTopNavigationProgressBar(hasUserAnsweredCorrectly);	
			userAnsweredCorrectly.value = hasUserAnsweredCorrectly;				
			setTimeout("showWordAppChallengerNavigationButtons("+hasUserAnsweredCorrectly+")", 1800);
			updateLivesRemainingForWordAppGameChallenger(hasUserAnsweredCorrectly);
			if(hasUserAnsweredCorrectly == false){
				var userAssessmentId = document.getElementById("uAid").value;
				postAction(ctx+'/updateWordAppChallengerAvailableLives.action', 'uAid='+userAssessmentId); 
			}	
		}		
	}
}

function showWordAppChallengerNavigationButtons(hasUserAnsweredCorrectly){
	if(hasUserAnsweredCorrectly == true){
		handleWordAppChallengerNextQuestion()
	} else {				
		var aId = document.getElementById("eid").value;
		var cId = document.getElementById("courseId").value;
		var navSectnObj = document.getElementById("navigations-sectn");
		navSectnObj.style.display = "block";
		navSectnObj.style.visibility = "visible"; 
	}
}

function startWordAppChallengerGame(){
	disableMouseEvents = false;
	var aId = document.getElementById("eid").value;
	var cId = document.getElementById("courseId").value;
	var subId = document.getElementById("subId").value;
	var uAId = document.getElementById('uAid').value;
	var panelDivTag = document.getElementById('wordAppRestartGameDiv');
	panelDivTag.style.display = "none";
	document.body.onfocus = function() {
		return true;
	};
	renderViewWithHist('', ctx+'/startOverNewWordAppChallenge.action', '&aId='+aId+'&cId='+cId+'&subId='+subId+'&uAid='+uAId, 'wordAppChallengerDiv');
}

function handleWordAppChallengerNextQuestion(){	
	var aId = document.getElementById("eid").value;
	var cId = document.getElementById("courseId").value;
	var uAId = document.getElementById('uAid').value;
	var currentLevel = document.getElementById('currentLevel').value;
	var currentQuestionIndex = document.getElementById('qIndex').value;
	var hasUserAnsweredCorrectly = document.getElementById('answeredCorrectly').value;
	currentQuestionIndex++;
	var correctQuestions = parseInt(document.getElementById('correctQuestions').value);
	renderPostAction(ctx+'/wordAppChallengerNextQuestion.action', '&aId='+aId+'&cId='+cId+'&uAid='+uAId+
		'&currentLevel='+currentLevel+'&currentQuestionIndex='+currentQuestionIndex+
		'&answeredCorreclty='+hasUserAnsweredCorrectly+'&correctQuestions='+correctQuestions, 'wordAppQuestionDiv');	
}

var wordAppMaxTimeSeconds = 10; // set the max timer count to 10 sec
function updateWordAppChallengerGameScore(){
	var currentLevel = parseInt(document.getElementById('currentLevel').value);
	var currentQuestionIndex = parseInt(document.getElementById('qIndex').value) ;
	document.getElementById("timer-count").firstChild.nodeValue="";
	answerchoiceFlipDiv = new BEBOP.Infobox("answerchoiceFlipDiv", true);
	var previousCurrentLevel = 0;
	if(currentQuestionIndex == 0){
		var presentCurrentLevel = currentLevel;
		if(currentLevel != 0){
			document.getElementById('score_level').innerHTML = "LEVEL " + (currentLevel + 1);
			previousCurrentLevel = currentLevel - 1;			
		}	
		var maxQuestionIndex = parseInt(document.getElementById("maxQIndex").value);
		for(var i = 0; i < maxQuestionIndex; i++){ 
			var inputHiddenTag ="";
			if(document.getElementById('is_correct_'+ previousCurrentLevel+ '_' +i) != null){
				inputHiddenTag = document.getElementById('is_correct_'+ previousCurrentLevel+ '_' +i);
			} else {
				inputHiddenTag = document.getElementById('is_correct_'+ currentLevel + '_' +i);
			}
			inputHiddenTag.id = 'is_correct_'+ presentCurrentLevel + '_'+i;
			inputHiddenTag.name = 'is_correct_'+ presentCurrentLevel + '_'+i;
			inputHiddenTag.value = "FALSE";
			var imgTag ="";
			if(document.getElementById(previousCurrentLevel + '_' + currentQuestionIndex) != null){
				imgTag = document.getElementById(previousCurrentLevel + '_' + currentQuestionIndex);
			} else {
				imgTag = document.getElementById(currentLevel + '_' + currentQuestionIndex);
			}
			
			imgTag.src = ctx + "/images/wordApp/standing_pin.gif";
            imgTag.id = presentCurrentLevel + '_' + currentQuestionIndex;
            currentQuestionIndex++;
        }
        wordAppChallengerPopUpDisplay('popUpPanelforLevelConformation', 'popUpPanelModalArea', 'levelConformation');
	}
	updateLivesRemainingForWordAppGameChallenger(true);
	var resetCorrectQuestionVal = document.getElementById('cq').value;
    if(resetCorrectQuestionVal != null && resetCorrectQuestionVal != undefined && resetCorrectQuestionVal != ""){
    	if(resetCorrectQuestionVal == 0){
    		document.getElementById('correctQuestions').value = "0";
    	}
    }	
    disableMouseEvents = false;
   if(document.getElementById('hasUserNavigatedToNewLevel').value == false || document.getElementById('hasUserNavigatedToNewLevel').value == ''){
    	 document.getElementById("timer-count").firstChild.nodeValue = "";
    	 seconds = wordAppMaxTimeSeconds; // set timer value to max value on ajax call 
    	 flipDivAfterTimeOut();
	} 
  }

function updateWordAppChallengerTopNavigationProgressBar(hasUserAnsweredCorrectly){
	var currentLevel = parseInt(document.getElementById('currentLevel').value);
	var currentQuestionIndex = parseInt(document.getElementById('qIndex').value);
	var all_pins_progress_bar = YAHOO.util.Dom.getElementsByClassName('all_pins_class','img');
	for(var i = 0; i < all_pins_progress_bar.length; i++){
		if(i == currentQuestionIndex){
			if(hasUserAnsweredCorrectly == true){
				all_pins_progress_bar[i].src = ctx + "/images/wordApp/correct.gif";
				document.getElementById("is_correct_" + currentLevel + '_' + i).value = "TRUE";
			} else {
				all_pins_progress_bar[i].src = ctx + "/images/wordApp/wrong.gif";
				document.getElementById("is_correct_" + currentLevel + '_' + i).value = "FALSE";
			}
		} else {
			if(document.getElementById("is_correct_" + currentLevel + '_' + i).value == "TRUE"){
				all_pins_progress_bar[i].src = ctx + "/images/wordApp/correct_fallen_pin.gif";
			} 
			if(document.getElementById("is_correct_" + currentLevel + '_' + i).value == "FALSE"){
				all_pins_progress_bar[i].src = ctx + "/images/wordApp/standing_pin.gif";
			}
		}
	}
	updateWordAppChallengerGameScored(hasUserAnsweredCorrectly);
}

var totlascore = "";
function updateWordAppChallengerGameScored(hasUserAnsweredCorrectly){
	var totalMarksScored = parseFloat(document.getElementById('marksScored').value);
	if(hasUserAnsweredCorrectly == true){
		var positiveMarks = parseFloat(document.getElementById('positiveMarks').value);
		totalMarksScored = Math.round(totalMarksScored + positiveMarks);
		} else {
		var negativeMarks = parseFloat(document.getElementById('negativeMarks').value);
		totalMarksScored = Math.round(totalMarksScored - negativeMarks);
	}
	document.getElementById('marksScored').value = totalMarksScored;
	document.getElementById('user-test-score').innerHTML = totalMarksScored;
	totlascore = totalMarksScored;
	
}

function wordAppChallengerPopUpDisplay(div1, div2, str){
	var aId = document.getElementById("eid").value;
	var panelDivTag = document.getElementById(div1);
	if (panelDivTag.style.display == "none"){
		panelDivTag.style.display = "";
		document.body.clientHeight;
		document.body.focus();
	} else {
		panelDivTag.style.display = "none";
		document.body.onfocus = function() {
		return true;
		};
	}
	var allTime = 'false';
	var today = 'false';
	if(str == 'allTime'){
		allTime = 'true';
	}
	if(str == 'today'){
		today = 'true';
	}
	if(str == 'levelConformation' && document.getElementById('hasUserNavigatedToNewLevel').value == "true" && booleanPopPanelForReviseWord == 'false'){
		document.getElementById('standingPin').src = ctx + "/images/wordApp/all-correct-fallen-pin.png";            	
	}
    if(str == 'levelConfirmed'){
    	document.getElementById('standingPin').src = ctx + "/images/wordApp/standing-pin.png";
    	 document.getElementById("timer-count").firstChild.nodeValue = "";
    	 seconds = wordAppMaxTimeSeconds; // set timer value to max value on ajax call 
    	 flipDivAfterTimeOut();
    }
	if(str == 'today' || str == 'allTime'){
		renderPostAction(ctx + '/showWordAppChallengeTopScorers.action','&aId='+aId+'&today='+today+'&allTime='+allTime, 'popUpPanel');
	}
}

function updateLivesRemainingForWordAppGameChallenger(hasUserAnsweredCorrectly){
	var livesRemaining = parseInt(document.getElementById('livesRemaining').value);
	if(livesRemaining != 0 && hasUserAnsweredCorrectly == false){
		livesRemaining = livesRemaining - 1;
		livesRemaining.value = livesRemaining;
	}
	if(livesRemaining != 0){
		var divObj = document.getElementById("life-chance");
		divObj.innerHTML = "";
		for(var i = 0; i<livesRemaining;i++){
			var newDivObj = document.createElement("div");// creating div
			newDivObj.id = "lives_" + i;// assigning id to div
			newDivObj.className = "livesRemaining"; // Works both in IE and FF
			newDivObj.innerHTML = "<img src="+ctx+"/images/life_chance.jpg>";// assigning image tag within div
			divObj.appendChild(newDivObj);//append child to parent		
		}					
	} else {
		document.getElementById('lives_0').innerHTML = "";
		var navSectnObj = document.getElementById("nav_btn__next");
		navSectnObj.style.display = "none";
		navSectnObj.style.visibility = "hidden"; 
		wordAppChallengerPopUpDisplay('wordAppRestartGameDiv','restartGameModalArea','gameOver');
	}
}

function onPaymentContinueClick() {
	var totalCost = "";
	var couponCode = "";
	var cost = document.getElementById("totalCost");
	var couponCodeString = document.getElementById("couponCodeStr");
	if(couponCodeString !== undefined && couponCodeString != null && couponCodeString != '')
		couponCode = couponCodeString.value;
	if(cost !== undefined && cost != null)
		totalCost = cost.value;
	var isValidCoupon = document.getElementById("discountApplied");	
	var selectedItems = document.getElementById("selectedItemIds").value;
	if((totalCost == 0 && isValidCoupon != undefined && isValidCoupon.value == 'false' && selectedItems == '') ||
		(totalCost == 0 &&  selectedItems == '')){	
		document.getElementById('subItemsNotCheckedErrorMsg').innerHTML = "Select atleast one subscription item to continue the process";
	} else {
		renderAction(ctx+'/secure/billingDetailsForm.action','&cc=t'+'&tc='+totalCost+'&couponCode='+couponCode, 'body-content');
	}
}
/* To submit billing details in Payment process*/
function onSubmitBillingSection(){
	formPostAction(ctx+'/secure/billingDetailsForm.action', 'reg', '&pf=true', 'paymentContactDiv');
	var isValidationOccurs = document.getElementById("isValidated");
	if((document.getElementById("billing_Add1").value != ''&& document.getElementById("billing_state").value!= '-Select State-'&&
	  document.getElementById("billing_city").value != '' && document.getElementById("billing_zipCode").value != '' &&
	  (document.getElementById("billing_homePh").value!= '' || document.getElementById("billing_mobilePh").value))) {
		var processStatusImage = document.getElementById("paymentProgressDiv");
		processStatusImage.src = "";
		processStatusImage.style.backgroundImage = "url(" + ctx + "/images/process_payment_method.jpg)";
		showPaymentProgress();
	}
}
/* Funtion to show progress bar with text info for credit card payment process*/
function showPaymentProgress(){
	var panelContainer = document.getElementById("PopupPanel");
	if (panelContainer.style.display == "none"){
		panelContainer.style.display = "";
		document.getElementById('PopupPanelModalArea').focus();
		document.body.onfocus = function() { document.getElementById('PopupPanelModalArea').focus(); };
	} else {
		panelContainer.style.display = "none";
		document.body.onfocus = function() { return true; };
	}
}

function resetTopNavigationBarInputValues(){
	document.getElementById('user-test-score').innerHTML = document.getElementById('marksScored').value;
	var currentLevel = parseInt(document.getElementById('cL').value);
	var all_pins_progress_bar = YAHOO.util.Dom.getElementsByClassName('all_pins_class','img');
	for(var i = 0; i < all_pins_progress_bar.length; i++){
		document.getElementById("is_correct_" + currentLevel + '_' + i).value == "FALSE";
	}	
	 if(document.getElementById('hasUserNavigatedToNewLevel').value == false || document.getElementById('hasUserNavigatedToNewLevel').value == ''){
    	 seconds = wordAppMaxTimeSeconds; // set timer value to max value on ajax call 
    	 flipDivAfterTimeOut();
	} 
}

/* to display the yui chart for user preparedness report */
function render_userPrepardnessReport_chart(_reportData,div,setmax){
	if(_reportData === undefined || _reportData === "") 
		return;
	var reportData = replaceAll(_reportData, '&#034;', '"');
	YAHOO.widget.Chart.SWFURL = "http://yui.yahooapis.com/2.8.0r4/build/charts/assets/charts.swf";
	var prod;
	try { 
		    prod = YAHOO.lang.JSON.parse(reportData); 
	} 
	catch (e) { 
		    alert("Invalid product data :: "+e); 
	} 

	var testData = new YAHOO.util.DataSource(prod.reportData);
	testData.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
	
	var tmpAr = new Array();
	var i = 0;
	var j = 0;
	while(i<= 4) {
		for(key in prod.reportData[i])
		{
		  tmpAr[j] = key;
		  j++;
		}
		 i++;
	}
	testData.responseSchema = { fields: tmpAr };
	
	
	
   var seriesDef = new Array();
   var xField = "xField";
   var yField = "yField";
   var maximumScore = YAHOO.util.Dom.get("maximumScore");			
   var axisWithMinMax = new YAHOO.widget.NumericAxis();   
   axisWithMinMax.minimum = 0;  
   axisWithMinMax.minimum = 0;
   if(maximumScore != undefined && maximumScore != null){
	   axisWithMinMax.maximum = maximumScore.value;
   }
   var categoryAxis;
   axisWithMinMax.title = "% Correctly Answered";
   categoryAxis = new YAHOO.widget.CategoryAxis();
   categoryAxis.title = "Skills / Topics";
   seriesDef = returnSeriesDefForUserPrepardnessReport(tmpAr,div);
	
	var mychart = new YAHOO.widget.ColumnChart( div, testData,
			{
				series: seriesDef,
				xAxis: categoryAxis,
				yAxis: axisWithMinMax,
				xField: xField,
				style:
				{
					border: {color: 0x96acb4, size: 0},
					dataTip:
					{
						border: {color: 0x2e434d, size: 2},
						font: {name: "Arial Black", size: 13, color: 0x586b71}
					},
					xAxis:
					{
						color: 0x2e434d,
						titleFont:{color:0x586b71},
						labelRotation:-30 
					},
					yAxis:
					{
						color: 0x2e434d,
						majorTicks: {color: 0x2e434d, length: 4},
						minorTicks: {color: 0x2e434d, length: 2},
						titleRotation:-90,
						titleFont:{color:0x586b71}
					}
					},
				//only needed for flash player express install
				expressInstall: "/expressinstall.swf"
			});
	}

/* method to return the SeriesDef for user preparedness report*/
function returnSeriesDefForUserPrepardnessReport(tmpAr,div){
	var colorValue = new Array();
	// color Array for user performing well
	if(div == "chart"){ 
		colorValue[0] = "0x00CD00";
	    colorValue[2] = "0x00EE00";
	    colorValue[4] = "0x00FF00";
	    colorValue[6] = "0x99FF99";
	    colorValue[8] = "0xCCFFCC";
	}
	// color Array for user focus more
	if(div == "chartForFocusMore"){
		colorValue[0] = "0xFF3333";
		colorValue[2] = "0xFF0000";
		colorValue[4] = "0xCC0000";
		colorValue[6] = "0x990000";
		colorValue[8] = "0x660000";
	}
	seriesDef =
    [
     {
        yField: tmpAr[0],
        style:{color:colorValue[0],size:20}
    },
    {
        yField: tmpAr[2],
        style:{color:colorValue[2],size:20}
    },
    {
        yField: tmpAr[4],
        style:{color:colorValue[4],size:20}
    },
    {
        yField: tmpAr[6],
        style:{color:colorValue[6],size:20}
    },
    {
        yField: tmpAr[8],
        style:{color:colorValue[8],size:20}
    }
    
   ];
   return seriesDef;
}

/* To get the next question on click of 'I know It', 'I Missed It & 'Hit me Hard' buttons */
var incrementToNextLevelOnHit = 'false'; 
var isSingleClicked = true; // to avoid used to double click
var revisedWordUserResponse = "";
function handleReviseWord(qSetAndLabel,qChoice,userResponse){
	if(isSingleClicked){
		isSingleClicked = false;
		if(userResponse == "knw"){
			document.getElementById('userResponseForReviseWord').value = 'true';
			incrementToNextLevelOnHit = 'false';
		}
		if(userResponse == "missed"){
			document.getElementById('userResponseForReviseWord').value = 'false';
			incrementToNextLevelOnHit = 'false';
		}
		if(userResponse == "hitMeHard"){
			document.getElementById('userResponseForReviseWord').value = 'true';
			incrementToNextLevelOnHit = 'true';
			document.getElementById('userResponseForHitMeHard').value = 'true';
		}
		revisedWordUserResponse = userResponse;
		submit_question_response(qSetAndLabel, qChoice);
		setTimeout("handleReviseWordQuestion()", 2500);
	}
}

/* to send request to get the next questions */
var currentQuestionIndexForProgressBar ="";
function handleReviseWordQuestion(){
	var aId = document.getElementById("eid").value;
	var cId = document.getElementById("courseId").value;
	var uAId = document.getElementById('uAid').value;
	var currentLevel = document.getElementById('currentLevel').value;
	var currentQuestionIndex = document.getElementById('qIndex').value;
	var isInLevelConfPage = document.getElementById("isRevisedWordGame");
	currentQuestionIndexForProgressBar = currentQuestionIndex;
	if(isInLevelConfPage.value != ''){
		currentQuestionIndex = 0;
		isInLevelConfirmationPage = 'true';
	} else {
		currentQuestionIndex++;
	}
	renderPostAction(ctx + '/reviseWordGameChallengerNextQuestion.action','&aId='+aId+'&cId='+cId+'&uAid='+uAId+
			'&currentLevel='+currentLevel+'&currentQuestionIndex='+currentQuestionIndex+
			'&incrementToNextLevelOnHit='+incrementToNextLevelOnHit, 'reviseWordQuestionDiv');
}

/* To update the progress bar for current, correct, wrong questions  */

function updateReviseWordAppTopNavigationProgressBar(hasUserAnsweredCorrectly){
	var currentQuestionIndex = currentQuestionIndexForProgressBar;
	var all_class_progress_bar = YAHOO.util.Dom.getElementsByClassName('all_circle_class','img');
	for(var i = 0; i <= all_class_progress_bar.length; i++){
		if(i == currentQuestionIndex){
			if(hasUserAnsweredCorrectly == 'true'){
				all_class_progress_bar[i].src = ctx + "/images/wordApp/correctAnswer.jpg";
				if(currentQuestionIndex <= 8){
					all_class_progress_bar[i+1].src = ctx + "/images/wordApp/currentQuestion.jpg";
				}
			}
			else if(hasUserAnsweredCorrectly == 'false'){
				all_class_progress_bar[i].src = ctx + "/images/wordApp/wrongAnswer.jpg";
				if(currentQuestionIndex <= 8){
					all_class_progress_bar[i+1].src = ctx + "/images/wordApp/currentQuestion.jpg";
				}
			} 
		}
	}
	var hasUserNavigatedToNewLevel = document.getElementById('hasUserNavigatedToNewLevel').value;
	var totalnoOfQuestions = document.getElementById('totalquestionCount').value;
	var returnUserToSameLvel = document.getElementById('returnUserToSameLvel').value;
	if(hasUserNavigatedToNewLevel == 'true' || returnUserToSameLvel == 'true'){
		var all_pins_progress_bar = YAHOO.util.Dom.getElementsByClassName('all_circle_class','img');
		for(var i = 0; i < all_pins_progress_bar.length; i++){
			all_class_progress_bar[i].src = ctx + "/images/wordApp/unAnsweredQuestion.jpg";
		}
		all_class_progress_bar[0].src = ctx + "/images/wordApp/currentQuestion.jpg";
	}
	else if(hasUserNavigatedToNewLevel == 'false' || hasUserNavigatedToNewLevel == ''){
		if(currentQuestionIndex == 0 && isInLevelConfirmationPage == 'true'){
			document.getElementById("no-of-qtns").firstChild.nodeValue = parseInt(currentQuestionIndexForProgressBar) + 1;
		}else{
			document.getElementById("no-of-qtns").firstChild.nodeValue = parseInt(currentQuestionIndexForProgressBar) + 2;
		}
	}
		
}

/* To load the YUI compenet for Fade In and Fade Out question and answer choice div */
var BEBOP = YAHOO.namespace("bebop");
BEBOP.Infobox = function(listElem, cycle, delay) {
    delay = 50;
    this.init(listElem, cycle, delay);
}

BEBOP.Infobox.prototype = {
	init: function(listElem, cycle, delay) {
        this.cycle = cycle;
        this.delay = delay;
        this.current = 0;
        var listElem = document.getElementById(listElem);
        var items = listElem.getElementsByTagName('li');
        var anims = new Array(2*items.length);
        var Anim = YAHOO.util.Anim;
        var setStyle = YAHOO.util.Dom.setStyle;
        var easing = YAHOO.util.Easing.easeOutStrong;
        var callbacks = this.getCallbacks();
		 var item;
        for (i=0; i<items.length; i++) {
		    item = items[i];
            animin = new Anim(item, { opacity: { to: 1 } }, 0.0, easing);
            animout = new Anim(item, { opacity: { from: 1, to: 0 } }, 1, easing);
            animin.onStart.subscribe(callbacks.start);
            animin.onComplete.subscribe(callbacks.next);
            animout.onStart.subscribe(callbacks.start);
            animout.onComplete.subscribe(callbacks.next);
            anims[2*i] = animin;
            anims[2*i+1] = animout;
            setStyle( item , 'list-item-type', 'none');
            if (i>0) {
                setStyle( item , 'opacity', 0);
                setStyle( item, 'display', 'none');
            }
        }
        this.anims = anims;
    },

    getCallbacks : function() {
        var instance = this;
        return {
            start: function() {
			    YAHOO.util.Dom.setStyle(this.getEl(), 'display', 'block');
			},
            next: function() {
                var nextindex = instance.current + 1;
                var anims = instance.anims;
				if (nextindex == anims.length && nextindex != 3 && nextindex != 4) {
				if (instance.cycle) {
				        nextindex = 0;
                    }
                }
                var elem = this.getEl();
                var anim = anims[nextindex];
				if ( nextindex % 2 != 0 ) {
				if(nextindex != 3){
				    instance.show(elem, anim);
				}
               }
               else if(nextindex == 2){
			      setTimeout(function() {instance.show(elem, anim);}, instance.delay);
				}
                instance.current = nextindex;
            }
        }
    },

    run: function() {
	    if (this.anims.length > 0) {
            this.anims[0].animate();
        }
    },

    show: function(prev, anim) {
		YAHOO.util.Dom.setStyle(prev, 'display', 'none');
		 anim.animate();
		
    }
}

var answerchoiceFlipDiv;
var booleanFlipDivNav = false;
var timeSetForanswerchoiceFlipDivAjaxCall;
var booleanPopPanelForReviseWord = 'false';
var isInLevelConfirmationPage = 'false';
var initialQuestionCount = 1;
/* to display Flip div and no of total questions,wrong,correct questions  */
function dispalyDivToShowWordMeaning(){ 
	var currentQuestionIndex = parseInt(document.getElementById('qIndex').value);
	var currentLevel = parseInt(document.getElementById('currentLevel').value);
	document.getElementById("total-qtn-Count").firstChild.nodeValue = document.getElementById("totalquestionCount").value;
	document.getElementById("total-hit-count").firstChild.nodeValue = document.getElementById("NumberOfanswerCorrectedCount").value;
	document.getElementById("total-missed-count").firstChild.nodeValue = document.getElementById("NumberOfWrongAnswerCount").value;
	var hasUserAnsweredCorrectly = document.getElementById('userResponseForReviseWord').value;
	updateReviseWordAppTopNavigationProgressBar(hasUserAnsweredCorrectly);
	answerchoiceFlipDiv = new BEBOP.Infobox("answerchoiceFlipDiv", true);
	booleanFlipDivNav = true;
	if(currentQuestionIndex == 0 && isInLevelConfirmationPage == 'false'){
		document.getElementById('userResponseForReviseWord').value = '';
		clearTimeout(timeSetForanswerchoiceFlipDivAjaxCall);
		timeSetForanswerchoiceFlipDivAjaxCall = setTimeout("answerchoiceFlipDiv.run()", 10000);
		var userResponseForHitMeHard = document.getElementById('userResponseForHitMeHard').value;
		document.getElementById("no-of-qtns").firstChild.nodeValue = initialQuestionCount;
		if((userResponseForHitMeHard != 'true') || (currentLevel == 10 && userResponseForHitMeHard == 'true') || incrementToNextLevelOnHit == 'false'){
			booleanPopPanelForReviseWord = 'true';
			wordAppChallengerPopUpDisplay('popUpPanelforLevelConformation', 'popUpPanelModalArea', 'levelConformation');
			clearTimeout(timeSetForanswerchoiceFlipDivAjaxCall);
			isInLevelConfirmationPage = 'false';
			return;
		}
		isInLevelConfirmationPage = 'false';
	}
	if(currentQuestionIndex == 0) {
		if(currentLevel != 0 && currentLevel != 10) {
			document.getElementById('score_level-reviseWord').innerHTML = "LEVEL " + (currentLevel + 1);
		}
	}
	isSingleClicked = true;
	isInLevelConfirmationPage = 'false';
	document.getElementById("timer-count").firstChild.nodeValue = "";
	seconds = wordAppMaxTimeSeconds; // set timer value to max value on ajax call 
    flipDivAfterTimeOut();
}

/* flip the div on onclick and set the clear time and set time for flip animation on load page and on ajax call*/
function flipDivtoShowAnswerChoice(){
	clearTimeout(timerCount); // stop the timer on check the answer choice
	if(booleanFlipDivNav == false){
		 answerchoiceFlipDiv.run();
	}
	if(booleanFlipDivNav == true){
		 clearTimeout(timeSetForanswerchoiceFlipDivAjaxCall);
		 answerchoiceFlipDiv.run();
	}
}

function onDiagTabSelection(level, subjectId, courseId){
	if(level == 'subject'){
		var intSubjectId = parseInt(subjectId);
		if(intSubjectId != 0){
			var subjectTabsParent = document.getElementById('subjectTabs');
			var childrenTabs = subjectTabsParent.getElementsByTagName('*');
			var summaryTab = document.getElementById('summaryTab');
			if(summaryTab != undefined && summaryTab != null){
				document.getElementById('summaryTab').className = 'un-selected-tab';
			}
			for(i = 0; i<childrenTabs.length;i++){
				var diagRepSubTab = childrenTabs[i];
				var currClass = diagRepSubTab.getAttribute("class");
				if (currClass == null || currClass === "" || currClass == undefined) {
					currClass = diagRepSubTab.getAttribute("className");
				}
				if(currClass == 'selected-tab' && diagRepSubTab.id != 'subjectTab_'+subjectId){
					diagRepSubTab.className = 'un-selected-tab';
				}
				if (currClass == 'un-selected-tab' && diagRepSubTab.id == 'subjectTab_'+subjectId) {
					diagRepSubTab.className = 'selected-tab';
				}
			}
			renderAction(ctx+"/secure/userSkillEvaluationReport.action", 
						"&courseId=" + courseId + 
						"&subjectId=" + intSubjectId + 
						"&level=" +level, "diagReportDiv");
		}
	} else if(level == 'summary'){
		var subjectTabsParent = document.getElementById('subjectTabs');
		var childrenTabs = subjectTabsParent.getElementsByTagName('*');
		for(i = 0; i<childrenTabs.length;i++){
			var diagRepSubTab = childrenTabs[i];
			var currClass = diagRepSubTab.getAttribute("class");
			if (currClass == null || currClass === "" || currClass == undefined) {
				currClass = diagRepSubTab.getAttribute("className");
			}
			if(currClass == 'selected-tab'){
				diagRepSubTab.className = 'un-selected-tab';
			}
		}		
		document.getElementById('summaryTab').className = 'selected-tab';
		renderAction(ctx+"/secure/userSkillEvaluationReport.action", 
						"&courseId=" + courseId +  
						"&level=" +level, "diagReportDiv");
	}
}

function playMp3WordFile(contentFileUrl, contentType) {
var completeContentFilePath = audioContentLocationPath + "/content" + contentFileUrl + "." + contentType.toLowerCase();
document.getElementById("embedMp3WordAudio").innerHTML=
"<embed src=\""+completeContentFilePath+"\" hidden=\"true\" autostart=\"true\" loop=\"false\" volume=\"100\" />";
}

function revisedWordAppChallengerPopUpDisplay(div1, div2, str, isReviseWordGame){
	wordAppChallengerPopUpDisplay(div1, div2, str);
	if(isReviseWordGame == true) {
		handleReviseWordQuestion();
	}
}


function displayBranches(name){
	var branches = document.getElementById(name).value;
	if(branches == 'Regular' || branches == null){
		document.getElementById("Regular-div").style.display="block";
		document.getElementById("Regular-div").style.visibility = "visible";
		document.getElementById("Integrated-div").style.display="none";
		document.getElementById("Integrated-div").style.visibility = "hidden";
		document.getElementById("Classroom-div").style.display="none";
		document.getElementById("Classroom-div").style.visibility = "hidden";
	}
	if(branches == 'Integrated Program'){
		document.getElementById("Integrated-div").style.display="block";
		document.getElementById("Integrated-div").style.visibility = "visible";
		document.getElementById("Regular-div").style.display="none";
		document.getElementById("Regular-div").style.visibility = "hidden";
		document.getElementById("Classroom-div").style.display="none";
		document.getElementById("Classroom-div").style.visibility = "hidden";
	}
	if(branches == 'Classroom Connect'){
		document.getElementById("Classroom-div").style.display="block";
		document.getElementById("Classroom-div").style.visibility = "visible";
		document.getElementById("Integrated-div").style.display="none";
		document.getElementById("Integrated-div").style.visibility = "hidden";
		document.getElementById("Regular-div").style.display="none";
		document.getElementById("Regular-div").style.visibility = "hidden";
	}
}

function validatePrefForSelTest(center){
	var programSelectBox = document.getElementById('program');
    var program = programSelectBox.options[programSelectBox.selectedIndex].value;
    var selectedOptionsId = "";
   	selectedOptionsId = 'IP';   
    var options = YAHOO.util.Dom.getElementsByClassName("options"+selectedOptionsId, "select");
    var selectedPreferencesCount = 0;
    for (var i = 0; i < options.length; i++) {
        var optionObj = options[i];
        var str = document.getElementById('input_'+optionObj.id);
        if(str != '' && optionObj.value != 0){
            selectedPreferencesCount++;            
        }            
    }    
    if(selectedPreferencesCount > 0 && selectedPreferencesCount <= 6){
        populatePrefSelDetails(options,selectedOptionsId,center);
    } else {
        alert("Please select atleast one preference");
    }    
}

function populatePrefSelDetails(options,selectedOptionsId,center){
    var studentName = document.getElementById("studentName").value;
    var regName = document.getElementById("regName").value;
    var option1 = "";
    var option2 = "";
    var option3 = "";
    var programSelectBox = document.getElementById('program');
	var regCenter = document.getElementById("regCenter").value;
    var program = programSelectBox.options[programSelectBox.selectedIndex].value;
    var day = document.getElementById('day').value;
    var month = document.getElementById('month').value;
    var year = document.getElementById('year').value;
    var d = new Date();    
    var date = day + "/" + month + "/" + year + " " +d.getHours() +":"+d.getMinutes() ;
    for (var i = 0; i < options.length; i++) {
        var optionObj = options[i];
        var str = document.getElementById('input_'+optionObj.id+selectedOptionsId);
        if(optionObj.value == 1){
            option1 = str.value;
        }
        if(optionObj.value == 2){
            option2 = str.value;
        }
        if(optionObj.value == 3){
            option3 = str.value;
        }
    }
    if(regName == "" || regName == null || regName == undefined){
        alert("Please enter registration number");
        return;
    } else if(option1 == ""){
        alert("Please select first preference");
    	return;
    } else if((option1 == option2) || (option3 == option1)){
    	alert("Please select different options");
    	return;
	} else {
        renderAction(ctx + '/secure/viewSelectionTestForm.action', 
        				'&saveSelection=saveSelection'+
        				'&name='+studentName+
        				'&registerNumber='+regName+
        				'&date='+date+
        				'&enrollmentCenter='+regCenter+
        				'&year=2010'+
        				'&option1='+option1+
        				'&option2='+option2+
        				'&option3='+option3+
        				'&program='+program+'&center='+center, 'selectPrefDiv');
    }    
}

function showSelectionTestForm(center){
	renderAction(ctx + '/secure/viewSelectionTestForm.action','center='+center, 'selectPrefDiv');
}

function viewReport(repType,center){
	if(repType == 'prog'){
		var programSelectBox = document.getElementById('report-program'); 
	    if(programSelectBox == null){
	    	renderAction(ctx + '/secure/viewSelectionTestReport.action',
	    						'&viewReport=viewReport'+
	    						'&center='+center, 
	    						'selectPrefDiv');	
	    } else {
	    	var program = programSelectBox.options[programSelectBox.selectedIndex].value;
	    	renderAction(ctx + '/secure/viewSelectionTestReport.action',
	    				'&viewReport=viewReport'
	    				+'&program='+program
	    				+'&center='+center,
	    				 'selectPrefDiv');		    	
	    }
	} else if(repType == 'pref'){
		var programSelectBox = document.getElementById('report-preference'); 
	    if(programSelectBox == null){
	    	renderAction(ctx + '/secure/viewSelectionTestReport.action',
	    						'&viewReport=viewReport'
	    						+'&center='+center,
	    						 'selectPrefDiv');	
	    } else {
	    	var pref = programSelectBox.options[programSelectBox.selectedIndex].value;
			renderAction(ctx + '/secure/viewSelectionTestReport.action',
						'&pref='+pref+
						'&center='+center,
						'selectPrefDiv');	
		}
	}
}

function selectionTestDelete(selectionTestId,center) {
	renderAction(ctx + '/secure/viewSelectionTestForm.action',
					'&selectionTestId='+selectionTestId+
					'&center='+center, 
					'selectPrefDiv');
}

function quitDiagTest(cid,eid,quitTest){
	if(quitTest != null && quitTest != '' && quitTest == 'true'){
		renderAction('dianosticTest.action','cid='+cid+'&eid='+eid+'&quitTest=true','body');
	} else {
		renderAction('dianosticTest.action','cid='+cid+'&eid='+eid,'body');
	} 
}

function selectionTestDetailsForPreference(enrollmentCenter, program, center){
	renderAction(ctx + '/secure/viewSelectionTestReport.action','&enrollCenter='+enrollmentCenter+'&program='+program+'&center='+center, 'selectPrefDiv');
}

function selectionTestDetailsForCenter(enrollmentCenter, program, center){
	renderAction(ctx + '/secure/viewSelectionTestReport.action','&enrollCenter='+enrollmentCenter+'&program='+program+'&center='+center+'&report=center', 'selectPrefDiv');
}

/* close the meaning section and view the question(word) with answer choices */
function closeWordMeaningAndDisplayWordSection(){
	document.getElementById("flip-div-li").style.opacity = ''; 
	document.getElementById("flip-div-li").style.filter = "alpha(opacity='')"; 
	document.getElementById("flip-div-li").style.display = 'block';
	var answerchoiceFlipDiv = new BEBOP.Infobox("answerchoiceFlipDiv", true);
}

/* to show the word meaning on click of "Meaning" button */
function flipToShowWordMeaning(){
	var wordMeaningFlipDiv = new BEBOP.Infobox("answerchoiceFlipDiv", true);
	wordMeaningFlipDiv.run();
}

/* flip the div after time over say max time seconds = 10 seconds */
var milisec=0;
var seconds=10; 
var timerCount;
var isTimeOver = false;
function flipDivAfterTimeOut(){
	 if (milisec<=0){ 
	    milisec=9 
	    seconds-=1 
	 } 
	 if (seconds<=-1){ 
	    seconds+=1 
	 } 
	 else {
	    milisec-=1
	}
		if(seconds > 0){
			if(document.getElementById("timer-count") != null){
				document.getElementById("timer-count").innerHTML = seconds;
				timerCount = setTimeout("flipDivAfterTimeOut()",100);
			}
		
		} else{
			if(document.getElementById("timer-count") != null){
				document.getElementById("timer-count").innerHTML = seconds;
			}
			if(document.getElementById("reviseWordApp") != null && document.getElementById("reviseWordApp") != ''){
				if(!(revisedWordUserResponse == "hitMeHard")){
					answerchoiceFlipDiv.run();
				}
			}
			else {
				var qSetAndLabel = document.getElementById("qSetIdAndDisplayLabel").value;
				var qChoice = document.getElementById("answerchoiceChkboxId");
				var InputHiddencurrectAnswerChoiceId = document.getElementById("ccId").value;
				var wrongAnswerChoiceId = "";
				var toGetOneWrongAnsChoice = false;
				var answersIds = YAHOO.util.Dom.getElementsByClassName("answers_ids", "input");
				for (i = 0; i < answersIds.length; i++) {
					var answersObj = answersIds[i];
					if(answersObj.value != InputHiddencurrectAnswerChoiceId && toGetOneWrongAnsChoice == false){
						wrongAnswerChoiceId = answersObj.value;
						document.getElementById("wrongAnswerChoiceId").value = wrongAnswerChoiceId;
						toGetOneWrongAnsChoice = true;
					}
				}
				qChoice = qChoice + wrongAnswerChoiceId;
				disableMouseEvents = false;
				isTimeOver = true;
				// pass the checkedAnswer = null to save response as wrong and to display the word meaning
				handleWordAppChallengerAnswer(qSetAndLabel, qChoice, null); 
				if(document.getElementById('meaning-nav') != null){
					document.getElementById('meaning-nav').style.visibility = 'visible';
					document.getElementById('meaning-nav').style.display = 'block';
				}
			}
		}
}
flipDivAfterTimeOut();

/* to reset the timer on ajax call(on click of start Over button) */
function onClickStartOverStartTimerClock(){
	answerchoiceFlipDiv = new BEBOP.Infobox("answerchoiceFlipDiv", true);
	seconds = wordAppMaxTimeSeconds; // set timer value to max value on ajax call 
    flipDivAfterTimeOut();
}

/*Function to show enable or disable the subscription by check/uncheck the checkbox*/
function enableOrDisableSubsciption(subId) {
	var subItemid ="";
	var splittedId = new Array();
	var selectedSubscription = document.getElementById(subId+"_SubId");
	var selectedids = document.getElementById("selectedItemIds");
	if(selectedids != undefined && selectedids != null) {
		var ids = selectedids.value;
		 splittedId = ids.split('_');	
	}
	var subscriptionItemIdClass = YAHOO.util.Dom.getElementsByClassName(subId+'^items_chbox','input');
	if(subscriptionItemIdClass != undefined && subscriptionItemIdClass != null){
		for(var i=0; i<subscriptionItemIdClass.length ; i++){
			var existedId = false;
			var subObj = subscriptionItemIdClass[i];
			if(selectedSubscription.checked && !(subObj.checked)){
				subItemid = subItemid + "&sid="+subObj.getAttribute("id");
				subObj.checked = true;
			} else {
				subObj.checked  = false;
			}
			if(splittedId != null && splittedId.length > 0) {
				for(var j=0;j<splittedId.length;j++) {
					if(splittedId[j] != '' && splittedId[j] != null) {
						if((selectedSubscription.checked == false && splittedId[j] == subObj.getAttribute("id"))) {
							splittedId[j] = "";
						}
					}
				}
			}
		}
    if(splittedId != null && splittedId.length > 0) {
		for(var j=0;j<splittedId.length;j++) {
			if(splittedId[j] != '' && splittedId[j] != null) {
					subItemid = subItemid + "&sid="+splittedId[j];
			}
		}
	}
	renderAction(ctx+'/secure/coupon.action','&sd=t'+subItemid,'discount-percentage-content');
	}
}	

/*Function to show enable or disable the subscription Items by check/uncheck the checkbox*/	
function enableOrDisableSubItems(subId,subItemId){
	var subItemid ="";
	var allSubItemsUnchecked = true;
	var subItem = document.getElementById(subItemId);
	var subscriptionCheckBox = document.getElementById(subId+"_SubId");
	var selectedids = document.getElementById("selectedItemIds");
	if(selectedids != undefined && selectedids != null) {
		var ids = selectedids.value;
		var splittedId = ids.split('_');	
		for(var i=0;i<splittedId.length;i++) {
			if(splittedId[i] != '' && splittedId[i] != null) {
				if(!(subItem.checked == false && splittedId[i] == subItemId)) {
					subItemid = subItemid + "&sid="+splittedId[i];
				}				
			}
		}
	}
	if(subItem.checked == true){
		allSubItemsUnchecked = false;
		subItemid=subItemid+"&sid="+subItemId;
		subscriptionCheckBox.checked = true;
	} else if(subItem.checked == false){
		var subItemClassNames = YAHOO.util.Dom.getElementsByClassName(subId+'^items_chbox','input');
		for(var r=0; r<subItemClassNames.length ; r++){
			var subObj = subItemClassNames[r];
			if(subObj.getAttribute("id") != subItemId && document.getElementById(subObj.getAttribute("id")).checked){
				allSubItemsUnchecked = false;
			}
		}
	}
	renderAction(ctx+'/secure/coupon.action','&sd=t'+subItemid,'discount-percentage-content');
	if(allSubItemsUnchecked == true){
		subscriptionCheckBox.checked = false;
	}
}

/* To expand & collapse the subscription Item details */
function expandAndCloseSubsciptionActivity(subscriptionId) {
var subcriptionrow =  "subscription_itmes_view_content^"+subscriptionId;
var subscriptionImage = "missed-patner-img^"+subscriptionId;
var subscriptionBlock = YAHOO.util.Dom.getElementsByClassName(subcriptionrow, "tr");
	for (i = 0; i < subscriptionBlock.length; i++) {
		var iWeek = subscriptionBlock[i];
		if(iWeek.style.display == "none" && iWeek.style.visibility == "hidden") {
			iWeek.style.display = "block";
			iWeek.style.visibility = "visible";
			document.getElementById(subscriptionImage).src= ctx + "/images/subscription_grey_minus.jpg";
		} else if(iWeek.style.display == "block" && iWeek.style.visibility == "visible") {
				iWeek.style.display = "none";
				iWeek.style.visibility = "hidden";
				document.getElementById(subscriptionImage).src= ctx + "/images/subscription_grey_plus.jpg";
		} 
	}
}

function nextExerciseQuestion(cid, eid, contentRepoId){
	var hasUserAnswered = false;
	var qType = document.getElementById('qType').value;
	if(qType != 7){
		var answerChoiceClass = YAHOO.util.Dom.getElementsByClassName('qtn-chkbox','td');
		if(answerChoiceClass != undefined && answerChoiceClass != null){
			for(var i=0; i<answerChoiceClass.length ; i++){
				var inputTag = YAHOO.util.Dom.getFirstChild(answerChoiceClass[i]);
				if(inputTag.checked == true){						
					hasUserAnswered = true;		
					break;			 
				} 
			}
		} 
	} else {
		var selectedValue = document.getElementById("a_"+document.getElementById('qLabel').value);
		if((selectedValue != null || selectedValue != undefined) && selectedValue.value == 'TRUE'){
			hasUserAnswered = true;
		}
	}
	if(hasUserAnswered == true){
		stopClockForward();
		var displayOrder = document.getElementById('displayOrder');
		var uAid = document.getElementById('uAid');
		if(displayOrder != null && displayOrder != undefined && uAid != null && uAid != undefined){
			renderAction(ctx+'/secure/exercises.action',
						'cid='+cid+
						'&eid='+eid+
						'&contentRepoId='+contentRepoId+
						'&displayOrder='+displayOrder.value+
						'&uAid='+uAid.value,
						'body');
		} else {
			renderAction(ctx+'/secure/exercises.action','cid='+cid+'&eid='+eid+'&contentRepoId='+contentRepoId,'body');
		}
        var current_time = new Date();        		
        var current_time_ms = current_time.getTime();
        last_question_savetime = current_time_ms;
	} else {
		document.getElementById('diagErrorMsg').innerHTML = "Please answer the question, to navigate to next question";
		return;
	}
}
	
/* BASE Enquiry module */	
function getNextEnquiry(nextResult){
	renderAction(ctx+'/viewEnquiry.action', '&nextResult='+nextResult, 'body_content');
}

function getPreviousEnquiry(prevResult){
	renderAction(ctx+'/viewEnquiry.action', '&prevResult='+prevResult, 'body_content');
} 

/* To search enquiry data */
function searchEnquiryDetails(prevResult,nextResult)
{
	document.getElementById("startDateInvalid").innerHTML="";
	document.getElementById("endDateInvalid").innerHTML="";

	var enquiredByIndex=document.enquiryDetail.enquiredBy.selectedIndex;
	var en=document.enquiryDetail.enquiredBy.options[enquiredByIndex].value;
	if(en=="- Enquiry BY -"){
		en=null;
	}
	var enquiryTypeIndex=document.enquiryDetail.enquiryType.selectedIndex;
	var en1=document.enquiryDetail.enquiryType.options[enquiryTypeIndex].value;
	if(en1=="- Select Type -"){
		en1=null;
	}
	var enquiryStatusIndex=document.enquiryDetail.enquiryStatus.selectedIndex;
	var en2=document.enquiryDetail.enquiryStatus.options[enquiryStatusIndex].value;
	if(en2=="- Enquiry Status -"){
		en2=null;
	}
	var enquirySourceIndex=document.enquiryDetail.enquiredSource.selectedIndex;
	var en3=document.enquiryDetail.enquiredSource.options[enquirySourceIndex].value;
	if(en3=="- Select Source -"){
		en3=null;
	}

	var enquiryDate=document.getElementById("enquiryDate").value;
	if(enquiryDate==""){
		enquiryDate=null;
	}
	if(enquiryDate != null && enquiryDate != ""){
		enquiryDate=trim(enquiryDate);
	}
	var dateInvalid=false;
	if(enquiryDate != null && enquiryDate != ""){
		var dateFormat=/^[0-9][0-9]{0,1}\/[0-9][0-9]{0,1}\/[0-9][0-9]{0,3}$/;
		if(enquiryDate.search(dateFormat)== -1){
			document.getElementById("startDateInvalid").innerHTML="<font color=red size=3>Date Invalid</font>";
			dateInvalid=true;
		}
	}
	var endDate = document.getElementById("endDate").value;
	if(endDate==""){
		endDate=null;
	}
	if(endDate != null && endDate != ""){
		endDate=trim(endDate);
	}
	if(endDate != null && endDate != ""){
		var dateFormat=/^[0-9][0-9]{0,1}\/[0-9][0-9]{0,1}\/[0-9][0-9]{0,3}$/;
		if(endDate.search(dateFormat)== -1){
			document.getElementById("endDateInvalid").innerHTML="<font color=red size=3>Date Invalid</font>";
			dateInvalid=true;
		}
	}
	if(dateInvalid){
		return;
	}
	var index=document.enquiryDetail.sortBy.selectedIndex;
	var selectedType = document.enquiryDetail.sortBy.options[index].value;
	if(selectedType=="- Column Name -"){
		selectedType=null;
	}
	renderAction(ctx+'/searchEnquiry.action','&enquiredBy='+en+'&enquiryType='+en1+'&enquiryStatus='+en2+'&enquiredSource='+en3+'&sortBy='+selectedType+'&enquiryDate='+enquiryDate+'&endDate='+endDate+'&prevResult='+prevResult+'&nextResult='+nextResult,'body_content');
}

/*to populate states in the comboBox */
function populateStates(formId){		
	var states, chosen;
	if(formId=="franchisee"){
		chosen=document.franchiseeEnquiryForm.Country.selectedIndex;
	}else if(formId=="teacher"){
		chosen=document.teacherEnquiryForm.Country.selectedIndex;
	}else if(formId=="student"){
		chosen=document.studentEnquiryForm.Country.selectedIndex;
	}		
	if(chosen==0){
		states=['- Select State -'];
	}
	if(chosen==1){
		states=['- Select State -','Andhra Pradesh','Arunachal Pradesh','Assam','Bihar','Chhattisgarh','Goa','Gujarat','Haryana','Himachal Pradesh','Jammu and Kashmir','Jharkhand','Karnataka','Kerala','Madhya Pradesh','Maharashtra','Manipur','Meghalaya','Mizoram','Nagaland','Orissa','Punjab','Rajasthan','Sikkim','Tamil Nadu','Tripura','Uttar Pradesh','Uttarakhand','West Bengal','Andaman and Nicobar Islands','Chandigarh','Dadra and Nagar HaveliDaman and Diu','Lakshadweep','National Capital Territory of Delhi','Puducherry'];
	}
	if(chosen==2){
		states=['- Select State -','Alabama','Alaska','Arizona','Arkansas','California','Colorado','Connecticut','Texas','Washington'];
	}
	if(chosen==3){
		states=['Others'];
	}		
	if(formId=="franchisee"){
		for (i=document.franchiseeEnquiryForm.State.options.length; i>0; i--) {
			document.franchiseeEnquiryForm.State.options[i] = null;
		}
		for(var i=0; i<states.length; i++){
			document.franchiseeEnquiryForm.State.options[i]=new Option(states[i]);
		}
	}else if(formId=="teacher"){
		for (i=document.teacherEnquiryForm.State.options.length; i>0; i--) {
			document.teacherEnquiryForm.State.options[i] = null;
		}
		for(i=0; i<states.length; i++) {
			document.teacherEnquiryForm.State.options[i] =new Option(states[i]);
		}
	}else if(formId=="student"){
		for (i=document.studentEnquiryForm.State.options.length; i>0; i--) {
		document.studentEnquiryForm.State.options[i] = null;
		}
		for(i=0; i<states.length; i++) {
			document.studentEnquiryForm.State.options[i] =new Option(states[i]);
		}
	}
}

/*to populate cities in the comboBox */
function populateCities(formId){	
	var cities, chosen;
	if(formId=="franchisee"){
		chosen=document.franchiseeEnquiryForm.PreferredState.selectedIndex;
	}else if(formId=="teacher"){
		chosen=document.teacherEnquiryForm.PreferredState.selectedIndex;
	}else if(formId=="student"){
		chosen=document.studentEnquiryForm.PreferredState.selectedIndex;
	}
	if(chosen==0){
		cities=['- Select City -'];
	}
	if(chosen==1){
		cities=['- Select City -','Bangalore','Mysore','Hubli','Others'];
	}
	if(chosen==2){
		cities=['- Select City -','Chennai','Hosur','Krishnagiri','Others'];
	}
	if(chosen==3){
		cities=['- Select City -','Hyderabad','Vizag','Others'];
	}
	if(chosen==4){
		cities=['Others'];
	}	
	if(formId=="franchisee"){
		for (i=document.franchiseeEnquiryForm.preferredCity.options.length; i>0; i--) {
		document.franchiseeEnquiryForm.preferredCity.options[i] = null;
	}
	for(var i=0; i<cities.length; i++){		
		document.franchiseeEnquiryForm.preferredCity.options[i]=new Option(cities[i]);
		
	}
	}else if(formId=="teacher"){
		for (i=document.teacherEnquiryForm.preferredCity.options.length; i>0; i--) {
		document.teacherEnquiryForm.preferredCity.options[i] = null;
		}
		for(i=0; i<cities.length; i++) {
			document.teacherEnquiryForm.preferredCity.options[i] =new Option(cities[i]);
		}
	}
	else if(formId=="student"){
		for (i=document.studentEnquiryForm.preferredCity.options.length; i>0; i--) {
		document.studentEnquiryForm.preferredCity.options[i] = null;
		}
		for(i=0; i<cities.length; i++) {
			document.studentEnquiryForm.preferredCity.options[i] =new Option(cities[i]);
		}
	}
} 
	
/*to populate branches in the comboBox */
function populateBranches(formId){	
	var branches, chosen;
	if(formId=="franchisee"){
		chosen=document.franchiseeEnquiryForm.PreferredCity.selectedIndex;
		chosenState=document.franchiseeEnquiryForm.PreferredState.selectedIndex;
	}else if(formId=="teacher"){
		chosen=document.teacherEnquiryForm.PreferredCity.selectedIndex;
		chosenState=document.teacherEnquiryForm.PreferredState.selectedIndex;
	}else if(formId=="student"){
		chosen=document.studentEnquiryForm.PreferredCity.selectedIndex;
		chosenState=document.studentEnquiryForm.PreferredState.selectedIndex;
	}
	if(chosenState==1){		
		if(chosen==0){
			branches=['- Select Location -'];
		}
		if(chosen==1){
			branches=['- Select Location -','Basavangudi Center','Jayanagar Center','RV Integrated Center','KLE Society S.N.Nijalingappa PU College','Vidya Vardhaka Sangha Sardar Patel PU College','Others'];
		}
		if(chosen==2){
			branches=['- Select Location -','Mysore Center'];
		}
		if(chosen==3){
			branches=['- Select Location -','Hubli Center'];
		}
		if(chosen==4){
			branches=['Others'];
		}
	}
	if(chosenState==2){		
		if(chosen==0){
			branches=['- Select Location -'];
		}
		if(chosen==1){
			branches=['- Select Location -','Others'];
		}
		if(chosen==2){
			branches=['- Select Location -','Others'];
		}
		if(chosen==3){
			branches=['- Select Location -','Others'];
		}
		if(chosen==4){
			branches=['Others'];
		}
	}		
	if(chosenState==3){		
		if(chosen==0){
			branches=['- Select Location -'];
		}
		if(chosen==1){
			branches=['- Select Location -','Others'];
		}
		if(chosen==2){
			branches=['- Select Location -','Others'];
		}
		if(chosen==3){
			branches=['- Select Location -','Others'];
		}
		if(chosen==4){
			branches=['Others'];
		}
	}		
	if(formId=="franchisee"){
		for (i=document.franchiseeEnquiryForm.PreferredArea.options.length; i>0; i--) {
		document.franchiseeEnquiryForm.PreferredArea.options[i] = null;
	}
	for(var i=0; i<branches.length; i++){		
		document.franchiseeEnquiryForm.PreferredArea.options[i]=new Option(branches[i]);			
	}
	}else if(formId=="teacher"){
		for (i=document.teacherEnquiryForm.PreferredArea.options.length; i>0; i--) {
			document.teacherEnquiryForm.PreferredArea.options[i] = null;
		}
		for(i=0; i<branches.length; i++) {
			document.teacherEnquiryForm.PreferredArea.options[i] =new Option(branches[i]);
		}
	}
	else if(formId=="student"){
		for (i=document.studentEnquiryForm.PreferredArea.options.length; i>0; i--) {
			document.studentEnquiryForm.PreferredArea.options[i] = null;
		}
		for(i=0; i<branches.length; i++) {
			document.studentEnquiryForm.PreferredArea.options[i] =new Option(branches[i]);
		}
	}
}

	/* To display and hide the chapters for a subject */
	function displayCourseActivity(div1,div2,div3,courseId,index,subjId){
		var course = document.getElementById(div1);
		var courseHeader = document.getElementById(div3);
		if(course.style.display == "none" && course.style.visibility == "hidden") {
			course.style.display = "block";
			course.style.visibility = "visible";
			courseHeader.setAttribute("className","openbox");
			courseHeader.setAttribute("class","openbox");
			document.getElementById(div2).src= ctx + "/images/base/open_bttn.gif";
			renderAction(ctx+'/subscriptionsView.action', '&subjId='+subjId+'&courseId='+courseId+'&subjIndex='+index, "mainDiv");
		}else if(course.style.display == "block" && course.style.visibility == "visible") {
			course.style.display = "none";
			course.style.visibility = "hidden";
			courseHeader.setAttribute("className","closebox");
			courseHeader.setAttribute("class","closebox");
			document.getElementById(div2).src= ctx + "/images/base/close_bttn.JPG";
		}
		
	}
	
	/* To display subscription items for a course */
	function getSubscriptionDetails(subId){
		renderAction(ctx+'/subscriptionsView.action', "&subId="+subId, "leftCon");
	}

/* To show Calendar in enquiry module*/

YAHOO.namespace("base.enquiry");
YAHOO.namespace("enquiry.calendar");
var enquiryDate = function(type, args) {
	var dates = args[0];
	var date = dates[0];
	var theYear = date[0];
	var theMonth = date[1];
	var theDay = date[2];
	var selectedDate = theDay+"/"+theMonth+"/"+theYear;
	var enqDate = YAHOO.util.Dom.get("txtReminderDate");
	var calanderDate = YAHOO.util.Dom.get("reminderDate");
	enqDate.value = selectedDate;	
	calanderDate.value = selectedDate;
	YAHOO.enquiry.calendar.hide();
}
YAHOO.base.enquiry.launchEnquiryCalendar = function(divId) {		
	YAHOO.enquiry.calendar = new YAHOO.widget.Calendar(divId, {LOCALE_WEEKDAYS:"1char", HIDE_BLANK_WEEKS:true, close:true});
	YAHOO.enquiry.calendar.render();
	showEnquiryCalendar();
}
var showEnquiryCalendar = function() {
	YAHOO.enquiry.calendar.show();
	YAHOO.enquiry.calendar.selectEvent.subscribe(enquiryDate);
}

/*Method on click of subscription checkbox in subscription page*/
function onSubscriptionCheckBoxClick(subscriptionId){
	var subscriptionDiv = document.getElementById(subscriptionId);
	var subItemClassNames = YAHOO.util.Dom.getElementsByClassName('subscription_checkbox_'+subscriptionId,'input');
	for(var r=0; r<subItemClassNames.length ; r++){
		var itemCheckBox = subItemClassNames[r];
		if(subscriptionDiv.checked && itemCheckBox.disabled == false){
			itemCheckBox.checked = true;
		} else if(itemCheckBox.disabled == false){
			itemCheckBox.checked = false;
		}
	}
	var subcriptionItemsRow =  "subscription_itmes_view_content^"+subscriptionId;
	var subscriptionBlock = YAHOO.util.Dom.getElementsByClassName(subcriptionItemsRow, "tr");
	for (i = 0; i < subscriptionBlock.length; i++) {
		var iWeek = subscriptionBlock[i];
		if(iWeek.style.display == "none" && iWeek.style.visibility == "hidden") {
			expandAndCloseSubsciptionActivity(subscriptionId);
			return;
		} 
	}
}

/* function to show select/deselect subscription checkbox*/
function manageSubscrioptionCheckbox(subscriptionId){
	var isItemChecked = false;
	var subItemClassNames = YAHOO.util.Dom.getElementsByClassName('subscription_checkbox_'+subscriptionId,'input');
	for(var r=0; r<subItemClassNames.length ; r++){
		var itemCheckBox = subItemClassNames[r];
		if(itemCheckBox.checked){
			isItemChecked = true;
		} 
	}
	var subscriptionDiv = document.getElementById(subscriptionId);
	if(isItemChecked == true){
		subscriptionDiv.checked = true;
	} else {
		subscriptionDiv.checked =false;
	}
}

/* Method to click on cancel in subscription page */
function onCancelSubscriptionClick(){
	renderPostAction(ctx+'/secure/subscriptionsView.action', 'selectedSubscriptionId=null', 'body-content')	
}

/* to set the isReceiveEmailUpdatesSelected value oncheck of check box */
function onCheckReceiveEmailUpdates(status){
	if(status == true){
		document.getElementById("isRecieveEmailUpdatesSelected").value = true;
	} else {
		document.getElementById("isRecieveEmailUpdatesSelected").value = false;
	}
}