0xV3NOMx
Linux ip-172-26-7-228 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64



Your IP : 18.117.184.125


Current Path : /var/www/html/studentportal_test/js/
Upload File :
Current File : /var/www/html/studentportal_test/js/MainPage.js

var UNIVNAME, UNIVCODE;
function loadMaster()
{
  loadProfile()
    //loadExamApplication();
	$.ajax({
        type: 'post',
        url: 'src/login.php',
        //data:parameters,
        success: function(response)
        {
          var { status, FUNIVNAME } = JSON.parse(response);
          ({UNIVCODE} = JSON.parse(response));
          if(status === 'loggedin')
          {
              UNIVNAME = FUNIVNAME;
              $("#nav-header").html( UNIVCODE + ' - ' + UNIVNAME)
          }
          else
          {
          	alert("Please login");
            window.location.href = 'index.html';
          }
        }
    });
}

$(function () {
    initLoading();
});
function initLoading() {
    $('[data-toggle="cardloading"]').on('click', function () {
        var effect = $(this).data('loadingEffect');
        var color = $.AdminBSB.options.colors[$(this).data('loadingColor')];

        var $loading = $(this).parents('.card').waitMe({
            effect: effect,
            text: 'Loading...',
            bg: 'rgba(255,255,255,0.90)',
            color: color
        });

        setTimeout(function () {
            //Loading hide
            $loading.waitMe('hide');
        }, 3200);
    });
}

function signOut()
{
  swal({
      title: "Are you sure about logout?",
      type: "warning",
      showCancelButton: true,
      confirmButtonColor: "#DD6B55",
      confirmButtonText: "Logout",
      closeOnConfirm: false
  }, function () {
      $.ajax({
          type: 'post',
          url: 'src/logout.php',
          //data:parameters,
          success: function(response)
          {
            if(response === 'logout')
            {
              window.location.href = 'index.html';  
            }
          }
      });
      //swal("Deleted!", "Your imaginary file has been deleted.", "success");
  });

  
}
var photopath;
function loadProfile() 
{
  $.blockUI({ message: "<img src='images/Loading_icon.gif' border='0'>" });
	$.ajax({
        type: 'post',
        url: 'src/profile.php',
        //data:parameters,
        success: function(response)
        {
            $.unblockUI();
            response = JSON.parse(response);
            if(response.status === 'success')
            {
                $('#loadtab').load('html_modules/profile.html?v='+version,function(){

                    $('#studinfo').html(`<tr>
                        <td width="17%"><b>Student Name</b></td><td width="2%"> : </td><td width="35%"> ${ response.fname }</td>
                        <td width="17%"><b>Register number</b> </td><td width="2%"> : </td><td> ${ response.strRegno.toUpperCase() } </td>
                    </tr>
                    <tr>
                        <td><b>Mobile Number</b></td><td width="2%"> : </td><td>${ response.strMobile }</td>
                        <td><b>Email Id</b> </td><td width="2%"> : </td><td> ${ response.strEmail } </td>
                    </tr>
                    <tr>
                        <td><b>Father / Guardian Name</b> </td><td width="2%"> : </td><td> ${ response.ffatname } </td>
                        <td><b>Father / Guardian Mobile</b> </td><td width="2%"> : </td><td> ${ response.strParentMob } </td>
                    </tr>
                    <tr>
                        <td><b>College</b> </td><td width="2%"> : </td><td> ${ response.college } </td>
                        <td></b> </td><td width="2%"></td><td></td>
                    </tr>`);
                    $('#side_name').html(response.fname);
                    $('#side_regno').html(response.strRegno.toUpperCase());
                    $('#side_degree').html('['+ response.fdegree +'] '+response.degree);
                    $("#idSubjHeader").html(`<h2><center>${ response.degree + " - " + response.strExamdate } Subjects</center></h2>`);
                    photopath = response.photopath;
                    $('#photo').attr('src', photopath);
                    $('#profile_photo').attr('src', photopath);

                    rgSubject = response.subject;
                    var strTheads = `<tr style = "height:40px;background-color: #90CAF9 !important;">
                                        <th style = "width:8%;"><center>Sl. No.</center></th>
                                        <th style = "width:10%;" ><center>Subject Code</center></th>
                                        <th style = "width:10%;"><center>Semester</center></th>
                                        <th><center>Subject Name</center></th>
                                      </tr>`; 
                    var strTbody;
                    var i = 1;
                    var sem;
                    for(let subject in rgSubject)
                    {
                      obSubject = rgSubject[subject];
                      //console.log(obSubject);
                      var sem = romanize(alphabet.indexOf(obSubject['fexamno'])+1)
                      strTbody += `<tr style = "height:30px;">
                                    <td><center>${ i++ }</center></td>
                                    <td><center>${ obSubject['fsubcode'] }</center></td>
                                    <td><center> ${ sem } Sem</center></td>
                                    <td>${ obSubject['fsubname'] }</td>
                                  </tr>`;
                    }
                    if(rgSubject.length == 0)
                      $("#idSubjCard").css('display', 'none');
                    $('#studsubs').html(strTheads+strTbody);
                });
            }
            else
            {

            }
        }
    });
	
}

