try{
    initBody();

    var bClose = unescape(getQueryVariable("close"));
//alert("bClose=" + bClose);
    if ("y"==bClose) {
        document.getElementById("quiz_close").value = bClose;
        parent.quizwindow.hide();
//alert("It should be close.");        
    }
    else if ("2"==bClose)
    {
        history.go(-1);
    } else {

      var sAction = getQueryVariable("action");
      if (sAction=="edit")
      {
         var sQid = getQueryVariable("qid");
         var url = urlprogram+"?do=@gd&ty=tableitem&tabletype=16&id=" + sQid + "&"+new Date().getTime();
         var jsonInfo  = getFileContent(url);
//alert("Quiz Object=" + jsonInfo);
         var objInfo = eval(jsonInfo);

         document.getElementById("quiz_id").value = objInfo.QuizID;
         document.getElementById("quiz_postid").value = objInfo.PostToID;
         document.getElementById("quiz_title").value = objInfo.Title;
         document.getElementById("quiz_tag").value = objInfo.m_Tag;
         document.getElementById("quiz_description").value = objInfo.Descrition;
         document.getElementById("quiz_content").value = objInfo.Content;          
         document.getElementById("quiz_afterurl").value = objInfo.AfterQuiz;
         document.getElementById("quiz_mode").value = objInfo.Mode;
         document.getElementById("quiz_anonymous").checked = objInfo.Anonymous!='0';

var sEmbedCode = "<SCRIPT type=\"text/javascript\">\n";
sEmbedCode += "<!--\n";
sEmbedCode += "var omniserve_quiz_userid = " + objInfo.UserID + ";\n";
sEmbedCode += "var omniserve_quiz_id     = " + objInfo.QuizID + ";\n";
sEmbedCode += "var omniserve_quiz_width  = 500;\n";
sEmbedCode += "var omniserve_quiz_height  = 300;\n";
sEmbedCode += "var omniserve_quiz_style  = 0;\n";
sEmbedCode += "var omniserve_quiz_mode   = 0;\n";
sEmbedCode += "var omniserve_quiz_tag    = '';\n";
sEmbedCode += "//-->\n";
sEmbedCode += "</SCRIPT>\n";
sEmbedCode += "<SCRIPT type=\"text/javascript\" src=\"http://www.omniserve.com/scripts/omniserve_quiz.js\"></SCRIPT>";
         document.getElementById("quiz_embedcode").value = sEmbedCode;
//if (document.getElementById("quiz_anonymous").checked)
   showlayer("id_showembedcode");


         if (objInfo.ViewMode=="1")
             document.getElementById("quiz_viewresults_1").click();
          else
             document.getElementById("quiz_viewresults_2").click();

         var nFeedbackFlag = parseInt(objInfo.FeedbackFlag);
         document.getElementById("quiz_allowtalkback").checked = (nFeedbackFlag&1)==1;
         document.getElementById("quiz_allowpoll").checked = (nFeedbackFlag&2)==2;
         if (objInfo.AccessMode=="1")
            document.getElementById("quiz_viewoptions_1").click();
         else
            document.getElementById("quiz_viewoptions_2").click();


// alert("Quiz_id=" + $F('quiz_id'));
         document.getElementById("quiz_reset").disabled = true;                    
      }
      else
      {
         document.getElementById("quiz_postid").value  = getQueryVariable("quiz_postid");
      }

//alert("postid=" + document.getElementById("quiz_postid").value);        
      document.form_quiz.quiz_title.focus();
    }
}catch(ex){}

function onClickAnonymous(objCheck)
{
/*    
//  alert("It is under construction. Please wait...");
  if (document.getElementById("quiz_id").value.length==0)  
     return;

  if (objCheck.checked)
  {
    showlayer('id_showembedcode');
  }
  else
  {
    hidelayer('id_showembedcode');      
  }
*/
}

function onValidateQuiz(form)
{
//  alert("It is under construction. Please wait...");
  if (form.quiz_title.value.length==0)
  {
     alert("You have to enter quiz title.");
     form.quiz_title.focus();
     return false;
  }

  return true;
}

function isShowEditMode(nOwnerId)
{
    var bShowEdit = false;
    if ("ViewQuestions"!=getQueryVariable("action"))
    {
        if ("EditQuestions"==getQueryVariable("action"))
           bShowEdit = true;
        else
        {
          if (isOwner(nOwnerId))
            bShowEdit = true;
        }
    }

    return bShowEdit;
}

function showAddQuestionLink(nOwnerId, nQuizId, sQuestionIds)
{
//alert("Add a New Question");
   if (isOwner(nOwnerId))
   {
     var sAddEdit = "[ <a class='link' onClick='showNewQuestionForm(document.form_quizquestion, this, " + nQuizId  + ")' href='#'>Add Question</a>";
/*
     if (typeof(sQuestionIds)!="undefined" && sQuestionIds.length>0)
     {
        if (isShowEditMode(nOwnerId))
           sAddEdit += ", <a class='link' onClick='backTestMode(" + nOwnerId + "," + nQuizId + ")' href='#'>View Questions</a>";
         else
           sAddEdit += ", <a class='link' onClick='showEditQuestions(" + nOwnerId + "," + nQuizId + ")' href='#'>Edit Questions</a>";
     }
*/  
     sAddEdit += " ]";

     document.write(sAddEdit);
   }
}

