Beispiel #1
0
    function JQ_StartReview_nojs()
    {
        global $JLMS_DB, $my, $option, $Itemid, $JLMS_CONFIG;
        $ret_str = '';
        $doc =& JFactory::getDocument();
        $id = intval(mosGetParam($_REQUEST, 'id', 0));
        $quiz_id = intval(mosGetParam($_REQUEST, 'quiz', 0));
        $query = "SELECT * FROM #__lms_quiz_t_quiz WHERE c_id = '" . $quiz_id . "'";
        $JLMS_DB->SetQuery($query);
        $quiz = $JLMS_DB->LoadObjectList();
        if (count($quiz)) {
            $quiz = $quiz[0];
        } else {
            return $ret_str;
        }
        $quiz_params = new JLMSParameters($quiz->params);
        $now = date('Y-m-d H:i:s', time() - date('Z'));
        if ($quiz->published) {
            if ($my->id) {
            } elseif ($quiz->c_guest) {
            } else {
                return $ret_str;
            }
        } else {
            $JLMS_ACL =& JLMSFactory::getACL();
            if (!$JLMS_ACL->CheckPermissions('quizzes', 'view_all')) {
                return $ret_str;
            }
        }
        if ($quiz_id) {
            $stu_quiz_id = intval(mosGetParam($_REQUEST, 'stu_quiz_id', 0));
            $user_unique_id = strval(mosGetParam($_REQUEST, 'user_unique_id', ''));
            if ($stu_quiz_id) {
                $query = "SELECT c_quiz_id, c_student_id, unique_id, allow_review, c_passed FROM #__lms_quiz_r_student_quiz WHERE c_id = '" . $stu_quiz_id . "'";
                $JLMS_DB->SetQuery($query);
                $st_quiz_data = $JLMS_DB->LoadObjectList();
                $start_quiz = 0;
                if (count($st_quiz_data)) {
                    $start_quiz = $st_quiz_data[0]->c_quiz_id;
                } else {
                    return '';
                }
                if ($user_unique_id != $st_quiz_data[0]->unique_id) {
                    return '';
                }
                if ($my->id != $st_quiz_data[0]->c_student_id) {
                    return '';
                }
                if ($start_quiz != $quiz_id) {
                    return '';
                }
                if (!$st_quiz_data[0]->allow_review) {
                    return '';
                }
                $query = "SELECT * FROM #__lms_quiz_t_question WHERE c_quiz_id = '" . $quiz_id . "' ORDER BY ordering, c_id";
                $JLMS_DB->SetQuery($query);
                $q_data = $JLMS_DB->LoadObjectList();
                // 22.04.2008 Bugfix - support for Questions pool
                $inside_lp = intval(mosGetParam($_REQUEST, 'inside_lp', 0));
                $QA = new JLMS_quiz_API($quiz_id, $inside_lp);
                if (!$QA->quiz_valid()) {
                    return '';
                }
                $QA->set('stu_quiz_id', $stu_quiz_id);
                $QA->set('user_unique_id', $user_unique_id);
                $QA->quiz_ProcessStartData();
                if ($QA->start_valid()) {
                    $q_data = $QA->quiz_Get_QuestionList();
                }
                global $JLMS_LANGUAGE, $JLMS_CONFIG;
                JLMS_require_lang($JLMS_LANGUAGE, 'quiz.lang', $JLMS_CONFIG->get('default_language'));
                require _JOOMLMS_FRONT_HOME . '/includes/quiz/quiz_language.php';
                global $jq_language;
                if ($quiz->c_wrong_message) {
                    $jq_language['quiz_answer_incorrect'] = htmlspecialchars(nl2br($quiz->c_wrong_message));
                }
                if ($quiz->c_right_message) {
                    $jq_language['quiz_answer_correct'] = htmlspecialchars(nl2br($quiz->c_right_message));
                }
                $quest_params = new JLMSParameters($q_data[0]->params);
                if ($quest_params->get('survey_question') == 1) {
                    $is_survey = 1;
                } else {
                    $is_survey = 0;
                }
                $is_correct = 0;
                //---test for right quest
                $proc_quest_id = $q_data[0]->c_id;
                if (isset($q_data[0]->c_pool) && $q_data[0]->c_pool) {
                    $q_data[0]->old_c_id = $q_data[0]->c_id;
                    $q_data[0]->c_id = $q_data[0]->c_pool;
                    $proc_quest_id_pool = $q_data[0]->c_pool;
                } elseif (isset($q_data[0]->c_pool_gqp) && $q_data[0]->c_pool_gqp) {
                    $q_data[0]->old_c_id = $q_data[0]->c_id;
                    $q_data[0]->c_id = $q_data[0]->c_pool_gqp;
                    $proc_quest_id_pool = $q_data[0]->c_pool_gqp;
                } else {
                    $proc_quest_id_pool = $q_data[0]->c_id;
                    $q_data[0]->old_c_id = $q_data[0]->c_id;
                }
                $proc_quest_id = $q_data[0]->c_id;
                switch ($q_data[0]->c_type) {
                    case 1:
                    case 3:
                    case 12:
                        $query = "SELECT qst.c_id FROM #__lms_quiz_r_student_quiz as qz, #__lms_quiz_r_student_question as qst WHERE qz.c_id = qst.c_stu_quiz_id AND qz.unique_id = '" . $user_unique_id . "' AND c_question_id='" . $proc_quest_id . "'";
                        $JLMS_DB->SetQuery($query);
                        $sqtq_id = $JLMS_DB->LoadResult();
                        $query = "SELECT c_choice_id FROM #__lms_quiz_r_student_choice WHERE c_sq_id = '" . $sqtq_id . "'";
                        $JLMS_DB->SetQuery($query);
                        $answer = $JLMS_DB->LoadResult();
                        $query = "SELECT a.c_point, b.c_id, a.c_attempts FROM #__lms_quiz_t_question as a, #__lms_quiz_t_choice as b WHERE a.c_id = '" . $proc_quest_id_pool . "' and b.c_question_id = a.c_id and b.c_right = '1'";
                        $JLMS_DB->SetQuery($query);
                        $ddd = $JLMS_DB->LoadObjectList();
                        if ($answer) {
                            if (count($ddd)) {
                                if ($ddd[0]->c_id == $answer) {
                                    $is_correct = 1;
                                }
                            }
                        }
                        break;
                    case 2:
                    case 13:
                        $query = "SELECT qst.c_id FROM #__lms_quiz_r_student_quiz as qz, #__lms_quiz_r_student_question as qst WHERE qz.c_id = qst.c_stu_quiz_id AND qz.unique_id = '" . $user_unique_id . "' AND c_question_id='" . $proc_quest_id . "'";
                        $JLMS_DB->SetQuery($query);
                        $sqtq_id = $JLMS_DB->LoadResult();
                        $query = "SELECT c_choice_id FROM #__lms_quiz_r_student_choice WHERE c_sq_id = '" . $sqtq_id . "'";
                        $JLMS_DB->SetQuery($query);
                        $answers = $JLMS_DB->LoadObjectList();
                        $answer = array();
                        if (count($answers)) {
                            foreach ($answers as $answ) {
                                $answer[] = $answ->c_choice_id;
                            }
                        }
                        $query = "SELECT a.c_point, a.c_attempts FROM #__lms_quiz_t_question as a WHERE a.c_id = '" . $proc_quest_id_pool . "'";
                        $JLMS_DB->SetQuery($query);
                        $ddd = $JLMS_DB->LoadObjectList();
                        $query = "SELECT b.c_id FROM #__lms_quiz_t_question as a, #__lms_quiz_t_choice as b WHERE a.c_id = '" . $proc_quest_id_pool . "' and b.c_question_id = a.c_id and b.c_right = '1'";
                        $JLMS_DB->SetQuery($query);
                        $ddd2 = $JLMS_DB->LoadObjectList();
                        $query = "SELECT b.c_id FROM #__lms_quiz_t_question as a, #__lms_quiz_t_choice as b WHERE a.c_id = '" . $proc_quest_id_pool . "' and b.c_question_id = a.c_id and b.c_right <> '1'";
                        $JLMS_DB->SetQuery($query);
                        $ddd3 = $JLMS_DB->LoadObjectList();
                        $ans_array = $answer;
                        if (count($ddd2) && count($ddd)) {
                            $c_quest_score = $ddd[0]->c_point;
                            $is_correct = 1;
                            foreach ($ddd2 as $right_row) {
                                if (!in_array($right_row->c_id, $ans_array)) {
                                    $c_quest_score = 0;
                                    $is_correct = 0;
                                }
                            }
                            foreach ($ddd3 as $not_right_row) {
                                if (in_array($not_right_row->c_id, $ans_array)) {
                                    $c_quest_score = 0;
                                    $is_correct = 0;
                                }
                            }
                        }
                        break;
                    case 4:
                    case 5:
                    case 11:
                        $query = "SELECT qst.c_id FROM #__lms_quiz_r_student_quiz as qz, #__lms_quiz_r_student_question as qst WHERE qz.c_id = qst.c_stu_quiz_id AND qz.unique_id = '" . $user_unique_id . "' AND c_question_id='" . $proc_quest_id . "'";
                        $JLMS_DB->SetQuery($query);
                        $sqtq_id = $JLMS_DB->LoadResult();
                        $query = "SELECT a.c_sel_text as c_sel_text FROM #__lms_quiz_r_student_matching as a, #__lms_quiz_t_matching as b WHERE a.c_sq_id = '" . $sqtq_id . "' AND a.c_matching_id = b.c_id ORDER BY b.ordering";
                        $JLMS_DB->SetQuery($query);
                        $answers = $JLMS_DB->LoadObjectList();
                        if (count($answers)) {
                            foreach ($answers as $answ) {
                                $answer[] = $answ->c_sel_text;
                            }
                        }
                        $query = "SELECT a.c_point, a.c_attempts FROM #__lms_quiz_t_question as a WHERE a.c_id = '" . $proc_quest_id_pool . "'";
                        $JLMS_DB->SetQuery($query);
                        $ddd = $JLMS_DB->LoadObjectList();
                        $query = "SELECT b.c_id, b.c_left_text, b.c_right_text FROM #__lms_quiz_t_question as a, #__lms_quiz_t_matching as b WHERE a.c_id = '" . $proc_quest_id_pool . "' and b.c_question_id = a.c_id ORDER BY b.ordering";
                        $JLMS_DB->SetQuery($query);
                        $ddd2 = $JLMS_DB->LoadObjectList();
                        $ans_array = $answer;
                        if (count($ddd2) && count($ddd)) {
                            $is_correct = 1;
                            $rr_num = 0;
                            foreach ($ddd2 as $right_row) {
                                if ($right_row->c_right_text != $ans_array[$rr_num]) {
                                    $is_correct = 0;
                                }
                                $rr_num++;
                            }
                        }
                        break;
                    case 6:
                        $query = "SELECT qst.c_id FROM #__lms_quiz_r_student_quiz as qz, #__lms_quiz_r_student_question as qst WHERE qz.c_id = qst.c_stu_quiz_id AND qz.unique_id = '" . $user_unique_id . "' AND c_question_id='" . $proc_quest_id . "'";
                        $JLMS_DB->SetQuery($query);
                        $sqtq_id = $JLMS_DB->LoadResult();
                        $query = "SELECT c_answer FROM #__lms_quiz_r_student_blank WHERE c_sq_id = '" . $sqtq_id . "'";
                        $JLMS_DB->SetQuery($query);
                        $answer = $JLMS_DB->LoadResult();
                        $query = "SELECT a.c_point, a.c_attempts FROM #__lms_quiz_t_question as a WHERE a.c_id = '" . $proc_quest_id_pool . "'";
                        $JLMS_DB->SetQuery($query);
                        $ddd = $JLMS_DB->LoadObjectList();
                        $query = "SELECT c.c_text FROM #__lms_quiz_t_question as a, #__lms_quiz_t_blank as b, #__lms_quiz_t_text as c WHERE a.c_id = '" . $proc_quest_id_pool . "' and b.c_question_id = a.c_id and c.c_blank_id = b.c_id";
                        $JLMS_DB->SetQuery($query);
                        $ddd2 = $JLMS_DB->LoadObjectList();
                        $answer = trim(urldecode($answer));
                        if (count($ddd2) && count($ddd)) {
                            foreach ($ddd2 as $right_row) {
                                if (strtolower($right_row->c_text) === strtolower($answer)) {
                                    $is_correct = 1;
                                }
                            }
                        }
                        break;
                    case 7:
                        $query = "SELECT qst.c_id FROM #__lms_quiz_r_student_quiz as qz, #__lms_quiz_r_student_question as qst WHERE qz.c_id = qst.c_stu_quiz_id AND qz.unique_id = '" . $user_unique_id . "' AND c_question_id='" . $proc_quest_id . "'";
                        $JLMS_DB->SetQuery($query);
                        $sqtq_id = $JLMS_DB->LoadResult();
                        $query = "SELECT * FROM #__lms_quiz_r_student_hotspot WHERE c_sq_id = '" . $sqtq_id . "'";
                        $JLMS_DB->SetQuery($query);
                        $answers = $JLMS_DB->LoadObjectList();
                        $answer = array();
                        if (count($answers)) {
                            $answer[0] = $answers[0]->c_select_x;
                            $answer[1] = $answers[0]->c_select_y;
                        }
                        if (count($answer)) {
                            $query = "SELECT a.c_point, a.c_attempts, b.c_start_x, b.c_start_y, b.c_width, b.c_height FROM #__lms_quiz_t_question as a, #__lms_quiz_t_hotspot as b WHERE a.c_id = '" . $proc_quest_id_pool . "' and b.c_question_id = a.c_id";
                            $JLMS_DB->SetQuery($query);
                            $ddd = $JLMS_DB->LoadObjectList();
                            if (count($ddd)) {
                                $ans_array = $answer;
                                if (count($ans_array) == 2 && $ans_array[0] >= $ddd[0]->c_start_x && $ans_array[0] <= $ddd[0]->c_start_x + $ddd[0]->c_width && $ans_array[1] >= $ddd[0]->c_start_y && $ans_array[1] <= $ddd[0]->c_start_y + $ddd[0]->c_height) {
                                    $is_correct = 1;
                                }
                            }
                        }
                        break;
                    case 8:
                        $is_correct = 1;
                        $is_survey = 1;
                        $answer = array();
                        break;
                    case 9:
                        $is_correct = 1;
                        $is_survey = 1;
                        $query = "SELECT qst.c_id FROM #__lms_quiz_r_student_quiz as qz, #__lms_quiz_r_student_question as qst WHERE qz.c_id = qst.c_stu_quiz_id AND qz.unique_id = '" . $user_unique_id . "' AND c_question_id='" . $proc_quest_id . "'";
                        $JLMS_DB->SetQuery($query);
                        $sqtq_id = $JLMS_DB->LoadResult();
                        $query = "SELECT * FROM #__lms_quiz_r_student_scale WHERE c_sq_id = '" . $sqtq_id . "'";
                        $JLMS_DB->SetQuery($query);
                        $answers = $JLMS_DB->LoadObjectList();
                        $answer = array();
                        for ($p = 0; $p < count($answers); $p++) {
                            $answer[$p][0] = $answers[$p]->q_scale_id;
                            $answer[$p][1] = $answers[$p]->scale_id;
                        }
                        break;
                    case 10:
                        $is_correct = 1;
                        $is_survey = 1;
                        $answer = array();
                        break;
                }
                if (!substr_count($quiz->params, 'disable_quest_feedback=1') && !substr_count($q_data[0]->params, 'disable_quest_feedback=1')) {
                    //---
                    if ($is_survey) {
                        $msg_cor = '';
                    } else {
                        if ($is_correct) {
                            $msg_cor = $jq_language['quiz_answer_correct'];
                        } else {
                            $msg_cor = $jq_language['quiz_answer_incorrect'];
                        }
                    }
                } else {
                    $msg_cor = '';
                }
                //					$ret_str .= "\t" . '<quiz_review_correct><![CDATA['.$msg_cor.']]></quiz_review_correct>' . "\n";
                //--explanation
                $explans = '';
                if (!$is_survey) {
                    switch ($quiz_params->get('sh_explanation')) {
                        case '1':
                        case '12':
                            if ($q_data[0]->c_explanation) {
                                $explans = $q_data[0]->c_explanation;
                            }
                            break;
                        case '2':
                        case '13':
                            if ($st_quiz_data[0]->c_passed) {
                                if ($q_data[0]->c_explanation) {
                                    $explans = $q_data[0]->c_explanation;
                                }
                            }
                            break;
                        case '3':
                            if (!$st_quiz_data[0]->c_passed) {
                                if ($q_data[0]->c_explanation) {
                                    $explans = $q_data[0]->c_explanation;
                                }
                            }
                            break;
                    }
                }
                //				$ret_str .= "\t" . '<quiz_review_explanation><![CDATA['.$explans.']]></quiz_review_explanation>' . "\n";
                $kol_quests = count($q_data);
                $quest_score = $q_data[0]->c_point;
                $qtype = $q_data[0]->c_type;
                $quest_id = $q_data[0]->c_id;
                $query = "SELECT a.*, b.lpath_id FROM #__lms_learn_path_step_quiz_results as a, #__lms_learn_path_steps as b WHERE a.stu_quiz_id = '" . $stu_quiz_id . "' AND a.step_id = b.id";
                $JLMS_DB->setQuery($query);
                $this_lpath = $JLMS_DB->LoadObject();
                $toolbar = array();
                if (isset($this_lpath->stu_quiz_id) && $this_lpath->stu_quiz_id == $stu_quiz_id) {
                    if ($qtype == 10) {
                        if (isset($q_data[$j]->c_slide) && $q_data[$j]->c_slide) {
                            $toolbar[] = array('kol_quests' => $kol_quests, 'num_quest' => 1, 'quest_score' => $quest_score, 'img_btn' => 'btn_start.png', 'text_btn' => _JLMS_NEXT_ALT_TITLE, 'link_cont' => '&task=show_lpath_nojs&action=contents_lpath&course_id=' . $id . '&id=' . $this_lpath->lpath_id . '&stu_quiz_id=' . $stu_quiz_id . '&user_unique_id=' . $this_lpath->unique_id . '&step_id=' . $this_lpath->step_id . '&user_start_id=' . $this_lpath->start_id . '&quest_id=' . $quest_id . '&quiz_id=' . $quiz_id . '&stu_quiz_id=' . $stu_quiz_id . '');
                        } else {
                            $toolbar[] = array('kol_quests' => $kol_quests, 'num_quest' => 1, 'quest_score' => $quest_score, 'img_btn' => 'btn_start.png', 'text_btn' => _JLMS_NEXT_ALT_TITLE);
                        }
                    } else {
                        if (isset($q_data[$j]->c_slide) && $q_data[$j]->c_slide) {
                            $toolbar[] = array('kol_quests' => $kol_quests, 'num_quest' => 1, 'quest_score' => $quest_score, 'img_btn' => 'btn_complete.png', 'text_btn' => _JLMS_OK_ALT_TITLE, 'link_cont' => '&task=show_lpath_nojs&action=contents_lpath&course_id=' . $id . '&id=' . $this_lpath->lpath_id . '&stu_quiz_id=' . $stu_quiz_id . '&user_unique_id=' . $this_lpath->unique_id . '&step_id=' . $this_lpath->step_id . '&user_start_id=' . $this_lpath->start_id . '&quest_id=' . $quest_id . '&quiz_id=' . $quiz_id . '&stu_quiz_id=' . $stu_quiz_id . '');
                        } else {
                            $toolbar[] = array('kol_quests' => $kol_quests, 'num_quest' => 1, 'quest_score' => $quest_score, 'img_btn' => 'btn_complete.png', 'text_btn' => _JLMS_OK_ALT_TITLE);
                        }
                    }
                } else {
                    if ($qtype == 10) {
                        if (isset($q_data[$j]->c_slide) && $q_data[$j]->c_slide) {
                            $toolbar[] = array('kol_quests' => $kol_quests, 'num_quest' => 1, 'quest_score' => $quest_score, 'img_btn' => 'btn_start.png', 'text_btn' => _JLMS_NEXT_ALT_TITLE, 'link_cont' => '&task=quiz_action&atask=contents&id=' . $id . '&quiz=' . $quiz_id . '&stu_quiz_id=' . $stu_quiz_id . '&user_unique_id=' . $user_unique_id . '&quest_id=' . $quest_id . '');
                        } else {
                            $toolbar[] = array('kol_quests' => $kol_quests, 'num_quest' => 1, 'quest_score' => $quest_score, 'img_btn' => 'btn_start.png', 'text_btn' => _JLMS_NEXT_ALT_TITLE);
                        }
                    } else {
                        if (isset($q_data[$j]->c_slide) && $q_data[$j]->c_slide) {
                            $toolbar[] = array('kol_quests' => $kol_quests, 'num_quest' => 1, 'quest_score' => $quest_score, 'img_btn' => 'btn_complete.png', 'text_btn' => _JLMS_OK_ALT_TITLE, 'link_cont' => '&task=quiz_action&atask=contents&id=' . $id . '&quiz=' . $quiz_id . '&stu_quiz_id=' . $stu_quiz_id . '&user_unique_id=' . $user_unique_id . '&quest_id=' . $quest_id . '');
                        } else {
                            $toolbar[] = array('kol_quests' => $kol_quests, 'num_quest' => 1, 'quest_score' => $quest_score, 'img_btn' => 'btn_complete.png', 'text_btn' => _JLMS_OK_ALT_TITLE);
                        }
                    }
                }
                $doc->addStyleSheet($JLMS_CONFIG->get('live_site') . '/components/com_joomla_lms/includes/quiz/templates/joomlaquiz_lms_template/jq_template.css');
                ?>
				<form name="quest_form" action="<?php 
                echo ampReplace($JLMS_CONFIG->get('live_site') . "/index.php?option={$option}&Itemid={$Itemid}");
                ?>
" method="post">
					<table border="0" width="100%" align="center" cellpadding="0" cellspacing="0" class="jlms_table_no_borders">
						<tr>
							<td>
								<?php 
                echo JLMS_quiz_ajax_class::JQ_toolbar_nojs($toolbar, $qtype, 1);
                ?>
					
								<input type="hidden" name="stu_quiz_id" value="<?php 
                echo $stu_quiz_id;
                ?>
"/>
								<input type="hidden" name="user_unique_id" value="<?php 
                echo $user_unique_id;
                ?>
"/>
							</td>
						</tr>
						<tr>
							<td>
								<?php 
                if ($kol_quests > 0) {
                    $quest_num = 0;
                    # commented 25 April 2007 (DEN)
                    # we've already randomized auestions in the sequence
                    /*if ($QA->get_qvar('c_random')) {
                    			$quest_num = rand(0, ($kol_quests - 1) );
                    		}*/
                    ?>
									<input type="hidden" name="quiz_count_quests" value="<?php 
                    echo $kol_quests;
                    ?>
"/>
									<input type="hidden" name="quiz_quest_num" value="1"/>
									<?php 
                    echo JLMS_quiz_ajax_class::JQ_GetQuestData_review_nojs($q_data[0], $jq_language, $answer, $quiz_params->get('sh_user_answer'), $is_survey, $msg_cor, $is_correct);
                    //			$ret_str .= JLMS_quiz_ajax_class::JQ_GetPanelData_nojs($quiz_id, $q_data);
                    ?>
									<?php 
                }
                if ($explans != '') {
                    echo JoomlaQuiz_template_class::JQ_show_messagebox('', $explans, 3);
                }
                ?>
							</td>
						</tr>
					</table>
					
					<input type="hidden" name="option" value="<?php 
                echo $option;
                ?>
"/>
					<input type="hidden" name="task" value="quiz_action"/>
					<input type="hidden" name="id" value="<?php 
                echo $id;
                ?>
"/>
					<input type="hidden" name="quiz" value="<?php 
                echo $quiz_id;
                ?>
"/>
					<input type="hidden" name="atask" value="review_next"/>
				</form>
				<?php 
            }
        }
        //		return $ret_str;
    }
 function JQ_FinishQuiz($quiz_id, $stu_quiz_id, $user_unique_id, $id)
 {
     global $JLMS_DB, $my, $Itemid, $JLMS_CONFIG;
     $ret_str = '';
     require_once dirname(__FILE__) . '/ajax_quiz.class.php';
     $query = "SELECT * FROM #__lms_quiz_t_quiz WHERE c_id = '" . $quiz_id . "'";
     $JLMS_DB->SetQuery($query);
     $quiz = $JLMS_DB->LoadObjectList();
     if (count($quiz)) {
         $quiz = $quiz[0];
     } else {
         return $ret_str;
     }
     $quiz_params = new JLMSParameters($quiz->params);
     $inside_lp = intval(mosGetParam($_REQUEST, 'inside_lp', 0));
     $QA = new JLMS_quiz_API($quiz_id, $inside_lp);
     if (!$QA->quiz_valid()) {
         return '';
     }
     $toolbar_no_a = $QA->quiz_Get_NoAtToolbar();
     $QA->set('stu_quiz_id', $stu_quiz_id);
     $QA->set('user_unique_id', $user_unique_id);
     $QA->quiz_ProcessStartData();
     if ($QA->start_valid() && $quiz_id) {
         $query = "SELECT SUM(c_score) FROM #__lms_quiz_r_student_question WHERE c_stu_quiz_id = '" . $stu_quiz_id . "'";
         $JLMS_DB->SetQuery($query);
         $user_score = $JLMS_DB->LoadResult();
         if (!$user_score) {
             $user_score = 0;
         }
         $max_score = $QA->quiz_Get_MaxScore();
         $nugno_score = $QA->get_qvar('c_passing_score', 0) * $max_score / 100;
         $user_passed = 0;
         if ($user_score >= $nugno_score) {
             $user_passed = 1;
         }
         $user_time = 0;
         $quiz_time1 = time() - date('Z');
         $query = "SELECT c_date_time FROM #__lms_quiz_r_student_quiz WHERE c_id = '" . $stu_quiz_id . "'";
         $JLMS_DB->SetQuery($query);
         $quiz_time2 = $JLMS_DB->LoadResult();
         $quiz_time2a = strtotime($quiz_time2);
         $user_time = $quiz_time1 - $quiz_time2a;
         $query = "SELECT c_total_score, c_passed, c_total_time FROM #__lms_quiz_r_student_quiz WHERE c_id = '" . $stu_quiz_id . "' and c_quiz_id = '" . $quiz_id . "' and c_student_id = '" . $my->id . "'";
         $JLMS_DB->SetQuery($query);
         $user_quiz_results_obj = $JLMS_DB->LoadObject();
         if (is_object($user_quiz_results_obj)) {
             $user_score = $user_quiz_results_obj->c_total_score;
             $user_passed = $user_quiz_results_obj->c_passed;
             $user_time = $user_quiz_results_obj->c_total_time;
         }
         // update lms results
         $lms_course = $QA->get_qvar('course_id', 0);
         $lms_quiz = $quiz_id;
         $lms_user = $my->id;
         $lms_score = $user_score;
         $lms_time = $user_time;
         $lms_date = date('Y-m-d H:i:s', time() - date('Z'));
         //the same as gmdate
         $lms_passed = $user_passed;
         global $JLMS_CONFIG;
         if ($lms_course && $JLMS_CONFIG->get('course_id') == $lms_course) {
             $course_params = $JLMS_CONFIG->get('course_params');
             $params = new JLMSParameters($course_params);
             $do_insert_new_res = false;
             if ($params->get('track_type', 0) == 1) {
                 $query = "SELECT * FROM #__lms_quiz_results WHERE course_id = '" . $lms_course . "' AND quiz_id = '" . $lms_quiz . "' AND user_id = '" . $lms_user . "'";
                 $JLMS_DB->SetQuery($query);
                 $old_user_results = $JLMS_DB->LoadObject();
                 if (is_object($old_user_results)) {
                     if (!$lms_passed && !$old_user_results->user_passed && $lms_score > $old_user_results->user_score) {
                         $do_insert_new_res = true;
                     } elseif ($lms_passed && !$old_user_results->user_passed) {
                         $do_insert_new_res = true;
                     } elseif ($lms_passed && $old_user_results->user_passed && $lms_score > $old_user_results->user_score) {
                         $do_insert_new_res = true;
                     } elseif ($lms_passed && $old_user_results->user_passed && $lms_score == $old_user_results->user_score && $lms_time < $old_user_results->user_time) {
                         $do_insert_new_res = true;
                     }
                 } else {
                     $do_insert_new_res = true;
                 }
             } else {
                 $do_insert_new_res = true;
             }
             if ($do_insert_new_res) {
                 $query = "DELETE FROM #__lms_quiz_results WHERE course_id = '" . $lms_course . "' AND quiz_id = '" . $lms_quiz . "' AND user_id = '" . $lms_user . "'";
                 $JLMS_DB->SetQuery($query);
                 $JLMS_DB->query();
                 $query = "INSERT INTO #__lms_quiz_results (course_id, quiz_id, user_id, user_score, quiz_max_score, user_time, quiz_date, user_passed)" . "\n VALUES ('" . $lms_course . "', '" . $lms_quiz . "', '" . $lms_user . "', '" . $lms_score . "', " . intval($max_score) . ", '" . $lms_time . "', '" . $lms_date . "', '" . $lms_passed . "')";
                 $JLMS_DB->SetQuery($query);
                 $JLMS_DB->query();
             }
         }
         // end of lms results section
         $cur_tmpl = 'joomlaquiz_lms_template';
         if ($cur_tmpl) {
             require_once dirname(__FILE__) . '/templates/' . $cur_tmpl . '/jq_template.php';
             global $JLMS_LANGUAGE, $JLMS_CONFIG;
             JLMS_require_lang($JLMS_LANGUAGE, 'quiz.lang', $JLMS_CONFIG->get('default_language'));
             require _JOOMLMS_FRONT_HOME . '/includes/quiz/quiz_language.php';
             global $jq_language;
             #$ret_str .= "\t" . '<task>results</task>' . "\n";
             $eee = $jq_language['quiz_header_fin_message'];
             #$ret_str .= "\t" . '<finish_msg><![CDATA[';
             if ($user_passed) {
                 if ($QA->get_qvar('c_pass_message', '')) {
                     $jq_language['quiz_user_passes'] = nl2br($QA->get_qvar('c_pass_message', ''));
                 }
             } else {
                 if ($QA->get_qvar('c_unpass_message', '')) {
                     $jq_language['quiz_user_fails'] = nl2br($QA->get_qvar('c_unpass_message', ''));
                 }
             }
             #$ret_str .= ']]></finish_msg>' . "\n";
             $t_ar = array();
             $t_ar[] = mosHTML::makeOption($user_score . " of " . $max_score, $jq_language['quiz_res_mes_score']);
             $t_ar[] = mosHTML::makeOption($nugno_score ? $nugno_score . " (" . $QA->get_qvar('c_passing_score', 0) . "%)" : '', $jq_language['quiz_res_mes_pas_score']);
             $tot_hour = floor($user_time / 3600);
             if ($tot_hour) {
                 $tot_min = floor(($user_time - $tot_hour * 3600) / 60);
                 $tot_sec = $user_time - $tot_hour * 3600 - $tot_min * 60;
                 $tot_time = str_pad($tot_hour, 2, "0", STR_PAD_LEFT) . ":" . str_pad($tot_min, 2, "0", STR_PAD_LEFT) . ":" . str_pad($tot_sec, 2, "0", STR_PAD_LEFT);
             } else {
                 $tot_min = floor($user_time / 60);
                 $tot_sec = $user_time - $tot_min * 60;
                 $tot_time = str_pad($tot_min, 2, "0", STR_PAD_LEFT) . ":" . str_pad($tot_sec, 2, "0", STR_PAD_LEFT);
             }
             $t_ar[] = mosHTML::makeOption($tot_time, $jq_language['quiz_res_mes_time']);
             if ($quiz_params->get('sh_final_page_text', 1) == 1) {
                 $results_txt = JoomlaQuiz_template_class::JQ_show_results($jq_language['quiz_header_fin_results'], $t_ar);
             } else {
                 $results_txt = '';
             }
             $footer_ar = array();
             $footer_ar[] = mosHTML::makeOption(0, $jq_language['quiz_fin_btn_review']);
             $footer_ar[] = mosHTML::makeOption(1, $jq_language['quiz_fin_btn_print']);
             $footer_ar[] = mosHTML::makeOption(2, $jq_language['quiz_fin_btn_certificate']);
             $footer_ar[] = mosHTML::makeOption(3, $jq_language['quiz_fin_btn_email']);
             $toolbar_fotter = array();
             if ($QA->get_qvar('c_certificate', 0) && $user_passed) {
                 $link_inside_1 = ampReplace($JLMS_CONFIG->get('live_site') . '/index.php?tmpl=component&option=com_joomla_lms&Itemid=' . $Itemid . '&no_html=1&task=print_quiz_cert&course_id=' . $lms_course . '&stu_quiz_id=' . $stu_quiz_id . '&user_unique_id=' . $user_unique_id);
                 $btn_certificate = 'window.open(\'' . $link_inside_1 . '\',\'blank\');';
                 $footer_ar[2]->text = "<div class='back_button'><a href='javascript:void(0)' onclick=\"window.open ('" . $JLMS_CONFIG->get('live_site') . "/index.php?tmpl=component&option=com_joomla_lms&Itemid=" . $Itemid . "&no_html=1&task=print_quiz_cert&course_id=" . $lms_course . "&stu_quiz_id=" . $stu_quiz_id . "&user_unique_id=" . $user_unique_id . "','blank');\">" . $jq_language['quiz_fin_btn_certificate'] . "</a></div>";
                 $toolbar_footer[2] = array('btn_type' => 'certificate_fbar', 'btn_js' => $btn_certificate);
             }
             if ($QA->get_qvar('c_enable_print', 0)) {
                 $link_inside_2 = ampReplace($JLMS_CONFIG->get('live_site') . '/index.php?tmpl=component&option=com_joomla_lms&Itemid=' . $Itemid . '&no_html=1&task=print_quiz_result&course_id=' . $lms_course . '&stu_quiz_id=' . $stu_quiz_id . '&user_unique_id=');
                 $btn_print = 'window.open(\'' . $link_inside_2 . '\'+user_unique_id,\'blank\');';
                 $footer_ar[1]->text = "<div class='back_button'><a href='javascript:void(0)' onclick=\"window.open ('" . $JLMS_CONFIG->get('live_site') . "/index.php?tmpl=component&option=com_joomla_lms&Itemid=" . $Itemid . "&no_html=1&task=print_quiz_result&course_id=" . $lms_course . "&stu_quiz_id=" . $stu_quiz_id . "&user_unique_id=' + user_unique_id,'blank');\">" . $jq_language['quiz_fin_btn_print'] . "</a></div>";
                 $toolbar_footer[1] = array('btn_type' => 'print_fbar', 'btn_js' => $btn_print);
             }
             if ($QA->get_qvar('c_email_to', 0)) {
                 $btn_email_to = 'jq_emailResults();';
                 $footer_ar[3]->text = "<div class='back_button'><a href='javascript:void(0)' onclick=\"jq_emailResults();\">" . $jq_language['quiz_fin_btn_email'] . "</a></div>";
                 $toolbar_footer[3] = array('btn_type' => 'email_to_fbar', 'btn_js' => $btn_email_to);
             }
             if ($QA->get_qvar('c_enable_review', 0)) {
                 $btn_review = 'jq_startReview();';
                 $query = "UPDATE #__lms_quiz_r_student_quiz SET allow_review = 1 WHERE c_id = '" . $stu_quiz_id . "' and c_quiz_id = '" . $quiz_id . "' and c_student_id = '" . $my->id . "'";
                 $JLMS_DB->SetQuery($query);
                 $JLMS_DB->query();
                 $footer_ar[0]->text = "<div class='back_button'><a href='javascript:void(0)' onclick=\"jq_startReview();\">" . $jq_language['quiz_fin_btn_review'] . "</a></div>";
                 $toolbar_footer[0] = array('btn_type' => 'review_fbar', 'btn_js' => $btn_review);
             }
             $footer_html_graf = '';
             if ($quiz_params->get('sh_final_page_grafic', 0) == 1) {
                 ////----barss----////
                 $is_pool = 0;
                 if ($quiz_id == -1 || $quiz_id == 0) {
                     $is_pool = 1;
                     $quiz_id = 0;
                 }
                 $rows = $QA->quiz_Get_QuestionList();
                 // 18 August 2007 - changes (DEN) - added check for GD and FreeType support
                 $generate_images = true;
                 $msg = '';
                 if (!function_exists('imageftbbox') || !function_exists('imagecreatetruecolor')) {
                     $generate_images = false;
                     $sec = false;
                     if (!function_exists('imagecreatetruecolor')) {
                         $msg = 'This function requires GD 2.0.1 or later (2.0.28 or later is recommended).';
                         $sec = true;
                     }
                     if (!function_exists('imageftbbox')) {
                         $msg .= ($sec ? '<br />' : '') . 'This function is only available if PHP is compiled with freetype support.';
                     }
                 }
                 // end of GD and FreeType support check
                 if ($JLMS_CONFIG->get('temp_folder', '') && $generate_images) {
                     // temp folder setup is ready.
                     //--------- array of bar-images
                     $img_arr = array();
                     $title_arr = array();
                     $count_graph = array();
                     global $option;
                     for ($i = 0, $n = count($rows); $i < $n; $i++) {
                         $row = $rows[$i];
                         $quest_params = new JLMSParameters($row->params);
                         $z = 1;
                         if (isset($row->c_pool) && $row->c_pool) {
                             $row->c_pool_id = $row->c_pool;
                         } else {
                             $row->c_pool_id = $row->c_id;
                         }
                         $show_case = true;
                         //					if($showtype_id && !$quest_params->get('survey_question'))
                         if (false && !$quest_params->get('survey_question')) {
                             $show_case = false;
                         }
                         if ($show_case) {
                             require_once _JOOMLMS_FRONT_HOME . "/includes/libraries/lms.lib.graph.php";
                             $group_id = 0;
                             $str_user_in_groups = '';
                             $c_question_id = $row->c_pool_id;
                             $obj_GraphStat = JLMS_GraphStatistics($option, $id, $quiz_id, $i, $z, $row, $c_question_id, $group_id, $str_user_in_groups);
                             foreach ($obj_GraphStat as $key => $item) {
                                 if (preg_match_all('#([a-z]+)_(\\w+)#', $key, $out, PREG_PATTERN_ORDER)) {
                                     if ($out[1][0] == 'img') {
                                         $img_arr[$i]->{$out}[2][0] = $item;
                                     } else {
                                         if ($out[1][0] == 'title') {
                                             $title_arr[$i]->{$out}[2][0] = $item;
                                         } else {
                                             if ($out[1][0] == 'count') {
                                                 $count_graph[$i]->{$out}[2][0] = $item;
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
                 $footer_html_graf = JoomlaQuiz_template_class::JQ_show_results_footer_content_bars($img_arr, $title_arr, $count_graph, $id);
             }
             $ret_str .= $results_txt;
             // this filed shouldn't be a null - null caused errors in Safari
             if ($quiz_params->get('sh_final_page_fdbck', 1) == 1) {
                 $ret_str .= '<br />';
                 $ret_str .= JoomlaQuiz_template_class::JQ_show_results_msg($eee, $user_passed ? $jq_language['quiz_user_passes'] : $jq_language['quiz_user_fails'], $user_passed);
                 $ret_str .= '<br />';
             } else {
                 $ret_str .= '<br />';
             }
             if (isset($toolbar_footer) && count($toolbar_footer) > 0) {
                 ksort($toolbar_footer);
                 $footer_html = JLMS_ShowToolbar($toolbar_footer, false, 'center');
                 $footer_html = str_replace('"components/com_joomla_lms', '"' . $JLMS_CONFIG->get('live_site') . '/components/com_joomla_lms', $footer_html);
             } else {
                 $footer_html = '';
             }
             $entire_footer_data = $footer_html . ($footer_html_graf ? '<br />' . $footer_html_graf : '');
             $ret_str .= $entire_footer_data ? $entire_footer_data : ' ';
         }
     }
     return $ret_str;
 }
    function JQ_ShowQuiz($option, $course_id, $quiz, $jq_language, $self_verification, $is_preview = false, $preview_quest = 0, $preview_id = '')
    {
        global $Itemid, $JLMS_CONFIG, $JLMS_DB;
        $doc =& JFactory::getDocument();
        $domready = '
if (document.constructor) {
	document.constructor.prototype.write = function() { };
} else {
	document.write = function() { };
}
';
        $JLMS_CONFIG->set('web20_domready_code', $JLMS_CONFIG->get('web20_domready_code', '') . $domready);
        $doc->addScript($JLMS_CONFIG->get('live_site') . '/components/com_joomla_lms/includes/quiz/bits_message.js');
        if (JLMS_mootools12()) {
            $doc->addScript($JLMS_CONFIG->get('live_site') . '/components/com_joomla_lms/includes/quiz/dragdrop_1.3.js');
        } else {
            $doc->addScript($JLMS_CONFIG->get('live_site') . '/components/com_joomla_lms/includes/quiz/dragdrop_1.12.js');
        }
        if ($JLMS_CONFIG->get('quiz_progressbar', 0) == 1) {
            $doc->addScript($JLMS_CONFIG->get('live_site') . '/components/com_joomla_lms/includes/quiz/progressbar.js');
        }
        ?>
<script language="JavaScript" type="text/javascript">
<!--//--><![CDATA[//><!--
	var stu_quiz_id = 0;

	// *** DRAG'and'DROP CODE *** //
<?php 
        if ($quiz->if_dragdrop_exist) {
            ?>
	var kol_drag_elems = 0;
	var drag_array = new Array(kol_drag_elems);
	var coord_left = new Array(kol_drag_elems);
	var coord_top = new Array(kol_drag_elems);
	var ids_in_cont = new Array(kol_drag_elems);
	var cont_for_ids = new Array(kol_drag_elems);
	var answ_ids = new Array(kol_drag_elems);
	var cont_index = 0;
	var last_drag_id = '';
	var last_drag_id_drag = '';
	
	/*drag&drop mootools realised*/
	function excute_draggable(){
		var DD = new QuizDragDrop('cont', {dropitems: 'jq_drop', dragitems: 'jq_drag'});
	}
	
	function js_in_array(n, ha){
		for(h in ha){
			if(ha[h]==n){
				return true;
			}
		}
		return false;
	}

//});
	/*drag&drop mootools realised*/
	
<?php 
        }
        ?>
	// *** end of DRAG'and'DROP CODE *** //
	var kol_main_elems = 0;
	var main_ids_array = new Array(kol_main_elems); //for likert quest
	// *** MESSAGES *** (addslashes ???)
	var mes_complete_this_part = '<?php 
        echo $jq_language['mes_complete_this_part'];
        ?>
';
	var mes_loading = '<?php 
        echo $jq_language['quiz_load_data'];
        ?>
';
	var mes_failed = '<?php 
        echo $jq_language['quiz_failed'];
        ?>
';
	var mes_please_wait = '<?php 
        echo $jq_language['mes_please_wait'];
        ?>
';
	var mes_time_is_up = '<?php 
        echo $jq_language['quiz_mes_timeout'];
        ?>
';
	var mes_quest_number = '<?php 
        echo $jq_language['quiz_question_number'];
        ?>
';
	var mes_quest_points = '<?php 
        echo $jq_language['quiz_question_points'];
        ?>
';
	// *** some script variables ***
	var user_email_to = '';
	var user_unique_id = '';
	var cur_quest_type = '';
	var saved_prev_quest_data = '';
	var saved_prev_quest_exec_quiz_script = '';
	var save_prev_quest_exec_quiz_script_data = '';
	var saved_prev_res_data = '';
	var saved_prev_quest_id = 0;
	var saved_prev_quest_type = 0;
	var saved_prev_quest_score = 0;
	var saved_prev_quest_num = 0;
	var cur_quest_id = 0;
	var cur_quest_score = 0;
	var cur_quest_num = 0;
	var quiz_count_quests = 0;
	var cur_impscale_ex = 0;
	var response;
	var prev_correct = 0;
	var allow_attempt = 0;
	var timer_sec = <?php 
        echo isset($quiz->resume_timer_value) && $quiz->resume_timer_value ? $quiz->resume_timer_value : 0;
        ?>
;
	var stop_timer = 0;
	var result_is_shown = 0;
	var max_quiz_time = <?php 
        echo $quiz->c_time_limit ? $quiz->c_time_limit * 60 : 3600;
        ?>
;
	var quiz_blocked = 0; // set block after each question (release after 2 seconds).
	var url_prefix = '<?php 
        echo $JLMS_CONFIG->get('live_site') . "/index.php?option={$option}&Itemid={$Itemid}&jlms=1&task=quiz_ajax_action&id={$course_id}";
        ?>
';//'components/com_joomlaquiz/ajax_quiz.php';
	var mCfg_live_site = '';
	
	var stu_quiz_id = 0;
	var user_unique_id = 0;
	
	var quiz_progress = 0; // progressbar value
	
	var review = 0;

	function jq_MakeRequest(url, do_clear) {
		//if (do_clear == 1) jq_UpdateTaskDiv('clear');
		var http_request = false;
		if (window.ActiveXObject) { // IE
			try { http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try { http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
		} else if (window.XMLHttpRequest) { // Mozilla, Safari,...
			http_request = new XMLHttpRequest();
			if (http_request.overrideMimeType) {
				http_request.overrideMimeType('text/xml');
			}
		}
		if (!http_request) {
			return false;
		}
		if (do_clear == 1) {
			jq_showLoading();
		}
		quiz_blocked == 1;
		http_request.onreadystatechange = function() { jq_AnalizeRequest(http_request); };
		<?php 
        if ($is_preview) {
            ?>
		var url_prefix2 = 'preview_id=<?php 
            echo $preview_id;
            ?>
';
		<?php 
        } else {
            ?>
		var url_prefix2 = 'user_unique_id=' + user_unique_id;
		<?php 
        }
        ?>
		http_request.open('POST', mCfg_live_site + url_prefix, true);
		//http_request.send(null);
		http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http_request.setRequestHeader("Content-length", url_prefix2.length + url.length);
		//http_request.setRequestHeader("Content-Encoding", "utf-8");
		//http_request.setRequestHeader("Connection", "close"); - if close - bug in IE7 - it hungs up
		http_request.send(url_prefix2 + url);
	}
	function jq_AnalizeRequest(http_request) {
		if (http_request.readyState == 4) {
			if ((http_request.status == 200)) {
				//alert(http_request.responseText);
				if(http_request.responseXML.documentElement == null){
					try {
						http_request.responseXML.loadXML(http_request.responseText)
					} catch (e) {
						/*alert('error');*/
					}
				}

				response  = http_request.responseXML.documentElement;
				var task = response.getElementsByTagName('task')[0].firstChild.data;
				ShowMessage('error_messagebox',0,'');

				switch (task) {
					case 'resume':

						user_unique_id = response.getElementsByTagName('user_unique_id')[0].firstChild.data;
						stu_quiz_id = response.getElementsByTagName('stu_quiz_id')[0].firstChild.data;

						cur_quest_id = response.getElementsByTagName('quest_id')[0].firstChild.data;

						quiz_count_quests = response.getElementsByTagName('quiz_count_quests')[0].firstChild.data;
						saved_prev_quest_id = cur_quest_id;
						
						<?php 
        if ($quiz->c_slide) {
            ?>
							getObj('jq_quiz_result_container').innerHTML = response.getElementsByTagName('quiz_panel_data')[0].firstChild.data;
						<?php 
        }
        ?>

						cur_quest_num = response.getElementsByTagName('quiz_quest_num')[0].firstChild.data;
						quiz_progress = response.getElementsByTagName('progress_quests_done')[0].firstChild.data;

						<?php 
        if ($JLMS_CONFIG->get('quiz_progressbar', 0) == 1) {
            ?>
						progressbar.setProgress(quiz_progress);
						<?php 
        }
        ?>

						jq_QuizContinue();
						jq_Start_TickTackResume();
					break;

					case 'start':
						quiz_blocked = 1;
						setTimeout("jq_releaseBlock()", 1000);
						user_unique_id = response.getElementsByTagName('user_unique_id')[0].firstChild.data;
						stu_quiz_id = response.getElementsByTagName('stu_quiz_id')[0].firstChild.data;
						cur_quest_type = response.getElementsByTagName('quest_type')[0].firstChild.data;
						saved_prev_quest_type = cur_quest_type;
						cur_quest_id = response.getElementsByTagName('quest_id')[0].firstChild.data;
						saved_prev_quest_id = cur_quest_id;
						cur_quest_score = response.getElementsByTagName('quest_score')[0].firstChild.data;
						saved_prev_quest_score = cur_quest_score;
						quiz_count_quests = response.getElementsByTagName('quiz_count_quests')[0].firstChild.data;
						cur_quest_num = response.getElementsByTagName('quiz_quest_num')[0].firstChild.data;
						saved_prev_quest_num = cur_quest_num;
						getObj('jq_quiz_container').innerHTML = '';
						if (cur_quest_type == 7) {
							var div_insidey=document.createElement("div");
							div_insidey.id = 'quest_div_hs';
							getObj('jq_quiz_container').appendChild(div_insidey);
						}
						var div_inside1=document.createElement("div");
						div_inside1.id = 'quest_div';

						div_inside1.innerHTML = response.getElementsByTagName('quest_data')[0].firstChild.data + response.getElementsByTagName('quest_data_user')[0].firstChild.data;
						saved_prev_quest_data = response.getElementsByTagName('quest_data')[0].firstChild.data + response.getElementsByTagName('quest_data_user')[0].firstChild.data;
						getObj('jq_quiz_container').appendChild(div_inside1);

						var quiz_menu = response.getElementsByTagName('quiz_menu')[0].firstChild.data;
						jq_UpdateTaskDiv_htm(quiz_menu);
						jq_UpdateTaskDiv('next');
						var is_exec_quiz_script = response.getElementsByTagName('exec_quiz_script')[0].firstChild.data;
						saved_prev_quest_exec_quiz_script = is_exec_quiz_script;
						if (is_exec_quiz_script == 1 || is_exec_quiz_script == '1' ) {
							var v_quiz_script_data = response.getElementsByTagName('quiz_script_data')[0].firstChild.data;
							saved_prev_quest_exec_quiz_script_data = v_quiz_script_data;
							eval(v_quiz_script_data);
						}
						jq_Start_TickTack();
						<?php 
        if ($quiz->c_slide) {
            ?>
							getObj('jq_quiz_result_container').innerHTML = response.getElementsByTagName('quiz_panel_data')[0].firstChild.data;
						<?php 
        }
        ?>
					break;
					case 'seek_quest':
						quiz_blocked = 1;
						setTimeout("jq_releaseBlock()", 1000);
						cur_quest_type = response.getElementsByTagName('quest_type')[0].firstChild.data;
						saved_prev_quest_type = cur_quest_type;
						cur_quest_id = response.getElementsByTagName('quest_id')[0].firstChild.data;
						saved_prev_quest_id = cur_quest_id;
						cur_quest_score = response.getElementsByTagName('quest_score')[0].firstChild.data;
						saved_prev_quest_score = cur_quest_score;
						cur_quest_num = response.getElementsByTagName('quiz_quest_num')[0].firstChild.data;
						saved_prev_quest_num = cur_quest_num;
						getObj('jq_quiz_container').innerHTML = '';
						if (cur_quest_type == 7) {
							var div_insidey=document.createElement("div");
							div_insidey.id = 'quest_div_hs';
							getObj('jq_quiz_container').appendChild(div_insidey);
						}
						var div_inside1=document.createElement("div");
						div_inside1.id = 'quest_div';
						div_inside1.innerHTML = response.getElementsByTagName('quest_data')[0].firstChild.data + response.getElementsByTagName('quest_data_user')[0].firstChild.data;
						saved_prev_quest_data = response.getElementsByTagName('quest_data')[0].firstChild.data + response.getElementsByTagName('quest_data_user')[0].firstChild.data;
						getObj('jq_quiz_container').appendChild(div_inside1);
						var quiz_menu = response.getElementsByTagName('quiz_menu')[0].firstChild.data;
						jq_UpdateTaskDiv_htm(quiz_menu);
						jq_UpdateTaskDiv('next');

						quiz_progress = response.getElementsByTagName('progress_quests_done')[0].firstChild.data;
						<?php 
        if ($JLMS_CONFIG->get('quiz_progressbar', 0) == 1) {
            ?>
							progressbar.setProgress(quiz_progress);
						<?php 
        }
        ?>

						var is_exec_quiz_script = response.getElementsByTagName('exec_quiz_script')[0].firstChild.data;
						saved_prev_quest_exec_quiz_script = is_exec_quiz_script;
						if (is_exec_quiz_script == 1 || is_exec_quiz_script == '1' ) {
							var v_quiz_script_data = response.getElementsByTagName('quiz_script_data')[0].firstChild.data;
							saved_prev_quest_exec_quiz_script_data = v_quiz_script_data;
							eval(v_quiz_script_data);
						}
					break;
					case 'review_start':
						quiz_blocked = 1;
						review = 1;
						setTimeout("jq_releaseBlock()", 1000);
						cur_quest_type = response.getElementsByTagName('quest_type')[0].firstChild.data;
						saved_prev_quest_type = cur_quest_type;
						cur_quest_id = response.getElementsByTagName('quest_id')[0].firstChild.data;
						saved_prev_quest_id = cur_quest_id;
						cur_quest_score = response.getElementsByTagName('quest_score')[0].firstChild.data;
						saved_prev_quest_score = cur_quest_score;
						quiz_count_quests = response.getElementsByTagName('quiz_count_quests')[0].firstChild.data;
						cur_quest_num = response.getElementsByTagName('quiz_quest_num')[0].firstChild.data;
						saved_prev_quest_num = cur_quest_num;
						
						
						getObj('jq_quiz_container').innerHTML = '';
						var div_inside1=document.createElement("div");
						div_inside1.id = 'quest_div';
						div_inside1.innerHTML = response.getElementsByTagName('quest_data')[0].firstChild.data + response.getElementsByTagName('quest_data_user')[0].firstChild.data;
						saved_prev_quest_data = response.getElementsByTagName('quest_data')[0].firstChild.data + response.getElementsByTagName('quest_data_user')[0].firstChild.data;
						getObj('jq_quiz_container').appendChild(div_inside1);
						var quiz_menu = response.getElementsByTagName('quiz_menu')[0].firstChild.data;
						quiz_review_correct = response.getElementsByTagName('quiz_review_correct')[0].firstChild.data;
						getObj('jq_quiz_result_reviews').innerHTML = quiz_review_correct;
						getObj('jq_quiz_result_reviews').style.display = 'block';
						getObj('jq_quiz_result_reviews').style.visibility = 'visible';
						getObj('jq_quiz_explanation').innerHTML = response.getElementsByTagName('quiz_review_explanation')[0].firstChild.data;;
						getObj('jq_quiz_explanation').style.display = 'block';
						getObj('jq_quiz_explanation').style.visibility = 'visible';
						jq_UpdateTaskDiv_htm(quiz_menu);
						jq_UpdateTaskDiv('review_next');
						
						var is_exec_quiz_script = response.getElementsByTagName('exec_quiz_script')[0].firstChild.data;
						saved_prev_quest_exec_quiz_script = is_exec_quiz_script;
						if (is_exec_quiz_script == 1 || is_exec_quiz_script == '1' ) {
							var v_quiz_script_data = response.getElementsByTagName('quiz_script_data')[0].firstChild.data;
							saved_prev_quest_exec_quiz_script_data = v_quiz_script_data;
							eval(v_quiz_script_data);
						}
						
						<?php 
        if ($quiz->c_slide) {
            ?>
							//getObj('jq_panel_link_container').style.visibility = 'visible';
						<?php 
        }
        ?>
					break;
					case 'review_next':
						quiz_blocked = 1;
						setTimeout("jq_releaseBlock()", 1000);
						cur_quest_type = response.getElementsByTagName('quest_type')[0].firstChild.data;
						saved_prev_quest_type = cur_quest_type;
						cur_quest_id = response.getElementsByTagName('quest_id')[0].firstChild.data;
						saved_prev_quest_id = cur_quest_id;
						prev_quest_id = response.getElementsByTagName('prev_quest_id')[0].firstChild.data;
						cur_quest_score = response.getElementsByTagName('quest_score')[0].firstChild.data;
						saved_prev_quest_score = cur_quest_score;
						cur_quest_num = response.getElementsByTagName('quiz_quest_num')[0].firstChild.data;
						saved_prev_quest_num = cur_quest_num;
						
						getObj('jq_quiz_container').innerHTML = '';
						var div_inside1=document.createElement("div");
						div_inside1.id = 'quest_div';
						div_inside1.innerHTML = response.getElementsByTagName('quest_data')[0].firstChild.data + response.getElementsByTagName('quest_data_user')[0].firstChild.data;
						saved_prev_quest_data = response.getElementsByTagName('quest_data')[0].firstChild.data + response.getElementsByTagName('quest_data_user')[0].firstChild.data;
						getObj('jq_quiz_container').appendChild(div_inside1);
						var quiz_menu = response.getElementsByTagName('quiz_menu')[0].firstChild.data;
						quiz_review_correct = response.getElementsByTagName('quiz_review_correct')[0].firstChild.data;
						getObj('jq_quiz_result_reviews').innerHTML = quiz_review_correct;
						getObj('jq_quiz_result_reviews').style.display = 'block';
						getObj('jq_quiz_result_reviews').style.visibility = 'visible';
						getObj('jq_quiz_explanation').innerHTML = response.getElementsByTagName('quiz_review_explanation')[0].firstChild.data;;
						getObj('jq_quiz_explanation').style.display = 'block';
						getObj('jq_quiz_explanation').style.visibility = 'visible';
						jq_UpdateTaskDiv_htm(quiz_menu);
						jq_UpdateTaskDiv('review_next');
						
						var is_exec_quiz_script = response.getElementsByTagName('exec_quiz_script')[0].firstChild.data;
						saved_prev_quest_exec_quiz_script = is_exec_quiz_script;
						if (is_exec_quiz_script == 1 || is_exec_quiz_script == '1' ) {
							var v_quiz_script_data = response.getElementsByTagName('quiz_script_data')[0].firstChild.data;
							saved_prev_quest_exec_quiz_script_data = v_quiz_script_data;
							eval(v_quiz_script_data);
						}
					break;
					case 'review_finish':
						quiz_blocked = 1;
						review = 0;
						setTimeout("jq_releaseBlock()", 1000);
						jq_UpdateTaskDiv('finish');
						var quiz_cont = getObj('jq_quiz_container');
						quiz_cont.innerHTML = saved_prev_res_data;//'<form name=\'quest_form\'><\/form>'+saved_prev_res_data;
					break;
					case 'next':
						quiz_blocked = 1;

						quiz_progress = response.getElementsByTagName('progress_quests_done')[0].firstChild.data;
						<?php 
        if ($JLMS_CONFIG->get('quiz_progressbar', 0) == 1) {
            ?>
						progressbar.setProgress(quiz_progress);
						<?php 
        }
        ?>

						setTimeout("jq_releaseBlock()", 1000);
						prev_correct = response.getElementsByTagName('quiz_prev_correct')[0].firstChild.data;
						var quiz_cont = getObj('jq_quiz_container');
						var children = quiz_cont.childNodes;
						for (var i = 0; i < children.length; i++) { quiz_cont.removeChild(quiz_cont.childNodes[i]); };
						quiz_cont.innerHTML = '';//'<form name=\'quest_form\'><\/form>';
						quest_feedback = response.getElementsByTagName('quest_feedback')[0].firstChild.data;
						if (quest_feedback == '1') {
							var qmb = response.getElementsByTagName('quiz_message_box')[0].firstChild.data;
							var quiz_menu = response.getElementsByTagName('quiz_menu')[0].firstChild.data;
							jq_UpdateTaskDiv_htm(quiz_menu);
							if (prev_correct == '1') {
							<?php 
        if ($quiz->c_slide) {
            ?>
								getObj('quest_result_'+saved_prev_quest_id).innerHTML = "<img src='<?php 
            echo $JLMS_CONFIG->get('live_site');
            ?>
/components/com_joomla_lms/lms_images/toolbar/btn_accept.png' border=0>";
							<?php 
        }
        ?>
								quiz_cont.innerHTML = qmb;//'<form name=\'quest_form\'><\/form>'+qmb;
								jq_UpdateTaskDiv('continue');
							} else {
							<?php 
        if ($quiz->c_slide) {
            ?>
								getObj('quest_result_'+saved_prev_quest_id).innerHTML = "<img src='<?php 
            echo $JLMS_CONFIG->get('live_site');
            ?>
/components/com_joomla_lms/lms_images/toolbar/btn_cancel.png' border=0>";
							<?php 
        }
        ?>
								quiz_cont.innerHTML = qmb;//'<form name=\'quest_form\'><\/form>'+qmb;
								allow_attempt = response.getElementsByTagName('quiz_allow_attempt')[0].firstChild.data;
								if (allow_attempt == '1') { allow_attempt = 0; jq_UpdateTaskDiv('back_continue');
								} else { allow_attempt = 0; jq_UpdateTaskDiv('continue'); }
							}
						} else {
							var qmb = '';
							var qfrf = response.getElementsByTagName('quest_feedback_repl_func')[0].firstChild.data;
							if (prev_correct == '1') {
							<?php 
        if ($quiz->c_slide) {
            ?>
								getObj('quest_result_'+saved_prev_quest_id).innerHTML = "<img src='<?php 
            echo $JLMS_CONFIG->get('live_site');
            ?>
/components/com_joomla_lms/lms_images/toolbar/btn_accept.png' border=0>";
							<?php 
        }
        ?>
							} else {
							<?php 
        if ($quiz->c_slide) {
            ?>
								getObj('quest_result_'+saved_prev_quest_id).innerHTML = "<img src='<?php 
            echo $JLMS_CONFIG->get('live_site');
            ?>
/components/com_joomla_lms/lms_images/toolbar/btn_cancel.png' border=0>";
							<?php 
        }
        ?>
							}
							eval(qfrf);
						}
					break;
					<?php 
        if ($is_preview) {
            ?>
					case 'quest_preview':
						quiz_blocked = 1;
						setTimeout("jq_releaseBlock()", 1000);
						quiz_count_quests = response.getElementsByTagName('quiz_count_quests')[0].firstChild.data;
						var quiz_cont = getObj('jq_quiz_container');
						var children = quiz_cont.childNodes;
						for (var i = 0; i < children.length; i++) { quiz_cont.removeChild(quiz_cont.childNodes[i]); };
						var qmb = response.getElementsByTagName('quiz_message_box')[0].firstChild.data;
						quiz_cont.innerHTML = '';//<form name=\'quest_form\'></form>';
						cur_quest_type = response.getElementsByTagName('quest_type')[0].firstChild.data;
						saved_prev_quest_type = cur_quest_type;
						cur_quest_id = response.getElementsByTagName('quest_id')[0].firstChild.data;
						saved_prev_quest_id = cur_quest_id;
						cur_quest_score = response.getElementsByTagName('quest_score')[0].firstChild.data;
						saved_prev_quest_score = cur_quest_score;
						cur_quest_num = response.getElementsByTagName('quiz_quest_num')[0].firstChild.data;
						saved_prev_quest_num = cur_quest_num;
						var quiz_cont = getObj('jq_quiz_container');
						quiz_cont.innerHTML = '';
						if (cur_quest_type == 7) {
							var div_insidey=document.createElement("div");
							div_insidey.id = 'quest_div_hs';
							getObj('jq_quiz_container').appendChild(div_insidey);
						}
						var div_inside1=document.createElement("div");
						div_inside1.id = 'quest_div';
						div_inside1.innerHTML = response.getElementsByTagName('quest_data')[0].firstChild.data +response.getElementsByTagName('quest_data_user')[0].firstChild.data;
						saved_prev_quest_data = response.getElementsByTagName('quest_data')[0].firstChild.data + response.getElementsByTagName('quest_data_user')[0].firstChild.data;
						quiz_cont.appendChild(div_inside1);
						var quiz_menu = response.getElementsByTagName('quiz_menu')[0].firstChild.data;
						jq_UpdateTaskDiv_htm(quiz_menu);
						jq_UpdateTaskDiv('next');
						var is_exec_quiz_script = response.getElementsByTagName('exec_quiz_script')[0].firstChild.data;
						saved_prev_quest_exec_quiz_script = is_exec_quiz_script;
						if (is_exec_quiz_script == 1 || is_exec_quiz_script == '1' ) {
							var v_quiz_script_data = response.getElementsByTagName('quiz_script_data')[0].firstChild.data;
							saved_prev_quest_exec_quiz_script_data = v_quiz_script_data;
							eval(v_quiz_script_data);
						}
					break;
					case 'preview_finish':
						quiz_blocked = 1;
						setTimeout("jq_releaseBlock()", 1000);
						prev_correct = response.getElementsByTagName('quiz_prev_correct')[0].firstChild.data;
						var quiz_cont = getObj('jq_quiz_container');
						var children = quiz_cont.childNodes;
						for (var i = 0; i < children.length; i++) { quiz_cont.removeChild(quiz_cont.childNodes[i]); };
						var qmb = response.getElementsByTagName('quiz_message_box')[0].firstChild.data;
						quiz_cont.innerHTML = '';//'<form name=\'quest_form\'><\/form>';
						var quiz_menu = response.getElementsByTagName('quiz_menu')[0].firstChild.data;
						jq_UpdateTaskDiv_htm(quiz_menu);
						if (prev_correct == '1') {
							quiz_cont.innerHTML = qmb;//'<form name=\'quest_form\'><\/form>'+qmb;
							jq_UpdateTaskDiv('preview_back');
						} else {
							quiz_cont.innerHTML = qmb;//'<form name=\'quest_form\'><\/form>'+qmb;
							jq_UpdateTaskDiv('preview_back');
						}
					break;
					<?php 
        }
        ?>
					case 'no_attempts':
						quiz_blocked = 1;
						setTimeout("jq_releaseBlock()", 1000);
						var qmb = response.getElementsByTagName('quiz_message_box')[0].firstChild.data;
						var quiz_cont = getObj('jq_quiz_container');
						quiz_cont.innerHTML = qmb;//'<form name=\'quest_form\'><\/form>'+qmb;
						var quiz_menu = response.getElementsByTagName('quiz_menu')[0].firstChild.data;
						jq_UpdateTaskDiv_htm(quiz_menu);
						jq_UpdateTaskDiv('next_no_attempts');
					break;
					case 'email_results':
						quiz_blocked = 1;
						//setTimeout("jq_releaseBlock()", 1000);
						var email_msg = response.getElementsByTagName('email_msg')[0].firstChild.data;
						ShowMessage('error_messagebox', 1, email_msg);
					break;
					case 'time_is_up':
						quiz_blocked = 1;
						setTimeout("jq_releaseBlock()", 1000);
						var quiz_cont = getObj('jq_quiz_container');
						var children = quiz_cont.childNodes;
						for (var i = 0; i < children.length; i++) { quiz_cont.removeChild(quiz_cont.childNodes[i]); };
						var qmb = response.getElementsByTagName('quiz_message_box')[0].firstChild.data;
														
						stu_quiz_id = response.getElementsByTagName('stu_quiz_id')[0].firstChild.data;
						user_unique_id = response.getElementsByTagName('user_unique_id')[0].firstChild.data;
						
						quiz_cont.innerHTML = '';//'<form name=\'quest_form\'><\/form>';
						quiz_cont.innerHTML = qmb;//'<form name=\'quest_form\'><\/form>'+qmb;
						var quiz_menu = response.getElementsByTagName('quiz_menu')[0].firstChild.data;
						jq_UpdateTaskDiv_htm(quiz_menu);
						jq_UpdateTaskDiv('continue_finish');
					break;
					case 'finish':
						quiz_blocked = 1;

						quiz_progress = response.getElementsByTagName('progress_quests_done')[0].firstChild.data;
						<?php 
        if ($JLMS_CONFIG->get('quiz_progressbar', 0) == 1) {
            ?>
						progressbar.setProgress(quiz_progress);
						<?php 
        }
        ?>

						setTimeout("jq_releaseBlock()", 1000);
						prev_correct = response.getElementsByTagName('quiz_prev_correct')[0].firstChild.data;
						var quiz_cont = getObj('jq_quiz_container');
						var children = quiz_cont.childNodes;
						for (var i = 0; i < children.length; i++) { quiz_cont.removeChild(quiz_cont.childNodes[i]); };
						quest_feedback = response.getElementsByTagName('quest_feedback')[0].firstChild.data;
						quiz_cont.innerHTML = '';//'<form name=\'quest_form\'><\/form>';
						if (quest_feedback == '1') {
							var qmb = response.getElementsByTagName('quiz_message_box')[0].firstChild.data;
							var quiz_menu = response.getElementsByTagName('quiz_menu')[0].firstChild.data;
							jq_UpdateTaskDiv_htm(quiz_menu);
							if (prev_correct == '1') {
							<?php 
        if ($quiz->c_slide) {
            ?>
								getObj('quest_result_'+saved_prev_quest_id).innerHTML = "<img src='<?php 
            echo $JLMS_CONFIG->get('live_site');
            ?>
/components/com_joomla_lms/lms_images/toolbar/btn_accept.png' border=0>";
							<?php 
        }
        ?>
								//stop_timer = 1;
								quiz_cont.innerHTML = qmb;//'<form name=\'quest_form\'><\/form>'+qmb;
								jq_UpdateTaskDiv('continue_finish');
							} else {
							<?php 
        if ($quiz->c_slide) {
            ?>
								getObj('quest_result_'+saved_prev_quest_id).innerHTML = "<img src='<?php 
            echo $JLMS_CONFIG->get('live_site');
            ?>
/components/com_joomla_lms/lms_images/toolbar/btn_cancel.png' border=0>";
							<?php 
        }
        ?>
								quiz_cont.innerHTML = qmb;//'<form name=\'quest_form\'><\/form>'+qmb;
								allow_attempt = response.getElementsByTagName('quiz_allow_attempt')[0].firstChild.data;
								if (allow_attempt == '1') {
									allow_attempt = 0;
									jq_UpdateTaskDiv('back_continue_finish');
								} else {
									allow_attempt = 0;
									//stop_timer = 1;
									jq_UpdateTaskDiv('continue_finish');
								}
							}
						} else {
							var qmb = '';
							var qfrf = response.getElementsByTagName('quest_feedback_repl_func')[0].firstChild.data;
							if (prev_correct == '1') {
							<?php 
        if ($quiz->c_slide) {
            ?>
								getObj('quest_result_'+saved_prev_quest_id).innerHTML = "<img src='<?php 
            echo $JLMS_CONFIG->get('live_site');
            ?>
/components/com_joomla_lms/lms_images/toolbar/btn_accept.png' border=0>";
							<?php 
        }
        ?>
							} else {
							<?php 
        if ($quiz->c_slide) {
            ?>
								getObj('quest_result_'+saved_prev_quest_id).innerHTML = "<img src='<?php 
            echo $JLMS_CONFIG->get('live_site');
            ?>
/components/com_joomla_lms/lms_images/toolbar/btn_cancel.png' border=0>";
							<?php 
        }
        ?>
							}
							eval(qfrf);
						}
					break;
					case 'results':
						quiz_blocked = 1;
						setTimeout("jq_releaseBlock()", 100);
						var quiz_cont = getObj('jq_quiz_container');
						var children = quiz_cont.childNodes;
						for (var i = 0; i < children.length; i++) { quiz_cont.removeChild(quiz_cont.childNodes[i]); };
						quiz_cont.innerHTML = '';//'<form name=\'quest_form\'><\/form>';
						stop_timer = 1;
						getObj('jq_time_tick_container').style.visibility = "hidden";
						jq_UpdateTaskDiv('finish');
						var finish_msg = response.getElementsByTagName('finish_msg')[0].firstChild.data;
						var quiz_results = response.getElementsByTagName('quiz_results')[0].firstChild.data;
						var quiz_footer = response.getElementsByTagName('quiz_footer')[0].firstChild.data;
						var quiz_cont = getObj('jq_quiz_container');
						quiz_cont.innerHTML = quiz_results+finish_msg+quiz_footer;//'<form name=\'quest_form\'><\/form>'+quiz_results+finish_msg+quiz_footer;
						saved_prev_res_data = quiz_results+finish_msg+quiz_footer;
					break;
					case 'failed':
						ShowMessage('error_messagebox', 1, mes_failed);
						quiz_blocked = 1;
						setTimeout("jq_releaseBlock()", 1000);
					break;
					default:
					break;
				}
			} else {
				ShowMessage('error_messagebox', 1, '<?php 
        echo $jq_language['quiz_failed_request'];
        ?>
');
			}
		}
	}
	function jq_releaseBlock() { quiz_blocked = 0; }
	function jq_Start_TickTack() {
		timer_sec = 1;
		getObj('jq_time_tick_container').innerHTML = '00:01';
		getObj('jq_time_tick_container').style.visibility = "visible";
		setTimeout("jq_Continue_TickTack()", 1000);
	}
	function jq_Start_TickTackResume() {
		jq_ParseTickTackTimer(timer_sec);
		getObj('jq_time_tick_container').style.visibility = "visible";
		setTimeout("jq_Continue_TickTack()", 1000);
	}
	function jq_Continue_TickTack() {
		if (stop_timer == 1) {
			getObj('jq_time_tick_container').style.visibility = "hidden";
		} else {
			timer_sec ++;
			if ( max_quiz_time && (timer_sec > max_quiz_time) ) {
				getObj('jq_time_tick_container').innerHTML = mes_time_is_up;
			} else {
				jq_ParseTickTackTimer(timer_sec);
				setTimeout("jq_Continue_TickTack()", 1000);
			}
		}
	}
	function jq_ParseTickTackTimer(timer_sec) {
		var timer_hours = parseInt(timer_sec/3600);
		var timer_min = parseInt(timer_sec/60) - (timer_hours*60);
		var plus_sec = timer_sec - (timer_min*60) - (timer_hours*3600);
		if (timer_min < 0) { timer_min = timer_min*(-1); }
		if (plus_sec < 0) { plus_sec = plus_sec*(-1); }
		if (timer_hours < 0) { timer_hours = timer_hours*(-1); }
		var time_str_hours = '';
		if (timer_hours) {
			time_str_hours = timer_hours + '';
			if (time_str_hours.length == 1) time_str_hours = '0'+time_str_hours;
			time_str_hours = time_str_hours + ':';
		}
		var time_str = timer_min + '';
		if (time_str.length == 1) time_str = '0'+time_str;
		time_str2 = plus_sec + '';
		if (time_str2.length == 1) time_str2 = '0'+time_str2;
		getObj('jq_time_tick_container').innerHTML = time_str_hours + time_str + ':' + time_str2;
	}

		function jq_ResumeQuizOn(resume_id, unique_id, last_question) {
	<?php 
        if ($quiz->c_email_to == 2) {
            ?>
		/*var jq_email_cont = getObj('jq_user_email');
		var re_email = /[0-9a-z_]+@[0-9a-z_^.]+.[a-z]{2,3}/;
		if (!re_email.test(jq_email_cont.value)) {
			alert("Please enter a correct e-mail address");
			return;
		}
		user_email_to = jq_email_cont.value;*/
	<?php 
        }
        ?>
		if (!quiz_blocked) {
			//ShowMessage('error_messagebox', 1, mes_loading);
			//jq_showLoading();//
			timerID = setTimeout("jq_ResumeQuiz("+resume_id+", '"+unique_id+"', "+last_question+")", 300);
		} else {
			ShowMessage('error_messagebox', 1, mes_please_wait);
		}
	}
	function jq_ResumeQuiz(resume_id, unique_id, last_question) { 
		jq_MakeRequest('&atask=resume_quiz&quiz=<?php 
        echo $quiz->c_id;
        ?>
&resume_id='+resume_id+'&unique_id='+unique_id+'&last_question='+last_question,1); 
	}

	
	function jq_StartQuizOn() {
	<?php 
        if ($quiz->c_email_to == 2) {
            ?>
		/*var jq_email_cont = getObj('jq_user_email');
		var re_email = /[0-9a-z_]+@[0-9a-z_^.]+.[a-z]{2,3}/;
		if (!re_email.test(jq_email_cont.value)) {
			alert("Please enter a correct e-mail address");
			return;
		}
		user_email_to = jq_email_cont.value;*/
	<?php 
        }
        ?>
		if (!quiz_blocked) {
			//ShowMessage('error_messagebox', 1, mes_loading);
			//jq_showLoading();//
			timerID = setTimeout("jq_StartQuiz()", 300);
		} else {
			ShowMessage('error_messagebox', 1, mes_please_wait);
		}
	}
	function jq_StartQuiz() { jq_MakeRequest('&atask=start&quiz=<?php 
        echo $quiz->c_id;
        ?>
',1); }
	
	function jq_StartQuizOn_selfver() {
	<?php 
        if ($quiz->c_email_to == 2) {
            ?>
		/*var jq_email_cont = getObj('jq_user_email');
		var re_email = /[0-9a-z_]+@[0-9a-z_^.]+.[a-z]{2,3}/;
		if (!re_email.test(jq_email_cont.value)) {
			alert("Please enter a correct e-mail address");
			return;
		}
		user_email_to = jq_email_cont.value;*/
	<?php 
        }
        ?>
		if (!quiz_blocked) {
			//ShowMessage('error_messagebox', 1, mes_loading);
			//jq_showLoading();//
			timerID = setTimeout("jq_StartQuiz_selfver()", 300);
		} else {
			ShowMessage('error_messagebox', 1, mes_please_wait);
		}
	}
	
	function implode( glue, pieces ) {
	    return ( ( pieces instanceof Array ) ? pieces.join ( glue ) : pieces );
	}
	
	function jq_StartQuiz_selfver(){ 
		var form = document.selfverForm;
		var string_params = '';
		
		if(form.c_pool_type.value == 1){
			string_params = '&mode_self=1&pool_num='+form.pool_qtype_number.value;
		} else if(form.c_pool_type.value == 2){
			if (form['pool_cat_id[]'].length) {
				var arr_cat_id = new Array(form['pool_cat_id[]'].length);
				var arr_cat_number = new Array(form['pool_cat_number[]'].length);
				for (var i = 0; i<form['pool_cat_number[]'].length; i++) {
						if (form['pool_cat_number[]'][i].value > 0) { 
							arr_cat_id[i] = form['pool_cat_id[]'][i].value;
							arr_cat_number[i] = form['pool_cat_number[]'][i].value; 
						} 
				}
				string_params = '&mode_self=2&cats_id='+implode(',', arr_cat_id)+'&pool_num='+implode(',', arr_cat_number);
			} else if (form['pool_cat_id[]'].value > 0) { 
				var arr_cat_id;
				var arr_cat_number;
				arr_cat_id = form['pool_cat_id[]'].value;
				arr_cat_number = form['pool_cat_number[]'].value;
				string_params = '&mode_self=3&cats_id='+arr_cat_id+'&pool_num='+arr_cat_number;
			} 
		}
		jq_MakeRequest('&atask=start&quiz=<?php 
        echo $quiz->c_id;
        ?>
'+string_params,1);
	}
	
	
	function JQ_gotoQuestionOn(qid) {
		if (!quiz_blocked) {
			//ShowMessage('error_messagebox', 1, mes_loading);
			//jq_showLoading();//
			timerID = setTimeout("JQ_gotoQuestion("+qid+")", 300);
		} else {
			ShowMessage('error_messagebox', 1, mes_please_wait);
			setTimeout("jq_releaseBlock()", 1000);
		}
	}
	function JQ_gotoQuestion(qid){
		if(review){
			jq_MakeRequest('&atask=review_next&prev=1&quiz=<?php 
        echo $quiz->c_id;
        ?>
&stu_quiz_id='+stu_quiz_id+'&quest_id='+qid, 1 ); 
		} else {
			jq_MakeRequest('&atask=goto_quest&quiz=<?php 
        echo $quiz->c_id;
        ?>
&stu_quiz_id='+stu_quiz_id+'&seek_quest_id='+qid, 1 ); 
		}
	}
	function jq_emailResults() {
		if (!quiz_blocked) {
			ShowMessage('error_messagebox', 1, mes_loading);
			jq_MakeRequest('&atask=email_results&quiz=<?php 
        echo $quiz->c_id;
        ?>
&stu_quiz_id='+stu_quiz_id<?php 
        echo $quiz->c_email_to == 2 ? "+'&email_address='+user_email_to" : '';
        ?>
,0);
		} else {
			//ShowMessage('error_messagebox', 1, mes_please_wait);// setTimeout("jq_releaseBlock()", 1000);
		}
	}
	function jq_startReview() {
		if (!quiz_blocked) {
			jq_MakeRequest('&atask=review_start&quiz=<?php 
        echo $quiz->c_id;
        ?>
&stu_quiz_id='+stu_quiz_id, 1);
		} else {
			ShowMessage('error_messagebox', 1, mes_please_wait); setTimeout("jq_releaseBlock()", 1000);
		}
	}
	function jq_QuizReviewNext() {
		if (!quiz_blocked) {
			jq_MakeRequest('&atask=review_next&quiz=<?php 
        echo $quiz->c_id;
        ?>
'+'&stu_quiz_id='+stu_quiz_id+'&quest_id='+cur_quest_id, 1);
		} else {
			ShowMessage('error_messagebox', 1, mes_please_wait);
			setTimeout("jq_releaseBlock()", 1000);
		}
	}
	function jq_QuizReviewPrev() {
		if (!quiz_blocked) {
			jq_MakeRequest('&atask=review_next&prev=1&quiz=<?php 
        echo $quiz->c_id;
        ?>
'+'&stu_quiz_id='+stu_quiz_id+'&quest_id='+prev_quest_id, 1);
		} else {
			ShowMessage('error_messagebox', 1, mes_please_wait);
			setTimeout("jq_releaseBlock()", 1000);
		}
	}
	function jq_Check_selectRadio(rad_name, form_name) {
		var tItem = eval('document.'+form_name);
		if (tItem) {
			var selItem = eval('document.'+form_name+'.'+rad_name);
			if (selItem) {
				if (selItem.length) { var i;
					for (i = 0; i<selItem.length; i++) {
						if (selItem[i].checked) {
							if (selItem[i].value > 0) { return selItem[i].value; } } }
				} else if (selItem.checked) { return selItem.value; } }
			return false; }
		return false;
	}
	function jq_Check_selectCheckbox(check_name, form_name) {
		selItem = eval('document.'+form_name+'.'+check_name);
		var rrr = '';
		if (selItem) {
			if (selItem.length) { var i;
				for (i = 0; i<selItem.length; i++) {
					if (selItem[i].checked) {
						if (selItem[i].value > 0) { rrr = rrr + selItem[i].value + ', '; }
					}}
				rrr = rrr.substring(0, rrr.length - 2);
			} else if (selItem.checked) { rrr = rrr + selItem.value; }}
		return rrr;
	}
	function jq_Check_valueItem(item_name, form_name) {
		selItem = eval('document.'+form_name+'.'+item_name);
		var rrr = '';
		if (selItem) {
			if (selItem.length) { var i;
				for (i = 0; i<selItem.length; i++) {
					if (selItem[i].value == '{0}') return '';
					rrr = rrr + selItem[i].value + '```';
				}
				rrr = rrr.substring(0, rrr.length - 3);
			} else { rrr = rrr + selItem.value;	}}
		return rrr;
	}
	function jq_QuizNextOn() { // Two steps CHECK (delete this func in the future)
		switch (cur_quest_type) {
			case '1': //Multi choice
			case '12':
				if (!jq_Check_selectRadio('quest_choice', 'quest_form') && !document.quest_form.ismandatory.value) {
					ShowMessage('error_messagebox', 1, mes_complete_this_part);
					return false;}
			break;
			case '2': //Multi Response
			case '13':
				var res = jq_Check_selectCheckbox('quest_choice', 'quest_form');
				if (res == '') {
					ShowMessage('error_messagebox', 1, mes_complete_this_part);
					return false;}
			break;
			case '3': //true-false
				if (!jq_Check_selectRadio('quest_choice', 'quest_form')) {
					ShowMessage('error_messagebox', 1, mes_complete_this_part);
					return false;}
			break;
			case '4': // Drag'AND'Drop
			case '11':
				var i_id; var i_value; var complete = true;
				for (i=0; i<kol_drag_elems; i++) {
					if ( (ids_in_cont[i] > 0) && (ids_in_cont[i] <= kol_drag_elems) ) {
						//alert(ids_in_cont[i] + ' - ' + cont_for_ids[ids_in_cont[i] - 1] + ' - ' + answ_ids[ids_in_cont[i]])
						if (cont_for_ids[ids_in_cont[i] - 1] == i+1) { ;
						} else { complete = false; }
					} else { complete = false; }
				}
				if (!complete) {
					ShowMessage('error_messagebox', 1, mes_complete_this_part);
					return false;
				}
			break;
			case '5': //drop-down
				var res = jq_Check_valueItem('quest_match', 'quest_form');
				if (res == '') {
					ShowMessage('error_messagebox', 1, mes_complete_this_part);
					return false;
				}
			break;
			case '6': //fill in the blank
				var blank_item = document.quest_form.quest_blank;
				var res = TRIM_str(blank_item.value);
				if (res == '' && !document.quest_form.ismandatory.value) {
					ShowMessage('error_messagebox', 1, mes_complete_this_part);
					return false;}
			break;
			case '7': //hotspot question
				var hs_x = parseInt(document.quest_form.hotspot_x.value);
				var hs_y = parseInt(document.quest_form.hotspot_y.value);
				if ((hs_x == 0) && (hs_y == 0)) {
					ShowMessage('error_messagebox', 1, mes_complete_this_part);
					return false;}
			break;
			case '8': //survey question
				var answer = document.quest_form.survey_box.value;
				if (TRIM_str(answer) == '' && !document.quest_form.ismandatory.value) {
					ShowMessage('error_messagebox', 1, mes_complete_this_part);
					return false;}
			break;
			case '10':
			break;
			/*case '11':
				var i_id; var i_value; var complete = true;
				for (i=0; i<kol_drag_elems; i++) {
					if ( (ids_in_cont[i] > 0) && (ids_in_cont[i] <= kol_drag_elems) ) {
						//alert(ids_in_cont[i] + ' - ' + cont_for_ids[ids_in_cont[i] - 1] + ' - ' + answ_ids[ids_in_cont[i]])
						if (cont_for_ids[ids_in_cont[i] - 1] == i+1) { ;
						} else { complete = false; }
					} else { complete = false; }
				}
				if (!complete) {
					ShowMessage('error_messagebox', 1, mes_complete_this_part);
					return false;}
			break;*/
		}
		if (!quiz_blocked) {
			//ShowMessage('error_messagebox', 1, mes_loading);
			//jq_showLoading();
			quiz_blocked = 1;
			timerID = setTimeout("jq_QuizNext()", 300);
		} else { ShowMessage('error_messagebox', 1, mes_please_wait); setTimeout("jq_releaseBlock()", 1000); }
	}

	function jq_QuizContinue() {

		cur_quest_type = response.getElementsByTagName('quest_type')[0].firstChild.data;
		saved_prev_quest_type = cur_quest_type;
		cur_quest_id = response.getElementsByTagName('quest_id')[0].firstChild.data;
		saved_prev_quest_id = cur_quest_id;
		cur_quest_score = response.getElementsByTagName('quest_score')[0].firstChild.data;
		saved_prev_quest_score = cur_quest_score;
		cur_quest_num = response.getElementsByTagName('quiz_quest_num')[0].firstChild.data;
		saved_prev_quest_num = cur_quest_num;
		skip_next_quest = response.getElementsByTagName('quiz_skip_next_quest')[0].firstChild ? response.getElementsByTagName('quiz_skip_next_quest')[0].firstChild.data : 0;
		var quiz_cont = getObj('jq_quiz_container');
		quiz_cont.innerHTML = '';
		if (cur_quest_type == 7) {
			var div_insidey=document.createElement("div");
			div_insidey.id = 'quest_div_hs';
			getObj('jq_quiz_container').appendChild(div_insidey);
		}
		var div_inside1=document.createElement("div");
		div_inside1.id = 'quest_div';
		div_inside1.innerHTML = response.getElementsByTagName('quest_data')[0].firstChild.data +response.getElementsByTagName('quest_data_user')[0].firstChild.data;
		saved_prev_quest_data = response.getElementsByTagName('quest_data')[0].firstChild.data + response.getElementsByTagName('quest_data_user')[0].firstChild.data;
		quiz_cont.appendChild(div_inside1);
<?php 
        //Max: modign skip question
        ?>
		if(parseInt(skip_next_quest)){
	<?php 
        $toolbar = array();
        $toolbar[] = array('btn_type' => 'quiz_ok', 'btn_js' => "javascript:jq_QuizNextOn(); void(0);");
        $toolbar[] = array('btn_type' => 'skip', 'btn_js' => "javascript:JQ_gotoQuestion(__skip__);void(0);");
        if ($quiz->c_slide) {
            $toolbar[] = array('btn_type' => 'contents', 'btn_js' => "javascript:jq_ShowPanel();");
        }
        $m_str = JLMS_ShowToolbar($toolbar, false);
        ?>
			var subject = '<?php 
        echo str_replace('/', '\\/', addslashes($m_str));
        ?>
';
			html_replace = subject.split('__skip__').join(skip_next_quest);
			jq_UpdateTaskDiv_htm(html_replace);
		} else {
	<?php 
        $toolbar = array();
        $toolbar[] = array('btn_type' => 'quiz_ok', 'btn_js' => "javascript:jq_QuizNextOn(); void(0);");
        if ($quiz->c_slide) {
            $toolbar[] = array('btn_type' => 'contents', 'btn_js' => "javascript:jq_ShowPanel();");
        }
        $m_str = JLMS_ShowToolbar($toolbar, false);
        ?>
			
			jq_UpdateTaskDiv_htm('<?php 
        echo str_replace('/', '\\/', addslashes($m_str));
        ?>
');
		}

			jq_UpdateTaskDiv('next');
		
		var is_exec_quiz_script = response.getElementsByTagName('exec_quiz_script')[0].firstChild.data;
		saved_prev_quest_exec_quiz_script = is_exec_quiz_script;
		if (is_exec_quiz_script == 1 || is_exec_quiz_script == '1' ) {
			var v_quiz_script_data = response.getElementsByTagName('quiz_script_data')[0].firstChild.data;
			saved_prev_quest_exec_quiz_script_data = v_quiz_script_data;
			eval(v_quiz_script_data);
		}
	}
	function jq_QuizContinueFinish() {
		jq_MakeRequest('&atask=finish_stop&quiz=<?php 
        echo $quiz->c_id;
        ?>
'+'&stu_quiz_id='+stu_quiz_id+'&user_unique_id='+user_unique_id, 1);
	}
	function jq_QuizBack() {
		cur_quest_id = saved_prev_quest_id;
		cur_quest_type = saved_prev_quest_type;
		cur_quest_score = saved_prev_quest_score;
		cur_quest_num = saved_prev_quest_num;
		var quiz_cont = getObj('jq_quiz_container');
		quiz_cont.innerHTML = '';
		if (cur_quest_type == 7) {
			var div_insidey=document.createElement("div");
			div_insidey.id = 'quest_div_hs';
			getObj('jq_quiz_container').appendChild(div_insidey);
		}
		var div_inside1=document.createElement("div");
		div_inside1.id = 'quest_div';
		div_inside1.innerHTML = saved_prev_quest_data;
		quiz_cont.appendChild(div_inside1);
<?php 
        $toolbar = array();
        $toolbar[] = array('btn_type' => 'quiz_ok', 'btn_js' => "javascript:jq_QuizNextOn(); void(0);");
        if ($quiz->c_slide) {
            $toolbar[] = array('btn_type' => 'contents', 'btn_js' => "javascript:jq_ShowPanel();");
        }
        $m_str = JLMS_ShowToolbar($toolbar, false);
        ?>
		jq_UpdateTaskDiv_htm('<?php 
        echo str_replace('/', '\\/', addslashes($m_str));
        ?>
');
		jq_UpdateTaskDiv('next');
		var is_exec_quiz_script = saved_prev_quest_exec_quiz_script;
		if (is_exec_quiz_script == 1 || is_exec_quiz_script == '1' ) {
			var v_quiz_script_data = saved_prev_quest_exec_quiz_script_data;
			eval(v_quiz_script_data);
		}
	}
	function URLencode(sStr) {
		return escape(sStr).replace(/\+/g, '%2B').replace(/\"/g,'%22').replace(/\'/g, '%27').replace(/\//g,'%2F');
	}
	function TRIM_str(sStr) {
		return (sStr.replace(/^[\s\xA0]+/, "").replace(/[\s\xA0]+$/, ""));
	}
	function jq_QuizNext() { //send 'TASK = next'
		<?php 
        if ($is_preview) {
            ?>
		var jq_task = 'next_preview';
		<?php 
        } else {
            ?>
		var jq_task = 'next';
		<?php 
        }
        ?>
		switch (cur_quest_type) {
			case '1':
			case '12':
			var answer = jq_Check_selectRadio('quest_choice', 'quest_form');
				if (answer || document.quest_form.ismandatory.value != '0') {
					jq_MakeRequest('&atask=' + jq_task + '&quiz=<?php 
        echo $quiz->c_id;
        ?>
'+'&stu_quiz_id='+stu_quiz_id+'&quest_id='+cur_quest_id+'&answer='+answer, 1);
				} else { ShowMessage('error_messagebox', 1, mes_complete_this_part); setTimeout("jq_releaseBlock()", 1000); return false; }
			break;
			case '3':
				var answer = jq_Check_selectRadio('quest_choice', 'quest_form');
				if (answer) {
					jq_MakeRequest('&atask=' + jq_task + '&quiz=<?php 
        echo $quiz->c_id;
        ?>
'+'&stu_quiz_id='+stu_quiz_id+'&quest_id='+cur_quest_id+'&answer='+answer, 1);
				} else { ShowMessage('error_messagebox', 1, mes_complete_this_part); setTimeout("jq_releaseBlock()", 1000); return false; }
			break;
			case '2':
			case '13':
				var answer = jq_Check_selectCheckbox('quest_choice', 'quest_form');
				if (answer != '') {
					jq_MakeRequest('&atask=' + jq_task + '&quiz=<?php 
        echo $quiz->c_id;
        ?>
'+'&stu_quiz_id='+stu_quiz_id+'&quest_id='+cur_quest_id+'&answer='+answer, 1);
				} else { ShowMessage('error_messagebox', 1, mes_complete_this_part); setTimeout("jq_releaseBlock()", 1000); return false; }
			break;
			case '4':
			case '11':
				var i_id;
				var i_value;
				var answer = '';
				var complete = true;
				var mas_ans = new Array(kol_drag_elems);
				for (i=0; i<kol_drag_elems; i++) {
					mas_ans[i] = 0;
					if ( (ids_in_cont[i] > 0) && (ids_in_cont[i] <= kol_drag_elems) ) {
						if (cont_for_ids[ids_in_cont[i] - 1] == i+1) {
							mas_ans[i] = ids_in_cont[i];
							answer = answer + answ_ids[ids_in_cont[i]] + '```';
						} else { complete = false; }
					} else { complete = false; }
				}
				if (!complete) {
					ShowMessage('error_messagebox', 1, mes_complete_this_part);
					setTimeout("jq_releaseBlock()", 1000);
					return false;
				} else {
					answer = answer.substring(0, answer.length - 3);
					answer = URLencode(answer);
					jq_MakeRequest('&atask=' + jq_task + '&quiz=<?php 
        echo $quiz->c_id;
        ?>
'+'&stu_quiz_id='+stu_quiz_id+'&quest_id='+cur_quest_id+'&answer='+answer, 1);
				}
			break;
			case '5':
				var answer = jq_Check_valueItem('quest_match', 'quest_form');
				answer = URLencode(answer);
				if (answer != '') {
					jq_MakeRequest('&atask=' + jq_task + '&quiz=<?php 
        echo $quiz->c_id;
        ?>
'+'&stu_quiz_id='+stu_quiz_id+'&quest_id='+cur_quest_id+'&answer='+answer, 1);
				} else { ShowMessage('error_messagebox', 1, mes_complete_this_part); setTimeout("jq_releaseBlock()", 1000); return false; }
			break;
			case '6':
				var blank_item = document.quest_form.quest_blank;
				var answer = URLencode(TRIM_str(blank_item.value));
				if (answer != '' || document.quest_form.ismandatory.value != '0') {
					jq_MakeRequest('&atask=' + jq_task + '&quiz=<?php 
        echo $quiz->c_id;
        ?>
'+'&stu_quiz_id='+stu_quiz_id+'&quest_id='+cur_quest_id+'&answer='+answer, 1);
				} else { ShowMessage('error_messagebox', 1, mes_complete_this_part); setTimeout("jq_releaseBlock()", 1000); return false; }
			break;
			case '7':
				var hs_x = parseInt(document.quest_form.hotspot_x.value);
				var hs_y = parseInt(document.quest_form.hotspot_y.value);
				if ((hs_x != 0) && (hs_y != 0)) {
					var answer = hs_x + ',' + hs_y;
					jq_MakeRequest('&atask=' + jq_task + '&quiz=<?php 
        echo $quiz->c_id;
        ?>
'+'&stu_quiz_id='+stu_quiz_id+'&quest_id='+cur_quest_id+'&answer='+answer, 1);
				} else { ShowMessage('error_messagebox', 1, mes_complete_this_part); setTimeout("jq_releaseBlock()", 1000); return false; }
			break;
			case '8':
				var answer = URLencode(TRIM_str(document.quest_form.survey_box.value));
				if (answer != '' || document.quest_form.ismandatory.value != '0') {
					jq_MakeRequest('&atask=' + jq_task + '&quiz=<?php 
        echo $quiz->c_id;
        ?>
'+'&stu_quiz_id='+stu_quiz_id+'&quest_id='+cur_quest_id+'&answer='+answer, 1);
				} else { ShowMessage('error_messagebox', 1, mes_complete_this_part); setTimeout("jq_releaseBlock()", 1000); return false; }
			break;
			case '9':
				var complete = true;
				var scale_count = parseInt(document.quest_form.scale_count.value);
				var answer = new Array(scale_count);
				for(i=0;i<scale_count;i++)
				{
					var cur_answer = jq_Check_selectRadio('ch_scale_'+i, 'quest_form');
					if(!cur_answer)
						complete = false;
					else
						answer[i] = cur_answer;	
				}
				if (!complete && document.quest_form.ismandatory.value!='1') {
					ShowMessage('error_messagebox', 1, mes_complete_this_part);
					setTimeout("jq_releaseBlock()", 1000);
					return false;
				} else {
					
					jq_MakeRequest('&atask=' + jq_task + '&quiz=<?php 
        echo $quiz->c_id;
        ?>
'+'&stu_quiz_id='+stu_quiz_id+'&quest_id='+cur_quest_id+'&answer='+answer, 1);
				}
			break;	
			case '10':
				jq_MakeRequest('&atask=' + jq_task + '&quiz=<?php 
        echo $quiz->c_id;
        ?>
'+'&stu_quiz_id='+stu_quiz_id+'&quest_id='+cur_quest_id+'&answer=0', 1);
			break;
			default:
				ShowMessage('error_messagebox', 1, '<?php 
        echo $jq_language['quiz_unknown_error'];
        ?>
');
				setTimeout("jq_releaseBlock()", 1000);
			break;
		}
	}

	function jq_showLoading() {
		ShowMessage('error_messagebox', 0, '&nbsp;');

		getObj('jq_quiz_result_reviews').style.visibility = 'hidden';
		getObj('jq_quiz_explanation').style.visibility = 'hidden';
		getObj('jq_quiz_result_reviews').style.display = 'none';
		getObj('jq_quiz_explanation').style.display = 'none';
		getObj('jq_quiz_container').innerHTML = '<br /><br /><center><img src="<?php 
        echo $JLMS_CONFIG->get('live_site');
        ?>
/components/com_joomla_lms/lms_images/loading.gif" height="32" width="32" border="0" alt="loading" /><\/center>';
	}

	function jq_UpdateTaskDiv_htm(htm_txt) {
		getObj('jq_quiz_task_container').innerHTML = htm_txt;
	}

	function jq_UpdateTaskDiv(task) {
		switch (task) {
			case 'start':
				getObj('jq_quiz_task_container').innerHTML = jq_StartButton('jq_StartQuizOn()', '<?php 
        echo $jq_language['quiz_start'];
        ?>
');
			break;
			case 'resume':
			case 'next':
				//getObj('jq_quiz_task_container').innerHTML = jq_NextButton('jq_QuizNextOn()', '<?php 
        echo $jq_language['quiz_next'];
        ?>
');
				getObj('jq_quest_num_container').innerHTML = mes_quest_number.replace("{X}", cur_quest_num).replace("{Y}", quiz_count_quests);
				getObj('jq_quest_num_container').style.visibility = "visible";
				getObj('jq_points_container').innerHTML = mes_quest_points.replace("{X}", cur_quest_score);
				getObj('jq_points_container').style.visibility = "visible";
				getObj('jq_question_id_container').style.visibility = "hidden";

				<?php 
        if ($JLMS_CONFIG->get('quizzes_show_quest_id', 0) == 1) {
            ?>

					quest_id_gqp = response.getElementsByTagName('quest_id_gqp')[0].firstChild.data;				
					quest_id_pool = response.getElementsByTagName('quest_id_pool')[0].firstChild.data;	

					if(quest_id_gqp > 0) {
						getObj('jq_question_id_container').innerHTML = "<?php 
            echo $JLMS_CONFIG->get('quizzes_quest_id_title', 0);
            ?>
"+quest_id_gqp;
					}
					if(quest_id_pool > 0) {
						getObj('jq_question_id_container').innerHTML = "<?php 
            echo $JLMS_CONFIG->get('quizzes_quest_id_title', 0);
            ?>
"+quest_id_pool;
					}

					if(quest_id_gqp > 0 || quest_id_pool > 0) {
						getObj('jq_question_id_container').style.display = "block";
						getObj('jq_question_id_container').style.visibility = "visible";
					}
					else {
						getObj('jq_question_id_container').style.display = "none";
						getObj('jq_question_id_container').style.visibility = "hidden";
					}

				<?php 
        }
        ?>
				<?php 
        if ($JLMS_CONFIG->get('quiz_progressbar', 0) == 1) {
            ?>
				getObj('progress_bar').style.display = "block";
				<?php 
        }
        ?>
			break;
			case 'review_next':
				//getObj('jq_quiz_task_container').innerHTML = jq_ContinueButton('jq_QuizReviewNext()', '<?php 
        echo $jq_language['quiz_next'];
        ?>
');
				getObj('jq_quest_num_container').innerHTML = mes_quest_number.replace("{X}", cur_quest_num).replace("{Y}", quiz_count_quests);
				getObj('jq_quest_num_container').style.visibility = "visible";
				getObj('jq_points_container').innerHTML = mes_quest_points.replace("{X}", cur_quest_score);
				getObj('jq_points_container').style.visibility = "visible";
			break;
			case 'next_no_attempts':
				//getObj('jq_quiz_task_container').innerHTML = jq_ContinueButton('jq_QuizContinue()', '<?php 
        echo $jq_language['quiz_continue'];
        ?>
');
			break;
			case 'finish':
				<?php 
        if ($JLMS_CONFIG->get('quiz_progressbar', 0) == 1) {
            ?>
				getObj('progress_bar').style.display = "none";
				if (getObj('jq_question_id_container')) { getObj('jq_question_id_container').style.visibility = "hidden"; }
				<?php 
        }
        ?>
			case 'clear':
				getObj('jq_quiz_task_container').innerHTML = "";
				getObj('jq_quest_num_container').style.visibility = "hidden";
				getObj('jq_points_container').style.visibility = "hidden";
				getObj('jq_question_id_container').style.visibility = "hidden";
			break;
			case 'continue':
			break;
			case 'continue_finish':
			break;
			case 'back_continue':
				//getObj('jq_quiz_task_container').innerHTML = jq_ContinueButton('jq_QuizContinue()', '<?php 
        echo $jq_language['quiz_continue'];
        ?>
')+jq_BackButton('jq_QuizBack()', '<?php 
        echo $jq_language['quiz_back'];
        ?>
');
			break;
			case 'back_continue_finish':
				//getObj('jq_quiz_task_container').innerHTML = jq_ContinueButton('jq_QuizContinueFinish()', '<?php 
        echo $jq_language['quiz_continue'];
        ?>
')+jq_BackButton('jq_QuizBack()', '<?php 
        echo $jq_language['quiz_back'];
        ?>
');
			break;
			<?php 
        if ($is_preview) {
            ?>
			case 'preview_back':
				//getObj('jq_quiz_task_container').innerHTML = jq_BackButton('JQ_previewQuest()', '<?php 
            echo $jq_language['quiz_back'];
            ?>
');
			break;
			<?php 
        }
        ?>
		}
		<?php 
        if ($quiz->c_slide) {
            ?>
		if (result_is_shown == 1) { jq_ShowPanel(); }
		<?php 
        }
        ?>
		if (task == 'finish') {
			//var obj_plc = getObj('jq_panel_link_container');
			//if (obj_plc) obj_plc.style.visibility = 'hidden';
		}
	}
	function jq_NextButton(task, text) {
		return "<div id=\"jq_next_link_container\" onclick=\""+task+"\"><div class=\"back_button\" id=\"jq_quiz_task_link_container\"><a href=\"javascript: void(0)\">"+text+"<\/a><\/div><br /><\/div>";
	}
	function jq_ContinueButton(task, text) {
		return "<div id=\"jq_continue_link_container\" onclick=\""+task+"\"><div class=\"back_button\" id=\"jq_quiz_task_link_container\"><a href=\"javascript: void(0)\">"+text+"<\/a><\/div><br /><\/div>";
	}
	function jq_StartButton(task, text) {
		return "<div id=\"jq_start_link_container\" onclick=\""+task+"\"><div class=\"back_button\" id=\"jq_quiz_task_link_container\"><a href=\"javascript: void(0)\">"+text+"<\/a><\/div><br /><\/div>";
	}
	function jq_BackButton(task, text) {
		return "<div id=\"jq_back_link_container\" onclick=\""+task+"\"><div class=\"back_button\" id=\"jq_quiz_task_link_container\"><a href=\"javascript: void(0)\">"+text+"<\/a><\/div><br /><\/div>";
	}
	function jq_ShowPanel_go() {
		var jq_quiz_c_cont = getObj('jq_quiz_container');
		if (jq_quiz_c_cont) { jq_quiz_c_cont.style.visibility = 'hidden'; jq_quiz_c_cont.style.display = 'none';}
		var jq_quiz_r_c = getObj('jq_quiz_result_container');
		if (jq_quiz_r_c) { jq_quiz_r_c.style.visibility = 'visible'; jq_quiz_r_c.style.display = 'block';}
	}
	function jq_HidePanel_go() {
		var jq_quiz_r_c = getObj('jq_quiz_result_container');
		if (jq_quiz_r_c) { jq_quiz_r_c.style.visibility = 'hidden'; jq_quiz_r_c.style.display = 'none';}
		var jq_quiz_c_cont = getObj('jq_quiz_container');
		if (jq_quiz_c_cont) { jq_quiz_c_cont.style.visibility = 'visible'; jq_quiz_c_cont.style.display = 'block';}
	}
	function jq_ShowPanel() {
<?php 
        if ($quiz->c_slide) {
            ?>
	
		if (result_is_shown == 1) { jq_HidePanel_go(); result_is_shown = 0;	}
		else { jq_ShowPanel_go();	result_is_shown = 1; }
<?php 
        }
        ?>
	}
<?php 
        if ($is_preview) {
            ?>
	function JQ_previewQuest() {
		jq_MakeRequest('&atask=preview_quest&quiz=<?php 
            echo $quiz->c_id;
            ?>
'+'&preview_id=<?php 
            echo $preview_id;
            ?>
&quest_id=<?php 
            echo $preview_quest;
            ?>
', 1);
	}
<?php 
        }
        ?>

//--><!]]>
</script>
<div>
	<?php 
        $quiz->template_name = 'joomlaquiz_lms_template';
        if ($quiz->template_name) {
            require dirname(__FILE__) . '/templates/' . $quiz->template_name . '/jq_template.php';
            //$url_link = 'index.php?option='.$option.'&task=quiz_action&id='.$course_id.'&atask=start&quiz='.$quiz->c_id.'&Itemid='.$Itemid.'';
            //no-js functionality commented in JoomlaLMS 1.1.0 (due to the lost of bugs and lack of usage)
            $url_link = 'javascript:void(0);';
            $page = strval(mosGetParam($_REQUEST, 'page', ''));
            $task_cont = '';
            if ($page != 'view_preview') {
                $task_cont .= "\n\t\t\t<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" align=\"right\" style=\"text-align: right;\" class=\"jlms_table_no_borders\">\n\t\t\t\t<tbody>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td>";
                if ($self_verification != '') {
                    $task_cont .= "<input type='image' src='" . $JLMS_CONFIG->get('live_site') . "/components/com_joomla_lms/lms_images/buttons/btn_start.png' name='atask' value='start'/>";
                    $task_cont .= "<input type='hidden' name='task' value='quiz_action'/>";
                    $task_cont .= "<input type='hidden' name='id' value='" . $course_id . "'/>";
                    $task_cont .= "<input type='hidden' name='quiz' value='" . $quiz->c_id . "'/>";
                    $task_cont .= "<input type='hidden' name='atask' value='start'/>";
                } else {
                    $task_cont .= "<a style=\"cursor: pointer;\" href=\"" . sefRelToAbs($url_link) . "\">\n\t\t\t\t\t\t\t\t<img width=\"32\" height=\"32\" border=\"0\" title=\"" . _JLMS_START_ALT_TITLE . "\" alt=\"" . _JLMS_START_ALT_TITLE . "\" src=\"" . $JLMS_CONFIG->get('live_site') . "/components/com_joomla_lms/lms_images/buttons/btn_start.png\" class=\"JLMS_png\"/>\n\t\t\t\t\t\t\t</a>";
                }
                $task_cont .= "</td>\n\t\t\t\t\t\t<td valign=\"middle\" style=\"vertical-align: middle;\">";
                if ($self_verification != '') {
                    $task_cont .= "&nbsp;" . _JLMS_START_ALT_TITLE . "&nbsp;";
                } else {
                    $task_cont .= "<a style=\"cursor: pointer;\" href=\"" . sefRelToAbs($url_link) . "\">&nbsp;" . _JLMS_START_ALT_TITLE . "&nbsp;</a>";
                }
                $task_cont .= "</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</tbody>\n\t\t\t</table>";
            }
            $query = "SELECT a.*, 'joomlaquiz_lms_template' as template_name FROM #__lms_quiz_t_quiz as a WHERE a.c_id = " . $quiz->c_id . " and a.course_id = " . $course_id;
            $JLMS_DB->SetQuery($query);
            $quiz_params = $JLMS_DB->LoadObjectList();
            $descr_cont = isset($quiz_params[0]->c_description) ? $quiz_params[0]->c_description : '';
            $descr_cont = JLMS_ShowText_WithFeatures($descr_cont);
            $progress_bar_js = true;
            //by Max
            if ($preview_quest) {
                $progress_bar_js = false;
            }
            echo JoomlaQuiz_template_class::JQ_MainScreen($descr_cont, $task_cont, $self_verification, $progress_bar_js);
            if ($is_preview) {
                ?>
			<script language="JavaScript" type="text/javascript">
			<!--//--><![CDATA[//><!--
				var jq_quiz_c_t = getObj('jq_quiz_container_title');
				if (jq_quiz_c_t) jq_quiz_c_t.innerHTML = "<?php 
                echo addslashes($quiz->c_title);
                ?>
";
				var jq_quiz_c_d = getObj('jq_quiz_container_description');
				if (jq_quiz_c_d) jq_quiz_c_d.innerHTML = "<?php 
                echo "Click <a href='javascript:void(0)' onclick='JQ_previewQuest();'>here<\\/a> to preview the question";
                ?>
";
			//--><!]]>
			</script>
			</div>
			<?php 
            } else {
                $quiz_params = new JLMSParameters($quiz->params);
                if ($quiz_params->get('sh_self_verification', 0) == 1) {
                    $toolbar = array();
                    if ($quiz->attempts_of_this_quiz < $quiz->c_max_numb_attempts || $quiz->c_max_numb_attempts == 0) {
                        $toolbar[] = array('btn_type' => 'start', 'btn_js' => "javascript:jq_StartQuizOn_selfver(); return false;");
                    }
                } else {
                    $toolbar = array();
                    if ($quiz->attempts_of_this_quiz < $quiz->c_max_numb_attempts || $quiz->c_max_numb_attempts == 0) {
                        $toolbar[] = array('btn_type' => 'start', 'btn_js' => "javascript:jq_StartQuizOn(); return false;");
                    }
                }
                //if(isset($quiz->resume_quiz) && $quiz->resume_quiz && $quiz->last_question)
                if (isset($quiz->resume_quiz) && $quiz->resume_quiz && !$quiz->c_total_time) {
                    $toolbar[] = array('btn_type' => 'resume', 'btn_js' => "javascript:jq_ResumeQuizOn(" . $quiz->resume_quiz . ",'" . $quiz->unique_id . "', " . $quiz->last_question . "); return false;");
                }
                $m_str = JLMS_ShowToolbar($toolbar, false);
                //				$m_str = addslashes($m_str);
                //				$m_str = addslashes($m_str);
                $domready2 = '
				jq_UpdateTaskDiv_htm("' . str_replace('/', '\\/', addslashes($m_str)) . '");
				var jq_quiz_c_t = getObj(\'jq_quiz_container_title\');
				if (jq_quiz_c_t) jq_quiz_c_t.innerHTML = "' . addslashes($quiz->c_title) . '";
				var jq_quiz_c_d = getObj(\'jq_quiz_container_description\');
//				if (jq_quiz_c_d) jq_quiz_c_d.innerHTML = "' . str_replace("\n", '', str_replace("\r", '', str_replace("/", "\\/", addslashes($quiz->c_description)))) . '";
				var jq_qiuz_c_selfver = getObj(\'jq_quiz_container_selfver\');
				if (jq_qiuz_c_selfver) jq_qiuz_c_selfver.innerHTML = "' . str_replace("\n", '', str_replace("\r", '', str_replace("/", "\\/", addslashes($self_verification)))) . '";
				';
                $JLMS_CONFIG->set('web20_domready_code', $JLMS_CONFIG->get('web20_domready_code', '') . $domready2);
                ?>

			</div>
<?php 
            }
            //TODO: replace getObj with mootools $ operand.... !!!!!! NOTE !!!!!!!!!!!! we should update DOM using $ only after ondomready !!!
        }
    }