function loadAttendance()
{
	$('#loadtab').load('html_modules/attendance.html?v='+version, function(){
    new Chart(document.getElementById("bar_chart").getContext("2d"), getChartJs('bar'));
    function getChartJs(type) {
        var config = null;
        var subject;
        var conducted;
        var attended;
        var percent;
        var parameters = "&screen=attendance";
        var rgPerinfo;
        $.blockUI({ message: "<img src='images/Loading_icon.gif' border='0'>" });
        $.ajax({
          type: 'post',
          url: 'src/attendance.php',
          data:parameters,
          async: false,
          success: function(response)
          {
            $.unblockUI();
            response = JSON.parse(response);

            if( response.status == 'success')
            {
              subject = response.subject;
              conducted = response.conducted;
              attended = response.attended;
              subcode = response.subcode;
              subshort = response.subshort;
              percent = response.percent;
              rgPerinfo = response.rgPerinfo;
              var { strRegno,strName,strDegree,strSemester,strExam } = rgPerinfo;

              $("#idAttHeader").html(`<h2><center>${ strSemester + " - " + strExam } Attendance</center></h2>`);
              /*$("#studinfo").append(`<tr><td width='20%'><b>Reg. No.  </td><td> : ${ strRegno }
                        </b></td></tr><tr><td width='20%'><b>Student Name  </td><td> : ${ strName }
                        </b></td></tr><tr><td width='20%'><b>Degree </td><td> : ${ strDegree }</b></td></tr>
                        <tr><td width='20%'><b>Semester </td><td> : ${ strSemester + " - " + strExam }</b></td></tr>`);*/
              var conducted_arr = $.map(conducted, (el) => { return parseInt($.trim(el)) });
              var attend_arr = $.map(attended, (el) => { return parseInt($.trim(el)) });
              var rgPercent = new Array();
              var rgFillcolor = new Array();
              for(let i in attend_arr)
              {
                  rgPercent[i] = Math.round((attend_arr[i] * 100/conducted_arr[i])*100)/100;
                  if(rgPercent[i] >= 75.00)
                      rgFillcolor.push('rgb(57, 173, 68, 0.7)');
                  else
                      rgFillcolor.push('rgb(211, 29, 38, 0.7)');
              }
              if (type === 'bar') {
                  config = {
                      type: 'bar',
                      data: {
                          labels: subshort,
                          datasets: [{
                              label: "Conducted",
                              data: conducted_arr,
                              backgroundColor: 'rgba(0, 188, 212, 0.7)'
                          }, {
                                  label: "Attended",
                                  data: attend_arr,
                                  backgroundColor: rgFillcolor
                              }]
                      },
                      options: {
                          scales: {
                              yAxes: [{
                                  ticks: {
                                      beginAtZero:true
                                  }
                              }]
                          }
                      }
                  }
              }

              var table = `<table class="m-b-20 table table-condensed table-bordered table-striped table-hover">
                          <tr style = "height:40px;background-color: #90CAF9 !important;">
                              <th style = "width:8%;"><center>Sl. No. </center></th>
                              <th style = "width:10%;"><center>Subject Code</center></th>
                              <th style = "width:10%;"><center>Short Name</center></th>
                              <th><center>Subject Name</center></th>
                              <th style = "width:10%;"><center>Classes Conducted</center></th>
                              <th style = "width:10%;"><center>Classes Attended</center></th>
                              <th style = "width:8%;"><center>Percentage (%)</center></th>
                          </tr>`;
              for(let i in subject)
              {
                  table += `<tr>
                              <td><center> ${parseInt(i)+1} </center></td>
                              <td><center> ${subcode[i]} </center></td>
                              <td>${subshort[i]}</td>
                              <td>${subject[i]}</td>
                              <td><center>${conducted_arr[i]}</center></td>
                              <td><center>${attend_arr[i]}</center></td>
                              <td><center>${percent[i]}</center></td>
                          </tr>`;
              }
              table += `</table>`;
              $('#att_table').html(table);
            }
            else
            {
              swal({
                   title: 'Attendance Not Available',
                   type: "warning",
                   showCancelButton: false,
                   confirmButtonColor: "#5495ff",
                   confirmButtonText: "OK",
                   closeOnConfirm: false
               }, function(isConfirm){
                   if(isConfirm)
                       swal.close();
                   loadProfile();
                   $("#profile").addClass("active");
                   $("#attendanceMenu").removeClass("active");
               });
            }
          }
        });
        
        return config;
      }
    });
}