function showQuestionActionLink(nOwnerId, nQuizId, nQuestionId, nPostToId)
{
  document.write("[ <a class='link' onClick='showEditQuestionForm(document.form_quizquestion, this, nQuizId, nQuestionId)' href='#'>Edit</a>, ");
  document.write("<A class='link' onClick='return confirmDelete(\"Quiz Question\");' href='"+urlmember+urlprogram+"?do=@dl&ty=quizquestion&questid="+nQuestionId+"'>Delete</A> ]");
}

function showNewQuestionForm(form, obj, nQuizId)
{
	showLayerBox('id_questionlayer', obj);
    form.quiz_question.focus();
}

function showEditQuestions(nOwnerId, nQuizId)
{
    var sUrl = new String(window.location);
//alert ("Url=" + sUrl);
    var nIndex = sUrl.indexOf(".html");
    window.location.href = sUrl.substring(0, nIndex+5) + "?&action=EditQuestions";
}

function backTestMode(nOwnerId, nQuizId)
{
    var sUrl = new String(window.location);
//alert ("Url=" + sUrl);
    var nIndex = sUrl.indexOf(".html");
    window.location.href = sUrl.substring(0, nIndex+5) + "?&action=ViewQuestions";
}

function showEditQuestionForm(nQuestionId, nQuizId, sLinkId)
{
    var floatwin = document.getElementById('id_questionlayer');
    var objLink = document.getElementById(sLinkId);

    floatwin.style.display = 'block';
    floatwin.style.width = '510px';
    floatwin.style.left    = getLinkOffset(objLink, "left") - 15;
    floatwin.style.top     = getLinkOffset(objLink, "top") + 20;

    var url = urlprogram+"?do=@gd&ty=tableitem&tabletype=17&id=" + nQuestionId + "&"+new Date().getTime();
    var jsonInfo  = getFileContent(url);
// alert("Quiz Object=" + jsonInfo);
    var objInfo = eval(jsonInfo);

    document.getElementById("quiz_id").value = objInfo.QuizID;
    document.getElementById("question_id").value = objInfo.QuestionID;
    document.getElementById("quiz_question").value = objInfo.Question;
    document.getElementById("quiz_answerdesc").value = objInfo.AnwserDesc;

    for (var i=0; i<6; i++)
    {
       var id = "quiz_text_" + (1<<i);
       document.getElementById(id).value = "";
    }

    var arChoiceText = objInfo.ChoiceTexts.split("|");
 //alert("objInfo.ChoiceTexts=" + "---" + arChoiceText);
    for (var i=0; i<arChoiceText.length; i++)
    {
       var id = "quiz_text_" + (1<<i);
       document.getElementById(id).value = arChoiceText[i];
    }

    document.getElementById("quiz_answer").value = objInfo.Answer;

    document.getElementById("question_submit").value = "Update Question";
}

function onValidateQuestion(form)
{
  try {

    if (form.quiz_question.value.length==0)
    {
       alert("You have to input question.");
       form.quiz_question.focus();
       return false;
    }

    var nAnswer = form.quiz_answer.value;
    var nMode = parseInt(document.getElementById('quiz_mode').value);
    if (nMode>0 && nAnswer==0)
    {
        alert("You have to select one answer from A to F.")
        return false;
    }

    if (nAnswer>0)
    {
       if (eval("form.quiz_text_"+nAnswer).value.length==0)
       {
          alert("You have to input choice text.")
          eval("form.quiz_text_"+nAnswer).focus();
          return false;
       }
    }
    else
    {
       var bOne = false;
       for (var i=1; i<64; i=i*2)
       {
          if (eval("form.quiz_text_"+i).value.length>0)
          {
            bOne = true;
            break;
          }
       }

       if (bOne==false)
       {
          alert("You have to input aleast one of choice text.")
          form.quiz_text_1.focus();
          return false;
       }
    }

    return true;

  } catch (e) {alert("An exception occurred in the script - (onValidateQuestion). \nError name: " + e.name + "\nError message: " + e.message); }

   return false;
}

function onCloseQuestionBox()
{
   hideLayerBox('id_questionlayer');
}

function showLayerBox(layerId, obj)
{
  var floatwin = document.getElementById(layerId);
//alert("left =" + obj+","+obj.offsetLeft+","+obj.offsetTop);//getposOffset1(obj, "left"));
  floatwin.style.display = 'block';
  floatwin.style.width = '510px';
  floatwin.style.left    =  getLinkOffset(obj, "left") - 10;
  floatwin.style.top     = getLinkOffset(obj, "top")+18;

}

function hideLayerBox(layerId)
{
  var floatwin = document.getElementById(layerId);
  floatwin.style.display = 'none';
}

function getLinkOffset(what, offsettype)
{
    var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
    var parentEl=what.offsetParent;
    while (parentEl!=null){
        totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
        parentEl=parentEl.offsetParent;
    }
    return totaloffset;
}