<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
    <%@page import="com.csc.library.utility.DHMConvert" %>
    <%@page import="java.util.ArrayList" %>
    <%@page import="java.util.Iterator" %>
    <%@page import="java.util.Vector" %>
    <%@page import="java.util.*" %>
    <%@page import="com.csc.library.report.ReportUDF" %>
    <%@page import="javax.servlet.jsp.jstl.sql.Result" %>
    <%@page import="java.io.FileOutputStream" %>
    <%@page import="java.io.OutputStream" %>
    <%@page import="java.io.ByteArrayOutputStream" %>
    <%@page import="java.net.URLDecoder" %>
    <%@page import="java.text.DecimalFormat" %>
    <%@page import="java.net.URLEncoder" %>
    <%@page import="java.util.HashMap" %>
    <%@page import="java.text.SimpleDateFormat" %>
    <%@page import="java.util.Locale" %>
    <%@page import="java.util.Date" %>
    <%@page import="java.util.GregorianCalendar" %>
    <%@page import="com.csc.library.database.DataSet" %>
    <%@page import="com.csc.library.session.InitialInquiry" %>
    <%@page import="com.csc.library.session.InitialRecord" %>
    <%@page import="com.csc.library.session.DbInquiry" %>
    <%@page import="com.csc.library.session.DbRecord" %>
    <%@page import="com.csc.library.entry.HelpEntry" %>
    <%@page import="com.itextpdf.text.*" %>
    <%@page import="com.itextpdf.text.pdf.*" %>
    <%@page import="java.io.ByteArrayOutputStream" %>
    <%@page import="com.csc.library.session.InitialEnvironment" %>
    <%@page import="java.io.File" %>
    <%@page import="org.json.JSONArray" %>
    <%@page import="org.json.JSONObject" %>
    <%@page import="com.csc.library.utilities.*" %>
    <%@ page import="com.csc.library.databean.Simmapplicantwithgson" %>
    <%@ page import="com.csc.library.database.MyHashMap" %>
    <%@ page import="com.csc.library.utilities.gsonmapping.*" %>

    <jsp:useBean id="ApplicantPrint_CHATRIUM" class="com.csc.library.system.Task" scope="page"/>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8"/>
    <title>Report</title>
    </head>
    <body>
    <%
    ApplicantPrint_CHATRIUM.setChannel(request, response);
    HelpEntry screen = (HelpEntry) ApplicantPrint_CHATRIUM.process("HelpEntry", "MAPPLICANTHELP");
    CheckNull chk = new CheckNull();
    String filter = "APPLICANTID = '" + chk.chkNullString(request.getParameter("appid")) + "'";
    //    filter = "1=2";
    screen.setMaxLine(1);
    screen.inq.setFilter(filter);
    screen.process();
    ByteArrayOutputStream baos = new ByteArrayOutputStream();//72
    Document document = new Document(PageSize.A4, 28, 28, 40, 0);// Left,Right,Top,Down
    float[] sizeColumn = new float[]{};

    //   PdfWriter.getInstance(document, baos);
    PdfWriter writer = PdfWriter.getInstance(document, baos);
    // add header and footer

    document.open();
    document.addTitle("Document Title");

    // Setting Fonts
    BaseFont bfWithFontAWesome = BaseFont.createFont(application.getRealPath("fonts/FontAwesome.otf"), BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
    BaseFont bf = BaseFont.createFont(application.getRealPath("fonts/Cordia.ttf"), BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
    BaseFont bfHead = BaseFont.createFont(application.getRealPath("fonts/Tahoma.ttf"), BaseFont.IDENTITY_H, BaseFont.EMBEDDED, true);

    BaseFont bf2 = BaseFont.createFont(application.getRealPath("fonts/Cordia.ttf"), BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

    Font font = new Font(bf, 11);
    Font fontTopic = new Font(bfHead, 13);  
    Font fontHead = new Font(bfHead, 13, Font.BOLD);
    Font fontHeadWhiteColor = new Font(bfHead, 12, Font.BOLD, new BaseColor(255, 255, 255));
    fontHead.setStyle(Font.BOLD);
    Font fontContent = new Font(bfHead, 10);
    Font fontContent01 = new Font(bfHead, 9);
    Font fontBoldContent = new Font(bfHead, 11, Font.BOLD);
    Font fontTitle = new Font(bfHead, 20, Font.BOLD);
    fontTitle.setStyle(Font.BOLD);
    Font fontAwesome = new Font(bfWithFontAWesome, 10);
    //setfonts
    Font font_C18B = new Font(bfHead, 18, Font.BOLD);
    Font font_C16B = new Font(bfHead, 16, Font.BOLD);
    Font font_C14B = new Font(bfHead, 14,Font.BOLD);
    Font font_C13B = new Font(bfHead, 13,Font.BOLD);
    Font font_C13N = new Font(bfHead, 13);
    Font font_C12B = new Font(bfHead, 12,Font.BOLD);
    Font font_C12N = new Font(bfHead, 12);
    Font font_C10B = new Font(bfHead, 10,Font.BOLD);
    Font font_C10N = new Font(bfHead, 10);
    Font font_C09N = new Font(bfHead, 9);
    Font font_C08B = new Font(bfHead, 8,Font.BOLD);
    Font font_C08N = new Font(bfHead, 8);
    Font linebreak = new Font(bfHead, 1);
    // set vlign middle
    String[] text2 = new String[2];
    Phrase content = new Phrase(new Chunk("",linebreak));
    Float fontSize = content.getFont().getSize();
    Float capHeight = content.getFont().getBaseFont().getFontDescriptor(BaseFont.CAPHEIGHT, fontSize);

    boolean hasData = false;
    if (screen.getInquiry().recCount() > 0) {
      hasData = true;
      screen.nextRec();
      screen.referLangOn();
      DbInquiry dbinq = null;
      int i = 0;
      
      Simmapplicantwithgson simmapplicantwithgson = (Simmapplicantwithgson) screen.inq.getCurrentDbRecord();
      // ----------------------------prefix------------------------------------
      String prefixTDesc = "";
      String prefixEDesc = "";
      String Sim_prefixID = simmapplicantwithgson.mapplicantPersonal.prefixid;
      DbInquiry inqmprefix = new InitialInquiry(screen.getUProfile()).getDbInquiry("mprefix");
      inqmprefix.setFilter("prefixid = '"+Sim_prefixID+"'");
      inqmprefix.refresh();
      while(inqmprefix.next()){
       // inqmprefix.referLangOn();
        prefixTDesc = inqmprefix.getString("tdesc");
        prefixEDesc = inqmprefix.getString("edesc");
      }
      String FullnameThai = prefixTDesc + simmapplicantwithgson.mapplicantPersonal.fname.tha + "   " + simmapplicantwithgson.mapplicantPersonal.lname.tha;
      String FullnameEng = prefixEDesc + simmapplicantwithgson.mapplicantPersonal.fname.eng + "   " + simmapplicantwithgson.mapplicantPersonal.lname.eng;
      String NickameThai = simmapplicantwithgson.mapplicantPersonal.nickname.tha ;
      String NickameEng = simmapplicantwithgson.mapplicantPersonal.nickname.eng ;
      //----------------------------END prefix------------------------------------

      //------------------------------------age------------------------------------
      String age_memployee = "";
      CscCalendar startDate = new CscCalendar( chk.chkNullString(simmapplicantwithgson.mapplicantPersonal.birthdate.substring(0,10),"2100-12-31"));
      CscCalendar endDate = new CscCalendar();
      CountAge count = new CountAge(screen.getUProfile().get("lang"));
      age_memployee = chk.chkNullString(count.getCountAges(startDate,endDate,true),"0");
      //------------------------------------end age------------------------------------
      //----------------------------SourceJOB------------------------------------
      String sourcejobDesc = "";
      String Sim_sourcejobID = "";
      if(simmapplicantwithgson.mapplicantOther.sourcejob.equals(null)||simmapplicantwithgson.mapplicantOther.sourcejob.equals("")){
        Sim_sourcejobID = "0";
      }
      else{
        Sim_sourcejobID = simmapplicantwithgson.mapplicantOther.sourcejob;
      }
      DbInquiry inqmsourcejob = new InitialInquiry(screen.getUProfile()).getDbInquiry("msourcejob");
      inqmsourcejob.setFilter("sourcejobid = '" + Sim_sourcejobID + "'");
      inqmsourcejob.refresh();
      while (inqmsourcejob.next()) {
        sourcejobDesc = inqmsourcejob.getString("tdesc");
      }
        String job_from =  chk.chkNullString(simmapplicantwithgson.mapplicantOther.sourcejob," ");
        String sourcejobExplain  = chk.chkNullString(simmapplicantwithgson.mapplicantOther.sourcejobExplain," ");
        String typejobfrom = "";
        String str_job_from0 = "";
        String str_job_from2 = "";
        String str_job_from3 = "";
        if (job_from.equalsIgnoreCase("2") || job_from.equalsIgnoreCase("3") ||job_from.equalsIgnoreCase("4") ||job_from.equalsIgnoreCase("5") ||job_from.equalsIgnoreCase("326") ){
          typejobfrom = "0";
          str_job_from0 =  sourcejobExplain;
        }
        //Career Fair
        else if(job_from.equalsIgnoreCase("7")){
          typejobfrom = "1";
        } 
        //Friend to Friend
        else if(job_from.equalsIgnoreCase("327")){
          typejobfrom = "2";
          str_job_from2 =  sourcejobExplain;
        }
        //line,Walk In,Facebook,Other"'6','8','10','9'"
        else if (job_from.equalsIgnoreCase("6") ||job_from.equalsIgnoreCase("8") ||job_from.equalsIgnoreCase("9") ||job_from.equalsIgnoreCase("10") ){
          typejobfrom = "3";
         
          if(job_from.equalsIgnoreCase("9")){
            str_job_from3 =  sourcejobExplain;
          }
          else{
            str_job_from3 =  sourcejobExplain;
          }
        }
      //----------------------------END SourceJOB------------------------------------
      //----------------------------national------------------------------------
      String nationaldesc = "";
      String Sim_nationalID = "";
      if(simmapplicantwithgson.mapplicantPersonal.nationalityid.equals(null) || simmapplicantwithgson.mapplicantPersonal.nationalityid.equals("")){
        Sim_nationalID = "0";
      }
      else{
        Sim_nationalID = simmapplicantwithgson.mapplicantPersonal.nationalityid;
      }
      DbInquiry inqmnational = new InitialInquiry(screen.getUProfile()).getDbInquiry("mnational");
      inqmnational.setFilter("nationalid = '" + Sim_nationalID + "'");
      inqmnational.refresh();

      while (inqmnational.next()) {
        inqmnational.referLangOn();
        nationaldesc = inqmnational.getString("tdesc");        
      }
      //----------------------------END national------------------------------------

      //----------------------------nationality------------------------------------
      String nationalityDesc = "";
      String Sim_nationalityID = "";    
      if(simmapplicantwithgson.mapplicantPersonal.nationalityid.equals(null)){
        Sim_nationalityID = "0";
      }
      else{
        Sim_nationalityID = simmapplicantwithgson.mapplicantPersonal.raceid;
      }

      DbInquiry inqMnationality = new InitialInquiry(screen.getUProfile()).getDbInquiry("Mnationality");
      inqMnationality.setFilter("nationalityid = '" + Sim_nationalityID + "'");
      inqMnationality.refresh();
      while (inqMnationality.next()) {
        inqMnationality.referLangOn();
        nationalityDesc = inqMnationality.getString("tdesc");      
      }
      //----------------------------END nationality------------------------------------

      // ----------------------------religion------------------------------------
      String religionDesc = "";
      String Sim_religionID = "";
      if(simmapplicantwithgson.mapplicantPersonal.religionid.equals(null)){
        Sim_religionID = "0";
      }
      else{
        Sim_religionID = simmapplicantwithgson.mapplicantPersonal.religionid;
      }
      DbInquiry inqmreligion = new InitialInquiry(screen.getUProfile()).getDbInquiry("mreligion");
      inqmreligion.setFilter("religionid = '"+Sim_religionID+"'");
      inqmreligion.refresh();
      while(inqmreligion.next()){
        inqmreligion.referLangOn();
        religionDesc = inqmreligion.getString("tdesc");
      }
      //----------------------------END religion------------------------------------

      //----------------------------SETDATA CONTACT ------------------------------------
      StringBuilder sc = new StringBuilder();
      sc.append(simmapplicantwithgson.mapplicantContact.current.addr);
      if (!simmapplicantwithgson.mapplicantContact.home.moo.equalsIgnoreCase("-")) {
        sc.append(" หมู่ " + simmapplicantwithgson.mapplicantContact.home.moo);
      }
      sc.append(" ถนน " + simmapplicantwithgson.mapplicantContact.home.road);
      //----------------------------END CONTACT------------------------------------
      //----------------------------SETDATA EDUCATION------------------------------------
      MyHashMap educationbackground = new MyHashMap();
      String[] masterdegree = {"1", "2", "3","4", "5", "6", "7", "8", "9","10","11"};
      String degreeDesc = " ";
      String majorDesc = " ";
      for (String degreekey : masterdegree) {
        educationbackground.put("name" + degreekey, " ");
        educationbackground.put("from" + degreekey, " ");
        educationbackground.put("to" + degreekey, " ");
        educationbackground.put("degree" + degreekey, " ");
        educationbackground.put("major" + degreekey, " ");
        educationbackground.put("gpa" + degreekey, " ");
      }
      DbInquiry inqdegree = new InitialInquiry(screen.getUProfile()).getDbInquiry("mdegree");
      DbInquiry inqmajor = new InitialInquiry(screen.getUProfile()).getDbInquiry("mmajor");
      for (MapplicantEducation.Education education : simmapplicantwithgson.mapplicantEducation.education) {    
        if (education.university.universitylist == null) {
          educationbackground.put("name" + education.degreetype,  chk.chkNullString(education.university.searchtext," "));
        } else {
          educationbackground.put("name" + education.degreetype,  chk.chkNullString(education.university.universitylist.name.tha," "));
        }
        if (education.major.majorlist == null) {
          educationbackground.put("major" + education.degreetype, chk.chkNullString(education.major.searchtext," "));
        }else {
          educationbackground.put("major" + education.degreetype, chk.chkNullString(education.major.majorlist.name.tha," "));
        }
        educationbackground.put("from" + education.degreetype,chk.chkNullString(education.yearstart.toString()," "));
        educationbackground.put("to" + education.degreetype, chk.chkNullString(education.yearend.toString()," "));
        educationbackground.put("gpa" + education.degreetype,chk.chkNullString(education.gpa.toString()," "));
        inqdegree.setFilter("degreeid = '" + education.degreetype + "'");
        inqdegree.refresh();
        while (inqdegree.next()) {
         degreeDesc = inqdegree.getString("tdesc");
        }
        educationbackground.put("degree" + education.degreetype,degreeDesc);
     }


      //----------------------------SET DATA Family------------------------------------
      //01 father ,02 mother ,03 Spouse's name ,99 emergency
      String son = chk.chkNullString(simmapplicantwithgson.mapplicantPersonal.children.sons,"0");
      String daughter = chk.chkNullString(simmapplicantwithgson.mapplicantPersonal.children.daughters,"0");
      int ChildAll = Integer.valueOf(son) + Integer.valueOf(daughter);
      MyHashMap familybackground = new MyHashMap();
        String[] masterrelations = {"01", "02", "03" ,"04", "05", "06" ,"07", "08", "09" ,"10", "11", "12" ,"99"};
      String occupationDesc = "";
      String relationDesc = "";
      String line = "";
      int childtotal = 0;
      int relativetotal = 0;
      for (String relatationkey : masterrelations) {
            familybackground.put("fname" + relatationkey, " ");
            familybackground.put("lname" + relatationkey, " ");
            familybackground.put("age" + relatationkey, " ");
            familybackground.put("relation" + relatationkey, " ");
            familybackground.put("occupation" + relatationkey, " ");
            familybackground.put("position" + relatationkey, " ");

        }
      DbInquiry inqoccupation = new InitialInquiry(screen.getUProfile()).getDbInquiry("moccupation");
      DbInquiry inqrelation = new InitialInquiry(screen.getUProfile()).getDbInquiry("mrelation");
    
      for (MapplicantFamily.Family family : simmapplicantwithgson.mapplicantFamily.family) {
        inqoccupation.setFilter("occid = '" + family.occupation+ "'");
        inqoccupation.refresh();
        while (inqoccupation.next()) {
          inqoccupation.referLangOn();
          occupationDesc = inqoccupation.getString("tdesc");
        }

        inqrelation.setFilter("relationid = '" + family.relation+ "'");
        inqrelation.refresh();
        while (inqrelation.next()) {
          inqrelation.referLangOn();
          relationDesc = inqrelation.getString("tdesc");
        }
            familybackground.put("fname" + family.relation, chk.chkNullString(family.fname," "));
            familybackground.put("lname" + family.relation, chk.chkNullString(family.lname," "));
            familybackground.put("age" + family.relation, chk.chkNullString(family.age," "));
            familybackground.put("occupation" + family.relation, chk.chkNullString(occupationDesc," "));
            familybackground.put("relation" +  family.relation, chk.chkNullString(relationDesc," "));
            familybackground.put("position" + family.relation, chk.chkNullString(family.position," "));
            familybackground.put("status" + family.relation, chk.chkNullString(family.status," "));
      }

      //----------------------------END Family------------------------------------
      //----------------------------SET DATA Family LOOP VERTION ไม่จับจาก MASTERRELATIONS------------------------------------
      MyHashMap familybg = new MyHashMap();
      MyHashMap family_child = new MyHashMap();
      String occupationDesc2 = "";
      String relationDesc2 = "";
      String degreeDesc2 = "";
      int loopbs = 0;
      int loopson = 0;
      for (int loopRelation = 0; loopRelation <= 20; loopRelation++) {
            familybg.put("fname" + loopRelation, " ");
            familybg.put("lname" + loopRelation, " ");
            familybg.put("age" + loopRelation, " ");
            familybg.put("relation" + loopRelation, " ");
            family_child.put("fname" + loopRelation, " ");
            family_child.put("lname" + loopRelation, " ");
            family_child.put("age" + loopRelation, " ");
            family_child.put("relation" + loopRelation, " ");
        }
      DbInquiry inqrelation2 = new InitialInquiry(screen.getUProfile()).getDbInquiry("mrelation");
      
      for (MapplicantFamily.Family family : simmapplicantwithgson.mapplicantFamily.family) {
        if(("05 06 07 08").indexOf(family.relation) > -1){ 
              familybg.put("fname" + loopbs, chk.chkNullString(family.fname," "));
              familybg.put("lname" + loopbs, chk.chkNullString(family.lname," "));
              familybg.put("age" + loopbs, chk.chkNullString(family.age," "));          
              loopbs++;
        }
        if(("04 09 10 11 12").indexOf(family.relation) > -1){ 
              family_child.put("fname" + loopson, chk.chkNullString(family.fname," "));
              family_child.put("lname" + loopson, chk.chkNullString(family.lname," "));
              family_child.put("age" + loopson, chk.chkNullString(family.age," "));          
              loopson++;
        }
      }
      //----------------------------END Family LOOP VERTION ไม่จับจาก MASTERRELATIONS------------------------------------
      //----------------------------SETDATA COM REFERENCE ------------------------------------
       MyHashMap comreference = new MyHashMap();
      int roundcomreference = 0;
      for (int referencekey = 0; referencekey <= 5; referencekey++){
        comreference.put("name" + referencekey, " ");
        comreference.put("lname" + referencekey, " ");
      } 

   for (MapplicantOther.Referee_group ref_group : simmapplicantwithgson.mapplicantOther.referee_group) {
        comreference.put("name" + roundcomreference, chk.chkNullString(ref_group.name," "));
        comreference.put("lname" + roundcomreference,chk.chkNullString( ref_group.lname," "));
        roundcomreference++;
      }
     //----------------------------END COM REFERENCE-----------------------------------------
      DecimalFormat DFO = new DecimalFormat("#,###,###");
      DecimalFormat DFO_ietls = new DecimalFormat("#,###.##");
      //----------------------------SETDATA Skill ------------------------------------
      MyHashMap hmlangskill = new MyHashMap();
      //MyHashMap masterskilllevel = new MyHashMap();
      int langskillloop = 0;

      for(int initlangskill = 0; initlangskill <= 4; initlangskill++){
        hmlangskill.put("skillNameTdesc"+initlangskill, " ");
        hmlangskill.put("skillNameEdesc"+initlangskill, " ");
        hmlangskill.put("reading"+initlangskill, " ");
        hmlangskill.put("write"+initlangskill, " ");
        hmlangskill.put("speak"+initlangskill, " ");
        hmlangskill.put("listen"+initlangskill, " ");
        hmlangskill.put("remark"+initlangskill, " ");
        hmlangskill.put("searchtext"+initlangskill, " ");
        hmlangskill.put("skillName"+initlangskill, " ");
      }
/*
      DbInquiry inqskilllevel = new InitialInquiry(screen.getUProfile()).getDbInquiry("mskilllevel");
      inqskilllevel.refresh();
      while(inqskilllevel.next()) {
        masterskilllevel.put(inqskilllevel.getString("skilllevelid"),inqskilllevel.getString("tdesc"));
      }
      */
      
  //    DbInquiry inqlangskill = new InitialInquiry(screen.getUProfile()).getDbInquiry("mlanguage");
      for (MapplicantSkill.Langskill langskill : simmapplicantwithgson.mapplicantSkill.langskill) {
   /*     inqlangskill.setFilter("languageid = '"+langskill.name+"'");
        inqlangskill.refresh();

        while(inqlangskill.next()) {
          inqlangskill.referLangOff();
          hmlangskill.put("skillNameTdesc"+langskillloop, inqlangskill.getString("tha"));
          hmlangskill.put("skillNameEdesc"+langskillloop, inqlangskill.getString("eng"));
        }
*/
        if(langskill.langskilllist ==null){
          hmlangskill.put("skillNamSearchtext"+langskillloop, chk.chkNullString(langskill.searchtext," "));
          hmlangskill.put("skillName"+langskillloop, hmlangskill.get("skillNamSearchtext"+langskillloop));
        }
        else{
          hmlangskill.put("skillNameTdesc"+langskillloop, chk.chkNullString(langskill.langskilllist.name.tha," "));
          hmlangskill.put("skillNameEdesc"+langskillloop, chk.chkNullString(langskill.langskilllist.name.eng," "));
          hmlangskill.put("skillName"+langskillloop, hmlangskill.get("skillNameEdesc"+langskillloop) +" / "+hmlangskill.get("skillNameTdesc"+langskillloop));
        }
    
        hmlangskill.put("reading"+langskillloop, chk.chkNullString(langskill.skill.reading," "));
        hmlangskill.put("write"+langskillloop, chk.chkNullString(langskill.skill.write," "));
        hmlangskill.put("speak"+langskillloop, chk.chkNullString(langskill.skill.speak," "));
        hmlangskill.put("listen"+langskillloop, chk.chkNullString(langskill.skill.listen," "));
        hmlangskill.put("remark"+langskillloop, chk.chkNullString(langskill.skill.remark," "));
        langskillloop++;
      }
     
      //----------------------------End Skill ----------------------------------------
   
      //----------------------------Check Overtime & Work_country ----------------------------------------
        Boolean chk_overtime =simmapplicantwithgson.mapplicantOther.overtime.status;
        Boolean chk_workup_country =simmapplicantwithgson.mapplicantOther.workupcountry;
        String overtime="";
        if(chk_overtime == null)
        { overtime = "1";}
        else if(chk_overtime != null){
              if(chk_overtime)
              { overtime = "0";}
              else
              { overtime = "2";}
        }
        String workup_country="";
         if(chk_workup_country == null)
        { workup_country = "1";}
        else if(chk_workup_country != null){
              if(chk_workup_country)
              { workup_country = "0";}
              else
              { workup_country = "2";}
        }
      //----------------------------END Overtime & Work_country ----------------------------------------
      //----------------------------BLOOD ----------------------------------------
          String chk_blood  = simmapplicantwithgson.mapplicantPersonal.blood;

      //----------------------------JSONArray hobbies ----------------------------------------
      JSONArray hobbiesAry = new JSONArray(simmapplicantwithgson.mapplicantSkill.hobbies);
      String hobbieList = "";

      for (int hobbiesloop = 0 ; hobbiesloop < hobbiesAry.length() ; hobbiesloop++) {
        hobbieList += hobbiesAry.getString(hobbiesloop);
          if(hobbiesloop + 1 < hobbiesAry.length()){
              hobbieList += ",";
          }
      }
      //----------------------------END JSONArray hobbies ----------------------------------------
      //----------------------------JSONArray sport ----------------------------------------
      JSONArray sportAry = new JSONArray(simmapplicantwithgson.mapplicantSkill.sport);
      String sportList = "";

      for (int sportloop = 0 ; sportloop < sportAry.length() ; sportloop++) {
        sportList += sportAry.getString(sportloop);
          if(sportloop + 1 < sportAry.length()){
              sportList += ",";
          }
      }
      //----------------------------END JSONArray sport ----------------------------------------
      //----------------------------JSONArray sport ----------------------------------------
      JSONArray expertiseAry = new JSONArray(simmapplicantwithgson.mapplicantSkill.expertise);
      String expertiseList = "";

      for (int expertiseloop = 0 ; expertiseloop < expertiseAry.length() ; expertiseloop++) {
        expertiseList += expertiseAry.getString(expertiseloop);
          if(expertiseloop + 1 < expertiseAry.length()){
              expertiseList += ",";
          }
      }
      //----------------------------END JSONArray sport ----------------------------------------
      //----------------------------SETDATA JOPEXP------------------------------------
      MyHashMap jobexp = new MyHashMap();
      int roundjobexp = 0;
      for (int jobexpkey = 0; jobexpkey <= 5; jobexpkey++){
        jobexp.put("companyname_job" + jobexpkey, "");
        jobexp.put("start" + jobexpkey, "");
        jobexp.put("end" + jobexpkey, "");
        jobexp.put("title" + jobexpkey, "");
        jobexp.put("salary" + jobexpkey, "");
        jobexp.put("reason" + jobexpkey, "");
        jobexp.put("phone" + jobexpkey, "");
        jobexp.put("position" + jobexpkey , "");
        jobexp.put("description" + jobexpkey , "");
        jobexp.put("addr" + jobexpkey , "");
        jobexp.put("natureBusiness" + jobexpkey , "");
        jobexp.put("supervisorName" + jobexpkey , "");
        
      }
      for (MapplicantJobexp.Job job : simmapplicantwithgson.mapplicantJobexp.job) {

        jobexp.put("companyname_job" + roundjobexp,chk.chkNullString(job.companyname," "));
        jobexp.put("start" + roundjobexp,new CscCalendar(chk.chkNullString(job.start," ").toString().substring(0,10)).getDDMMYYYY().replaceAll("-","/"));
        jobexp.put("end" + roundjobexp, new CscCalendar(chk.chkNullString(job.end," ").toString().substring(0,10)).getDDMMYYYY().replaceAll("-","/"));
        jobexp.put("title" + roundjobexp, chk.chkNullString(job.title," "));
        jobexp.put("salary" + roundjobexp, chk.chkNullString(job.salary," "));
        jobexp.put("reason" + roundjobexp, chk.chkNullString(job.reason," "));
        jobexp.put("phone" + roundjobexp, chk.chkNullString(job.phone," "));
        jobexp.put("present" + roundjobexp, job.present);
        jobexp.put("description" + roundjobexp,chk.chkNullString( job.description," "));
        jobexp.put("natureBusiness" + roundjobexp,chk.chkNullString( job.natureBusiness," "));
        jobexp.put("supervisorName" + roundjobexp,chk.chkNullString( job.supervisorName," "));
          jobexp.put("addr" + roundjobexp,chk.chkNullString( 
          chk.chkNullString( "ห้องที่ " + job.roomNo.toString(),"")  +" "+
          chk.chkNullString( "ชั้น " +  job.floor.toString(),"")  +" "+
          chk.chkNullString( "อาคาร " +  job.village.toString(),"")  +" "+
          chk.chkNullString( "เลขที่ " +  job.addr.toString(),"") +" "+
          chk.chkNullString( "ซอย " +  job.soi,"") +" "+
          chk.chkNullString( "หมู่ที่ " +  job.moo.toString(),"") +" "+
          chk.chkNullString( "ถนน " +  job.road,"")+" "+
          job.district   +" "+
          job.zipcode.disname.tha   +" "+
          job.zipcode.proname.tha    +" "+
          job.zipcode.zipid   
          ," "
          ));
        if(job.allowances != null) {
          jobexp.put("position" + roundjobexp, job.allowances.position);
        } 
        roundjobexp++;
      }
      //  new CscCalendar(jobexp.get("end2").toString().substring(0,10)).getDDMMYYYY()
      //----------------------------END JOPEXP------------------------------------

      //----------------------------SETDATA REFERENCE ------------------------------------
      MyHashMap familyreference = new MyHashMap();
      int roundreference = 0;

      for (int referencekey = 0; referencekey <= 5; referencekey++){
        familyreference.put("name" + referencekey, "");
        familyreference.put("jobtitle" + referencekey, "");
        familyreference.put("dept" + referencekey, "");
        familyreference.put("companyname" + referencekey, "");
        familyreference.put("phone" + referencekey, "");
        familyreference.put("collaborate" + referencekey, "");
        familyreference.put("relations" + referencekey, "");

      }
      for (MapplicantFamily.Reference reference : simmapplicantwithgson.mapplicantFamily.reference) {
        familyreference.put("name" + roundreference, chk.chkNullString(reference.name," "));
        familyreference.put("jobtitle" + roundreference, chk.chkNullString(reference.jobtitle," "));
        familyreference.put("dept" + roundreference, chk.chkNullString(reference.dept," "));
        familyreference.put("companyname" + roundreference, chk.chkNullString(reference.companyname," "));
        familyreference.put("phone" + roundreference, chk.chkNullString(reference.phone," "));
        familyreference.put("collaborate" + roundreference, chk.chkNullString(reference.collaborate," "));
        familyreference.put("relations" + roundreference, chk.chkNullString(reference.relations," "));
        roundreference++;
      }
      //----------------------------END REFERENCE-----------------------------------------
      //----------------------------SETDATA REFERENCE ------------------------------------
      MyHashMap jobexp_training = new MyHashMap();
      int roundtraining = 1;

      for (int trainingkey = 1; trainingkey <= 5; trainingkey++){
        jobexp_training.put("certificate" + trainingkey, "");
        jobexp_training.put("name" + trainingkey, "");
        jobexp_training.put("by" + trainingkey, "");
        jobexp_training.put("start" + trainingkey, "");
        jobexp_training.put("end" + trainingkey, "");
      }
      for (MapplicantJobexp.Training training : simmapplicantwithgson.mapplicantJobexp.training) {
        jobexp_training.put("certificate" + roundtraining, chk.chkNullString(training.certificate," "));
        jobexp_training.put("name" + roundtraining, chk.chkNullString(training.name," "));
        jobexp_training.put("by" + roundtraining, chk.chkNullString(training.by," "));
        jobexp_training.put("start" + roundtraining, chk.chkNullString(new CscCalendar(training.start.toString().substring(0,10)).getYYYYMMDD()," "));
        jobexp_training.put("end" + roundtraining,chk.chkNullString(new CscCalendar(training.end.toString().substring(0,10)).getYYYYMMDD()," "));
        roundtraining++;
      }
      String countday_training1 = String.valueOf( new CscCalendar(jobexp_training.get("start1").toString()).countDay(jobexp_training.get("end1").toString()))+ " วัน";
      String countday_training2 = String.valueOf( new CscCalendar(jobexp_training.get("start2").toString()).countDay(jobexp_training.get("end2").toString())) + " วัน";
      String countday_training3 = String.valueOf( new CscCalendar(jobexp_training.get("start3").toString()).countDay(jobexp_training.get("end3").toString())) + " วัน";

    //----------------------------END REFERENCE-----------------------------------------

    //----------------------------End Jobrouter ----------------------------------------
    try {
      CscCalendar calendar = new CscCalendar();
      GregorianCalendar gc = new GregorianCalendar();
      boolean langthai = screen.getUProfile().get("lang").equalsIgnoreCase("THA");
      String reportname = "", printdate = "", printby = "", refer = "RTA2007";
      String reportname_label = "", printdate_label = "", prdate = "", refer_label = "";
      if (langthai) {
      reportname_label = "รายงาน :";
      reportname = "รายงานข้อมูลพนักงาน";
      printdate_label = "วันที่พิมพ์ :";
      prdate = calendar.getDDMMYYYY();
      printdate = "วัน" + calendar.getLongThiDOW() + "ที่ " + calendar.getDate() + " " + calendar.getThaiLongMonth() + " พ.ศ. " + calendar.getThaiYYYY() + " " + calendar.getHHMM() + " น.";
      printby = screen.getUProfile().get("tfullname");
      refer_label = "อ้างอิง #";
      } else {
      reportname_label = "Report Name :";
      reportname = "Personal Report";
      printdate_label = "Print Date :";
      printby = screen.getUProfile().get("efullname");
      refer_label = "Ref #";
    }

    // --------------- new line -----------------
      sizeColumn = new float[]{20.0f,60.0f,20.0f};
      PdfPTable detailHeader = new PdfPTable(3);
      detailHeader.setWidthPercentage(100);
      detailHeader.setWidths(sizeColumn);
      PdfPCell cellDetail;
      Image img = null;
      
      //Image logo= new Image(ImageDataFactory.create(IMG));
      setPaddingTop(1.0f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(4.5f);

      DbInquiry mcom = new InitialInquiry(screen.getUProfile()).getDbInquiry("mcompany");
      mcom.setColumn("logo");
      mcom.setFilter("companyid='100'");
      mcom.refresh();
      mcom.next();

      try{
        img = Image.getInstance(getImagePath("RECRUIT_UPLOAD-dir","PICTURE/",simmapplicantwithgson.mapplicantPersonal.imgname,"DEFAULTPERSON.jpg"));
        img.scaleToFit(80, 100);
     //   cellDetail = new PdfPCell(img, true);
     //   cellDetail.setHorizontalAlignment(Element.ALIGN_CENTER);
     //   cellDetail.setVerticalAlignment (Element.ALIGN_MIDDLE);
     //   cellDetail.setFixedHeight(80);
     //   cellDetail.setBorder(Rectangle.NO_BORDER);
        img.setAbsolutePosition(480f, 700f);
     //   detailHeader.addCell(cellDetail);
           }
      catch (Exception e) {
        detailHeader.addCell(getCellData("NO PIC", font_C16B, "", "CENTER", "MIDDLE", 1, 5));
      } 
      document.add(img);
      try{
        img = Image.getInstance(getImagePath("COMPANY_UPLOAD-dir","LOGO/",mcom.getString("logo"),"DEFAULTPERSON.jpg"));
        img.scaleToFit(150, 150);
     //   cellDetail = new PdfPCell(img, true);
     //   cellDetail.setHorizontalAlignment(Element.ALIGN_CENTER);
     //   cellDetail.setVerticalAlignment (Element.ALIGN_MIDDLE);
     //   cellDetail.setFixedHeight(80);
     //   cellDetail.setBorder(Rectangle.NO_BORDER);
        img.setAbsolutePosition(25f, 650f);
     //   detailHeader.addCell(cellDetail);
           }
      catch (Exception e) {
        detailHeader.addCell(getCellData("NO PIC", font_C16B, "", "CENTER", "MIDDLE", 1, 5));
      } 
      document.add(img);
      Rectangle rect= new Rectangle(570,650,25,280); // you can resize rectangle     
      rect.enableBorderSide(1);
      rect.enableBorderSide(2);
      rect.enableBorderSide(4);
      rect.enableBorderSide(8);
      rect.setBorderColor(BaseColor.BLACK);
      rect.setBorderWidth(1);  
      document.add(rect); 
      rect = new Rectangle(570,245,25,50); // you can resize rectangle     
      rect.enableBorderSide(1);
      rect.enableBorderSide(2);
      rect.enableBorderSide(4);
      rect.enableBorderSide(8);
      rect.setBorderColor(BaseColor.BLACK);
      rect.setBorderWidth(1);  
      document.add(rect); 
      // --------------- new line -----------------
      String dateavailable = simmapplicantwithgson.mapplicantPersonal.dateavailable.substring(0,10);
      String dateavailable2 = new CscCalendar(dateavailable).getD() +" "+new CscCalendar(dateavailable).getEngLongMonth()+" "+new CscCalendar(dateavailable).getEngYYYY();
      sizeColumn = new float[]{25.0f,20.0f,30.0f,15.0f};
      PdfPTable detail = new PdfPTable(4);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(7.5f);
      setPaddingLeft(10.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(3.5f);
      detail.addCell(getCellData(" ", font_C10N, "", "LEFT", "MIDDLE", 1, 8));
      detail.addCell(getCellData("1st Position Applied :", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(langthai? screen.getString("MJOBCODE", "TDESC"):screen.getString("MJOBCODE", "EDESC"), font_C10N, "R_BOTTOM", "CENTER", "TOP", 1, 1,true,false));
      detail.addCell(getCellData(" ", font_C10N, "", "LEFT", "MIDDLE", 1, 8));
      setPaddingTop(3.5f);
      detail.addCell(getCellData("ตำแหน่งที่สมัคร", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));
      detail.addCell(getCellData("2nd Position Applied", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(" ", font_C10N, "R_BOTTOM", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData("ตำแหน่งที่สมัคร", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));
      detail.addCell(getCellData("Expected Salary", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
       //!!! if Salary NO data
      if(screen.getString("MAPPLICANT","SALARY_EXPECT").length() == 0){
        detail.addCell(getCellData("  ", font_C10N, "R_BOTTOM", "CENTER", "MIDDLE", 1, 1));
      }
      else{
      String Salary_Expect = screen.getString("MAPPLICANT","SALARY_EXPECT").replaceAll(",","");
      detail.addCell(getCellData(DFO.format(Integer.valueOf(Salary_Expect)).toString() + "  บาท", font_C10N, "R_BOTTOM", "CENTER", "TOP", 1, 1,true,false));
      } 
      detail.addCell(getCellData("เงินเดือนที่ต้องการ", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));
      detail.addCell(getCellData("Commencement Date :", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(dateavailable2, font_C10N, "R_BOTTOM", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData("วันที่สามารถเริ่มงานได้", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));
      document.add(detail);
      // --------------- new line -----------------
      String prefix  = simmapplicantwithgson.mapplicantPersonal.prefixid;
      sizeColumn = new float[]{11.0f,14.0f,30.0f,10.0f,10.0f};
      detail = new PdfPTable(5);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(20.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(3.5f);


      detail.addCell(getCellData("Name (English):", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      Chunk Chu0 = new Chunk("/",font_C12N);
      Chunk Chu1 = new Chunk("Mr.",font_C12N);
      Chunk Chu2 = new Chunk("Mrs.",font_C12N);
      Chunk Chu3 = new Chunk("Ms.",font_C12N);
      if(prefix.equalsIgnoreCase("01")){
        Chu1.setUnderline(0.1f, -2f);
      }
      else if(prefix.equalsIgnoreCase("02")){
        Chu2.setUnderline(0.1f, -2f);
      }
      else if(prefix.equalsIgnoreCase("03")){
        Chu3.setUnderline(0.1f, -2f);
      }
      content = new Phrase();
      content.add(Chu1);
      content.add(Chu0);
      content.add(Chu2);
      content.add(Chu0);
      content.add(Chu3);
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      detail.addCell(getCellData(FullnameEng, font_C10N, "R_BOTTOM", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Nick Name:", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(NickameEng, font_C10N, "R_BOTTOM", "CENTER", "TOP", 1, 1,true,false));
      setPaddingTop(3.5f);
      detail.addCell(getCellData("ชื่อ (ภาษาไทย)", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      Chu0 = new Chunk("/",font_C12N);
      Chu1 = new Chunk("นาย",font_C12N);
      Chu2 = new Chunk("นาง",font_C12N);
      Chu3 = new Chunk("นางสาว",font_C12N);
      if(prefix.equalsIgnoreCase("01")){
        Chu1.setUnderline(0.1f, -2f);
      }
      else if(prefix.equalsIgnoreCase("02")){
        Chu2.setUnderline(0.1f, -2f);
      }
      else if(prefix.equalsIgnoreCase("03")){
        Chu3.setUnderline(0.1f, -2f);
      }
      content = new Phrase();
      content.add(Chu1);
      content.add(Chu0);
      content.add(Chu2);
      content.add(Chu0);
      content.add(Chu3);

      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
    //  detail.addCell(getCellData("นาย/นาง/นางสาว", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(FullnameThai, font_C10N, "R_BOTTOM", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData("ชื่อเล่น :", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(NickameThai, font_C10N, "R_BOTTOM", "CENTER", "TOP", 1, 1,true,false));
      document.add(detail);
       
      // --------------- new line -----------------
      String zipcode = simmapplicantwithgson.mapplicantContact.home.zipcode.zipid;
      String provinceid = simmapplicantwithgson.mapplicantContact.home.zipcode.provinceid;
      String districtid = simmapplicantwithgson.mapplicantContact.home.zipcode.districtid;
      DbInquiry zipname = new InitialInquiry(screen.getUProfile()).getDbInquiry("mzipcode");
      DbInquiry provincename = new InitialInquiry(screen.getUProfile()).getDbInquiry("mprovince");
      DbInquiry districtname = new InitialInquiry(screen.getUProfile()).getDbInquiry("mdistrict");
      zipname.putChild(provincename);
      zipname.putChild(districtname);
      zipname.setFilter("zipcode = '"+zipcode+"' and provinceid = '"+provinceid+"'and districtid = '"+districtid+"'");
      //zipname.setFilter("zipcode = '10240' and provinceid = 'TH10'and districtid = 'TH1006'");
      zipname.refresh();
      zipname.next();
      provinceid = zipname.getString("mprovince","long_tname");
      districtid = zipname.getString("mdistrict","tdesc");

      String addr = " "+simmapplicantwithgson.mapplicantContact.home.addr;
      String moo = " หมู่  "+simmapplicantwithgson.mapplicantContact.home.moo;
      String soi = " ซ."+simmapplicantwithgson.mapplicantContact.home.soi;
      String road = " ถนน "+simmapplicantwithgson.mapplicantContact.home.road;
      String subdistrict = " "+simmapplicantwithgson.mapplicantContact.home.district;
      boolean disname = simmapplicantwithgson.mapplicantContact.home.zipcode.disname!=null?true:false;
      String disname2 = disname?" "+simmapplicantwithgson.mapplicantContact.home.zipcode.disname.tha:" "+districtid;
      boolean proN = simmapplicantwithgson.mapplicantContact.home.zipcode.proname!=null?true:false;
      String proname2 = disname?" "+simmapplicantwithgson.mapplicantContact.home.zipcode.proname.tha:" "+provinceid;

      String zipid = " "+simmapplicantwithgson.mapplicantContact.home.zipcode.zipid;
      String homeAddr = addr+moo+soi+road+subdistrict+disname2+proname2+zipid;
      sizeColumn = new float[]{18.0f,82.0f};
      detail = new PdfPTable(2);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(7.5f);
      setPaddingBottom(3.5f);
      detail.addCell(getCellData("Current Address :", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(homeAddr, font_C10N, "R_BOTTOM", "LEFT", "TOP", 1, 1,true,false));
      setPaddingTop(0.5f);
      setPaddingBottom(0.5f);
      detail.addCell(getCellData("ที่อยู่ตามทะเบียนบ้าน :", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));
      document.add(detail);
      // --------------- new line ----------------
      String residenceid = simmapplicantwithgson.mapplicantPersonal.residenceid;
      sizeColumn = new float[]{22.5f,1.5f,6.5f,1.5f,6.5f,1.5f,10.0f,1.5f,7.0f};
      detail = new PdfPTable(9);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(10.5f);
      setPaddingBottom(10.5f);
      detail.addCell(getCellData("The current residence is ที่อยู่ปัจจุบันเป็นบ้าน", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(residenceid.equals("1")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "LEFT", "TOP", 1, 1,true,false));
      detail.addCell(getCellData("Own/ส่วนตัว", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(residenceid.equals("2")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "LEFT", "TOP", 1, 1,true,false));
      detail.addCell(getCellData("Rented/เช่า", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(residenceid.equals("3")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "LEFT", "TOP", 1, 1,true,false));
      detail.addCell(getCellData("Parent's/บิดามารดา", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(residenceid.equals("4")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "LEFT", "TOP", 1, 1,true,false));
      detail.addCell(getCellData("Other's/ผู้อื่น", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      document.add(detail);
 // --------------- new line ----------------
      sizeColumn = new float[]{20.0f,30.0f,20.0f,30.0f};
      detail = new PdfPTable(4);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(0.5f);
      setPaddingBottom(3.5f);
      detail.addCell(getCellData("Date of Birth", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData( new CscCalendar(simmapplicantwithgson.mapplicantPersonal.birthdate.substring(0, 10)).getDDMMYYYY().replaceAll("-","/"), font_C10N, "R_BOTTOM", "CENTER", "TOP", 1, 1,true,false));
      detail.addCell(getCellData("Telephone(House:)", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(simmapplicantwithgson.mapplicantContact.current.number, font_C10N, "R_BOTTOM", "CENTER", "TOP", 1, 1,true,false));
      detail.addCell(getCellData("วัน เดือน ปีเกิด", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));
      detail.addCell(getCellData("โทรษศัพท์ที่อยู่ปัจจุบัน", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));

      detail.addCell(getCellData("Age :", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(age_memployee.substring(0,2) + " years old", font_C10N, "R_BOTTOM", "CENTER", "TOP", 1, 1,true,false));
      detail.addCell(getCellData("Mobile Phone:", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(simmapplicantwithgson.mapplicantContact.phone, font_C10N, "R_BOTTOM", "CENTER", "TOP", 1, 1,true,false));
      detail.addCell(getCellData("อายุ", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));
      detail.addCell(getCellData("โทรศัพท์มือถือ", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));

      detail.addCell(getCellData("Place of Birth :", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(simmapplicantwithgson.mapplicantPersonal.birthplace, font_C10N, "R_BOTTOM", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Telephone(Office):", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(jobexp.get("present0") == null?" ":" "+jobexp.get("phone0").toString(), font_C10N, "R_BOTTOM", "CENTER", "TOP", 1, 1,true,false));
      detail.addCell(getCellData("สถานที่เกิด", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));
      detail.addCell(getCellData("โทรศัพท์ที่ทำงาน", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));

      detail.addCell(getCellData("Religion :", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(religionDesc, font_C10N, "R_BOTTOM", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Nationality :", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(nationalityDesc, font_C10N, "R_BOTTOM", "CENTER", "TOP", 1, 1,true,false));
      detail.addCell(getCellData("ศาสนา", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));
      detail.addCell(getCellData("เชื้อชาติ", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));

      detail.addCell(getCellData("Blood Type :", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(simmapplicantwithgson.mapplicantPersonal.blood, font_C10N, "R_BOTTOM", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Citizenship :", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(nationaldesc, font_C10N, "R_BOTTOM", "CENTER", "TOP", 1, 1,true,false));
      detail.addCell(getCellData("หมู่เลือด", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));
      detail.addCell(getCellData("สัญชาติ", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));

      detail.addCell(getCellData("Weight :", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(simmapplicantwithgson.mapplicantPersonal.weight, font_C10N, "R_BOTTOM", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData("ID.Card No. :", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(simmapplicantwithgson.mapplicantPersonal.identification.iden_number, font_C10N, "R_BOTTOM", "CENTER", "TOP", 1, 1,true,false));
      detail.addCell(getCellData("น้ำหนัก", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));
      detail.addCell(getCellData("หมายเลขบัตรประชาชน", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));

      detail.addCell(getCellData("Height :", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(simmapplicantwithgson.mapplicantPersonal.height, font_C10N, "R_BOTTOM", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Activities /Hobbies :", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(expertiseList+","+hobbieList, font_C10N, "R_BOTTOM", "CENTER", "TOP", 1, 1,true,false));
      detail.addCell(getCellData("ส่วนสูง", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));
      detail.addCell(getCellData("กิจกรรม / งานอดิเรก", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));
      document.add(detail);
 // --------------- new line -----------------
      String personal_status1 = simmapplicantwithgson.mapplicantPersonal.status;      
      sizeColumn = new float[]{12.0f,3.0f,10.0f,3.0f,10.0f,3.0f,10.0f,3.0f,10.0f};
      detail = new PdfPTable(9);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(7.5f);
      setPaddingBottom(3.5f);
      detail.addCell(getCellData("Status /สถานภาพ :", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(personal_status1.equalsIgnoreCase("S")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "RIGHT", "TOP", 1, 1,true,false));
      detail.addCell(getCellData("Single/ โสด", font_C10N, "NO", "LEFT", "TOP", 1, 1,true,false));
      detail.addCell(getCellData(personal_status1.equalsIgnoreCase("M")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "RIGHT", "TOP", 1, 1,true,false));
      detail.addCell(getCellData("Married/ แต่งงาน", font_C10N, "NO", "LEFT", "TOP", 1, 1,true,false));
      detail.addCell(getCellData(personal_status1.equalsIgnoreCase("D")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "RIGHT", "TOP", 1, 1,true,false));
      detail.addCell(getCellData("Divorced/ หย่า", font_C10N, "NO", "LEFT", "TOP", 1, 1,true,false));
      detail.addCell(getCellData(personal_status1.equalsIgnoreCase("W")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "RIGHT", "TOP", 1, 1,true,false));
      detail.addCell(getCellData("Widow/ หม้าย", font_C10N, "NO", "LEFT", "TOP", 1, 1,true,false));
      document.add(detail);
 // --------------- new line -----------------
      String military_status = simmapplicantwithgson.mapplicantPersonal.military.status; 
      sizeColumn = new float[]{13.0f,3.0f,10.0f,3.0f,10.0f,3.0f,15.0f,10.0f};
      detail = new PdfPTable(8);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(7.5f);
      setPaddingBottom(3.5f);
      detail.addCell(getCellData("Military Service :", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(military_status.equalsIgnoreCase("1")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "RIGHT", "TOP", 1, 1,true,false));
      detail.addCell(getCellData("Ever", font_C10N, "NO", "LEFT", "TOP", 1, 1,true,false));
      detail.addCell(getCellData(military_status.equalsIgnoreCase("2")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "RIGHT", "TOP", 1, 1,true,false));
      detail.addCell(getCellData("Never", font_C10N, "NO", "LEFT", "TOP", 1, 1,true,false));

      detail.addCell(getCellData(military_status.equalsIgnoreCase("3")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "RIGHT", "TOP", 1, 1,true,false));
      detail.addCell(getCellData("Exempted, reason", font_C10N, "NO", "LEFT", "TOP", 1, 1,true,false));
      detail.addCell(getCellData(simmapplicantwithgson.mapplicantPersonal.military.excempt, font_C10N, "R_BOTTOM", "CENTER", "MIDDLE", 1, 1));
      setPaddingTop(3.5f);
      setPaddingBottom(20.5f);
      detail.addCell(getCellData("การรับราชการทหาร", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));
      detail.addCell(getCellData("เคยรับแล้ว", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));
      detail.addCell(getCellData("ยังไม่เคยรับ", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));
      detail.addCell(getCellData("ได้รับการยกเว้นเพราะ", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(" ", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      document.add(detail);
      // --------------- new line -----------------
      sizeColumn = new float[]{100.0f};
      detail = new PdfPTable(1);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(5.5f);
      setPaddingLeft(0.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(10.5f);
      detail.addCell(getCellData("FAMILY INFORMATION / รายละเอียดเกี่ยวกับครอบครัว", font_C12B, "NO", "LEFT", "MIDDLE", 1, 1));
      document.add(detail);
      // --------------- new line -----------------
      sizeColumn = new float[]{13.0f,18.0f,3.0f,5.0f,6.0f,11.0f};
      detail = new PdfPTable(6);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(10.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(3.5f);
      setPaddingTop(0.5f);
      detail.addCell(getCellData("Father's Name-Surname", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(familybackground.get("fname01").toString() + "  " + familybackground.get("lname01").toString(), font_C10N, "R_BOTTOM", "CENTER", "TOP", 1, 1,true,false));
      detail.addCell(getCellData("Age", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(familybackground.get("age01").toString(), font_C10N, "R_BOTTOM", "CENTER", "TOP", 1, 1,true,false));
      detail.addCell(getCellData("Occupation", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(familybackground.get("occupation01").toString(), font_C10N, "R_BOTTOM", "CENTER", "TOP", 1, 1,true,false));

      detail.addCell(getCellData("ชื่อ-นามสกุลบิดา", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));
      detail.addCell(getCellData("อายุ", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));
      detail.addCell(getCellData("อาชีพ", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));

      setPaddingTop(3.5f);
      detail.addCell(getCellData("Mother's Name-Surname", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(familybackground.get("fname02").toString() + "  " + familybackground.get("lname02").toString(), font_C10N, "R_BOTTOM", "CENTER", "TOP", 1, 1,true,false));
      detail.addCell(getCellData("Age", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(familybackground.get("age02").toString(), font_C10N, "R_BOTTOM", "CENTER", "TOP", 1, 1,true,false));
      detail.addCell(getCellData("Occupation", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(familybackground.get("occupation02").toString(), font_C10N, "R_BOTTOM", "CENTER", "TOP", 1, 1,true,false));
      setPaddingTop(0.5f);
      detail.addCell(getCellData("ชื่อ-นามสกุลมารดา", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));
      detail.addCell(getCellData("อายุ", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));
      detail.addCell(getCellData("อาชีพ", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));

      setPaddingTop(3.5f);
      detail.addCell(getCellData("Spouse's Name-Surname", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(familybackground.get("fname03").toString() + "  " + familybackground.get("lname03").toString(), font_C10N, "R_BOTTOM", "CENTER", "TOP", 1, 1,true,false));
      detail.addCell(getCellData("Age", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(familybackground.get("age03").toString(), font_C10N, "R_BOTTOM", "CENTER", "TOP", 1, 1,true,false));
      detail.addCell(getCellData("Occupation", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(familybackground.get("occupation03").toString(), font_C10N, "R_BOTTOM", "CENTER", "TOP", 1, 1,true,false));
      setPaddingTop(0.5f);
      detail.addCell(getCellData("ชื่อ-นามสกุลคู่สมรส", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));
      detail.addCell(getCellData("อายุ", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));
      detail.addCell(getCellData("อาชีพ", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));

      document.add(detail);
      // --------------- new line -----------------
      sizeColumn = new float[]{30.0f,10.0f,10.0f,30.0f,10.0f,10.0f};
      detail = new PdfPTable(6);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(10.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(3.5f);
      
      detail.addCell(getCellData("Number of children", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(String.valueOf(loopson), font_C10N, "R_BOTTOM", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData("persons", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Number of brother and sister", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(String.valueOf(loopbs), font_C10N, "R_BOTTOM", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData("persons", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      setPaddingTop(3.5f);
      detail.addCell(getCellData("จำนวนบุตร", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));
      detail.addCell(getCellData("คน", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("จำนวนพี่น้อง", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));
      detail.addCell(getCellData("คน", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Children's Name-Surname / ชื่อ-นามสกุลบุตร", font_C10N, "NO", "LEFT", "MIDDLE", 3, 1));
      detail.addCell(getCellData("Brother and Sister's Name-Surname / ชื่อ-นามสกุลพีน้อง", font_C10N, "NO", "LEFT", "MIDDLE", 3, 1));
      document.add(detail);

      // --------------- new line -----------------
      String bs_name0 = familybg.get("fname0").toString() + " " +familybg.get("lname0").toString();
      String bs_name1 = familybg.get("fname1").toString() + " " +familybg.get("lname1").toString();
      String bs_age0 = familybg.get("age0").toString() ;
      String bs_age1 = familybg.get("age1").toString() ;

      String child_name0 = family_child.get("fname0").toString() + " " +family_child.get("lname0").toString();
      String child_name1 = family_child.get("fname1").toString() + " " +family_child.get("lname1").toString();
      String child_age0 = family_child.get("age0").toString() ;
      String child_age1 = family_child.get("age1").toString() ;

      sizeColumn = new float[]{3.0f,20.0f,10.0f,5.0f,10.0f ,3.0f,20.0f,10.0f,5.0f,10.0f};
      detail = new PdfPTable(10);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);

      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(3.5f);
      setPaddingTop(5.5f);
      detail.addCell(getCellData("1.", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(child_name0, font_C10N, "R_BOTTOM", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Age/อายุ", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(child_age0, font_C10N, "R_BOTTOM", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData("ปี", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("1.", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(bs_name0, font_C10N, "R_BOTTOM", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Age/อายุ", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(bs_age0, font_C10N, "R_BOTTOM", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData("ปี", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      setPaddingTop(3.5f);
      detail.addCell(getCellData("2.", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(child_name1, font_C10N, "R_BOTTOM", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Age/อายุ", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(child_age1, font_C10N, "R_BOTTOM", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData("ปี", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("2.", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(bs_name1, font_C10N, "R_BOTTOM", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Age/อายุ", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(bs_age1, font_C10N, "R_BOTTOM", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData("ปี", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      document.add(detail);

      // Page 2 --------------- new line -----------------
      document.newPage();

      rect= new Rectangle(570,765,25,595); // you can resize rectangle     
      rect.enableBorderSide(1);
      rect.enableBorderSide(2);
      rect.enableBorderSide(4);
      rect.enableBorderSide(8);
      rect.setBorderColor(BaseColor.BLACK);
      rect.setBorderWidth(1);  
      document.add(rect); 
      rect= new Rectangle(570,585,25,415); // you can resize rectangle     
      rect.enableBorderSide(1);
      rect.enableBorderSide(2);
      rect.enableBorderSide(4);
      rect.enableBorderSide(8);
      rect.setBorderColor(BaseColor.BLACK);
      rect.setBorderWidth(1);  
      document.add(rect); 
      rect= new Rectangle(570,405,25,235); // you can resize rectangle     
      rect.enableBorderSide(1);
      rect.enableBorderSide(2);
      rect.enableBorderSide(4);
      rect.enableBorderSide(8);
      rect.setBorderColor(BaseColor.BLACK);
      rect.setBorderWidth(1);  
      document.add(rect); 
      rect= new Rectangle(570,225,25,55); // you can resize rectangle     
      rect.enableBorderSide(1);
      rect.enableBorderSide(2);
      rect.enableBorderSide(4);
      rect.enableBorderSide(8);
      rect.setBorderColor(BaseColor.BLACK);
      rect.setBorderWidth(1);  
      document.add(rect); 

      sizeColumn = new float[]{100.0f};
      detail = new PdfPTable(1);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(0.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(3.5f);
      detail.addCell(getCellData("EMPLOYMENT HISTORY (Please list by starting form your present job) / ประวัติการทำงาน (กรุณาเรียงจากบริษัทล่าสุด)", font_C10B, "NO", "LEFT", "MIDDLE", 1, 1));
      document.add(detail);
    for(int jl = 0;jl < 4; jl++){
      // --------------- new line -----------------
      sizeColumn = new float[]{15.0f,38.0f,12.0f,15.0f,10.0f,11.0f};
      detail = new PdfPTable(6);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(30.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(3.5f);
      detail.addCell(getCellData("Position/ตำแหน่ง", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(" "+jobexp.get("title"+jl).toString(), font_C10N, "R_BOTTOM", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("From/จาก", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(" "+jobexp.get("start"+jl).toString(), font_C10N, "R_BOTTOM", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Until/ถึง", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(jobexp.get("present"+jl) == null?" ":jobexp.get("end"+jl).toString(), font_C10N, "R_BOTTOM", "LEFT", "MIDDLE", 1, 1));
      document.add(detail);
      // --------------- new line -----------------
      sizeColumn = new float[]{25.0f,40.0f,20.0f,15.0f};
      detail = new PdfPTable(4);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(3.5f);
      detail.addCell(getCellData("Company's Name/ชื่อบริษัท", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(" "+jobexp.get("companyname_job"+jl).toString(), font_C10N, "R_BOTTOM", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Telephone/โทรศัพท์", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(" "+jobexp.get("phone"+jl).toString(), font_C10N, "R_BOTTOM", "LEFT", "MIDDLE", 1, 1));
      document.add(detail);
      // --------------- new line -----------------
      sizeColumn = new float[]{13.0f,87.0f};
      detail = new PdfPTable(2);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(3.5f);
      detail.addCell(getCellData("Address/ที่อยู่:", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1,false,false));
      detail.addCell(getCellData(" "+jobexp.get("addr"+jl).toString(), font_C09N, "R_BOTTOM", "LEFT", "TOP", 1, 1,false,false));
      document.add(detail);
      // --------------- new line -----------------
      sizeColumn = new float[]{30.0f,28.0f,29.0f,20.0f};
      detail = new PdfPTable(4);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(3.5f);
      detail.addCell(getCellData("Nature of Business/ประเภทธุรกิจ:", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(" "+jobexp.get("natureBusiness"+jl).toString(), font_C10N, "R_BOTTOM", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Name of Supervisor/ชื่อหัวหน้า", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(" "+jobexp.get("supervisorName"+jl).toString(), font_C10N, "R_BOTTOM", "LEFT", "MIDDLE", 1, 1));
      document.add(detail);
      // --------------- new line -----------------
      sizeColumn = new float[]{30.0f,8.0f,40.0f,8.0f,10.0f};
      detail = new PdfPTable(5);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(3.5f);
      detail.addCell(getCellData("Commencing Salary/เงินเดือน:", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(" "+jobexp.get("salary"+jl).toString(), font_C10N, "R_BOTTOM", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Baht/บาท Service Charge/Allowance/ค่าเบี้ยเลี้ยง", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(" ", font_C10N, "R_BOTTOM", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Baht/บาท", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      document.add(detail);
      // --------------- new line -----------------
      sizeColumn = new float[]{50.0f,50.0f};
      detail = new PdfPTable(2);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(3.5f);
      detail.addCell(getCellData("Describe your responsibilities/รายละเอียดงานที่รับผิดชอบ", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(" "+jobexp.get("description"+jl).toString(), font_C10N, "R_BOTTOM", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(" ", font_C10N, "R_BOTTOM", "LEFT", "MIDDLE", 2, 1));
      document.add(detail);
      // --------------- new line -----------------
      sizeColumn = new float[]{35.0f,65.0f};
      detail = new PdfPTable(2);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(3.5f);
      detail.addCell(getCellData("Reason for leaving/เหตุผลในการลาออก", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(" "+jobexp.get("reason"+jl).toString(), font_C10N, "R_BOTTOM", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(" ", font_C10N, "R_BOTTOM", "LEFT", "MIDDLE", 2, 1));
      document.add(detail);
      }
            // --------------- new line -----------------
      document.newPage();
      sizeColumn = new float[]{100.0f};
      detail = new PdfPTable(1);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(10.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(10.5f);
      detail.addCell(getCellData("EDUCATION & DEELOPMENT / การศึกษาและการพัฒนา", font_C12B, "NO", "LEFT", "MIDDLE", 1, 1));
      document.add(detail);
    // --------------- new line ----------------- 
      String fromto11 = "";
      String fromto10 = "";
      String fromto9 = "";
      String fromto8 = "";
      String fromto7 = "";
      String fromto6 = "";
      String fromto5 = "";
      String fromto3 = "";
      String fromto2 = "";
      String fromto1 = "";
       if(!educationbackground.get("from11").equals(" ") || !educationbackground.get("to11").equals(" ") ){
        fromto9 = educationbackground.get("from11").toString()+" / "+educationbackground.get("to11").toString();
      }if(!educationbackground.get("from10").equals(" ") || !educationbackground.get("to10").equals(" ") ){
        fromto9 = educationbackground.get("from10").toString()+" / "+educationbackground.get("to10").toString();
      }if(!educationbackground.get("from9").equals(" ") || !educationbackground.get("to9").equals(" ") ){
        fromto9 = educationbackground.get("from9").toString()+" / "+educationbackground.get("to9").toString();
      }if(!educationbackground.get("from8").equals(" ") || !educationbackground.get("to8").equals(" ") ){
        fromto8 = educationbackground.get("from8").toString()+" / "+educationbackground.get("to8").toString();
      }if(!educationbackground.get("from7").equals(" ") || !educationbackground.get("to7").equals(" ") ){
        fromto7 = educationbackground.get("from7").toString()+" / "+educationbackground.get("to7").toString();
      }if(!educationbackground.get("from6").equals(" ") || !educationbackground.get("to6").equals(" ") ){
        fromto7 = educationbackground.get("from6").toString()+" / "+educationbackground.get("to6").toString();
      }if(!educationbackground.get("from5").equals(" ") || !educationbackground.get("to5").equals(" ") ){
        fromto5 = educationbackground.get("from5").toString()+" / "+educationbackground.get("to5").toString();
      }if(!educationbackground.get("from3").equals(" ") || !educationbackground.get("to3").equals(" ") ){
        fromto3 = educationbackground.get("from3").toString()+" / "+educationbackground.get("to3").toString();
      }if(!educationbackground.get("from2").equals(" ") || !educationbackground.get("to2").equals(" ") ){
        fromto2 = educationbackground.get("from2").toString()+" / "+educationbackground.get("to2").toString();
      }if(!educationbackground.get("from1").equals(" ") || !educationbackground.get("to1").equals(" ") ){
        fromto1 = educationbackground.get("from1").toString()+" / "+educationbackground.get("to1").toString();
      }
      sizeColumn = new float[]{22.0f,30.0f,15.0f,20.0f,15.0f,10.0f};
      detail = new PdfPTable(6);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingBottom(3.5f);
      content = new Phrase();
      content.add(new Chunk("Level of Education\n",font_C10N));
      content.add(new Chunk("ระดับการศึกษา",font_C10N));
      detail.addCell(getCellData2( content, "", "CENTER", "TOP",  1,  1) );
      content = new Phrase();
      content.add(new Chunk("Name of Institutions\n",font_C10N));
      content.add(new Chunk("สถาบันการศึกษา",font_C10N));
      detail.addCell(getCellData2( content, "", "CENTER", "TOP",  1,  1) );
      content = new Phrase();
      content.add(new Chunk("From/ To\n",font_C10N));
      content.add(new Chunk("จาก/ ถึง",font_C10N));
      detail.addCell(getCellData2( content, "", "CENTER", "TOP",  1,  1) );
      content = new Phrase();
      content.add(new Chunk("Degree/Certificate\n",font_C10N));
      content.add(new Chunk("วุฒิการศึกษา",font_C10N));
      detail.addCell(getCellData2( content, "", "CENTER", "TOP",  1,  1) );
      content = new Phrase();
      content.add(new Chunk("Major Subject\n",font_C10N));
      content.add(new Chunk("วิชาเอก",font_C10N));
      detail.addCell(getCellData2( content, "", "CENTER", "TOP",  1,  1) );
      content = new Phrase();
      content.add(new Chunk("GPA\n",font_C10N));
      content.add(new Chunk("เกรด",font_C10N));
      detail.addCell(getCellData2( content, "", "CENTER", "TOP",  1,  1) );
      setPaddingTop(3.5f);
      setPaddingBottom(3.5f);

      content = new Phrase();
      content.add(new Chunk("Primary School \n",font_C10N));
      content.add(new Chunk("ประถมศึกษา",font_C10N));
      detail.addCell(getCellData2( content, "", "LEFT", "TOP",  1,  1) );
      detail.addCell(getCellData(educationbackground.get("name11").toString()+"\n"+educationbackground.get("name10").toString(), font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(fromto11+"\n"+fromto10, font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(educationbackground.get("degree11").toString()+"\n"+educationbackground.get("degree10").toString(), font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(educationbackground.get("major11").toString()+"\n"+educationbackground.get("major10").toString(), font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(educationbackground.get("gpa11").toString()+"\n"+educationbackground.get("gpa10").toString(), font_C10N, "", "CENTER", "MIDDLE", 1, 1));

      content = new Phrase();
      content.add(new Chunk("Secondary School \n",font_C10N));
      content.add(new Chunk("มัธยมศึกษา",font_C10N));
      detail.addCell(getCellData2( content, "", "LEFT", "TOP",  1,  1) );
      detail.addCell(getCellData(educationbackground.get("name9").toString()+"\n"+educationbackground.get("name8").toString(), font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(fromto9+"\n"+fromto8, font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(educationbackground.get("degree9").toString()+"\n"+educationbackground.get("degree8").toString(), font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(educationbackground.get("major9").toString()+"\n"+educationbackground.get("major8").toString(), font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(educationbackground.get("gpa9").toString()+"\n"+educationbackground.get("gpa8").toString(), font_C10N, "", "CENTER", "MIDDLE", 1, 1));

 
      content = new Phrase();
      content.add(new Chunk("Vocational\n",font_C10N));
      content.add(new Chunk("อาชีวศึกษา",font_C10N));
      detail.addCell(getCellData2( content, "", "LEFT", "TOP",  1,  1) );
      detail.addCell(getCellData(educationbackground.get("name7").toString()+"\n"+educationbackground.get("name6").toString()+"\n"+educationbackground.get("name5").toString(), font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(fromto7+"\n"+fromto6+"\n"+fromto5, font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(educationbackground.get("degree7").toString()+"\n"+educationbackground.get("degree6").toString()+"\n"+educationbackground.get("degree5").toString(), font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(educationbackground.get("major7").toString()+"\n"+educationbackground.get("major6").toString()+"\n"+educationbackground.get("major5").toString(), font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(educationbackground.get("gpa7").toString()+"\n"+educationbackground.get("gpa6").toString()+"\n"+educationbackground.get("gpa5").toString(), font_C10N, "", "CENTER", "MIDDLE", 1, 1));

      content = new Phrase();
      content.add(new Chunk("University\n",font_C10N));
      content.add(new Chunk("มหาวิทยาลัย",font_C10N));
      detail.addCell(getCellData2( content, "", "LEFT", "TOP",  1,  1) );
      detail.addCell(getCellData(educationbackground.get("name3").toString()+"\n"+educationbackground.get("name2").toString()+"\n"+educationbackground.get("name1").toString(), font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(fromto3+"\n"+fromto2+"\n"+fromto1, font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(educationbackground.get("degree3").toString()+"\n"+educationbackground.get("degree2").toString()+"\n"+educationbackground.get("degree1").toString(), font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(educationbackground.get("major3").toString()+"\n"+educationbackground.get("major2").toString()+"\n"+educationbackground.get("major1").toString(), font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(educationbackground.get("gpa3").toString()+"\n"+educationbackground.get("gpa2").toString()+"\n"+educationbackground.get("gpa1").toString(), font_C10N, "", "CENTER", "MIDDLE", 1, 1));
      document.add(detail);
      // --------------- new line -----------------
      sizeColumn = new float[]{100.0f};
      detail = new PdfPTable(1);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(10.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(10.5f);
      detail.addCell(getCellData("OTHER TRAINING COURSE / การฝึกอบรมอื่นๆ", font_C12B, "NO", "LEFT", "MIDDLE", 1, 1));
      document.add(detail);
       // --------------- new line -----------------

      sizeColumn = new float[]{40.0f,40.0f,20.0f};
      detail = new PdfPTable(3);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(10.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(3.5f);
      detail.addCell(getCellData("Name of Institutions \n สถานศึกษา", font_C12B, "", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Program / ชื่อหลักสูตร", font_C12B, "", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Period / ระยะเวลา (เดือน / ปี)", font_C12B, "", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData(jobexp_training.get("by1").toString(), font_C10N, "", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData(jobexp_training.get("name1").toString(), font_C10N, "", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData(jobexp_training.get("name1").toString().equalsIgnoreCase("")?" ":countday_training1, font_C10N, "", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData(jobexp_training.get("by2").toString(), font_C10N, "", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData(jobexp_training.get("name2").toString(), font_C10N, "", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData(jobexp_training.get("name2").toString().equalsIgnoreCase("")?" ":countday_training2, font_C10N, "", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData(jobexp_training.get("by3").toString(), font_C10N, "", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData(jobexp_training.get("name3").toString(), font_C10N, "", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData(jobexp_training.get("name3").toString().equalsIgnoreCase("")?" ":countday_training3, font_C10N, "", "CENTER", "MIDDLE", 1, 1));
      document.add(detail);
      // --------------- new line -----------------
      sizeColumn = new float[]{100.0f};
      detail = new PdfPTable(1);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(10.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(10.5f);
      detail.addCell(getCellData("LANGUAGE PROFICIENCE / ความสามารถด้านภาษา", font_C12B, "NO", "LEFT", "MIDDLE", 1, 1));
      document.add(detail);
      // --------------- new line -----------------
      sizeColumn = new float[]{15.0f,7.0f,7.0f,7.0f,7.0f,7.0f,7.0f,7.0f,7.0f,7.0f,18.0f};
      detail = new PdfPTable(11);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(10.0f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(4.5f);
      content = new Phrase();
      content.add(new Chunk("Language ",font_C10N));
      content.add(new Chunk("ภาษา ",font_C10N));
      detail.addCell(getCellData2( content, "", "CENTER", "MIDDLE",  1,  2) );
      content = new Phrase();
      content.add(new Chunk("Spoken /",font_C10N));
      content.add(new Chunk(" พูด ",font_C10N));
      detail.addCell(getCellData2( content, "", "CENTER", "TOP",  3,  1) );
      content = new Phrase();
      content.add(new Chunk("Write /",font_C10N));
      content.add(new Chunk(" เขียน",font_C10N));
      detail.addCell(getCellData2( content, "", "CENTER", "TOP",  3,  1) );
      content = new Phrase();
      content.add(new Chunk("Read /",font_C10N));
      content.add(new Chunk(" อ่าน",font_C10N));
      detail.addCell(getCellData2( content, "", "CENTER", "TOP",  3,  1) );
      detail.addCell(getCellData("Remarks / หมายเหตุ", font_C10N, "", "CENTER", "MIDDLE", 1, 2));

      content = new Phrase();
      content.add(new Chunk("Fluent\n",font_C10N));
      content.add(new Chunk("ดี",font_C10N));
      detail.addCell(getCellData2( content, "", "CENTER", "TOP",  1,  1) );
      content = new Phrase();
      content.add(new Chunk("Fair\n",font_C10N));
      content.add(new Chunk("พอใช้",font_C10N));
      detail.addCell(getCellData2( content, "", "CENTER", "TOP",  1,  1) );
      content = new Phrase();
      content.add(new Chunk("Poor\n",font_C10N));
      content.add(new Chunk("อ่อน ",font_C10N));
      detail.addCell(getCellData2( content, "", "CENTER", "TOP",  1,  1) );
      content = new Phrase();
      content.add(new Chunk("Fluent\n",font_C10N));
      content.add(new Chunk("ดี",font_C10N));
      detail.addCell(getCellData2( content, "", "CENTER", "TOP",  1,  1) );
      content = new Phrase();
      content.add(new Chunk("Fair\n",font_C10N));
      content.add(new Chunk("พอใช้",font_C10N));
      detail.addCell(getCellData2( content, "", "CENTER", "TOP",  1,  1) );
      content = new Phrase();
      content.add(new Chunk("Poor\n",font_C10N));
      content.add(new Chunk("อ่อน ",font_C10N));
      detail.addCell(getCellData2( content, "", "CENTER", "TOP",  1,  1) );
      content = new Phrase();
      content.add(new Chunk("Fluent\n",font_C10N));
      content.add(new Chunk("ดี",font_C10N));
      detail.addCell(getCellData2( content, "", "CENTER", "TOP",  1,  1) );
      content = new Phrase();
      content.add(new Chunk("Fair\n",font_C10N));
      content.add(new Chunk("พอใช้",font_C10N));
      detail.addCell(getCellData2( content, "", "CENTER", "TOP",  1,  1) );
      content = new Phrase();
      content.add(new Chunk("Poor\n",font_C10N));
      content.add(new Chunk("อ่อน ",font_C10N));
      detail.addCell(getCellData2( content, "", "CENTER", "TOP",  1,  1) );

      detail.addCell(getCellData(hmlangskill.get("skillName0").toString()+ " ", font_C10N, "", "LEFT", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("speak0").toString().equalsIgnoreCase("3")? AwesomeIcons.ICON_OK:" ", fontAwesome, " ", "CENTER", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("speak0").toString().equalsIgnoreCase("2")? AwesomeIcons.ICON_OK:" ", fontAwesome, " ", "CENTER", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("speak0").toString().equalsIgnoreCase("1")? AwesomeIcons.ICON_OK:" ", fontAwesome, " ", "CENTER", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("reading0").toString().equalsIgnoreCase("3")? AwesomeIcons.ICON_OK:" ", fontAwesome, " ", "CENTER", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("reading0").toString().equalsIgnoreCase("2")? AwesomeIcons.ICON_OK:" ", fontAwesome, " ", "CENTER", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("reading0").toString().equalsIgnoreCase("1")? AwesomeIcons.ICON_OK:" ", fontAwesome, " ", "CENTER", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("write0").toString().equalsIgnoreCase("3")? AwesomeIcons.ICON_OK:" ", fontAwesome, " ", "CENTER", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("write0").toString().equalsIgnoreCase("2")? AwesomeIcons.ICON_OK:" ", fontAwesome, " ", "CENTER", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("write0").toString().equalsIgnoreCase("1")? AwesomeIcons.ICON_OK:" ", fontAwesome, " ", "CENTER", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("remark0").toString(), font_C10N, "", "LEFT", "MIDDLE", 1,1 ));
      detail.addCell(getCellData(hmlangskill.get("skillName1").toString()+ " ", font_C10N, "", "LEFT", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("speak1").toString().equalsIgnoreCase("3")? AwesomeIcons.ICON_OK:" ", fontAwesome, " ", "CENTER", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("speak1").toString().equalsIgnoreCase("2")? AwesomeIcons.ICON_OK:" ", fontAwesome, " ", "CENTER", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("speak1").toString().equalsIgnoreCase("1")? AwesomeIcons.ICON_OK:" ", fontAwesome, " ", "CENTER", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("reading1").toString().equalsIgnoreCase("3")? AwesomeIcons.ICON_OK:" ", fontAwesome, " ", "CENTER", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("reading1").toString().equalsIgnoreCase("2")? AwesomeIcons.ICON_OK:" ", fontAwesome, " ", "CENTER", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("reading1").toString().equalsIgnoreCase("1")? AwesomeIcons.ICON_OK:" ", fontAwesome, " ", "CENTER", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("write1").toString().equalsIgnoreCase("3")? AwesomeIcons.ICON_OK:" ", fontAwesome, " ", "CENTER", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("write1").toString().equalsIgnoreCase("2")? AwesomeIcons.ICON_OK:" ", fontAwesome, " ", "CENTER", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("write1").toString().equalsIgnoreCase("1")? AwesomeIcons.ICON_OK:" ", fontAwesome, " ", "CENTER", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("remark1").toString(), font_C10N, "", "LEFT", "MIDDLE", 1,1 ));
      detail.addCell(getCellData(hmlangskill.get("skillName2").toString()+ " ", font_C10N, "", "LEFT", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("speak2").toString().equalsIgnoreCase("3")? AwesomeIcons.ICON_OK:" ", fontAwesome, " ", "CENTER", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("speak2").toString().equalsIgnoreCase("2")? AwesomeIcons.ICON_OK:" ", fontAwesome, " ", "CENTER", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("speak2").toString().equalsIgnoreCase("1")? AwesomeIcons.ICON_OK:" ", fontAwesome, " ", "CENTER", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("reading2").toString().equalsIgnoreCase("3")? AwesomeIcons.ICON_OK:" ", fontAwesome, " ", "CENTER", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("reading2").toString().equalsIgnoreCase("2")? AwesomeIcons.ICON_OK:" ", fontAwesome, " ", "CENTER", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("reading2").toString().equalsIgnoreCase("1")? AwesomeIcons.ICON_OK:" ", fontAwesome, " ", "CENTER", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("write2").toString().equalsIgnoreCase("3")? AwesomeIcons.ICON_OK:" ", fontAwesome, " ", "CENTER", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("write2").toString().equalsIgnoreCase("2")? AwesomeIcons.ICON_OK:" ", fontAwesome, " ", "CENTER", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("write2").toString().equalsIgnoreCase("1")? AwesomeIcons.ICON_OK:" ", fontAwesome, " ", "CENTER", "BOTTOM", 1, 1));
      detail.addCell(getCellData(hmlangskill.get("remark2").toString(), font_C10N, "", "LEFT", "MIDDLE", 1,1 ));
      document.add(detail);

      // --------------- new line -----------------
      sizeColumn = new float[]{100.0f};
      detail = new PdfPTable(1);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(10.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(10.5f);
      detail.addCell(getCellData("SKILL/SPECIAL INTERESTS/COMPUTER LITERACY/ ความสามารถพิเศษ / การใช้คอมพิวเตอร์", font_C12B, "NO", "LEFT", "MIDDLE", 1, 1));
      document.add(detail);
 // --------------- new line ---------------- 
      Boolean math_chk = simmapplicantwithgson.mapplicantSkill.shorthand.active!=null?true:false;
      String type_speed = math_chk?chk.chkNullString(simmapplicantwithgson.mapplicantSkill.shorthand.tha,"-"):"-";
      Boolean type_chk = simmapplicantwithgson.mapplicantSkill.typing.active!=null?true:false;
      String type_thai = type_chk?simmapplicantwithgson.mapplicantSkill.typing.tha:"-";
      String type_eng  = type_chk?simmapplicantwithgson.mapplicantSkill.typing.eng:"-";
      String softwarePackagedesc = simmapplicantwithgson.mapplicantSkill.computerSkills.other;

      sizeColumn = new float[]{20.0f,13.0f,11.0f,5.0f,11.0f,13.0f,5.0f,11.0f};
      detail = new PdfPTable(8);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(4.5f);
      setPaddingBottom(4.5f);
      detail.addCell(getCellData("Shorthand / ชวเลข", font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Speed / ความเร็ว", font_C10N, "R_TB", "LEFT", "MIDDLE", 1, 1));
      Chunk mathspeed = new Chunk(math_chk.equals("-")? "-":type_speed,font_C10N);
      mathspeed.setUnderline(0.1f, -2f);
      content = new Phrase();
      content.add(mathspeed);
      detail.addCell(getCellData2( content, "R_TB", "CENTER", "MIDDLE",  2,  1));
      detail.addCell(getCellData("WPM / ต่อคำ", font_C10N, "R_TB", "LEFT", "MIDDLE", 4, 1));

      detail.addCell(getCellData("Typewriter / เครื่องพิมพ์ดีด", font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Speed / ความเร็ว", font_C10N, "R_TB", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(": Thai / ไทย", font_C10N, "R_TB", "LEFT", "MIDDLE", 1, 1));
      Chunk type_thai2 = new Chunk(type_thai.equals("-")? "-":type_thai,font_C10N);
      type_thai2.setUnderline(0.1f, -2f);
      content = new Phrase();
      content.add(type_thai2);
      detail.addCell(getCellData2( content, "R_TB", "LEFT", "MIDDLE",  1,  1));
      detail.addCell(getCellData("WPM / ต่อคำ,", font_C10N, "R_TB", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("English / อังกฤษ", font_C10N, "R_TB", "LEFT", "MIDDLE", 1, 1));
      Chunk type_eng2 = new Chunk(type_eng.equals("-")? "-":type_eng,font_C10N);
      type_eng2.setUnderline(0.1f, -2f);
      content = new Phrase();
      content.add(type_eng2);
      detail.addCell(getCellData2( content, "R_TB", "LEFT", "MIDDLE",  1,  1));
      detail.addCell(getCellData("WPM / ต่อคำ", font_C10N, "R_TB", "LEFT", "MIDDLE", 1, 1));

      detail.addCell(getCellData("Others / ภาษาอื่น", font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Program / โปรแกรม", font_C10N, "R_TB", "LEFT", "MIDDLE", 2, 1));
      Chunk comSkills = new Chunk(softwarePackagedesc,font_C10N);
      comSkills.setUnderline(0.1f, -2f);
      content = new Phrase();
      content.add(comSkills);
      detail.addCell(getCellData2( content, "R_TB", "LEFT", "MIDDLE",  5,  1) );
      document.add(detail);
      // --------------- new line -----------------
      sizeColumn = new float[]{100.0f};
      detail = new PdfPTable(1);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(5.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(3.5f);
      detail.addCell(getCellData("OTHER ACTIVIES / กิจกรรมอื่นๆ", font_C12B, "NO", "LEFT", "MIDDLE", 1, 1));
//      detail.addCell(getCellData(expertiseList, font_C10N, "R_BOTTOM", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("SPORT / HOBBIES กีฬา / งานอดิเรก", font_C10B, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(hobbieList, font_C10N, "R_BOTTOM", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(sportList, font_C10N, "R_BOTTOM", "LEFT", "MIDDLE", 1, 1));
      document.add(detail);

      // --------------- new line -----------------
      document.newPage();
      sizeColumn = new float[]{100.0f};
      detail = new PdfPTable(1);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(10.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(10.5f);
      detail.addCell(getCellData("REFERENCE (Should not be relatives)/ ชื่อผู้รับรอง (โดยไม่ใช่ญาติ)", font_C10B, "NO", "LEFT", "MIDDLE", 1, 1));
      document.add(detail);
      // --------------- new line ----------------- 
      sizeColumn = new float[]{20.0f,13.0f,20.0f,20.0f};
      detail = new PdfPTable(4);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(5.5f);
      setPaddingBottom(5.5f);
      content = new Phrase();
      content.add(new Chunk("Name-Surname\n",font_C10N));
      content.add(new Chunk("ชื่อ-นามสกุล",font_C10N));
      detail.addCell(getCellData2( content, "", "CENTER", "MIDDLE",  1,  1) );
      content = new Phrase();
      content.add(new Chunk("Occupatipn & Position\n",font_C10N));
      content.add(new Chunk("อาชีพและตำแหน่ง",font_C10N));
      detail.addCell(getCellData2( content, "", "CENTER", "MIDDLE",  1,  1) );
      content = new Phrase();
      content.add(new Chunk("Address\n",font_C10N));
      content.add(new Chunk("ที่อยู่",font_C10N));
      detail.addCell(getCellData2( content, "", "CENTER", "MIDDLE",  1,  1) );
      content = new Phrase();
      content.add(new Chunk("Telephone\n",font_C10N));
      content.add(new Chunk("โทรศัพท์",font_C10N));
      detail.addCell(getCellData2( content, "", "CENTER", "MIDDLE",  1,  1) );

      setPaddingTop(5.5f);
      detail.addCell(getCellData(familyreference.get("name0").toString()+" ", font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(familyreference.get("jobtitle0").toString()+" ", font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(familyreference.get("companyname0").toString()+" ", font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(familyreference.get("phone0").toString()+" ", font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(familyreference.get("name1").toString()+" ", font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(familyreference.get("jobtitle1").toString()+" ", font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(familyreference.get("companyname1").toString()+" ", font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(familyreference.get("phone1").toString()+" ", font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      document.add(detail);

      // --------------- new line ----------------- 
      String referfullname = comreference.get("name0").toString()+" "+comreference.get("lname0").toString();
      String health_explain = simmapplicantwithgson.mapplicantOther.health.explain;
      String surgical_explain = simmapplicantwithgson.mapplicantOther.surgical.explain;
      sizeColumn = new float[]{60.0f,20.0f,10.0f,10.0f};
      detail = new PdfPTable(4);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(10.5f);
      setPaddingBottom(3.5f);
      content = new Phrase();
      content.add(new Chunk("OTHER DETAILS/",font_C10N));
      content.add(new Chunk("ข้อมูลเพิ่มเติม",font_C10N));
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  2,  1) );
      detail.addCell(getCellData("Yes/ใช่", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("No/ไม่ใช่", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));

      
      content = new Phrase();
      content.add(new Chunk("A.Have you any relatives or friends work for Chatrium Hostels & Residences?\n   If yes. Give name of staff",font_C10N));
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  2,  1) );
      detail.addCell(getCellData(!referfullname.equals("")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData(referfullname.equals("")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "CENTER", "MIDDLE", 1, 1));
      setPaddingTop(0.5f);
      content = new Phrase();
      content.add(new Chunk("ท่านมีเพื่อนหรือญาติที่ทำงานที่โรงแรมชาเทรียม ใช่หรือไม่?ถ้าใช่กรุณาระบุชื่อพนักงาน ",font_C10N));
      Chunk friendname = new Chunk(referfullname,font_C10N);
      friendname.setUnderline(0.1f, -2f);
      content.add(friendname);
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  4,  1) );
     // detail.addCell(getCellData(" ", font_C10N, "NO", "LEFT", "MIDDLE", 2, 1));
      setPaddingTop(3.5f);

      boolean  askoldcompany = simmapplicantwithgson.mapplicantOther.askoldcompany;
      content = new Phrase();
      content.add(new Chunk("B.May we make inquiries from your past employer?",font_C10N));
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  2,  1) );
      detail.addCell(getCellData(askoldcompany? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData(!askoldcompany? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "CENTER", "MIDDLE", 1, 1));
      setPaddingTop(0.5f);
      detail.addCell(getCellData("ทางบริษัทสามารถสอบถามประวัติการทำงาน ไปยังบริษัทเดิมของท่านได้หรือไม่", font_C10N, "NO", "LEFT", "MIDDLE", 4, 1));
      setPaddingTop(3.5f);

      content = new Phrase();
      content.add(new Chunk("C.Have you ever been dismissed by any previous employer?",font_C10N));
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  2,  1) );
      detail.addCell(getCellData(simmapplicantwithgson.mapplicantOther.discharge.status? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData(!simmapplicantwithgson.mapplicantOther.discharge.status? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "CENTER", "MIDDLE", 1, 1));
      setPaddingTop(0.5f);
      detail.addCell(getCellData("ท่านเคยถูกปลดออกจากงานหรือไม่", font_C10N, "NO", "LEFT", "MIDDLE", 4, 1));
      setPaddingTop(3.5f);

      content = new Phrase();
      content.add(new Chunk("D.Do you suffer from any medical condition which required regular treatment?\n   If yes please provide details.",font_C10N));
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  2,  1) );
      detail.addCell(getCellData(simmapplicantwithgson.mapplicantOther.health.status? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData(!simmapplicantwithgson.mapplicantOther.health.status? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "CENTER", "MIDDLE", 1, 1));
      setPaddingTop(0.5f);
      content = new Phrase();
      content.add(new Chunk("ท่านมีโรคประจำตัวที่ต้องไปพบแพทย์พิเศษใช่หรือไม่? ถ้าใช่กรุณากรอกรายละเอียด ",font_C10N));
      Chunk health = new Chunk(health_explain,font_C10N);
      health.setUnderline(0.1f, -2f);
      content.add(health);
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  4,  1) );
      setPaddingTop(3.5f);

      content = new Phrase();
      content.add(new Chunk("E.Have you ever been hospitalized for any medical or surgical reason?\n   If yes please provide details.",font_C10N));
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  2,  1) );
      detail.addCell(getCellData(simmapplicantwithgson.mapplicantOther.surgical.status? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData(!simmapplicantwithgson.mapplicantOther.surgical.status? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "CENTER", "MIDDLE", 1, 1));
      setPaddingTop(0.5f);
      content = new Phrase();
      content.add(new Chunk("ท่านเคยเข้ารับการรักษาตัวหรือผ่าตัดในโรงพยาบาลใช่หรือไม่? ถ้าใช่กรุณากรอกรายละเอียด ",font_C10N));
      Chunk surgical = new Chunk(surgical_explain,font_C10N);
      surgical.setUnderline(0.1f, -2f);
      content.add(surgical);
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  4,  1) );
      setPaddingTop(3.5f);

      content = new Phrase();
      content.add(new Chunk("F.Are you prepared to do shift work?",font_C10N));
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  2,  1) );
      detail.addCell(getCellData(simmapplicantwithgson.mapplicantOther.shiftwork? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData(!simmapplicantwithgson.mapplicantOther.shiftwork? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "CENTER", "MIDDLE", 1, 1));

      setPaddingTop(0.5f);
      detail.addCell(getCellData("ท่านสามารทำงานเป็นกะใช่หรือไม่", font_C10N, "NO", "LEFT", "MIDDLE", 4, 1));
      setPaddingTop(3.5f);

      content = new Phrase();
      content.add(new Chunk("G.Any other information you wish to give in support of your application?",font_C10N));
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  2,  1) );
      detail.addCell(getCellData(" ", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(" ", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      setPaddingTop(0.5f);
      detail.addCell(getCellData("ข้อมูลที่ท่านต้องการเพิ่มเติม", font_C10N, "NO", "LEFT", "MIDDLE", 4, 1));
      content = new Phrase();
      Chunk question = new Chunk("ssss",font_C10N);
      question.setUnderline(0.1f, -2f);
      content.add(question);
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  4,  1) );
      setPaddingTop(3.5f);
      document.add(detail);
      // --------------- new line -----------------
      sizeColumn = new float[]{100.0f};
      detail = new PdfPTable(1);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(10.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(0.5f);
      setPaddingBottom(0.5f);
      detail.addCell(getCellData("I hereby declare that all given information are true ana correct. I agree that any false information can render me liable", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("To be dismissed form the company without notice or compensation. I also my character can be contacted for reference", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("purposes. ข้าพเจ้าขอรับรองว่าข้อมูลที่ให้ไว้เป็นความจริงทุกประการ หากปรากฏภายหลังว่าตอนหนึ่งตอนใดเป็นเท็จข้าพเจ้ายินยอมให้ บริษัทเพิกถอนการว่าจ้างได้ทันทีโดยมิต้องแจ้งให้ทราบล่วงหน้าหรือจ่ายค่าชดเชยใดๆ", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));

      document.add(detail);

      // --------------- new line -----------------
      sizeColumn = new float[]{30.0f,40.0f,10.0f,20.0f};
      detail = new PdfPTable(4);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(10.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(0.5f);
      setPaddingBottom(3.5f);
      detail.addCell(getCellData("Applicant's Signture/ลงชื่อผู้สมัคร", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(" ", font_C10N, "R_BOTTOM", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Date/วันที่", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData(new CscCalendar(screen.getString("applicantdate")).getDDMMYYYY().replaceAll("-","/"), font_C10N, "R_BOTTOM", "CENTER", "MIDDLE", 1, 1));
      setPaddingBottom(8.5f);
      detail.addCell(getCellData(" ", font_C10N, "R_BOTTOM", "LEFT", "MIDDLE", 4, 1));
      document.add(detail);

      // --------------- new line -----------------
      sizeColumn = new float[]{100.0f};
      detail = new PdfPTable(1);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(10.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(0.5f);
      setPaddingBottom(10.5f);
      detail.addCell(getCellData("FOR OFFICER USE ONLY / สำหรับเจ้าหน้าที่เท่านั้น", font_C10N, "NO", "LEFT", "MIDDLE", 1, 1));
      document.add(detail);
      // --------------- new line -----------------
      sizeColumn = new float[]{50.0f,50.0f};
      detail = new PdfPTable(2);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(10.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(0.5f);
      setPaddingBottom(3.5f);
      detail.addCell(getCellData("Position:", font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      content = new Phrase();
      question = new Chunk("Staff Level: ",font_C10N);
      content.add(question);
      question = new Chunk(AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      content.add(question);
      question = new Chunk(" Temporary ",font_C10N);
      content.add(question);
      question = new Chunk(AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      content.add(question);
      question = new Chunk(" Permanent ",font_C10N);
      content.add(question);
      detail.addCell(getCellData2( content, "", "LEFT", "MIDDLE",  1,  1) );
      detail.addCell(getCellData("Department:", font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Basic Salary:", font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Report to:", font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Allowance:", font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Commencement Date:", font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Staff Welfare & Benefit:", font_C10N, "", "LEFT", "MIDDLE", 1, 1));
      document.add(detail);

      // --------------- new line -----------------
      sizeColumn = new float[]{30.0f,5.0f,30.0f,5.0f,30.0f};
      detail = new PdfPTable(5);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(50.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(0.5f);
      setPaddingBottom(3.5f);
      detail.addCell(getCellData(" ", font_C10N, "R_BOTTOM", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("", font_C10N, "NO", "LEFT", "MIDDLE", 1, 2));
      detail.addCell(getCellData(" ", font_C10N, "R_BOTTOM", "LEFT", "MIDDLE", 1, 1));
      detail.addCell(getCellData("", font_C10N, "NO", "LEFT", "MIDDLE", 1, 2));
      detail.addCell(getCellData(" ", font_C10N, "R_BOTTOM", "LEFT", "MIDDLE", 1, 1));
      setPaddingTop(5.5f);
      detail.addCell(getCellData("Director of Human Resources", font_C10N, "NO", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData("Head of Department", font_C10N, "NO", "CENTER", "MIDDLE", 1, 1));
      detail.addCell(getCellData("General Manager", font_C10N, "NO", "CENTER", "MIDDLE", 1, 1));
      document.add(detail);
    
      // -----------------------------------------------------------------------------
      } catch (Exception e) {
        e.printStackTrace();
      } finally {
        document.close();
      }
    }

    if (hasData) {
      OutputStream os = response.getOutputStream();
    // Create a reader
      PdfReader reader = new PdfReader(baos.toByteArray());
    // Create a stamper
      PdfStamper stamper = new PdfStamper(reader, baos);

    // Close the stamper
      stamper.close();
      reader.close();

      response.setHeader("Expires", "0");
      response.setHeader("Cache-Control", "must-revalidate, post-check=0 , pre-check=0");
      response.setHeader("Pragma", "public");

    // setting the content type
      response.setContentType("application/pdf");
    // the contentlength
      response.setContentLength(baos.size());
    // write ByteArrayOutputStream to the ServletOutputStream

      baos.writeTo(os);

      os.flush();
      os.close(); 
    }
    //PdfWriter.getInstance(document, baos);
    %>

    <%!
    Float padding = 0.0f;
    Float paddingtop = 0.0f;
    Float paddingbottom = 0.0f;
    Float paddingleft = 0.0f;
    Float paddingright = 0.0f;
    BaseColor basecolor = new BaseColor(0, 0, 0);

    private PdfPCell getCellData(String text, Font font, String noborder, String horalign, String veralign, int colspan, int rowspan) {
      return getCellData(text, font, noborder, horalign, veralign, colspan, rowspan, false,false);
    }
   
    //get call data
    private PdfPCell getCellData(String text, Font font, String noborder, String horalign, String veralign, int colspan, int rowspan,boolean setheight, boolean bgcolor) {
      PdfPCell cellDetail = new PdfPCell(new Phrase(text, font));
      cellDetail.setNoWrap(false);
    //  cellDetail.setNoWrap(true);

      if (horalign.equalsIgnoreCase("LEFT")) {
        cellDetail.setHorizontalAlignment(Element.ALIGN_LEFT);
      } else if (horalign.equalsIgnoreCase("CENTER")) {
        cellDetail.setHorizontalAlignment(Element.ALIGN_CENTER);
      } else if (horalign.equalsIgnoreCase("RIGHT")) {
        cellDetail.setHorizontalAlignment(Element.ALIGN_RIGHT);
      }

      if (veralign.equalsIgnoreCase("TOP")) {
        cellDetail.setVerticalAlignment(Element.ALIGN_TOP);
      } else if (veralign.equalsIgnoreCase("MIDDLE")) {
        cellDetail.setVerticalAlignment(Element.ALIGN_MIDDLE);
      } else if (veralign.equalsIgnoreCase("BOTTOM")) {
        cellDetail.setVerticalAlignment(Element.ALIGN_BOTTOM);
      }

      if (padding > 0.0f) {
        cellDetail.setPadding(padding);
      }
      if (paddingtop > 0.0f) {
        cellDetail.setPaddingTop(paddingtop);
      }
      if (paddingbottom > 0.0f) {
        cellDetail.setPaddingBottom(paddingbottom);
      }
      if (paddingleft > 0.0f) {
        cellDetail.setPaddingLeft(paddingleft);
      }
      if (paddingright > 0.0f) {
        cellDetail.setPaddingRight(paddingright);
      }
      if (colspan > 0) {
        cellDetail.setColspan(colspan);
      }
      if (rowspan > 0) {
        cellDetail.setRowspan(rowspan);
      }

      if (noborder.equalsIgnoreCase("NO")) {
        cellDetail.setBorder(Rectangle.NO_BORDER);
      }
      else if(noborder.equalsIgnoreCase("R_TOP")){ 
            cellDetail.setBorder(Rectangle.TOP );
      } 
      else if(noborder.equalsIgnoreCase("R_TL")){ 
            cellDetail.setBorder(Rectangle.TOP | Rectangle.LEFT);
      } 
      else if(noborder.equalsIgnoreCase("R_TR")){ 
            cellDetail.setBorder(Rectangle.TOP | Rectangle.RIGHT);
      } 
      else if(noborder.equalsIgnoreCase("R_LR")){ 
            cellDetail.setBorder(Rectangle.LEFT | Rectangle.RIGHT);
      } 
      else if(noborder.equalsIgnoreCase("R_RB")){ 
            cellDetail.setBorder(Rectangle.RIGHT | Rectangle.BOTTOM);
      } 
      else if(noborder.equalsIgnoreCase("R_TB")){ 
            cellDetail.setBorder(Rectangle.TOP | Rectangle.BOTTOM);
      } 
      else if(noborder.equalsIgnoreCase("R_TLR")){ 
            cellDetail.setBorder(Rectangle.TOP | Rectangle.LEFT | Rectangle.RIGHT);
      } 
      else if(noborder.equalsIgnoreCase("R_LRB")){ 
            cellDetail.setBorder(Rectangle.LEFT | Rectangle.RIGHT | Rectangle.BOTTOM);
      } 
       else if(noborder.equalsIgnoreCase("R_TLB")){ 
            cellDetail.setBorder(Rectangle.TOP | Rectangle.LEFT | Rectangle.BOTTOM);
      } 
      else if(noborder.equalsIgnoreCase("R_TRB")){ 
            cellDetail.setBorder(Rectangle.TOP | Rectangle.RIGHT | Rectangle.BOTTOM);
      } 
      else if(noborder.equalsIgnoreCase("R_BOTTOM")){ 
            cellDetail.setBorder(Rectangle.BOTTOM);
      }
      else if(noborder.equalsIgnoreCase("R_RIGHT")){ 
            cellDetail.setBorder(Rectangle.RIGHT);
      }
      else if(noborder.equalsIgnoreCase("R_LEFT")){ 
            cellDetail.setBorder(Rectangle.LEFT);
      }
      else{

      }
      if (bgcolor) {
        cellDetail.setBackgroundColor(basecolor);
      } 
      if (setheight) {
        cellDetail.setFixedHeight(0.6999512f);
      } 
      return cellDetail;
    }


    //CellDeatail2 Use For Add Chunk(1row 2 Fonts Or Color)
    private PdfPCell getCellData2(Phrase content, String noborder, String horalign, String veralign, int colspan, int rowspan) {
      return getCellData2(content, noborder, horalign, veralign, colspan, rowspan, false,false);
    }
    private PdfPCell getCellData2(Phrase content, String noborder, String horalign, String veralign, int colspan, int rowspan,boolean setheight, boolean bgcolor) {
      PdfPCell cellDetail2 = new PdfPCell(new Phrase(content));
        cellDetail2.setNoWrap(false);
      if (horalign.equalsIgnoreCase("LEFT")) {
        cellDetail2.setHorizontalAlignment(Element.ALIGN_LEFT);
      } else if (horalign.equalsIgnoreCase("CENTER")) {
        cellDetail2.setHorizontalAlignment(Element.ALIGN_CENTER);
      } else if (horalign.equalsIgnoreCase("RIGHT")) {
        cellDetail2.setHorizontalAlignment(Element.ALIGN_RIGHT);
      }

      if (veralign.equalsIgnoreCase("TOP")) {
        cellDetail2.setVerticalAlignment(Element.ALIGN_TOP);
      } else if (veralign.equalsIgnoreCase("MIDDLE")) {
        cellDetail2.setVerticalAlignment(Element.ALIGN_MIDDLE);
      } else if (veralign.equalsIgnoreCase("BOTTOM")) {
        cellDetail2.setVerticalAlignment(Element.ALIGN_BOTTOM);
      }

      if (padding > 0.0f) {
        cellDetail2.setPadding(padding);
      }
      if (paddingtop > 0.0f) {
        cellDetail2.setPaddingTop(paddingtop);
      }
      if (paddingbottom > 0.0f) {
        cellDetail2.setPaddingBottom(paddingbottom);
      }
      if (paddingleft > 0.0f) {
        cellDetail2.setPaddingLeft(paddingleft);
      }
      if (paddingright > 0.0f) {
        cellDetail2.setPaddingRight(paddingright);
      }
      if (colspan > 0) {
        cellDetail2.setColspan(colspan);
      }
      if (rowspan > 0) {
        cellDetail2.setRowspan(rowspan);
      }

      if (noborder.equalsIgnoreCase("NO")) {
        cellDetail2.setBorder(Rectangle.NO_BORDER);
      }
      else if(noborder.equalsIgnoreCase("R_TOP")){ 
        cellDetail2.setBorder(Rectangle.TOP );
      } 
      else if(noborder.equalsIgnoreCase("R_TR")){ 
            cellDetail2.setBorder(Rectangle.TOP | Rectangle.RIGHT);
      } 
      else if(noborder.equalsIgnoreCase("R_LR")){ 
            cellDetail2.setBorder(Rectangle.LEFT | Rectangle.RIGHT);
      } 
       else if(noborder.equalsIgnoreCase("R_RB")){ 
            cellDetail2.setBorder(Rectangle.RIGHT | Rectangle.BOTTOM);
      } 
      else if(noborder.equalsIgnoreCase("R_TB")){ 
            cellDetail2.setBorder(Rectangle.TOP | Rectangle.BOTTOM);
      } 
      else if(noborder.equalsIgnoreCase("R_TLR")){ 
            cellDetail2.setBorder(Rectangle.TOP | Rectangle.LEFT | Rectangle.RIGHT);
      } 
      else if(noborder.equalsIgnoreCase("R_LRB")){ 
            cellDetail2.setBorder(Rectangle.LEFT | Rectangle.RIGHT | Rectangle.BOTTOM);
      } 
       else if(noborder.equalsIgnoreCase("R_TLB")){ 
            cellDetail2.setBorder(Rectangle.TOP | Rectangle.LEFT | Rectangle.BOTTOM);
      } 
      else if(noborder.equalsIgnoreCase("R_TRB")){ 
            cellDetail2.setBorder(Rectangle.TOP | Rectangle.RIGHT | Rectangle.BOTTOM);
      } 
      else if(noborder.equalsIgnoreCase("R_BOTTOM")){ 
            cellDetail2.setBorder(Rectangle.BOTTOM);
      }
      else if(noborder.equalsIgnoreCase("R_RIGHT")){ 
            cellDetail2.setBorder(Rectangle.RIGHT);
      }
      if (bgcolor) {
        cellDetail2.setBackgroundColor(basecolor);
      }
      if (setheight) {
        cellDetail2.setFixedHeight(0.6999512f);
      } 
      return cellDetail2;
    }
    
    private void setPadding(Float padding) {
      this.padding = padding;
    }

    private void setPaddingTop(Float padding) {
      this.paddingtop = padding;
    }

    private void setPaddingBottom(Float padding) {
      this.paddingbottom = padding;
    }

    private void setPaddingLeft(Float padding) {
      this.paddingleft = padding;
    }

    private void setPaddingRight(Float padding) {
      this.paddingright = padding;
    }

    private void setBaseBackgroundColor(int r, int g, int b) {
      this.basecolor = new BaseColor(r, g, b);
    }
   // Add IMAGE IN PART
    private String getImagePath(String type, String subFolder, String imageFileName, String defaultFile) {
      InitialEnvironment inv = new InitialEnvironment("GLOBAL");
      String path = inv.getValue(type)+subFolder;
      if (!new File(path+imageFileName).exists() || imageFileName.equals("")){
        imageFileName = defaultFile;
      }
      return path+imageFileName;
    }

    %>
    </body>
    </html>