function loadIA()
{
    var config = null;
    var FCSUBCODE;
    var conducted;
    var attended;
    var percent;
    var  parameters = "&screen=iamarks";
    var fname, fexamname, fregno, fexamdate, fdegree, fvalmax;
    $.blockUI({ message: "<img src='images/Loading_icon.gif' border='0'>" });
    $.ajax({
      type: 'post',
      url: 'src/iamarks.php',
      data:parameters,
     success: function(response)
      {
        $.unblockUI();
        response = JSON.parse(response);
        if(response.error_code == 0)
        {
          swal({
              title: response.data,
              type: "warning",
              showCancelButton: false,
              confirmButtonColor: "#5495ff",
              confirmButtonText: "OK",
              closeOnConfirm: false
          }, function(isConfirm){
              if(isConfirm)
                  swal.close();
              loadProfile();
              $("#profile").addClass("active");
              $("#IaMarksMenu").removeClass("active"); 
          });
        }else
        { 
          $('#loadtab').load('html_modules/internalAssessment.html?v='+version, function(){

            fcsubcode = response.fcsubcode;
            fsubname = response.fsubname;
            fvalmax = response.fvalmax;
            fmarks = response.fmarks;
            ({ fname, fexamname, fregno, fexamdate, fdegree } = response);
          
            $("#idIAMarksHeader").html(`<h2><center> ${ fexamdate } IA Marks </center></h2>`)        
            /*$("#studinfo").append(`<tr><td width='20%'><b>Reg. No.  </td><td> : ${fregno}
                  </b></td></tr><tr><td width='20%'><b>Student Name  </td><td> : ${fname}
                  </b></td></tr><tr><td width='20%'><b>Degree </td><td> : ${ fdegree }</b></td></tr>
                  <tr><td width='20%'><b>Semester </td><td> : ${ fexamname + " - " +fexamdate }</b></td></tr>`);

  */
            var table = `<table class="m-b-20 table table-condensed table-bordered table-striped table-hover">
                        <tr style = "background-color: #90CAF9 !important;"><th style = "width:8%;"><center>Sl. No.</center></th>
                        <th style = "width:10%;" ><center>Subject Code</center></th>
                        <th><center>Subject Name</center></th>
                        <th style = "width:10%;"><center>Maximum Marks</center></th> 
                        <th style = "width:10%;"><center>Secured Marks</center></th>`;
            for(let i in fcsubcode)
            {

                table += `<tr style = "height:30px;"><td><center>${parseInt(i)+1}</center></td>
                <td><center>${fcsubcode[i]}</center></td>
                <td>${fsubname[i]}</td>
                <td><center>${fvalmax[i]}</center></td>
                <td><center>${fmarks[i]}</center></td></tr>`;
            }
            table += `</table>`;
            $('#ia_table_det').html(table);
        });
       }

      }
    });
}

var alphabet = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];

function romanize (num) {
    if (!+num)
        return NaN;
    var digits = String(+num).split(""),
        key = ["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM",
               "","X","XX","XXX","XL","L","LX","LXX","LXXX","XC",
               "","I","II","III","IV","V","VI","VII","VIII","IX"],
        roman = "",
        i = 3;
    while (i--)
        roman = (key[+digits.pop() + (i * 10)] || "") + roman;
    return Array(+digits.join("") + 1).join("M") + roman;
}


function loadexamtimetable()
{
    var config = null;
    var fqpcode;
    var fdoe;
    var fdescpn;
    var  parameters = "&screen=examtimetable";
    var fname, fexamname, fregno, fexamdate, fdegree, strCentre,rgExamno;
    $.blockUI({ message: "<img src='images/Loading_icon.gif' border='0'>" });
    $.ajax({
      type: 'post',
      url: 'src/examtimetable.php',
      data:parameters,
      success: function(response)
      {
        $.unblockUI();
        response = JSON.parse(response);
       if(response.error_code == 0)
       {
         swal({
              title: 'Exam Time Table Not Available',
              type: "warning",
              showCancelButton: false,
              confirmButtonColor: "#5495ff",
              confirmButtonText: "OK",
              closeOnConfirm: false
          }, function(isConfirm){
              if(isConfirm)
                  swal.close();
              loadProfile();
              $("#profile").addClass("active");
              $("#examTTMenu").removeClass("active");
          });
       }else
       {
         $('#loadtab').load('html_modules/examtimetable.html?v='+version, function()
         {
          fqpcode = response.fqpcode;
          fsubname = response.fsubname;
          fdoe = response.fdoe;
          fdescpn = response.fdescpn;

          ({ fname, fexamname, fregno, fexamdate, fdegree, strCentre,rgExamno } = response);
          
          var romanExam = rgExamno.map((no) => {
            return romanize(alphabet.indexOf(no)+1);
          });

          $("#idExamTTHeader").html(`<h2><center> ${ fexamdate } Time Table</center></h2>`);

          $("#studinfo").append(`
            <tr><td width='20%'><b>Exam Centre </td><td width='2%'> : </td> <td>${ strCentre }</b></td></tr>`);


          var table = `<table class="m-b-20 table table-condensed table-bordered table-striped table-hover">
                      <tr style = "height:40px;background-color: #90CAF9 !important;">
                      <th style = "width:8%;"><center>Sl. No.</center></th>
                      <th><center>Sem.</center></th>
                      <th style = "width:10%;" ><center>QP Code</center></th>
                      <th><center>Subject Name</center></th>
                      <th><center>Exam Date</center></th>
                      <th><center>Time</center></th>
                      </tr>`;
          for(let i in fqpcode)
          {
              //console.log(fdoe[i]);
              table += `<tr style = "height:30px;">
              <td><center>${parseInt(i)+1}</center></td>
              <td><center>${romanExam[i]}</center></td>
              <td><center>${fqpcode[i]}</center></td>
              <td>${fsubname[i]}</td>
              <td>${fdoe[i]}</td>
              <td><center>${fdescpn[i]}</center></td>
              </tr>`;
          }
          table += `</table>`;

          $('#examtimetable_table_det').html(table);
        });
       } 
        
      }
    });
}

function practicaltimetable()
{
    var config = null;
    var fcsubcode;
    var fdoe;
    var fdescpn;

    var  parameters = "&screen=examtimetable";
    var fname, fexamname, fregno, fexamdate, fdegree,exam,centrename,fexamno;
    $.blockUI({ message: "<img src='images/Loading_icon.gif' border='0'>" });
    $.ajax({
      type: 'post',
      url: 'src/practicaltimetable.php',
      data:parameters,
      success: function(response)
      {
        $.unblockUI();
        response = JSON.parse(response);
       if(response.error_code == 0)
       {
         swal({
              title: 'Practical Time Table Not Available',
              type: "warning",
              showCancelButton: false,
              confirmButtonColor: "#5495ff",
              confirmButtonText: "OK",
              closeOnConfirm: false
          }, function(isConfirm){
              if(isConfirm)
                  swal.close();
              loadProfile();
              $("#profile").addClass("active");
              $("#examPttMenu").removeClass("active");
          });
       }else
       {
         $('#loadtab').load('html_modules/practicaltimetable.html?v='+version, function()
         {
          fcsubcode = response.fcsubcode;
          //console.log(fcsubcode);
          fsubname = response.fsubname;
          fexamdate = response.fexamdate;
          //console.log(response.exam);
          exam = response.exam; 
          fexamno = response.fexamno;          
          fexamtime = response.fexamtime; 
          fbatch = response.fbatch;
          fdescpn = response.fdescpn;

          ({ fname, fexamname, fregno, fdegree , centrename } = response);

          /*$("#studinfo").append(`<tr><td width='20%'><b>Reg. No.  </td><td> : ${fregno}
              </b></td></tr><tr><td width='20%'><b>Student Name  </td><td> : ${fname}
              </b></td></tr><tr><td width='20%'><b>Degree </td><td> : ${ fdegree }
              </b></td></tr>`);*/
        var alphabet = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];
            var romanexam = fexamno.map((no) => {
            return romanize(alphabet.indexOf(no)+1);
          });    

            $("#idPrTtHeader").html(`<h2><center> ${ exam } Examination Practical Time Table </center></h2>`);
            $("#studinfo").html(`<tr>
              <td width='20%'><b>Exam Centre </b></td>
              <td width='2%'><b> : </b> </td>
              <td> ${ centrename }</td>
            </tr>`);


          var table = `<table class="m-b-20 table table-condensed table-bordered table-striped table-hover">
                      <tr style = "height:40px;background-color: #90CAF9 !important;">
                      <th style = "width:5%;"><center>Sl. No.</center></th>
                      <th style = "width:5%;"><center>Sem.</center></th>
                      <th style = "width:9%;" ><center>Subject Code</center></th>
                      <th><center>Subject Name</center></th>
                      <th><center>Exam Date</center></th> 
                      <th><center>Exam Time </center></th> 
                      <th><center>Batch</center></th></tr>`;
          for(let i in fcsubcode)
          {
             //console.log(fexamdate[i]);
              table += `<tr style = "height:30px;">
              <td><center>${parseInt(i)+1}</center></td>
              <td><center>${romanexam[i]}</center></td>
              <td><center>${fcsubcode[i]}</center></td>
              <td>${fsubname[i]}</td>
              <td>${fexamdate[i]}</td> 
              <td><center>${fexamtime[i]}</center></td>
              <td><center>${fbatch[i]}</center></td></tr>`;
          }
          table += `</table>`;

          $('#practicaltimetable_table_det').html(table);
        });
       } 
        
      }
    });
}

function loadExamApplication2()
{
  $('#loadtab').load('html_modules/examApplication1.html?v='+version,function(){
    if(UNIVCODE != '038')
    {
      $.ajax({
        type: 'post',
        url: 'src/examapp_iframe.php',
        success: function(response)
        {
          response = JSON.parse(response);
          if(response.status === 'success')
          {
              $('iframe').attr('src',response.url);
          }
          else
          {
            swal({
                title: 'Exam Application Form Blocked',
                type: "warning",
                showCancelButton: false,
                confirmButtonColor: "#5495ff",
                confirmButtonText: "OK",
                closeOnConfirm: false
            }, function(isConfirm){
                if(isConfirm)
                    swal.close();
                loadProfile();
                $("#profile").addClass("active");
                $("#examappmenu").removeClass("active");
            });
          }
        }
      });
    }
    else
    {
      swal({
          title: 'Exam Application Form Not Available',
          type: "warning",
          showCancelButton: false,
          confirmButtonColor: "#5495ff",
          confirmButtonText: "OK",
          closeOnConfirm: false
      }, function(isConfirm){
          if(isConfirm)
              swal.close();
          loadProfile();
          $("#profile").addClass("active");
          $("#examappmenu").removeClass("active");
      });
    }
  }); 
}

function loadExamApplication()
{
	parameters = "&catcode="+$('#catcode').val()+"&feetype="+$('#feetype').val();
}


var examAppJson;
function loadExamApplication1()
{
	$('#loadtab').load('html_modules/examApplication.html?v='+version,function(){
    $.ajax({
      type: 'post',
      url: 'src/examapp.php',
      //data:parameters,
      success: function(response)
      {
        response = JSON.parse(response);
        if(response.status === 'success')
        {
          examAppJson = response;
          //student info table
          $("#studinfo").append("<tr><td width='25%'><b>Reg. No.  </td><td> : "+response.RegNo
              +"</b></td></tr><tr><td width='25%'><b>Student Name  </td><td> : "+response.StudentName
              +"</b></td></tr><tr><td width='25%'><b>Category </td><td> : "+response.Category+"</b></td></tr>");
          var sub_summary = response.sub_summary;
          $("#studinfo").addClass("table-condensed");
          
          for(let i in sub_summary){
            var sem = sub_summary[i];
            //get subject summary 
            $('#subinfo').append('<div id="sub_'+sem.fexamno+'">'+
                '<table id="subject_'+sem.fexamno
                +'" class="m-b-20 table table-condensed table-bordered table-striped table-hover">'
                +appendSubjects(response["subject_"+sem.fexamno], sem.fexamname, sem.fexamno)
                +'</table></div>');
            $('#subinfo').append('<div id="sub_fee_'+sem.fexamno
                +'" class="col-md-6 col-lg-6 col-sm-8 col-xs-12 m-b-20"></div>');
          }
        }
        else
        {

        }
      }
    });
  });
}

function appendFeedetl(fees, examname, examno, freshexam){
  var semhead = "<tr class='bg-blue'><td colspan='2'>"+examname+" Fees</td></tr>";
  var feeheads = "<tr><th>Feeheads</th><th>Amount</th></tr>";
  feerows = "";
  var totfee = 0;
  var subnum = $("#sub_"+examno).find(":checkbox:checked").length;
  for(var i in fees){
    fee = fees[i];
    var rowfee = parseInt(fee.O_FFEE*subnum);
    if(rowfee <= parseInt(fee.FMAXFEE)){
      totfee += rowfee;
    }
    else{
      totfee += parseInt(fee.FMAXFEE);
      rowfee = parseInt(fee.FMAXFEE);
    }
    feerows += "<tr>";
    feerows += "<td>"+fee.FHEADCODE+"</td>";
    feerows += "<td>"+rowfee+"</td>";
    feerows += "</tr>";
    
  }
  feerows += "<tr class='bg-grey'>";
  feerows += "<td>Total</td>";
  feerows += "<td>"+totfee+"</td>";
  feerows += "</tr>";
  //console.log(feerows);
  return semhead+feeheads+feerows;
}

var subjects_for_fee ={};

function calculateFee(examno){
  //get concerned examname from exam no
  var freshexam = examAppJson['ffreshexam'];
  var sub_summary = examAppJson['sub_summary'].
                  filter(function(el){
                      return el.fexamno == examno;
                  });
  var examname = sub_summary.pop().fexamname;
  $('#sub_fee_'+examno).html('<table id="fees_'+examno
          +'" class="col-md-6 col-lg-6 col-sm-8 col-xs-12 m-b-20 table table-condensed table-bordered table-striped table-hover">'
          +appendFeedetl(examAppJson["subject_"+examno].fees,examname,examno,freshexam)
          +'</table>');
}

function appendSubjects(subjects,examname,examno){
    var semhead = "<tr class='bg-blue'><td colspan='3'>"+examname+"</td></tr>";
    var subheads = "<tr><th width='12%' style='text-align:center;'>Sub. Code</th><th>Description</th><th width='12%'>Pass Mth.</th></tr>";
    var subrows = "";
    var fees = subjects['fees'];
    var subarr = new Array();
    var j = 0;
    for(var i in subjects){
        sub = subjects[i];
        if(subjects[i] === subjects['fees']){
            continue;
        }
        subrows += "<tr>";
        subrows += "<td style='text-align:center;'>"+sub.FSUBCODE+"</td>";
        subrows += "<td>"+sub.FSUBNAME+"</td>";
        if(sub.FPASSMTH == ""){
            subrows += "<td><input type='checkbox' onChange=\"calculateFee('"+examno+"')\" class='filled-in chk-col-light-blue' id='"
                +sub.FSUBCODE+"'/><label for='"
                +sub.FSUBCODE+"'></label></td>";
            subarr[j] =  sub.FSUBCODE;
            j++;
        }else {
            subrows += "<td>"+sub.FPASSMTH+"</td>";
        }
        subrows += "</tr>";
    }
    subjects_for_fee[examno] = subarr;
    return semhead+subheads+subrows;
}


function loadApplyRVRT()
{
	$('#loadtab').load('html_modules/applyrvrt.html?v='+version);
}

function loadNotifications()
{
	$('#loadtab').load('html_modules/notifications.html?v='+version);
}

function loadEvents()
{
	$('#loadtab').load('html_modules/events.html?v='+version);
}